电子科技大学-DSP-实验二-FFT的实现.docx

上传人:李司机 文档编号:7091739 上传时间:2024-06-09 格式:DOCX 页数:7 大小:42.89KB
返回 下载 相关 举报
电子科技大学-DSP-实验二-FFT的实现.docx_第1页
第1页 / 共7页
电子科技大学-DSP-实验二-FFT的实现.docx_第2页
第2页 / 共7页
电子科技大学-DSP-实验二-FFT的实现.docx_第3页
第3页 / 共7页
电子科技大学-DSP-实验二-FFT的实现.docx_第4页
第4页 / 共7页
电子科技大学-DSP-实验二-FFT的实现.docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《电子科技大学-DSP-实验二-FFT的实现.docx》由会员分享,可在线阅读,更多相关《电子科技大学-DSP-实验二-FFT的实现.docx(7页珍藏版)》请在三一办公上搜索。

1、孑科技大学实验才一、实验室名称:数字信号处理实验室二、实验工程名称:FFT的实现三、实验原理:.FFT算法思想:1 .DFT的定义:对于有限长离散数字信号xn,0nNT,其离散谱xk可以由离散付氏变换(DFT)求得。DFT的定义为:v-_匹成X伙=Z4e,k=o,1,-N-I=0通常令J月=%,称为旋转因子。2 .直接计算DFT的问题及FFT的根本思想:由DFT的定义可以看出,在xn为复数序列的情况下,完全直接运算N点DFT需要(N-I)2次复数乘法和N(N-I)次加法。因此,对于一些相当大的N值(如1024)来说,直接计算它的DFT所作的计算量是很大的。FFT的根本思想在于,将原有的N点序列

2、分成两个较短的序列,这些序列的DFT可以很简单的组合起来得到原序列的DFT。例如,假设N为偶数,将原有的N点序列分成两个(N/2)点序列,那么计算N点DFT将只需要约(N2)2-2=M2次复数乘法。即比直接计算少作一半乘法。因子(N/2)2表示直接计算(N/2)点DFT所需要的乘法次数,而乘数2代表必须完成两个DFT。上述处理方法可以反复使用,即(N/2)点的DFT计算也可以化成两个(N/4)点的DFT(假定N/2为偶数),从而又少作一半的乘法。这样一级一级的划分下去一直到最后就划分成两点的FFT运算的情况。3 .基2按时间抽取(Dm的FFT算法思想:设序列长度为N=21.为整数(如果序列长度

3、不满足此条件,通过在后面补零让其满足)。将长度为N=2的序列伍=先按n的奇偶分成两组:42r=Xjr,r=0,l,-,N2-lx2r+l=x2rDFT化为:上式中利用了旋转因子的可约性,即:Wrk=Wf2。又令N/2-12-lXW=xirW2tX2k=X/团闱2,那么上式可以写成:r=0r=0Xk=Xyk+W,X2k(k=0,1,N2-1)可以看出,X伙,X2伙分别为从X灯中取出的N/2点偶数点和奇数点序列的N/2点DFT值,所以,一个N点序列的DFT可以用两个N/2点序列的DFT组合而成。但是,从上式可以看出,这样的组合仅表示出了X网前N/2点的DFT值,还需要继续利用XiX2k表示X眉的后

4、半段本算法推导才完整。利用旋转因子的周期性,有:W/2=,那么后半段的DFT值表达式:NN/2-Ir(Nk)N12-1NX%+即=W1%4=1r=X1Z:,同样,X2-+kX2k2r=0r=02(k=0,1,N/2-1),所以后半段(k=N2,N-D的DFT值可以用前半段k值表达式获得,中间还利用到w:A=W4wJ-8,得到后半段的X伙值表达式为:Xk=Xxk-WX2k(k=0,l,N2-l)o这样,通过计算两个N/2点序列卬叫马川的N/2点DFTXJ灯,X2k,可以组合得到N点序列的DFT值X灯,其组合过程如下列图所示:X2Wwk-1Xik-WX2k比方,一个N=8点的FFT运算按照这种方法

5、来计算FFT可以用下面的流程图来表示:4 .基2按频率抽取(DlF)的FFT算法思想:设序列长度为N=21.为整数(如果序列长度不满足此条件,通过在后面补零让其满足)。在把Xk按k的奇偶分组之前,把输入按n的顺序分成前后两半:NN_k因为WM=-1,那么有卬工=(T),所以:按k的奇偶来讨论,k为偶数时:N12-1Nk为奇数时:X2r+1=Z3川一和+力叱尸叫左=(U,.,NTM=o2前面已经推导过W;=Wf%,所以上面的两个等式可以写为:通过上面的推导,Xk的偶数点值X2r和奇数点值X2r+1分别可以由组合而成的N/2点的序列来求得,其中偶数点值X2为输入xn的前半段和后半段之和序列的N/2

6、点DFT值,奇数点值X2r+1为输入xn的前半段和后半段之差再与M相乘序列的N/2点DFT值。令XJm=X+#+y,x2n=xn-xn-W,那么有:乙乙这样,也可以用两个N/2点DFT来组合霹一个N卓DFT,组合过程如下列图所示:NN4+-1也3川一加+万吗二.在FFT计算中使用到的MAT1.AB命令:函数fft(x)可以计算R点序列的R点DFT值;而fft(x,N)那么计算R点序列的N点DFT,假设RN,那么直接截取R点DFT的前N点,假设RN,那么X先进行补零扩展为N点序列再求N点DFT。函数ifft(X)可以计算R点的谱序列的R点IDFT值;而ifft(X,N)同fft(x,N)的情况。

7、四、实验目的:离散傅氏变换(DFT)的目的是把信号由时域变换到频域,从而可以在频域分析处理信息,得到的结果再由逆DFT变换到时域。FFT是DFT的一种快速算法。在数字信号处理系统中,FFT作为一个非常重要的工具经常使用,甚至成为DSP运算能力的一个考核因素。本实验通过直接计算DFT,利用FFT算法思想计算DFT,以及使用MAT1.AB函数中的FFT命令计算离散时间信号的频谱,以加深对离散信号的DFT变换及FFT算法的理解。五、实验内容:a)计算实数序歹Ux()=COS葛几0m256的256点DFTob)计算周期为IkHz的方波序列(占空比为50%,幅度取为+/-512,采样频率为25kHz,取

8、256点长度)256点DFT。六、实验器材(设备、元器件):安装MAT1.AB软件的PC机一台,DSP实验演示系统一套。七、实验步骤:(1)先利用DFT定义式,编程直接计算2个要求序列的DFT值。(2)利用MAT1.AB中提供的FFT函数,计算2个要求序列的DFT值。(3)(拓展要求)不改变序列的点数,仅改变DFT计算点数(如变为计算1024点DFT值),观察画出来的频谱与前面频谱的差异,并解释这种差异。通过这一步骤的分析,理解频谱分辨力的概念,解释如何提高频谱分辨力。(4)利用FFT的根本思想基2DIT或基2DIF),自己编写FFT计算函数,并用该函数计算要求序列的DFT值。并对前面3个结果

9、进行比照。(5)(拓展要求)尝试对其他快速傅立叶变换算法(如GOCrtZeI算法)进行MAT1.AB编程实现,并用它来计算要求的序列的DFT值。并与前面的结果进行比照。(6)(拓展要求)在提供的DSP实验板上演示要求的2种序列的FFT算法(基2-DIT),用示波器观察实际计算出来的频谱结果,并与理论结果比照。八、实验数据及结果分析:程序:(1) 对要求的2种序列直接进行DFT计算的程序functionlXk=DFT(xn,n)Xk=zeros(l,n);if(length(xn)n)xn_tmp=xn,zeros(1,n-length(xn);elsexn_tmp=xn;endfori=0:n

10、-lforj=0m-lXk(i+l)=Xk(i+l)+xn_tmp(j+1)*exp(-1i*2*pi*j*in);endend(2) 对要求的2种序列进行基2-DIT和基2-DIFFFT算法程序functionXk=DIT(xn,n)if(length(xn)n)xn_tmp=xn,zeros(1,n-length(xn);elsexn_tmp=xn;endx1=xn_tmp(1,2:2:n);x2=xn_tmp(1,1:2:n-1);WNK=exp(-1i*2*pi*(0:n/2-1)n);Xlk=DFT(xl,n2);X2k=DFT(x2,n2);Xk_l=Xlk+X2k.*WNK;Xk

11、_2=Xlk-X2k.*WNK;Xk=Xk_l,Xk_2J;functionlXk=D!F(xn,n)if(length(xn)FFTDFT的比拟(4)(拓展要求)分析利用上面的方法画出的信号频谱与理论计算出来的频谱之间的差异,并解释这种差异。答:在用2-DIT计算频谱的时候在k=88和168时出现了理论上不该有的谱线在2-DIF时k值期待的谱线那么整体向右移动了一个单位值暂时不能解释这种差异,在更改N值之后这种差异仍存在,而改变原函数的频率是2-DIT的不期待谱线的值也会因此改变(5)(拓展要求)保持序列点数不变,改变DFT计算点数(变为1024点),观察频谱的变化,并分析这种变化,由此讨论如何提高频谱分辨力的问题。答:当序列点数不变,只改变DFT计算点数时,点数越多,精度也就越大,实际上是通过对原始序列加()值,使其长度满足计算所需,并没有改变频率分布,也提高了分辨率。九、实验结论:答:FFT的算法是的原本计算量较大的DFT变得迅速,满足了速度的要求,与此同时,计算结果保持不变。DFT点数的增加,能够提高频谱分辨率而不影响频率分布,十、总结及心得体会:答:对DIF、DIT、FFT、DFT的实现原理有了更深入的了解,体会到了FFT算法的应用前景十一、对本实验过程及方法、手段的改良建议:无报告评分:指导教师签字:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号