1、实验4DFS与DFT与FFT实验4:DFS与DFT与FFT实验4:DFS、DFT与FFT1、实验内容:(60分) (1)xn=0,1,2,3,2,1,0,程序如下:xn=0,1,2,3,2,1,0;N=length(xn);xn=xn,xn;n=0:2*N-1;k=0:2*N-1;Xk=xn*exp(-j*2*pi/N).(n*k);x=(Xk*exp(j*2*pi/N).(n*k)/N;subplot(2,2,1);stem(n,xn);title(x(n);axis(-1,2*N,1.1*min(xn),1.1*max(xn);subplot(2,2,2);stem(n,abs(x);ti
2、tle(IDFS|X(k)|);axis(-1,2*N,1.1*min(x),1.1*max(x);subplot(2,2,3),stem(k,abs(Xk);title(|X(k)|);axis(-1,2*N,1.1*min(abs(Xk),1.1*max(abs(Xk);subplot(2,2,4),stem(k,angle(Xk);title(arg|X(k)|);axis(-1,2*N,1.1*min(angle(Xk),1.1*max(angle(Xk);(2)xn=1,0.5,0,0.5,1,1,0.5,0,求该序列的DFT、IDFT,程序如下:xn=1,0.5,0,0.5,1,1
3、,0.5,0;N=length(xn);n=0:N-1;k=0:N-1;Xk=xn*exp(-j*2*pi/N).(n*k);x=(Xk*exp(j*2*pi/N).(n*k)/N;subplot(2,2,1);stem(n,xn);title(x(n);axis(-1,N,1.1*min(xn),1.1*max(xn);subplot(2,2,2);stem(n,abs(x);title(IDFT|X(k)|);axis(-1,N,1.1*min(x),1.1*max(x);subplot(2,2,3),stem(k,abs(Xk);title(|X(k)|);axis(-1,N,1.1*m
4、in(abs(Xk),1.1*max(abs(Xk);subplot(2,2,4),stem(k,angle(Xk);title(arg|X(k)|);axis(-1,N,1.1*min(angle(Xk),1.1*max(angle(Xk);用FFT算法求该序列的DFT、IDFT,程序如下:xn=1,0.5,0,0.5,1,1,0.5,0;N=length(xn);n=0:N-1;subplot(2,2,1);stem(n,xn);title(x(n);k=0:N-1;Xk=fft(xn,N);subplot(2,1,2);stem(k,abs(Xk);title(Xk=DFT(xn);xn
5、1=ifft(Xk,N);subplot(2,2,2);stem(n,xn1);title(x(n)=IDFT(Xk);Fs=20; xn=1,0.5,0,0.5,1,1,0.5,0; N=length(xn); D=2*pi*Fs/N; k=floor(-(N-1)/2:(N-1)/2); X=fftshift(fft(xn,N); subplot(1,2,1);plot(k*D,abs(X),o:); title(幅度频谱);xlabel(rad/s); subplot(1,2,2);plot(k*D,angle(X),o:); title(相位频谱);xlabel(rad/s);Fs=1
6、0;N=32; xn=1,0.5,0,0.5,1,1,0.5,0; Nx=length(xn); xn=1,0.5,0,0.5,1,1,0.5,0,zeros(1,N-Nx-1); D=2*pi*Fs/N; k=floor(-(N-1)/2:(N-1)/2); X=fftshift(fft(xn,N); subplot(1,2,1);plot(k*D,abs(X),o:); title(幅度频谱);xlabel(rad/s); subplot(1,2,2);plot(k*D,angle(X),o:); title(相位频谱);xlabel(rad/s);Fs=10;N=64; xn=1,0.5
7、,0,0.5,1,1,0.5,0; Nx=length(xn); xn=1,0.5,0,0.5,1,1,0.5,0,zeros(1,N-Nx-1); D=2*pi*Fs/N; k=floor(-(N-1)/2:(N-1)/2); X=fftshift(fft(xn,N); subplot(1,2,1);plot(k*D,abs(X),o:); title(幅度频谱);xlabel(rad/s); subplot(1,2,2);plot(k*D,angle(X),o:); title(相位频谱);xlabel(rad/s);Ts=20;C=8,32,64;for r=0:2; N=C(r+1);
8、 n=0:N-1; xn=0.5.n; D=2*pi/(N*Ts); k=floor(-(N-1)/2:(N-1)/2); X=fftshift(fft(xn,N); subplot(3,2,2*r+1);plot(k*D,abs(X); subplot(3,2,2*r+2);stairs(k*D,angle(X);end;二、思考题:1、离散傅里叶级数与连续性周期信号的傅里叶级数有何不同,周期序列的频谱有何特点?DFS、DFT、FFT有何联系?答:连续周期信号的傅里叶级数由无穷个与基波频率成整数倍的谐波分量叠加而成,而周期为N的周期序列的傅里叶级数仅有N个独立的谐波分量;周期序列的频谱X(k
9、 )也是一个以N为周期的周期序列。与是一个本质,是的一种算法,是对离散周期信号进行级数展开,DFT是将DFS取主值,DFS是DFT的周期延拓。 2、DFS、DFT、FFT有何联系?答:DFS和DFT的联系:将周期序列的傅里叶级数变换对和有限长序列的离散傅里叶级数变换对进行比较可见,有限长序列可以看成周期序列的一个周期;反之,周期序列可以看成有限长序列以N为周期的周期延拓。DFT和FFT的联系:快速傅里叶变换FFT是用于DFT运算的高效快速算法的统称,FFT只是其中一种,大大缩短了DFT的时间。实验报告思考题:列出本实验提出有关MATLAB函数在调用时应注意哪些问题?1、用fft函数求离散傅里叶
10、变换DFT和用ifft函数求离散傅里叶逆变换IDFT时:适用于长度为2的指数幂的序列2、用ones函数和zeros函数形成的是一行n列的矩阵三、实验总结:(10分) 通过DFS、DFT与FFT实验使我对周期序列DFS、有限长序列DFT和FFT理解更加深入;更进一步了解周期序列的重复周期数对序列频谱的影响。(1)遇到问题及解决方法 遇到问题:我在做第4题时,程序写的正确,但在调用运行时出现错误提示:xn=0.5n有错误 解决方法:在0.5与之间n加个点即把0.5n改写为0.5.n,再运行程序 MATLAB中调用运行(2)学到的新的函数及其用法,注意事项等,学到的新的函数:用fft函数求离散傅里叶变换DFT:用ifft函数求离散傅里叶逆变换IDFT:用ones函数和zeros函数形成行列式注意事项:用fft函数求离散傅里叶变换DFT和用ifft函数求离散傅里叶逆变换IDFT时:适用于长度为2的指数幂的序列:用ones函数和zeros函数形成的是一行n列的矩阵
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1