1 / 9 实验三离散傅里叶变换一 实验目的1、理解和加深DFS 和 DFT 的概念及其性质;2、学习利用离散傅里叶变换分析信号的频谱。二 实验设备1、计算机2、MA TLAB R2007a 仿真软件三 实验原理离散傅里叶变换在时域和频域都离散有限的特点,使其成为信号分析与处理中的一个最根本的也是最常用的变换。然而,但序列的长度N 很大时,直接计算DFT 需要很大的计算量。快速傅里叶变换使DFT 的运算效率提高数个数量级,为数字信号处理技术应用与各种信号的实时处理创造了良好的条件。MATLAB提供了用于快速计算DFT 的 fft 函数,其调用格式为: y=fft(x) 或 y=fft(x,N);fft函数用来计算序列)(nx的 N 点 DFT ,如果序列的长度小于 N,则函数在序列的尾部补零至N 点;而当序列的长度大于N 时,函数对序列进行截短。为了提高运行速度,通常将N 取为 2 的整数次幂。四 实验内容1、上机实验前,认真阅读实验原理,掌握DFS 和 DFT 的基本概念;2、掌握离散傅里叶变换分析信号频谱的MATLAB实现方法。实例 1:求周期序列)()(~5~nRnx,周期分别为N=20 和 N=60 时的)(~kX。将下列指令编辑到“exlfft.m ”文件中:clc; close all; clear all; L=5;N1=20;N2=60; xn1=[ones(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]; 2 / 9 k2=[-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+11)]); subplot(3,2,1); stem(n1,xn1,'.');title('SQ WAVE:L=5,N=20'); subplot(3,2,2); stem(n2,xn2,'.');title('SQ WAVE: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('(c)'); subplot(3,2,6); stem(k2,magXk22,'.');xlabel('(d)'); 文件编辑后保存,然后单击Debug→ Run ,运行“ exlfft.m ”,所示结果如下图所示。实例 2:3 / 9 4 / 9 实例 3:5 / 9 实例 4:MATLAB程序如下:6 / 9 五 实验报告要求1、简述实验目的和实验原理;2、编程实现实验内容,要求附上详细的源程序和清晰的截图;3、总结实验中的主要结论。7 / 9 作业三离散傅里叶变换题 1:求周期序列)()(~4~nRnx,...