《应用快速傅里叶变换对信号进行频谱分析实验报告.pdf》由会员分享,可在线阅读,更多相关《应用快速傅里叶变换对信号进行频谱分析实验报告.pdf(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、应用快速傅里叶变换对信号进行频谱分析2.1 实验目的 1、通过本实验,进一步加深对 DFT 算法原理和基本性质的理解,熟悉 FFT 算法原理和 FFT 子程序应用 2、掌握应用 FFT 对信号进行频谱分析的方法。3、通过本次实验进一步掌握频域采样定理。4、了解应用 FFT 进行信号频谱分析过程中可能出现的问题,以便在实际中正。确应用 FFT。2.2 实验原理与方法对于有限长序列我们可以使用离散傅里叶变换(DFT)。这一变换不但可以好地反映序列的频域特性,而且易于用快速傅里叶变换在计算机上实现当序列 x(n)的长度为 N 时,它的离散傅里叶变换为:knX(k)DFTx(n)x(n)WNn0N1其
2、中WN e j(2/N),它的反变换定义为:1x(n)IDFTX(k)NX(k)Wk0N1knN比较 Z 变换公式,令z WNk则nkX(z)|zWkx(n)WN DFTx(n)NN1n0因此有X(k)X(z)|zWk。N所以,X(k)是 x(n)的 Z 变换在单位圆上的等距采样,或者说是序列傅里叶变换的等距采样。DFT 是对序列傅里叶变换的等距采样,因此可以用于对序列的频谱分析。在运用 DFT 进行频谱分析的过程中有可能产生三种误差:1、混叠现象序列的频谱是原模拟信号频谱的周期延拓,周期为2/T。因此,当采样频率小于两倍信号的最大频率时,经过采样就会发生频谱混叠,使采样后的信号序列频谱不能真
3、实反映原信号的频谱。2、泄漏现象实际中信号序列往往很长,常用截短的序列来近似它们,这样可以用较短的 DFT 对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形函数。这样得到的频谱会将原频谱扩展开。3、栅栏效应 DFT 是对单位圆上 Z 变换的均匀采样,所以它不可能将频谱视为一个连续函数。因此,只能看到离散点无法看出真实频谱。2.3 实验内容及步骤 1、观察高斯序列的时域和幅频特性(1)固定信号xa(n)e(np)/q,0 n N 1中参数 p=16,信号长度 N=32,改变q 的值,分别等于2,10,30,观察他们的时域和幅频特性(作FFT 时,点数大于 256),了解当 q 取不同的
4、值时,对信号序列的时域和幅频特性的影响。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
5、/q3);ya3=fft(xa3,FFTN);figure(3);subplot(2,1,1);stem(n,xa3,.);subplot(2,1,2);stem(ya3,.);2运行结果:结论: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
6、).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,.)
7、;运行结果:结论:q 固定,随着 p 的变化,时域波形出现偏移,当 p=30时由于窗口函数的变化,出现明显的泄漏现象,混叠也随之出现。2、观察正弦序列(1)正弦序列xb(n)sin(2fn),0 n N 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);st
8、em(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)恢复X(ejw)。(2)令f=0.265625,N=32,FFT点数分别为32、64,观察其幅频特性曲线,何时从幅频特性曲线上可以观测到原正弦信号的模拟频率?信号长度N=64情况又如何?MATLAB:N1=32;N2=64;f=0.265625;n1=0:N
9、1-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,6
10、4);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*
11、f1*n);figure(1);subplot(2,1,1);stem(n,xb1,.);yb1=fft(xb1,256);subplot(2,1,2);stem(yb1,.);运行结果:结论:可以通过选择FFT点数使曲线出现单线谱。频谱分辨率FFs/N=31.25Hz。通过FFT观察信号模拟频率为1.96875kHz,与真实频率相差0.00875kHz。(3)观察衰减正弦序列观察衰减正弦序列xc(n)ensin(2fn),0 n N 1,令 a=0.1,f分别为0.21875、0.4375、0.5625(此时还满足Nyquist采样定理?),N=32,FFT点数32、256,观察在不同f值的
12、情况下,谱峰出现的位置、形状,有无混叠和泄露现象,说明产生的原因。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=
13、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时,信号的最高频率大于采样频率的一半,所
14、以此时不满足Nyquist采样定理。在满足Nyquist采样定理的情况下,f增大,谱峰逐渐靠近。出现了混叠和泄漏,由于采样点数不足时造成的。(4)观察三角波序列和反三角波序列n1,0 n 34n,0 n 3用N=8点FFT分析信号序列 xd8n,4 n 7和 xen3,4 n 7的幅频特0,else0,else性,观察两者的序列形状和频谱曲线有什么异同?用FFT点数为256分析这两个信号,观察频谱发生了什么变化?两种情况下的FFT频谱还有相同之处么?为什么?MATLAB程序:N=8;x=zeros(size(n);n=0:N-1;mask=(n=0)&(n=4)&(n=0)&(n=4)&(n=
15、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,.);subplot(3,1,3);stem(yd2,.);figure(2);subplot(3,1,1);stem(n,xe,.);subplot(3,1,2);stem(ye1,.);subplot(3,1,3);stem(ye2,.);结论:二者在序列形状上,三角序列先增大后减小;反三角序列先减小后增大。二者的频谱曲线相对横轴是对称的。当FFT点数为256时,二者频谱不再对称且反三角序列的频谱出现了明显的混叠现象。