应用快速傅里叶变换对信号进行频谱分析实验报告.doc_第1页
应用快速傅里叶变换对信号进行频谱分析实验报告.doc_第2页
应用快速傅里叶变换对信号进行频谱分析实验报告.doc_第3页
应用快速傅里叶变换对信号进行频谱分析实验报告.doc_第4页
应用快速傅里叶变换对信号进行频谱分析实验报告.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档应用快速傅里叶变换对信号进行频谱分析2.1 实验目的 1、通过本实验,进一步加深对DFT算法原理和基本性质的理解,熟悉FFT算法原理和FFT子程序应用 2、掌握应用FFT对信号进行频谱分析的方法。 3、通过本次实验进一步掌握频域采样定理。 4、了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正。确应用FFT。2.2实验原理与方法对于有限长序列我们可以使用离散傅里叶变换(DFT)。这一变换不但可以好地反映序列的频域特性,而且易于用快速傅里叶变换在计算机上实现当序列x(n)的长度为N时,它的离散傅里叶变换为:其中,它的反变换定义为:比较Z变换公式,令则因此有。所以,X(k)是x(n)的Z变换在单位圆上的等距采样,或者说是序列傅里叶变换的等距采样。 DFT是对序列傅里叶变换的等距采样,因此可以用于对序列的频谱分析。在运用DFT进行频谱分析的过程中有可能产生三种误差: 1、混叠现象 序列的频谱是原模拟信号频谱的周期延拓,周期为。因此,当采样频率小于两倍信号的最大频率时,经过采样就会发生频谱混叠,使采样后的信号序列频谱不能真实反映原信号的频谱。 2、泄漏现象 实际中信号序列往往很长,常用截短的序列来近似它们,这样可以用较短的DFT对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形函数。这样得到的频谱会将原频谱扩展开。 3、栅栏效应 DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数。因此,只能看到离散点无法看出真实频谱。2.3实验内容及步骤 1、观察高斯序列的时域和幅频特性(1)固定信号中参数p=16,信号长度N=32,改变q的值,分别等于2,10,30,观察他们的时域和幅频特性(作FFT时,点数大于256),了解当q取不同的值时,对信号序列的时域和幅频特性的影响。 MATLAB程序:N=32;FFTN=256;p=16;q1=2;q2=10;q3=30;n=0:N-1;xa1=exp(-(n-p).2/q1);ya1=fft(xa1,FFTN);figure(1);subplot(2,1,1);stem(n,xa1,.);subplot(2,1,2);stem(ya1,.);xa2=exp(-(n-p).2/q2);ya2=fft(xa2,FFTN);figure(2);subplot(2,1,1);stem(n,xa2,.);subplot(2,1,2);stem(ya2,.);xa3=exp(-(n-p).2/q3);ya3=fft(xa3,FFTN);figure(3);subplot(2,1,1);stem(n,xa3,.);subplot(2,1,2);stem(ya3,.);运行结果: 结论:p固定时,随着q的改变,时域波形变化缓慢,低频分量增加,频谱泄露和混叠减小。(2) 固定q=10,改变p,使p分别等于25,30,32,观察参数p变化对信号序列的时域及幅频特性的影响,注意p等于多少时,会发生明显的泄露现象,混叠是否也随之出现? MATLAB程序:N=32;q=10;p1=25;p2=30;p3=32;FFTN=256;n=0:N-1;xa1=exp(-(n-p1).2/q);ya1=fft(xa1,FFTN);figure(1);subplot(2,1,1);stem(n,xa1,.);subplot(2,1,2);stem(ya1,.);xa2=exp(-(n-p2).2/q);ya2=fft(xa2,FFTN);figure(2);subplot(2,1,1);stem(n,xa2,.);subplot(2,1,2);stem(ya2,.);xa3=exp(-(n-p3).2/q);ya3=fft(xa3,FFTN);figure(3);subplot(2,1,1);stem(n,xa3,.);subplot(2,1,2);stem(ya3,.); 运行结果: 结论:q固定,随着p的变化,时域波形出现偏移,当p=30时由于窗口函数的变化,出现明显的泄漏现象,混叠也随之出现。 2、观察正弦序列(1)正弦序列。令f=0.0625,N=32,FFT点数为32,检查谱峰出现的位置是否正确?谱的形状如何?如令N=32,FFT点数为512,谱的形状如何?使用频域采样定理分析该现象并绘出幅频特性曲线。 MATLAB程序:N=32;f=0.0625;n=0:N-1;xb=sin(2*pi*f*n);figure(1);stem(n,xb,.);yb1=fft(xb,32);figure(2);stem(0:31,imag(yb1),.);yb2=fft(xb,512);figure(3);stem(0:511,imag(yb2),.); 运行结果: 结论:当FFT点数N=32时,谱峰出现的位置正确。频谱只在k=2,30处有值,其余地方都为0。当FFT点数为512时,频谱出现了明显的泄漏和混叠。当DFT点数大于序列长度时,可以通过X(k)恢复。 (2)令f=0.265625,N=32,FFT点数分别为32、64,观察其幅频特性曲线,何时从幅频特性曲线上可以观测到原正弦信号的模拟频率?信号长度N=64情况又如何? MATLAB:N1=32;N2=64;f=0.265625;n1=0:N1-1;n2=0:N2-1;xb1=sin(2*pi*f*n1);figure(1)subplot(3,1,1);stem(n1,xb1,.);yb1=fft(xb1,32);subplot(3,1,2);stem(n1,imag(yb1),.); yb2=fft(xb1,64);subplot(3,1,3);stem(n2,imag(yb2),.); xb2=sin(2*pi*f*n2);figure(2);subplot(3,1,1);stem(n2,xb2,.);yb3=fft(xb2,32);subplot(3,1,2);stem(n1,imag(yb3),.);yb4=fft(xb2,64);subplot(3,1,3);stem(n2,imag(yb4),.); 运行结果: 结论:信号长度N=32,当FFT点数为32时,无法观察出原信号模拟频率。当FFT点数为64时,在k=17时可以观察到原模拟信号的频率。信号长N=64时,情况一致。 (3)f=0.245,N=256,观察其时域曲线,注意此时由于采样引起的假调制现象。 通过选择FFT的点数,能否使该曲线出现单线谱?设f=1.96kHz,采样频率8kHz,N=256,此时频谱分辨率为多少?通过FFT离散谱观察到的信号模拟频率与实际频率相差多少? MATLAB程序:N=256;f1=0.245;n=0:N-1;xb1=sin(2*pi*f1*n);figure(1);subplot(2,1,1);stem(n,xb1,.);yb1=fft(xb1,256);subplot(2,1,2);stem(yb1,.); 运行结果: 结论:可以通过选择FFT点数使曲线出现单线谱。频谱分辨率=31.25Hz。通过FFT观察信号模拟频率为1.96875kHz,与真实频率相差0.00875kHz。 (3)观察衰减正弦序列 观察衰减正弦序列,令 a=0.1,f分别为0.21875、0.4375、0.5625(此时还满足Nyquist采样定理?),N=32,FFT点数32、256,观察在不同f值的情况下,谱峰出现的位置、形状,有无混叠和泄露现象,说明产生的原因。 MATLAB程序:x=0.1;f1=0.21875;f2=0.4375;f3=0.5625;N=32;n=0:N-1; xc1=exp(-x.*n).*sin(2*pi*f1*n);yc1=fft(xc1,32);yc2=fft(xc1,256);figure(1);subplot(3,1,1);stem(n,xc1,.);subplot(3,1,2);stem(yc1,.); subplot(3,1,3);stem(yc2,.); xc2=exp(-x.*n).*sin(2*pi*f2*n);yc3=fft(xc2,32);yc4=fft(xc2,256);figure(2);subplot(3,1,1);stem(n,xc2,.);subplot(3,1,2);stem(yc3,.);subplot(3,1,3);stem(yc4,.); xc3=exp(-x.*n).*sin(2*pi*f3*n);yc5=fft(xc3,32);yc6=fft(xc3,256);figure(3);subplot(3,1,1);stem(n,xc3,.); subplot(3,1,2);stem(yc5,.); subplot(3,1,3);stem(yc6,.); 运行结果: 结论:当f=0.5625时,信号的最高频率大于采样频率的一半,所以此时不满足Nyquist采样定理。在满足Nyquist采样定理的情况下,f增大,谱峰逐渐靠近。出现了混叠和泄漏,由于采样点数不足时造成的。(4)观察三角波序列和反三角波序列 用N=8点FFT分析信号序列和的幅频特性,观察两者的序列形状和频谱曲线有什么异同?用FFT点数为256分析这两个信号,观察频谱发生了什么变化?两种情况下的FFT频谱还有相同之处么?为什么? MATLAB程序:N=8;x=zeros(size(n); n=0:N-1; mask=(n=0)&(n=4)&(n=0)&(n=4)&(n=7);xe(mask)=n(mask)-3; yd1=fft(xd,8);ye1=fft(xe,8);yd2=fft(xd,256);ye2=fft(xe,256); figure(1);subplot(3,1,1);stem(n,xd,.);subplot(3,1,2);stem(yd1,.);subp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论