实验四FFT的计算机实现及谱分析.doc

实验四FFT的计算机实现及谱分析.doc

ID:51703581

大小:237.00 KB

页数:10页

时间:2020-03-15

实验四FFT的计算机实现及谱分析.doc_第1页
实验四FFT的计算机实现及谱分析.doc_第2页
实验四FFT的计算机实现及谱分析.doc_第3页
实验四FFT的计算机实现及谱分析.doc_第4页
实验四FFT的计算机实现及谱分析.doc_第5页
资源描述:

《实验四FFT的计算机实现及谱分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验四FFT的计算机实现及谱分析一、实验目的与要求(1)了解DFT的性质及应用。(2)熟悉MATLAB编程的特点。(3)掌握有限离散傅里叶变换的计算机实现方法。(4)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FPT的运算结果必然满足DFT的基本性质)。(5)熟悉FFT算法原理和FFT子程序的应用。(6)学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。二、实验原理与方法1.FFT的计算原理设,有限离散信号,则它的有限离散频谱为令则上式为把信号按下标偶数项和奇数项分成两部分,即

2、令它们的有限离散频谱分别为经分析,我们可得如下的时域分解FFT算法若我们把按偶奇序号分成两部分,则可得如下的频域分解FFT算法2、MATLAB提供的快速傅立叶变换函数(1)fftfft函数用于计算快速傅立叶变换,其语法格式为:B=fft(I)B=fft(I)返回信号I的fft变换矩阵,输入信号I和输出信号B大小相同。 (2)fftshiftMATLAB提供的fftshift函数用于将变换后的信号频谱中心从矩阵的原点移到矩阵的中心,其语法格式为:  B=fftshift(I)对于矩阵I,B=fftshift(I)将I的一、三象限和二、四象限进行互换。(3)ifftifft函数用于

3、计算信号的傅立叶反变换,其语法格式为:B=ifft(I)B=ifft(A)返回信号I的傅立叶反变换矩阵,输入信号I和输出信号B大小相同。其语法格式含义与fft函数的语法格式相同,可以参考fft函数的说明。时域分解FFT算法的几点说明:1、对一般的,如何求信号的一项频谱排列?我们可通过二进制的逆序得到:假设的二进制为,则2、碟形运算两节点的距离:第一级(第一列)两节点间的距离为1;第二级(第二列)两节点间的距离为2;............................................................第m级(第m列)两节点间的距离为;3、的确定因

4、子最后一列有种,顺序为为;因子倒数第二列有种,为;因子倒数第三列有种,为;………………………………………………………………因子第一列有一种,为=1频域分解FFT算法的几点说明:1、对一般的,最后得到的逆序频谱如何排列才能得到原信号的频谱?我们可通过二进制的逆序得到:假设的二进制为,则2、碟形运算两节点的距离:第一级(第一列,m=1)两节点间的距离为;............................................................第m级(第m列)两节点间的距离为;3、的确定因子第一列有种,顺序为为;因子第二列有种,为;因子第三列有种,为;…

5、……………………………………………………………因子最后一列有一种,为=1三实验内容及步骤1、用三种不同的DFT程序计算的傅里叶变换,并比较三种程序计算机运行时间。(1)用for语句的M函数文件dft1.m,用循环变量逐点计算X(k);(2)编写时域分解FFT算法或频域分解FFT算法的M函数文件dft2.m;(3)调用FFT库函数,直接计算X(k);(4)分别利用上述三种不同方式编写的DFT程序计算序列x(n)的傅立叶变换,并画出相应的幅频和相频特性,再比较各个程序的计算机运行时间。(5)复习DFT的定义、性质和用DFT作谱分析的有关内容。(6)复习FFT算法原理与编程思想,并对

6、照DIT—FFT运算流图和程序框图,读懂本实验提供的FFT子程序。(7)编制信号产生子程序,产生以下典型信号供谱分析用:(8)编写主程序。(9)按实验内容要求,上机实验,并写出实验报告。M函数文件如下:dft1.m:function[Am,pha]=dft1(x)N=length(x);w=exp(-j*2*pi/N);fork=1:Nsum=0;forn=1:Nsum=sum+x(n)*w^((k-1)*(n-1));endAm(k)=abs(sum);pha(k)=angle(sum);enddft3.m:function[Am,pha]=dft3(x)Xk=fft(x);

7、Am=abs(Xk);pha=angle(Xk);源程序及运行结果:(1)N=256;x=[ones(1,8),zeros(1,N-8)];t=cputime;[Am1,pha1]=dft1(x);t1=cputime-tn=[0:(length(x)-1)];w=(2*pi/length(x))*n;figure(1)subplot(2,1,1),plot(w,Am1,'b');grid;title('Magnitudepart');xlabel('frequencyinradians')

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。