用FFT对信号作频谱分析.docx
- 文档编号:8267600
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:16
- 大小:453.16KB
用FFT对信号作频谱分析.docx
《用FFT对信号作频谱分析.docx》由会员分享,可在线阅读,更多相关《用FFT对信号作频谱分析.docx(16页珍藏版)》请在冰豆网上搜索。
用FFT对信号作频谱分析
实验三:
用FFT对信号作频谱分析
一、实验原理与方法
1、用FFT对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。
对信号进行谱分析的重要问题是频谱分辨率D和分析误差。
频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2n/N,因此要求2到NWD。
可以根据此式选择FFT的变换区问N。
误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时,离散谱的包络才能逼近连续谱,因此N要适当选择大一些。
2、周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。
如果不知道信号周期,可以尽量选择信号的观察时间长一些。
3、对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。
如果是模拟周期信号,也应该选取整数倍周期长度,经过采样后形成周期序列,按照周期序列的谱分析进行。
二、实验内容
1、对以下序列进行FFT谱分析:
xi(n)=R4(n)
n10 x2(n)=8-n4-n-7 (0其他n 4-n0 X3(n)=n-34mn£7 [0其他n 选if¥FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析。 程序见附录3.1、实验结果见图3.1。 2、对以下周期序列进行谱分析: 冗 x4(n)=cos—n nn x5(n)=cos—ncos-n48 选if¥FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 程序见附录3.2、实验结果见图3.2o3、对模拟周期信号进行频谱分析: x6(t)=cos8-tcos16二tcos20二t 选择采中¥频率Fs=64Hz,FFT的变换区间N为16、32、64三种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 程序见附录3.3、 实验结果见图3.3。 4、已知有序列: n+10 X2(n)=J8—n4 [0其他n Z-n0 X3(n)=」n-34 [0其他n X9(n)=X2(n)jx3(n) Xtx9(n)选if? FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析。 程序见附录3.4、实验结果见图3.4o5、已知序列x(n)=423,3,2,1}。 (1)求出x(n)的傅里叶变换X(ejw),画出幅频特性相频特性曲线(提示: 用1024 点FFT近似X(ejw)); (2)计算x(n)的N(N之6)点离散傅里叶变换X(k),画出幅频特性和相频特性曲线; (3)将X(ejw)和X(k)的幅频特性和相频曲线特性分别画在同一幅图中,验证 X(k)是X(ejw)的等间隔采样,采样间隔为2兀/N; (4)计算X(k)的N点IDFT,验证DFT和IDFT的唯一性。 程序见附录3.5、实验结果见图3.5、3.6、3.7。 6、选择合适的变换区间长度N,用DFT对下列信号进行谱分析,画出幅频特性和相频特性曲线。 程序见附录3.6、实验结果见图3.8、3.9。 x2(n)=sin(0.45二n)sin(0.55二n) xa(n)=29510) 三、实验结果和分析、讨论及结论 1、实验结果 1.T1t.t1T.1I 0511.52 w/tt (2b)16点DFT[k式叨 实验分析、讨论及结论: x/n)、X2(n)、X3(n)是非周期的对称序列。 由实验结果可以看出所得的实 验频谱图是正确的,它与理论频谱是一致的。 2、实验结果 实验分析、讨论及结论: TT x4(n)=cos2n的周期为8,所以N=8和N=16均是其周期的整数倍,得到正4 确的单一频率正弦波的频谱,仅在0.25n处有1根单一谱线。 X5(n)=cos±n+cos三n的周期为16,所以N=8不是其周期的整数倍,得到48 的频谱不正确。 N=16是其一个周期,得到正确的频谱,仅在0.25冗和0.125冗处有2根单一谱线。 3、实验结果 @司16点IDFT以*DU 10蚂m5 n 1I|| +।tttT1। 1 1LJ t 卜 111 ■ ।1Tt++। -30-20-1D0102030 f(Hz)值b)支点|DFT|,(E]] □IL*—4—*-*—*—♦♦♦—―—*―—♦4♦~~~*――-♦*♦<—*——*—*―•-4-4-I ・30-20/口0102030 KHz) (Ba)64点|DFT凤mi)]| 图3.3X6(t)采样频率Fs=64Hz的幅频特性曲线 实验分析、讨论及结论: 由实验结果可知,X6(t)有3个频率成分: fi=4Hz,f2=8Hz,f3=10Hz所以X6(t)的周期为0.5s,采样频率Fs=64Hz=16fi=8f2=6.4f3。 变换区间N=16时,观察时间Tp=16T=0.25s,不是X6⑴的整数倍周期,所 以所得频谱不正确,如图3.3(6a)所示。 变换区间N=32,64时,观察时间Tp=0.5s,1s,是X6(t)的整数周期,所以所得频谱正确。 4、实验结果 30 (9a)8点DFT[xg(n)] 25 5 0 / 7t 20 115幅 10 (9b)16点DFT[x9(n)] 2 图3.4X9(n)的幅频特性曲线 实验分析、讨论及结论: jx3(n)相加所得,可以看出它是一个非周期性的近似对称序列 5、实验结果 图3.5傅里叶变换X(ejw)的幅频特性相频特性曲线 N=6点时的DFT[x(n)]=x1(k) 15 x1(k)的相位 X2(k)的相位 051015 20 1 'lb5 10 5 0010203040 N=36点时的DFT[x(n)]=X3(k) X3(k)的相位 图3.6N(N>6)点离散傅里叶变换X(k)的幅频特性相频特性曲线 图3.7X(k)的2点IDFT 实验分析、讨论及结论: 图3-5显示的是x(n)的傅里叶变换X(ejw)的幅频特性和相频特性曲线;图3-6显示的是x(n)在N处分别等于6,18,36点时的DFT及相应的相位特性曲线,并且在图3-5中将X(ejw)和X(k)的幅频特性分别画在同一幅图中,可以看出,X(k) 是X(ejw)的等间隔采样,采样间隔为2yN。 图3-7显示的是利用得到的X(k)作 IDFT,得到的序列与原序列x(n)完全一致,因此也验证了DFT和IDFT的唯一性。 6、实验结果 图3.8X2(n)的幅频特性图 图3.9x3(n)的幅频特性相频特性曲线 实验分析、讨论及结论: X2(n)是周期序列,所以截取了一个周期用DFT进行谱分析,而X3(n)是非因果、非周期序列。 它也是一个实偶对称序列,所以其相位应该是零。 四、思考题 1、对于周期序列,如果周期不知道,如何用FFT进行谱分析? 答: 可先截取M点进行DFT再将截取长度扩大1倍,比较两次的结果。 如果二者的主谱差别满足分析误差要求,则以两者中的一个近似表示周期序列的频谱,否则,继续把截取长度加倍,重复上述步骤。 2、如何选择FFT的变换区间? (包括非周期信号和周期信号) 答: (1)对于非周期信号: 有频谱分辨率F,而频谱分期^率直接和FFT的变换区间有关,因为FFT能够实现的频率分辨率是2tt/N…因此有最小的N>2冗/F。 就可以根据此式选择FFT的变换区问。 (2)对于周期信号,周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。 3、当N=8时,X2(n)和X3(n)的幅频特性会相同吗? 为什么? N=16呢? 答: 不同,因为这样会影响是不是周期的整数倍的问题,即影响了频谱的正 确性。 五、总结与心得体会 实验总结如下: 通过实验,我知道了用FFT对信号作频谱分析是学习数字信号处理的重要内容。 经常需要进行谱分析的信号是模拟信号和时域离散信号。 对信号进行谱分析 的重要问题是频谱分辨率D和分析误差。 频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2%wD。 可以根据此式选择FFT的变换区间N。 误差主要来自于用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时,离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。 周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。 如果不知道信号周期,可以尽量选择信号的观察时间长一些。 对模拟信号进行频谱分析时,首先要按照采样定理将其变成时域离散信号。 如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。 此次实验所遇到的问题主要出现在编程方面,由于对FFT的了解不够深刻,编程时经常出现大大小小的问题,也出现过漏加符号的情况,但通过认真的学习了解,成功的解决了问题。 另外,在解决书里面的题时,因为对傅里叶变换的理解有误,导致进行傅里叶变换时出现了错误,但通过同学的讲解,解决了对傅里叶变换的困惑,成功的完成了实验。 实验的心得体会见下: 在此次试验中,通过实验加深了对MATLAB^件的了解,体会到了MATLAB具有完备的图形处理功能,实现计算结果和编程的可视化等功能。 通过做实验的过程以及实验分析的结果,知道了用FFT对信号作频谱分析是学习数字信号处理 的重要内容。 通过这次的实验。 极大地提升了自己对于程序编辑的熟练度,增加了对于书本里面知识点的应用,更深一层的加深了对MATLA歆件的使用。 这对自己以后的实验积累了丰富的经验。 六、附件: MATLAB1程序清单 3.1又txi(n)、X2(n)、X3(n)作FFT变换区间N为8和16时的频谱分析 3.2又tx4(n)、x5(n)作FFT变换区间N为8和16时的频谱分析 N=8;n=0: N-1;%FFT的变换区间N=8 x4n=cos(pi*n/4); x5n=cos(pi*n/4)+cos(pi*n/8); 3.3Xtx8(t)选才|F(s)=64Hz进行三种情况的谱分析 Fs=64;T=1/Fs; N=16;n=0: N-1;%FFT的变换区间N=16 x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%tx6(t)16点采样 X6k16=fft(x6nT);%#算x6nT的16点DFT X6k16=fftshift(X6k16);%W零频率移到频谱中心 Tp=N*T;F=1/Tp;裕率分辨率F k=-N/2: N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心) subplot(3,1,1);stem(fk,abs(X6k16),'.');boxon徭制8点DFT的幅频特性图 title('(6a)16点|DFT[x_6(nT)][');xlabel('f(Hz)');ylabel('幅度’);axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))])N=32;n=0: N-1;%FFT的变换区间N=16 x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%tx6(t)32点采样 X6k32=fft(x6nT);%#算x6nT的32点DFT X6k32=fftshift(X6k32);%W零频率移到频谱中心 Tp=N*T;F=1/Tp;碱率分辨率F k=-N/2: N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心) subplot(3,1,2);stem(fk,abs(X6k32),'.');boxon。 除制8点DFT的幅频特性图 title('(6b)32点|DFT[x_6(nT)][');xlabel('f(Hz)');ylabel('幅度’);axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))])N=64;n=0: N-1;%FFT的变换区间N=16 x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%tx6(t)64点采样 X6k64=fft(x6nT);%#算x6nT的64点DFT X6k64=fftshift(X6k64);%等零频率移到频谱中心 Tp=N*T;F=1/Tp;%^率分辨率F k=-N/2: N/2-1;fk=k*F;%产生16点DFT对应的采样点频率(以零频率为中心) subplot(3,1,3);stem(fk,abs(X6k64),'.');boxon。 除制8点DFT的幅频特性图 title('(6a)64点|DFT[x_6(nT)][');xlabel('f(Hz)');ylabel('幅度’);axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))]) 3.4对x9(n)作FFT变换区间N为8和16时的频谱分析 M=8;xa=1: (M/2);xb=(M/2): -1: 1; 的三角波序列x2(n) '.');射制8点DFT的幅频特性图 );xlabel('3/n');ylabel('幅度'); '.');徭制16点DFT的幅频特性图 );xlabel('3/n');ylabel('幅度'); x2n=[xa,xb];%产生长度为8 x3n=[xb,xa]; x9n=x2n+x3n*j X9k8=fft(x9n,8); X9k16=fft(x9n,16); figure (1); N=8; f=2/N*(0: N-1); subplot(2,2,1);stem(f,abs(X9k8), title('(9a)8点DFT[x_9(n)]' N=16; f=2/N*(0: N-1); subplot(2,2,2);stem(f,abs(X9k16), title('(9b)16点DFT[x_9(n)]' 3.5序列x(n)=也23,3,2,1}的有关问题 w=2*pi*(0: 255)/256; xw=1+2*exp(-j*w)+3*exp(-j*2*w)+3*exp(-j*3*w)+2*exp(-j*4*w)+exp(-j*5*w ); figure (1); subplot(2,1,1); plot(w/pi,abs(xw),'.'); title('x(n)的幅频曲线'); subplot(2,1,2); plot(w/pi,angle(xw)); line([0,2],[0,0]); title('x(n)的相频曲线’); figure (2); N1=6;K1=0: N1-1; N2=18;K2=0: N2-1; N3=36;K3=0: N3-1; xn=[1,2,3,3,2,1]; xk1=fft(xn,N1); '.'); );holdon; '.'); '.'); );holdon; '.'); subplot(3,2,1);stem(K1,abs(xk1), title('N=6点时的DFT[x(n)]=x1(k)'plot(N1/2*w/pi,abs(xw),'r'); subplot(3,2,2);stem(K1,angle(xk1),title('x1(k)的相位'); xk2=fft(xn,N2); subplot(3,2,3);stem(K2,abs(xk2), title('N=18点的DFT[x(n)]=X2(k)'plot(N2/2*w/pi,abs(xw),'.'); subplot(3,2,4);stem(K2,angle(xk2),title('X2(k)的相位');xk3=fft(xn,N3); subplot(3,2,5);stem(K3,abs(xk3),'.'); );holdon; ); title('N=36点时的DFT[x(n)]=X3(k)'plot(N3/2*w/pi,abs(xw),'r'); subplot(3,2,6);stem(K3,angle(xk3),title('X3(k)的相位');holdon; figure(3); xn1=ifft(xk1,N1);stem(K1,xn1); title('x1(k)作2DFT,得到的xl(n)与原序列x(n)一致'); 3.6用FFT对信号X2(n)、X3(n)选择合适的变换区间N进行谱分析 clearall;close all;%==============================================================n2=0: 50;n3=-10: 10; ;N2=20;N3a=32;N3b=64; X2n=2*sin(0.45*pi*n2).*sin(0.55*pi*n2);%计算序列X2(n) x3n=0.5.Aabs(n3);%计算序歹1Jx3(n) X3anp=zeros(1,N3a);%构造X3(n)的周期延拓序列,周期为 N3a form=1: 10, x3anp(m)=x3n(m+10);x3anp(N3a+1-m)=x3n(11-m);end x3bnp=zeros(1,N3b);%构造x3(n)的周期延拓序列,周期为 N3bform=1: 10, x3bnp(m)=x3n(m+10);x3bnp(N3b+1-m)=x3n(11-m); end X2k=fft(x2n,N2);%计算序列x2(n)的N2点DFT X3ak=fft(x3anp,N3a);%计算序列x3(n)的N3a点DFT X3bk=fft(x3bnp,N3b);%计算序列x3(n)的N3b点DFT %以下为绘图部分 %==============绘制x2(n)的频谱特性图=============== subplot(3,2,2);stem(wk,abs(X2k),DFT的幅频特性图 '幅度') on%绘制x2(n)的N2 '); title('⑹x2(n)的幅频特性图’);xlabel('3/n’);ylabel( subplot(3,2,4);stem(wk,angle(X2k),'.');gridon;box 点DFT的相频特性图 line([0,2],[0,0])%画横坐标轴线title('(d)x2(n) xlabel('3/n');ylabel('相位'); figure (2) %============= 绘制32点周期延拓序列和32点DFT[x3(n)]的频谱特性图 n=0: N3a-1;subplot(3,2,1);stem(n,x3anp,'.');boxon title('(e)x3(n)的32点周期延拓序列'); k=0: N3a-1;wk=2*k/N3a;%产生N3a点DFT对应的采本¥点频率(关于n归一化值) subplot(3,2,3);plot(wk,abs(X3ak));%绘制x3(n)的N3a点DFT的幅频特性图 title('(f)DFT[x3(n)]_3_2的幅频特性图');xlabel('3/n’);ylabel('幅度’) subplot(3,2,5);plot(wk,angle(X3ak));%绘制x3(n)的N3点DFT的相频特性图 line([0,2],[0,0])%画横坐标轴线 title('(g)DFT[x3(n)]_3_2的相位'); xlabel('3/n');ylabel('相位'); %=============绘制64点周期延拓序列和64点DFT[x3(n)]的频谱特性图 n=0: N3b-1;subplot(3,2,2);stem(n,x3bnp,'.');boxon title('(h)x3(n)的64点周期延拓序列'); k=0: N3b-1;wk=2*k/N3b;%产生N3a点DFT对应的采本点频率(关于n归一化值) subplot(3,2,4);plot(wk,abs(X3bk));%绘制x3(n)的N3a点DFT的幅频特性图 title('(i)DFT[x3(n)]_6_4的幅频特性图');xlabel('3/n’);ylabel('幅度’) subplot(3,2,6);plot(wk,angle(X3bk));%绘制x3(n)的N3点DFT的相频特性图 line([0,2],[0,0])%画横坐标轴线 title('(j)DFT[x3(n)]_3_2的相位');xlabel('3/n');ylabel('相 位');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FFT 信号 频谱 分析