实验二用FFT对信号作频谱分析

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验二用FFT对信号作频谱分析一、实验目的学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。二、实验步骤及内容1.对以下序列进行谱分析:x1(n)=R4(n)x2(n)=n0748301n其它 nnnx3(n)=n07n4330n-4其它nn选择FFT的变换区间N为8和16两种情况进行频谱分析。分别打印其幅频特性曲线,并进行对比、分析和讨论。(1)程序:closeall;clearallx1=[1,1,1,1];%产生矩形信号R4(n)x8k=fft(x1,8);%求系统8位FFT变换x16k=fft(x1,16);%求系统8位FFT变换y1=abs(x8k);%8点幅频特性y2=abs(x16k);%16点幅频特性y21=angle(x8k);%8点相频特性y22=angle(x16k);%16点相频特性subplot(2,2,1);stem(y1,'.');title('8点幅频特性');subplot(2,2,2);stem(y21,'.');title('8点相频特性');subplot(2,2,3);stem(y2,'.');title('16点幅频特性');subplot(2,2,4);stem(y22,'.');title('16点相频特性');gridon;(2)程序:closeall;clearalln1=0:3;x1=n1+1;n2=4:7;x2=8-n2;x=[x1,x2];x8k=fft(x,8);%求系统8位FFT变换x16k=fft(x,16);%求系统8位FFT变换y1=abs(x8k);%8点幅频特性y2=abs(x16k);%16点幅频特性y21=angle(x8k);%8点相频特性y22=angle(x16k);%16点相频特性subplot(2,2,1);stem(y1,'.');title('8点幅频特性');subplot(2,2,2);stem(y21,'.');title('8点相频特性');subplot(2,2,3);stem(y2,'.');title('16点幅频特性');subplot(2,2,4);stem(y22,'.');title('16点相频特性');gridon;%产生矩形信号R4(n)x8k=fft(x1,8);%求系统8位FFT变换x16k=fft(x1,16);%求系统8位FFT变换y1=abs(x8k);%8点幅频特性y2=abs(x16k);%16点幅频特性y21=angle(x8k);%8点相频特性y22=angle(x16k);%16点相频特性subplot(2,2,1);stem(y1,'.');title('8点幅频特性');subplot(2,2,2);stem(y21,'.');title('8点相频特性');subplot(2,2,3);stem(y2,'.');title('16点幅频特性');subplot(2,2,4);stem(y22,'.');title('16点相频特性');gridon;(3)程序:closeall;clearalln1=0:3;x1=4-n1;n2=4:7;x2=n2-3;x=[x1,x2];x8k=fft(x,8);%求系统8位FFT变换x16k=fft(x,16);%求系统8位FFT变换y1=abs(x8k);%8点幅频特性y2=abs(x16k);%16点幅频特性y21=angle(x8k);%8点相频特性y22=angle(x16k);%16点相频特性subplot(2,2,1);stem(y1,'.');title('8点幅频特性');subplot(2,2,2);stem(y21,'.');title('8点相频特性');subplot(2,2,3);stem(y2,'.');title('16点幅频特性');subplot(2,2,4);stem(y22,'.');title('16点相频特性');gridon;%产生矩形信号R4(n)x8k=fft(x1,8);%求系统8位FFT变换x16k=fft(x1,16);%求系统8位FFT变换y1=abs(x8k);%8点幅频特性y2=abs(x16k);%16点幅频特性y21=angle(x8k);%8点相频特性y22=angle(x16k);%16点相频特性subplot(2,2,1);stem(y1,'.');title('8点幅频特性');subplot(2,2,2);stem(y21,'.');title('8点相频特性');subplot(2,2,3);stem(y2,'.');title('16点幅频特性');subplot(2,2,4);stem(y22,'.');title('16点相频特性');gridon;讨论:第一行说明x1(n)=R(n)的8点DFT和16点DFT分别是x1(n)的频谱函数的8点和16点采样;x3n)=x2((n+3))8R8(n),,则8点DFT相同,当N=16时,x2(n)和x3(n)不满足循环移位,则16点DFT不同。2.对以下周期序列进行谱分析:x4(n)=cos4n,x5(n)=cos4n+cos8n选择FFT的变换区间N为8和16两种情况分别对以上序列进行频谱分析。分别打印其幅频特性曲线,并进行对比、分析和讨论。(1)程序:closeall;clearallN=16;n=0:N-1;n1=0:N/2-1;x=cos(pi/4*n);x8k=fft(x,8);%求系统8位FFT变换x16k=fft(x,16);%求系统8位FFT变换y1=abs(x8k);%8点幅频特性y2=abs(x16k);%16点幅频特性y21=angle(x8k);%8点相频特性y22=angle(x16k);%16点相频特性subplot(2,2,1);stem(n1,y1,'.');title('8点幅频特性');subplot(2,2,2);stem(n1,y21,'.');title('8点相频特性');subplot(2,2,3);stem(n,y2,'.');title('16点幅频特性');subplot(2,2,4);stem(n,y22,'.');title('16点相频特性');gridon;(2)程序:closeall;clearallN=16;n=0:N-1;n1=0:N/2-1;x=[cos(pi/4*n)+cos(pi/8*n)];x8k=fft(x,8);%求系统8位FFT变换x16k=fft(x,16);%求系统8位FFT变换y1=abs(x8k);%8点幅频特性y2=abs(x16k);%16点幅频特性y21=angle(x8k);%8点相频特性y22=angle(x16k);%16点相频特性subplot(2,2,1);stem(n1,y1,'.');title('8点幅频特性');subplot(2,2,2);stem(n1,y21,'.');title('8点相频特性');subplot(2,2,3);stem(n,y2,'.');title('16点幅频特性');subplot(2,2,4);stem(n,y22,'.');title('16点相频特性');gridon;讨论:x4(n)的周期是8,当N=8和16时,可以得到单一频率的正弦波的频谱,仅在0.25π处有一根单一谱线,x5(n)的周期是16,N=8不是周期的整数倍,频谱不正确,N=16是一个周期,可以得到,仅在0.25π和0.125π处有两根单一谱线。3.对模拟周期信号进行谱分析:x8(n)=cos8πt+cos16πt+cos20πt选择采样频率Fs=64Hz,对变换区间N=16,32,64三种情况进行谱分析。分别打印其幅频特性,并进行分析和讨论。程序代码:clearall;closeallFs=64;T=1/Fs;N=16;n=0:N-1;x8n=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x8n16点采样X8k16=fft(x8n,16);%计算x8n的16点DFTsubplot(3,2,1);stem(n,abs(X8k16),'.');title('16点幅频特性曲线');xlabel('f(Hz)');ylabel('幅度');subplot(3,2,2);stem(n,angle(X8k16),'.');title('16点相频特性曲线');xlabel('f(Hz)');ylabel('相位');N=32;n=0:N-1;x8n=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x8n32点采样X8k32=fft(x8n,32);%计算x8n的32点DFTsubplot(3,2,3);stem(n,abs(X8k32),'.');title('32点幅频特性曲线');xlabel('f(Hz)');ylabel('幅度');subplot(3,2,4);stem(n,angle(X8k32),'.');title('32点相频特性曲线');xlabel('f(Hz)');ylabel('相位');N=64;n=0:N-1;x8n=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);%对x8n64点采样X8k64=fft(x8n,64);%计算x8n的64点DFTsubplot(3,2,5);stem(n,abs(X8k64),'.');title('64点幅频特性曲线');xlabel('f(Hz)');ylabel('幅度');subplot(3,2,6);stem(n,angle(X8k64),'.');title('64点相频特性曲线');xlabel('f(Hz)');ylabel('相位');讨论:x8n有三个频率,f1=4Hz,f2=8Hz,f3=10Hz,所以周期为T=0.5s。采样频率Fs=64Hz,Ts=1/64s,当N=16时,Tp=16×1/64=0.25s,不是周期的整数倍,则得到的频谱不正确;当N=32时,Tp=32×1/64=0.5s,是周期的整数倍,得到频谱正确;当N=64时,Tp=64×1/64=1s,是周期的整数倍,得到频谱正确。三、思考题:(1)、x(n)为周期序列,周期未知,可先截取M点进行DFT,即xM(n)=x(n)RM(n),XM(K)=DFT[xM(n)](0≤k≤M-1),再将截取长度扩大一倍,截取x2M(n)=x(n)R2M(n),X2M(k)=DFT[x2M(n)](0≤k≤2M-1),比较XM(k)和X2M(k),如果二者的主谱差别满足分析误差要求,则以XM(k)或X2M(k)近似表示x(n)的频谱,否则继续将截取长度加倍,直至前后两次分析所得主谱频率差别满足误差要求。设最后截取长度为iM,则X2M(k0)表示ω=[2π/(iM)]k0点的谱线长度。(2)、对于非周期信号,有频谱分辨率F,而频谱分辨率直接与FFT的变换区间有关,因为FFT能够实现的频率分辨率是2fc/N,因此N2fc/F,可以根据此式选择FFT的变换区间。对于周期信号,周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功