资源描述:
《实验三离散傅里叶变换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三离散傅里叶变换一实验目的1、理解和加深DFS和DFT的概念及其性质;2、学习利用离散傅里叶变换分析信号的频谱。二实验设备1、计算机2、MATLABR2007a仿真软件三实验原理离散傅里叶变换在时域和频域都离散有限的特点,使其成为信号分析与处理中的一个最根本的也是最常用的变换。然而,但序列的长度N很大时,直接计算DFT需要很大的计算量。快速傅里叶变换使DFT的运算效率提高数个数量级,为数字信号处理技术应用与各种信号的实时处理创造了良好的条件。MATLAB提供了用于快速计算DFT的fft函数,其调用格式为:y=fft
2、(x)或y=fft(x,N);fft函数用来计算序列的N点DFT,如果序列的长度小于N,则函数在序列的尾部补零至N点;而当序列的长度大于N时,函数对序列进行截短。为了提高运行速度,通常将N取为2的整数次幂。四实验内容1、上机实验前,认真阅读实验原理,掌握DFS和DFT的基本概念;2、掌握离散傅里叶变换分析信号频谱的MATLAB实现方法。实例1:求周期序列,周期分别为N=20和N=60时的。将下列指令编辑到“exlfft.m”文件中:clc;closeall;clearall;L=5;N1=20;N2=60;xn1=[o
3、nes(1,L),zeros(1,N1-L)];xn2=[ones(1,L),zeros(1,N2-L)];n1=0:N1-1;n2=0:N2-1;Xk1=fft(xn1,N1);Xk2=fft(xn2,N2);magXk1=abs(Xk1);magXk2=abs(Xk2);k1=[-N1/2:N1/2];9/9k2=[-N2/2-10:N2/2+10];magXk11=abs([Xk1(N1/2+1:N1),Xk1(1:N1/2+1)]);magXk22=abs([Xk2(N2/2-9:N2),Xk2(1:N2/2+
4、11)]);subplot(3,2,1);stem(n1,xn1,'.');title('SQWAVE:L=5,N=20');subplot(3,2,2);stem(n2,xn2,'.');title('SQWAVE:L=5,N=60');subplot(3,2,3);stem(n1,magXk1,'.');xlabel('(a)');subplot(3,2,4);stem(n2,magXk2,'.');xlabel('(b)');subplot(3,2,5);stem(k1,magXk11,'.');xlabel('
5、(c)');subplot(3,2,6);stem(k2,magXk22,'.');xlabel('(d)');文件编辑后保存,然后单击Debug→Run,运行“exlfft.m”,所示结果如下图所示。实例2:9/99/9实例3:9/9实例4:MATLAB程序如下:9/9五实验报告要求1、简述实验目的和实验原理;2、编程实现实验内容,要求附上详细的源程序和清晰的截图;3、总结实验中的主要结论。9/9作业三离散傅里叶变换题1:求周期序列,周期分别为N=16、N=32和N=64时的。题2:题3:题1:clc;closeal
6、l;clearall;l=4;N1=16;N2=32;N3=64;xn1=[ones(1,l),zeros(1,N1-l)];xn2=[ones(1,l),zeros(1,N2-l)];xn3=[ones(1,l),zeros(1,N3-l)];n1=0:N1-1;n2=0:N2-1;n3=0:N3-1;xk1=fft(xn1,N1);xk2=fft(xn2,N2);xk3=fft(xn3,N3);magxk1=abs(xk1);magxk2=abs(xk2);magxk3=abs(xk3);k1=[-N1/2:N1/
7、2];k2=[-N2/2-8:N2/2+8];k3=[-N3/2-18:N3/2+18];magxk11=abs([xk1(N1/2+1:N1),xk1(1:N1/2+1)]);magxk22=abs([xk2(N2/2-7:N2),xk2(1:N2/2+9)]);magxk33=abs([xk3(N3/2-17:N3),xk3(1:N3/2+19)]);subplot(3,3,1);stem(n1,xn1,'.');title('SQWAVE:l=4,n=16');subplot(3,3,2);stem(n2,xn2
8、,'.');title('SQWAVE:l=4,n=32');subplot(3,3,3);stem(n3,xn3,'.');title('SQWAVE:l=4,n=64');subplot(3,3,4);stem(n1,magxk1,'.');xlabel('(a)');9/9subplot(3,3,5);stem(n2,mag