当前位置:文档之家› FFT频谱分析实验报告

FFT频谱分析实验报告

实验二:用FFT作谱分析
一、实验目的
(1) 进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。

(2) 熟悉FFT算法原理和FFT子程序的应用。

(3) 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。

二、实验原理
三、实验内容
(1) 对2 中所给出的信号逐个进行谱分析。

解:(1)
n=0:3;
xn1=[1 1 1 1];
XK18=fft(xn1,8);
XK116=fft(xn1,16);
n1=0:7;
n2=0:15;
subplot(131);
stem(n,xn1);
xlabel('n');
ylabel('xn1');
subplot(132);
stem(n1,abs(XK18));
xlabel('n1');
ylabel('XK18');
title('xn的8点');
subplot(133);
stem(n2,abs(XK116));
xlabel('n2');
ylabel('XK116');
title('xn的16点');
(2)
n1=0:7;
n2=0:15;
xn2=[1 2 3 4 4 3 2 1]; XK28=fft(xn2,8);
XK216=fft(xn2,16); subplot(131);
stem(n1,xn2);
xlabel('n1');
ylabel('xn2'); subplot(132);
stem(n1,abs(XK28)); xlabel('n1');
ylabel('XK28');
title('xn2的8点'); subplot(133);
stem(n2,abs(XK216)); xlabel('n2');
ylabel('XK216');
title('xn2的16点');
(3)
n1=0:7;
n2=0:15;
xn3=[4 3 2 1 1 2 3 4]; XK38=fft(xn3,8);
XK316=fft(xn3,16); subplot(131);
stem(n1,xn3);
xlabel('n1');
ylabel('xn3'); subplot(132);
stem(n1,abs(XK38)); xlabel('n1');
ylabel('XK38');
title('xn3的8点'); subplot(133);
stem(n2,abs(XK316)); xlabel('n2');
ylabel('XK316');
title('xn3的16点');
(4)
n1=0:7;
n2=0:15;
xn41=cos((pi/4)*n1); xn42=cos((pi/4)*n2); XK48=fft(xn41,8); XK416=fft(xn42,16); subplot(141);
stem(n1,xn41); xlabel('n1');
ylabel('xn41'); subplot(142);
stem(n2,xn42); xlabel('n2');
ylabel('xn42'); subplot(143);
stem(n1,abs(XK48)); xlabel('n1');
ylabel('XK48');
title('xn4的8点'); subplot(144);
stem(n2,abs(XK416)); xlabel('n2');
ylabel('XK416');
title('xn4的16点');
(5)
n1=0:7;
n2=0:15;
xn51=sin((pi/8)*n1); xn52=sin((pi/8)*n2); XK58=fft(xn51,8); XK516=fft(xn52,16); subplot(141);
stem(n1,xn51); xlabel('n1');
ylabel('xn51'); subplot(142);
stem(n2,xn52); xlabel('n2');
ylabel('xn52'); subplot(143);
stem(n1,abs(XK58));
ylabel('XK58');
title('xn5的8点');
subplot(144);
stem(n2,abs(XK516));
xlabel('n2');
ylabel('XK516');
title('xn5的16点');
(6)
n1=0:7;
n2=0:15;
xn61=cos(8*pi*n1)+cos(16*pi*n1)+cos(20*pi*n1); xn62=cos(8*pi*n2)+cos(16*pi*n2)+cos(20*pi*n2); XK68=fft(xn61,8);
XK616=fft(xn62,16);
subplot(141);
stem(n1,xn61);
xlabel('n1');
ylabel('xn61');
subplot(142);
stem(n2,xn62);
xlabel('n2');
ylabel('xn62');
subplot(143);
xlabel('n1');
ylabel('XK68');
title('xn6的8点');
stem(n1,abs(XK68));
subplot(144);
stem(n2,abs(XK616));
ylabel('XK616');
title('xn6的16点');
(2) 令x(n)=x4(n)+x5(n),用FFT计算8 点和16 点离散傅里叶变换,
X(k)=DFT[x(n)]
解:
n1=0:7;
n2=0:15;
xn41=cos((pi/4)*n1);
xn51=sin((pi/8)*n1);
xn42=cos((pi/4)*n2);
xn52=sin((pi/8)*n2);
xn1=xn41+xn51;
xk8=fft(xn1,8);
subplot(121);
stem(n1,xk8);
xlabel('n1');
ylabel('xk8');
title('xn1的8点');
xn2=xn42+xn52;
xk16=fft(xn2,16);
subplot(122);
stem(n2,xk16);
xlabel('n2');
ylabel('xk16');
title('xn1的16点');
(3) 令x(n)=x4(n)+jx5(n),重复(2) 解:n1=0:7;
n2=0:15;
xn41=cos((pi/4)*n1);
xn51=sin((pi/8)*n1);
xn42=cos((pi/4)*n2);
xn52=sin((pi/8)*n2);
xn1=xn41+j*xn51;
xk8=fft(xn1,8);
subplot(121);
stem(n1,xk8);
xlabel('n1');
ylabel('xk8');
title('xn1的8点');
xn2=xn42+j*xn52;
xk16=fft(xn2,16);
subplot(122);
stem(n2,xk16);
xlabel('n2');
ylabel('xk16');
title('xn1的16点');
四、思考题
(1) 在N=8时, x2(n)和x3(n)的幅频特性会相同吗? 为什么? N=16呢?
解: 当n=8时,幅频特性相同。

因为它们函数表达的相同。

当N=16时,模值不相同。

(2) 如果周期信号的周期预先不知道, 如何用FFT 进行谱分析?
解:设一个定长的值m 与2m 分析后误差大 则取4n ,4m 的谱分析与2m 比较,直到m n 2与m n 12 谱分析相差不多时便认为m n 2次谱分析近似原来的谱分析。

相关主题