南昌航空大学实验报告二○一六 年 五 月 二十一 日课程名称: 数字信号处理 实验名称:用FFT 做谱分析 班级:姓名: 同组人: 指导老师评定: 签名: 一、实验目的 (1)进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法,所以FFT 的运算结果必然满足DFT 的基本性质)。
(2)学习用FFT 对连续星号和时域离散信号进行谱分析误差及其原因,以便在实际中正确应用FFT二、实验内容(1)⎩⎨⎧≤≤= 050 1)(其他n n x 构造DFT 函数计算)(n x 的10点DFT ,20点的DFT 并画出图形。
(2)利用FFT 对下列信号逐个进行谱分析并画出图形nn x c nn x n R n x a 8sin )(4cos )(b )()(3241π、π、、===以上3个序列的FFT 变换区间N=8,16 (3)设一个序列中含有两种频率成分,05.2,221HZ f HZ f ==,采样频率取为)/ 2sin()/ 2sin()(,1021s s s f n f f n f n x HZ f ππ即+==要区分初这两种频率成份,必须满足400>N ,为什么?计算X(k)512),n c、取x(n)(0计算X(k)512,n 0以补零方式使其加长到b、将a中的x(n)X(k)n)的DFT 128)时,计算x(n a、取x(n)(0<≤<≤<≤(4)令)()()(3n x n x n x x +=用FFT 计算8点和16点离散傅立叶变换并画出图形,分析DFT 的线性。
令)()()(32n jx n x n x +=用FFT 计算8点和16点离散傅立叶变换并画出图形,分析DFT 的对称性。
三、实验代码及实验图:1.N1=10;N2=20;n1=0:N1-1;n2=0:N2-1;xn1=[ones(1,6),zeros(1,(N1-6))]; xn2=[ones(1,6),zeros(1,(N2-6))]; Xk10=dft(xn1,N1);Xk20=dft(xn2,N2);subplot(2,1,1)stem(n1,abs(Xk10),'.');ylabel('xn1的幅');xlabel('N=10'); subplot(2,1,2)stem(n2,abs(Xk20),'.');ylabel('xn1的幅');xlabel('N=20');2.N1=8;N2=16;n1=0:N1-1;n2=0:N2-1;x1=[1 1 1 1];Xk11=fft(x1,N1);subplot(3,2,1)stem(n1,abs(Xk11),'.'); ylabel('x1');xlabel('N=8'); Xk12=fft(x1,N2);subplot(3,2,2)stem(n2,abs(Xk12),'.'); ylabel('x1');xlabel('N=16');n=0:15;x2=cos((pi*n)/4);Xk21=fft(x2,N1);subplot(3,2,3)stem(n1,abs(Xk21),'.');ylabel('x2');xlabel('N=8'); Xk22=fft(x2,N2);subplot(3,2,4)stem(n2,abs(Xk22),'.'); ylabel('x2');xlabel('N=16');n=0:15;x3=sin((pi*n)/8);Xk31=fft(x3,N1);subplot(3,2,5)stem(n1,abs(Xk31),'.'); ylabel('x3');xlabel('N=8'); Xk32=fft(x3,N2);subplot(3,2,6)stem(n2,abs(Xk32),'.'); ylabel('x3');xlabel('N=16');3.f1=2;f2=2.05;fs=10;N1=128;n1=0:N1-1;xn1=sin(2*pi*f1*n1/fs)+sin(2*pi* f2*n1/fs);Xk1=dft(xn1,N1);subplot(3,1,1)stem(n1,abs(Xk1),'.');xlabel('N=128');N2=512;n2=0:N2-1;xn2=[xn1,zeros(1,(512-N1))];Xk2=dft(xn2,N2);subplot(3,1,2)stem(n2,abs(Xk2),'.');xlabel('在xn后补零');N3=512;n3=0:N3-1;xn3=sin(2*pi*f1*n3/fs)+sin(2*pi* f2*n3/fs);Xk3=dft(xn3,N3);subplot(3,1,3)stem(n3,abs(Xk3),'.');xlabel('N=512');4.n=0:15;x2=cos((pi*n)/4);x3=sin((pi*n)/8);xn=x2+x3;N1=8;N2=16;n1=0:N1-1;n2=0:N2-1; Xk8=fft(xn,N1);subplot(2,1,1)stem(n1,abs(Xk8),'.');ylabel('xn');xlabel('N=8'); Xk16=fft(xn,N2);subplot(2,1,2)stem(n2,abs(Xk16),'.'); ylabel('x1');xlabel('N=16');5.n=0:15;x2=cos((pi*n)/4);x3=sin((pi*n)/8);xn=x2+j*x3;N1=8;N2=16;n1=0:N1-1;n2=0:N2-1; Xk8=fft(xn,N1);subplot(2,1,1)stem(n1,abs(Xk8),'.'); xlabel('N=8');Xk16=fft(xn,N2);subplot(2,1,2)stem(n2,abs(Xk16),'.'); xlabel('N=16');四、实验总结1.通过此次实验加深DFT算法原理和基本性质的理解,掌握了离散时间信号的FFT变换的方法,明白其频谱是以抽样点数N为周期的周期延拓。