1、应用快速傅里叶变换对信号进行频谱分析实验报告记录应用快速傅里叶变换对信号进 行频谱分析实验报告记录作者: 日期:应用快速傅里叶变换对信号进行频谱分析2.1实验目的1、通过本实验,进一步加深对 DFT算法原理和基本性质的理解,熟悉 FFT 算 法原理和 FFT子程序应用2、掌握应用 FFT 对信号进行频谱分析的方法。3、通过本次实验进一步掌握频域采样定理。4、了解应用 FFT 进行信号频谱分析过程中可能出现的问题, 以便在实际中正。 确应用 FFT。2.2实验原理与方法对于有限长序列我们可以使用离散傅里叶变换( DFT)。这一变换 不但可以好地反映序列的频域特性, 而且易于用快速傅里叶变换在计
2、算机上实现当序列 x(n) 的长度为 N 时,它的离散傅里叶变换为:N1knX(k) DFT x(n) x(n)WNknn0其中WN e j(2 /N) ,它的反变换定义为:N11 knx(n) IDFT X(k) X(k)WNknNk0比较 Z变换公式,令 z WNk 则N1X(z)|z WNk x(n)WNnk DFT x(n)N n 0因此有 X(k) X(z)|z W k。所以,X(k)是 x(n) 的 Z变换在单位圆上的等距采样, 或者说是序 列傅里叶变换的等距采样。DFT 是对序列傅里叶变换的等距采样,因此可以用于对序列的频谱分析。在运用 DFT进行频谱分析的过程中有可能产生三种误
3、差:1、混叠现象 序列的频谱是原模拟信号频谱的周期延拓,周期为 2 /T 。因此,当采样 频率小于两倍信号的最大频率时,经过采样就会发生频谱混叠,使采样后 的信号序列频谱不能真实反映原信号的频谱。2、泄漏现象 实际中信号序列往往很长,常用截短的序列来近似它们,这样可以用较短 的 DFT 对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形 函数。这样得到的频谱会将原频谱扩展开。3、栅栏效应DFT 是对单位圆上 Z 变换的均匀采样,所以它不可能将频谱视为一个连续 函数。因此,只能看到离散点无法看出真实频谱。2.3实验内容及步骤1 、观察高斯序列的时域和幅频特性2(1) 固定信号 xa(n)
4、 e (n p)2 /q,0 n N 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
5、(-(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,
6、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,x
7、a2, . );subplot(2,1,2);stem(ya2, . );xa3=exp(-(n-p3).2/q);Y : -cogE9sc?-Lz)O一dqns X : -coexE迈(IAz)O一dqns言匸 -(N-LzI4coex)kcog结论:q 固定,随着 p 的变化,时域波形出现偏移, 当 p=30时由于窗口函数的变化,出现明显的泄漏现象,混叠也随之出现。2 、观察正弦序列(1)正弦序列 xb(n) sin(2 fn),0 n N 1。令 f=0.0625 ,N=32,FFT点数为 32,检查谱峰出现的位置是否正确?谱的形状如何?如令 N=32,FFT 点数为 512,谱的形状如
8、何?使用频域采样定理分析该现象并绘出幅频特性 曲线。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), . );10结论:当 FFT点数 N=32时,谱峰出现的位置正确。频谱只在k=2,30 处有值,其余地方都为 0。当FFT点数为 512时, 频谱出现了明显的泄漏和混叠。当 DFT点数大于序列 长度时
9、,可以通过 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: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)
10、;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,观察其时域曲线, 注
11、意此时由于采样引起的假调制现象。 通过选择 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点数使曲线出现单线谱。频 谱分辨率 F Fs /N =31.25H
12、z 。通过 FFT观察信号 模拟频率为 1.96875kHz ,与真实频率相差0.00875kHz 。3)观察衰减正弦序列观察衰减正弦序列 xc(n) e n sin(2 fn),0 n N 1,令 a=0.1 ,f 分别为0.21875 、0.4375 、0.5625(此时还满足 Nyquist 采样定理?) ,N=32,FFT 点数32、256,观察在不同 f 值的情况下,谱峰出现的位置、形状,有无混 叠和泄露现象,说明产生的原因。MATLA程B序:x=0.1;f1=0.21875;f2=0.4375;f3=0.5625;N=32;n=0:N-1;xc1=exp(-x.*n).*sin(2
13、*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(
14、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)观察
15、三角波序列和反三角波序列n 1,0 n 3 4 n,0 n 3用N=8点FFT分析信号序列 xd 8 n,4 n 7 和 xe n 3,4 n 7的幅频特0, else 0,else性,观察两者的序列形状和频谱曲线有什么异同?用 FFT点数为 256分析这 两个信号,观察频谱发生了什么变化?两种情况下的 FFT频谱还有相同之处 么?为什么?MATLAB 程序:N=8;x=zeros(size(n);n=0:N-1;mask=(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)
16、;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时,二者频谱不再对称且反三角 序列的频谱出现了明显的混叠现象。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1