离散系统的频域分析(数字信号处理实验2-1)

创建具有15 Hz和40 Hz分量频率的信号,叠加两个信号形成混合信号x,使用fft命令绘制x的频域图,标注频率为横坐标,平均能量为纵坐标。

文章目录

  • 一.题目
  • 二.实验目的
  • 三.实验仪器
  • 四.实验原理
      • 1.MATLAB使用函数
      • 2.离散傅里叶变换(DFT)实验原理
  • 五.实验步骤
  • 六.实验代码与实验现象
    • 1.完整代码
    • 2.代码解析
  • 七.实验结论及分析
  • 八.Matlab实验源文件

一.题目

创建具有15 Hz和40 Hz分量频率的信号,叠加两个信号形成混合信号x,使用fft命令绘制x的频域图,标注频率为横坐标,平均能量为纵坐标。

二.实验目的

(1)掌握求离散信号频谱的方法。
(2)掌握求频域离散系统的频率响应特性。
(3)比较男女生的频谱特点

三.实验仪器

计算机,MATLAB软件

四.实验原理

1.MATLAB使用函数

在这里插入图片描述

2.离散傅里叶变换(DFT)实验原理

在信号的时域表示形式和频域表示形式之间,一个域的周期性对应于另一个域的离散性,一个域的非周期性对应于另一个域的连续性。所以,周期的离散时间信号的频谱是离散频率的周期函数。当信号在时域和频域中都是抽样的离散函数时,按照傅里叶变换的概念,他们在两个域中也必然是周期的。但是,用计算机去完成这样无限长序列的运算,显然是不可能的。同时由于这些序列的周期性,他们的信息均包含在一个周期之中,因此也没有必要作无限长序列的运算。这样,就有必要从时域和频域都缩减到一个限定的范围内来进行。这个范围,就是时间函数的一个周期Tp 和频谱函数的一个周期Ωp 。把离散信号在时域和频域的函数中各取一周期,并定义他们是离散傅里叶变换对,如以 DFT 表示离散傅里叶正变换,IDFT 表示离散傅里叶反变换,则有X (k ) = DFT[x(n)],x(n) = IDFT[ X (k )]
由此可见,离散傅里叶变换已经不是通常意义的傅里叶变换了。这种变换的特点,是信号在频域和时域中都只取有限个离散数据,只有当这些数据按一定的周期分别构成周期性的离散时间函数和周期性得离散频率函数时,他们才成为通常意义的傅里叶变换对。
计算离散傅里叶变换,既由 x(n) 计算 X (k ) 。有了周期的离散信号 ~x (n) 的频谱函数 ~X(k),按定义,只要取一个周期 X (k ) ,它就是 ~x (n) 一个周期 x(n) 的离散傅里叶变换。
对非周期离散信号的频谱进行抽烟可得X(k)
在这里插入图片描述
根据离散傅里叶变换的定义,取频谱函数的一个周期,于是得:
在这里插入图片描述
X(k)就称为x(n)的离散傅里叶变换DFT。k从0到N-1之间每取一个整数值,即可算出频谱函数的一个样点,总共有N个样点。

五.实验步骤

离散系统的频域分析

  1. 创建具有 15 Hz 和 40 Hz 分量频率的信号,叠加两个信号形成混合信号x, 使用fft命令绘制x的频域图,标注频率为横坐标,平均能量为纵坐标。
    用sin函数创建频率信号;使用fftshift函数执行以横坐标0为中心的循环移位。

六.实验代码与实验现象

1.完整代码

%【参数设置】
fs=100;N=128;   %采样频率和数据点数
n=0:N-1;t=n/fs;   %时间序列
A=0.5;           %设置振幅
phase = 0;       %设置相移
f1 = 15; f2 = 40;   %设置信号的频率为f1,f2
%【信号创建】
y1 = A*sin(2*pi*f1*t);   %创建频率为15Hz的信号
y2 = A*sin(2*pi*f2*t);   %创建频率为40Hz的信号
%【信号叠加】
x=y1+y2; %信号
%【fft绘制频域图】
x_fft=fft(x,N);    %对信号进行快速Fourier变换
mag=abs(x_fft);     %求得Fourier变换后的振幅
f=n*fs/N;    %频率序列
figure(1)
subplot(2,1,1),plot(f,mag);   %绘出随频率变化的振幅
xlabel('频率/Hz');
ylabel('振幅');title('频率-振幅');grid on;%【以平均能量为纵坐标】
mag2 = (abs(x_fft).^2)/N     %求平均能量
subplot(2,1,2),plot(f,mag2);   %绘出频率-平均能量图
xlabel('频率/Hz');
ylabel('平均能量');title('频率-平均能量');grid on;%fftshift函数执行以横坐标0为中心的循环移位(以纵轴为对称轴)。
x_fft2 = fftshift(x_fft)
mag3=abs(x_fft2);     %求得Fourier变换后的振幅
mag4 = (abs(x_fft2).^2)/N     %求平均能量
figure(2)
subplot(2,1,1),plot(f,mag3);   %绘出随频率变化的振幅
xlabel('频率/Hz');
ylabel('振幅');title('频率-振幅');grid on;
subplot(2,1,2),plot(f,mag4);   %绘出随频率变化的振幅
xlabel('频率/Hz');
ylabel('平均能量');title('频率-平均能量');grid on;

2.代码解析

①创建具有15Hz和40Hz分量频率的信号
在这里插入图片描述
②叠加两个信号形成混合信号x
在这里插入图片描述
③fft命令绘制x的频域图
在这里插入图片描述
频域图绘制结果:
在这里插入图片描述
④标注频率为横坐标,平均能量为纵坐标。
在这里插入图片描述
频率-平均能量图绘制:
在这里插入图片描述

七.实验结论及分析

在实验1中,我学会了使用matlab绘制离散信号的频谱,并进一步加深了对离散信号频域响应特性的学习。

八.Matlab实验源文件

离散系统的频域分析实验源文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/229555.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用CHAT写“科技探索者”视频号运营方案

问CHAT:生成一篇“科技探索者”视频号运营方案,要求内容: (1)视频号的定位、面向的人群、主要发布哪方面的内容 (2)视频号的内容设计(用什么样的方式来体现、最好有内容创意&#xf…

深入理解字符串函数和字符函数(二)

目录 strstr 的使用和模拟实现​ 简单的使用: 复杂情况下的使用 模拟实现strstr函数 用暴力求解的方式: strtok的使用 strerror 函数的使用​ 书接上文:深入理解字符串函数和字符函数(一)-CSDN博客 strstr 的使…

基于加拿大降水分析 (CaPA) 系统的北美区域确定性降水数据集

区域确定性降水分析 (RDPA) 基于加拿大降水分析 (CaPA) 系统的区域确定性降水分析 (RDPA) 的域与业务区域模式相对应,即区域确定性预报系统 (RDPS-LAM3D),但太平洋地区除外其中 RDPA 域的西边边界相对于区域模型域稍微向东移动。RDPA 分析的分辨率与运行…

VT-MRPA1-151-1X/V0/0控制2FRE16模块式模拟放大器

适用于控制带有电气位置反馈的直动式比例减压阀(DBETR- 1X 类型)或带有电气位置反馈的比例流量控制阀(2FRE... 类型);控制值输入 1 0 V(差动输入); 可分别调节“上/下”斜坡时间的斜…

深度解读:为什么要做数据合规?如何做到数据合规?

数据资源“入表”在即,企业更需筑牢数据合规防线。但企业主企业购买数据、获取数据到底是否合法合规,入表如何防范合规风险?上周三,亿信华辰邀请到北京鑫诺律师事务所高级合伙人、管委会副主任武婕将和大家分享《数据入表法律合规…

C语言——I /深入理解指针(三)

一、字符指针变量 在指针的类型中我们知道有⼀种指针类型为字符指针 char* ; ⼀般使⽤: int main() { char ch w; char *pc &ch; *pc w; return 0; } 还有⼀种使⽤⽅式如下: int main() { const char* pstr "hello bit.";//这⾥是把⼀个字…

vue2通过权限控制tab标签显示和隐藏

vue2通过权限控制tab标签显示和隐藏 1、前言2、v-if实现自定义控制 1、前言 在开发过程中,我们可能会遇到这样一个场景:根据不同权限对tab栏内容进行控制,这时候用自定义指令v-permission就达不到我们想要的效果,其是将当前节点的…

0基础学习VR全景平台篇第124篇:VR视频地拍补地 - PR软件教程

上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! 嗨,大家好,今天我们来介绍【地拍VR视频补地】。 之前已经教给了大家如何处理航拍图片的补天和航天视频的补天,肯定有很多小伙伴也在好奇&…

unity的多语言配置工具

demo下载:https://github.com/JSumC/LanguageExcel using System; using System.Collections.Generic; using System.IO; using System.Linq; using OfficeOpenXml; using UnityEngine; using UnityEngine.UI; namespace LanguageExcel {public class LETool : MonoBehaviour{…

线下渠道应该如何控价

品牌渠道中的问题,大多跟价格有关,比如低价、窜货、假货,治理好这些价格问题,也就是在解决渠道中的低价问题,所以要先了解价格,再进行治理,这样的流程化操作,可以使品牌管控好渠道价…

【Python】数据分析案例:世界杯数据可视化 | 文末送书

文章目录 前期数据准备导入数据 分析:世界杯中各队赢得的比赛数分析:先打或后打的比赛获胜次数分析:世界杯中的抛硬币决策分析:2022年T20世界杯的最高得分者分析:世界杯比赛最佳球员奖分析:最适合先击球或追…

使用React+SpringBoot开发一个协同编辑的表格文档

本文由葡萄城技术团队发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 随着云计算和团队协作的兴起,协同编辑成为了许多企业和组织中必不可少的需求。通过协同编辑&#x…