《利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]》由会员分享,可在线阅读,更多相关《利用Matlab绘制正弦信号的频谱图并做相关分析[共6页](6页珍藏版)》请在人人文库网上搜索。

1、利用Matlab绘制正弦信号的频谱图并做相关分析一、作业要求:1、信号可变(信号的赋值、相位、频率可变);2、采样频率fs可变;3、加各种不同的窗函数并分析其影响;4、频谱校正;5、频谱细化。二、采用matlab编写如下程序:clear;clf;fs=100;N=1024; %采样频率和数据点数A=20;B=30;C=0.38;n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,1。

2、),plot(f,yy); %绘出随频率变化的振幅xlabel(频率/itHz);ylabel(振幅);title(图1:fs=100,N=1024);grid on;%两种信号叠加,x=A*sin(2*pi*B*t+C)+2*A*sin(2*pi*1.5*B*t+2.5*C); %信号y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,2),plot(f,yy); %绘出随频率变化的振幅xlabel(频率/itHz);ylabel(振幅);title(图2:fs=10。

3、0,N=1024,两种信号叠加);grid on;%加噪声之后的图像x=A*sin(2*pi*B*t+C)+28*randn(size(t);y=fft(x,N);yy=abs(y);yy=yy*2/N; %幅值处理subplot(3,3,3),plot(f(1:N/2.56),yy(1:N/2.56);xlabel(频率/itHz);ylabel(振幅);title(图3:fs=100,N=1024混入噪声);grid on;%改变采样点数N=128N=128;n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行傅里叶。

4、变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,4),plot(f(1:N/2.56),yy(1:N/2.56); %绘出随频率变化的振幅xlabel(频率/itHz);ylabel(振幅);title(图4:fs=100,N=128);grid on;%改变采样频率为200Hz时的频谱fs=400;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变换的振幅yy=yy*2/N; %。

5、幅值处理f=n*fs/N;subplot(3,3,5),plot(f(1:N/2.56),yy(1:N/2.56); %绘出随频率变化的振幅xlabel(频率/itHz);ylabel(振幅);title(图5:fs=400,N=1024);grid on;%加三角窗函数fs=100;N=1024; %采样频率和数据点数n=0:N-1;t=n/fs; %时间序列x=A*sin(2*pi*B*t+C); %信号window=triang(N);%生成三角窗函数x=x.*window;%加窗函数y=fft(x,N); %对信号进行傅里叶变换yy=abs(y); %求得傅里叶变换后的振幅yy=yy*。

6、2/N; %幅值处理f=n*fs/N; %频率序列subplot(3,3,6),plot(f(1:N/2.56),2*yy(1:N/2.56); %绘出随频率变化的振幅xlabel(频率/itHz);ylabel(振幅);title(图6:fs=100,N=1024,加三角窗函数);grid on;%加海明窗函数后的频谱fs=100;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号window=hamming(N);%生成海明窗函数x=x.*window;%加窗函数y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y); %求取傅里叶变。

7、换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,7),plot(f(1:N/2.56),1.852*yy(1:N/2.56); %绘出随频率变化的振幅xlabel(频率/itHz);ylabel(振幅);title(图7:fs=100,N=1024,加海明窗函数);grid on;%加汉宁窗函数后的频谱fs=100;N=1024;n=0:N-1;t=n/fs;x=A*sin(2*pi*B*t+C); %信号window=hanning(N);%生成汉宁窗函数x=x.*window;%加窗函数y=fft(x,N); %对信号进行快速傅里叶变换yy=abs(y);。

8、 %求取傅里叶变换的振幅yy=yy*2/N; %幅值处理f=n*fs/N;subplot(3,3,8),plot(f(1:N/2.56),2*yy(1:N/2.56); %绘出随频率变化的振幅xlabel(频率/itHz);ylabel(振幅);title(图8:fs=100,N=1024,加汉宁窗函数);grid on;三、运行结果如下:四、分析与结论:1)从所做图像可以看出,信号的幅值均小于真实值,说明在截断信号时存在泄露。2)从图1和图图2取相同的采样频率fs=100和数据点数N=1024,不同的是图2采用两种不同赋值和频率的正弦信号叠加,从图中可以看出,图2可以明显的看出含有两种不同的。

9、频率成分的信号,幅值也不相同,由此可以看出,不同频率的正弦信号叠加,在频域当中互相分离,互不影响。3)从图1和图图2可以看出,整个频谱图是以fs/2频率为对称轴的。由此可以知道傅里叶变换数据的对称性。因此在用傅里叶变换做频谱分析时,我们只需做出前一半频谱图即可。4)图3为混入噪声之后的频谱,可以看出噪声分布在整个频率轴上,并且由于噪声中含有与原信号频率相同的成分,叠加之后导致幅值增加。加大噪声的幅值之后,将分辨不出原信号的频率。5)图4减少了数据点数,N=128,与图1相比较,采用128点和1024点的相同频率的振幅是有不同的表现值。因此振幅的大小与所用采样点数有关。一定范围内采样点数越多,信。

10、号的幅值越接近真实值。6)图5改变采样频率观察不同采样频率对信号的影响,当采样频率太小时,谱线的尾部发生混叠现象,当采样频率太大时,频率的分辨率较低,不利于采样,根据采样定理,采样频率必须大于信号最高频率的2倍,通常采用35倍。7)图6、7、8分别对信号添加了三角窗、海明窗和汉宁窗,图1比较,加窗之后信号的幅值更加接近真实值。而且使得图像的旁瓣减小,信号的能量相对集中。五、采用相位差法进行频谱校正校正程序代码:clear;clf;fs=100;N=1024;n=0:N-1;t=n/fs;A=20;B=30;C=0.38;x=A*sin(2*pi*B*t+C); %正弦信号y1=fft(x.*h。

11、anning(N);%对信号做N点FFT变换y2=fft(x(1:N/2).*hanning(N/2);%对信号做N/2点FFT变换Y1=abs(y1(1:N/2)/N*2);%第一段信号幅值Y2=abs(y2(1:N/4)/N*4);%第二段信号幅值f=(1:N/2)*fs/N;subplot(2,1,1);plot(f,2*Y1);xlabel(频率/itHz);ylabel(振幅/A);title(加汉宁窗校正前);grid on;Y1Amax,k1=max(Y1);Y2Amax,k2=max(Y2);phase1=angle(y1(k1);phase2=angle(y2(k2);Ano。

12、=Y1Amax*2fno=(k1-1)*fs/N %未校正频率phaseno=phase1*180/pi %未校正相角delt=mod(phase1-phase2,2*pi);%将delt调整到(-pi,pi)之间if deltpidelt1=delt-2*pi;else delt1=delt;enddeltf=2*(k2-1)-(k1-1)-2*delt1/pi;Yyes=zeros(1,N/2);Ayes=2/sinc(deltf)*Y1Amax*(1-deltf2)Yyes(k2)=Ayes;fyes=(k1-1-deltf)*fs/N %校正后频率phaseyes=(phase1+deltf*pi)*180/pi %校正后相位f(k2)=fyes;subplot(2,1,2);stem(f,Yyes);xlabel(f);ylabel(幅值/A);title(加汉宁窗校正后);grid on;程序运行结果:信号幅值的真实值A=20,频率f=30,相位phase=30,比较校正前后的幅值、频率和相位值可以看出,这种校正方法对幅值和频率的校正比较准确,对相位误差较大,有待于进一步研究。

matlab相关性分析频谱_利用Matlab绘制正弦信号的频谱图并做相关分析[共6页]相关推荐

  1. matlab相关性分析频谱_利用matlab怎样进行频谱分析、、

    利用 matlab 怎样进行频谱分析 图像的频率是表征图像中灰度变化剧烈程度的指标, 是灰度在平面空间上的 梯度. 如: 大面积的沙漠在图像中是一片灰度变化缓慢的区域, 对应的频率值很 低:而对于地表 ...

  2. matlab的qammod函数_利用matlab实现16QAM调制

    利用matlab实现16QAM调制 2020-12-22 一.随机信号的调制第一个示例描述以下问题: 下表描述了解决此问题的关键任务和相应的通信工具箱函数,其中选择基带16QAM作为调制制式以及加性高 ...

  3. matlab文件名加前缀_利用MATLAB批量对文件重命名

    利用MATLAB批量对文件重命名 tags: - MATLAB - 科研软件 序 没paper,实验肯定要做啊,不做就毕不了业 . 编程这方面,编程是不可能编程的,这辈子不可能编程的 . paper又 ...

  4. matlab低通滤波器库函数代码_利用Matlab filterDesigner 工具生成FIR滤波器函数,并调用实现低通滤波...

    本文使用的开发环境为:Win10 Matlab2018a 版本. 在matlab命令窗口输入:filterDesigner命令,即可打开filterDesigner设计工具. 按照下图调整FIR低通滤 ...

  5. matlab 统计数组频数_利用MATLAB进行频率分析(统计数组中元素个数)

    在日常计算,工作中使用MATLAB经常会遇到这样的一个问题:如何统计数组中各数字(元素)出现的频数.频率和累积频率?本文就按照案例演示的方式做一个总结. 第一种方法:调用MATLAB自带的函数tabu ...

  6. matlab计算斜方差_利用matlab进行协方差运算

    本文全部参考自: http://www.cnblogs.com/welen/articles/5535042.html#undefined 知识点一: MATLAB中四个取整函数具体使用方法如下: M ...

  7. 用python可以画的可爱的图形_利用Python绘制诱人的桑基图

    作者:小z 来源:数据不吹牛 大家好,我是小z~ 最近,不止一次收到群里小伙伴的截图追问: "这个图叫什么???" "这个图真好看!!!怎么画啊?" 小z本没有 ...

  8. 利用pyechart绘制简单的迁徙流向图、世界地图

    1.介绍 Echarts 是一个由百度开源的数据可视化,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Fi ...

  9. 【数字信号处理】相关函数应用 ( 正弦信号 的 自相关函数 分析 二 | 在白噪声中检测正弦信号 )

    文章目录 一.正弦信号 的 自相关函数 分析 一.正弦信号 的 自相关函数 分析 正弦信号 s(n)=Asin⁡ωns(n) = A \sin \omega ns(n)=Asinωn , 其 幅度 A ...

最新文章

  1. @bean注解和@component注解的区别_阿里面试题一:spring里面使用xml配置和注解配置区别...
  2. 解决:delphi7 license is invalid or has expired
  3. 第五章 PX4-GPS解析
  4. InputFormat和OutPutFormat
  5. 计算机管理技术学院,计算机管理论文,关于国家电网技术学院:管理平台有“三好”教学管理享轻松相关参考文献资料-免费论文范文...
  6. TensorFolw 报错
  7. Dollar toolbox 学习笔记(一)
  8. 使用python写机器学习算法遇到的问题
  9. POJ 1066 Treasure Hunt(计算几何)
  10. SQL Server 2014新特性探秘(1):内存数据库
  11. 资料分析-增长率 比重 平均数 倍数等
  12. Fluent UDF 获取组分传输模型中的摩尔分数或分压力
  13. 微信或企业微信实现扫码登录的三种方式
  14. Lighttools 闪光灯仿真自建实例
  15. 浅说ksm的适用范围
  16. 蚁群算法解决车间调度问题
  17. [小说]魔王冢(17)鬼金羊
  18. python云计算主要是干嘛的_国外python云计算是干什么的
  19. enspar启动失败40_AR启动失败错误代码40终极解决方案
  20. Echarts中国地图三级钻取

热门文章

  1. Redis单机搭建主从复制以及哨兵机制
  2. Chrome的插件扩展程序安装目录是什么?在哪个文件夹?
  3. LESS----CSS预处理语言
  4. 温州近10%的网站存在高危安全漏洞
  5. 使用Tensorflow进行脸部识别
  6. U盘安装Linux安装报错及解决方案
  7. 使用OUTPUT从句从SQL Server表删除和归档大量记录
  8. 解决android自定义标题充满的问题
  9. openSUSE12.1安装及基本设置
  10. 【C#每日一帖】【转】提高编码效率的一些经验