《数字信号处理》Matlab 实验 一.离散信号的 FFT 分析 知识点:利用FFT 对信号频谱进行分析,用DFT 进行信号分析时基本参数的选择,以及信号经过离散时间傅立叶变换(DTFT)和有限长度离散傅立叶变换(DFT)后信号频谱上的区别
实验教学内容: 1
用Matlab 编程上机练习
已知: N=25
这里 Q=0
可以推导出 , 首先根据这个式子计算 X(k)的理论值,然后计算输入序列 x(n)的32 个值,再利用基2时间抽选的FFT 算法,计算 x(n)的DFT X(k),与 X(k)的理论值比较(要求计算结果最少 6 位有效数字)
解: format long Q=0
3i; WN=exp(-2*pi*1i/32); Xk=(1-Q^32)
/(1-Q*WN
^[0:24]); xn=Q
^[0:24]; Xkfft=fft(xn,32); for (k0=1:1:25) difference=Xk(k0)-Xkfft(k0); end; subplot(3,1,1);stem(abs(Xk(1:1:24)),'
');title('DFT x(n)');xlabel('k');axis([0,35,0,15]); subplot(3,1,2);stem(abs(Xkfft(1:1:32)),'g
');title('FFT x(n)');xlabel('k');axis([0,35,0,15]); subplot(3,1,3);stem(abs(difference(1:1:25)),'r
');title('Xk-Xkfft');xlabel('k');a