8点DIF-FFT算法的基于MATLAB的实现推荐.docxVIP

8点DIF-FFT算法的基于MATLAB的实现推荐.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8点DIF-FFT算法的基于MATLAB的实现推荐

摘要快速傅里叶FFT是将一个大点数N的DFT分解为若干小点的DFT的组合。工作量会明显降低,从而大大提高离散傅里叶变换DFT的运算速度。因而各个学科技术领域广泛的使用了FFT技术,她大大推动了信号处理技术的进步,现已成为数字信号处理强有力的工具,而DIF是FFT算法中按频率抽取的方法。本课设比较全面的叙述快速傅里叶变换中DIF的算法、原理、特点,并完成了基于MATLAB的实现。关键词:快速傅里叶变换FFT、MATLAB、DIF1 FFT算法简介及原理特点1.1 FFT算法简介快速傅立叶变换(FFT)并不是一种新的变换,而是离散傅立叶变换(DFT)的一种快速算法。DFT的计算在数字信号处理中非常有用。例如在FIR滤波器设计中会遇到从h(n)求H(k)或由H(k)计算h(n),这就要计算DFT;信号的谱分析对通信、图像传输、雷达等都是很重要的,也要计算DFT。因直接计算DFT的计算量与变换区间长度N的平方成正比,当N较大时,计算量太大。自从1965年图基(J. W. Tukey)和库利(T. W. Coody)在《计算数学》(Math. Computation , Vol. 19, 1965)杂志上发表了著名的《机器计算傅立叶级数的一种算法》论文后,桑德(G. Sand)-图基等快速算法相继出现,又经人们进行改进,很快形成一套高效运算方法,这就是快速傅立叶变换简称FFT(Fast Fourier Transform)。这种算法使DFT的运算效率提高1~2个数量级。1.2 基2 FFT算法原理特点1.2.1直接计算DFT的问题设x(n)为N点有限长序列,其DFT正变换为= , k=0,1,…,N-1其反变换(IDFT) x(n)= ,n=0,1,…,N-1二者的差别只在于的指数符号不同,以及差一个常数乘因子1/N,因而下面我们只讨论DFT正变换的运算量,反变换的运算量是完全相同的。考虑x(n)为复数序列的一般情况,每计算一个X(k),需要N次复数乘法以及(N-1)次复数加法。因此,对所有N个k值,共需N2次复数乘法及N(N-1)次复数加法运算。所以直接计算DFT,乘法次数和加法次数都是和N2成正比的,当N很大时,运算量是很可观的,因而需要改进对DFT的计算方法,以减少运算次数。1.2.2改进的途径及DIF的引出下面讨论减少运算工作量的途径。仔细观察DFT的运算就可看出,利用系数以下固有特性,就可减小DFT的运算量:(1)的对称性()*=(2)的周期性==(3)的可约性==由此可得:==,=-1,=-。这样利用这些特性,可以将长序列的DFT分解为短序列的DFT。快速傅立叶变换算法正是基于这样的思路而发展起来的。它的算法基本上可以分成两大类:时域抽取法FFT(DIT-FFT)和频域抽取法FFT(DIF-FFT)。2 按频率抽选DIF的基2 FFT算法2.1 DIF的原理设序列点数为N=2M,M为整数。=,k=0,1,…,N-1先把输入按n 的顺序分成前后两半:=,k=0,1,…,N-1=+=+=,k=0,1,…,N-11,k为偶数=(-1)k= -1,k为奇数将X(K)分解成偶数组与奇数组,当k取偶数即k=2r时(r=0,1,…,N/2-1),==当k取奇数即k=2r+1时(r=0,1,…,N/2-1),==令 n=0,1,…,N/2-1=,r=0,1,…,N/2-1=x1(n)、x2(n)和x(n)之间可用下图所示的蝶形运算符号表示: -1 图2.1用下图表示,N=8的一次分解流图:图2.2由于N=2M,N/2仍是偶数,继续将N/2点DFT分成偶数组和奇数组。图2.3表示N=8时二次分解运算流图:图2.3最后完整的分解流图为下图:图2.4这种算法是对X(K)进行奇偶抽取分解的结果,所以称之为频域抽取法FFT。DIF-FFT算法与DIT-FFT算法类似,不同的是DIF-FFT算法输入序列为自然顺序,而输出为倒序排列。另外,蝶形运算略有不同,DIT-FFT蝶形先乘后加,而DIF-FFT蝶形先加后乘。上述两种FFT的算法流图形式不是唯一的。只要保证各节点所连支路及其传输系数不变,改变输入与输出点以及中间结点的排列顺序,就可以得到其他变形的FFT运算流图。2.2 DIF的特点1.原位运算由图2.4可以看出,DIF-FFT的运算过程很有规律。N=2M点的FFT共进行M级运算,每级由N/2个蝶形运算组成。同一级中,每个蝶形的两个输入数据只对计算本蝶形有用,而且每个蝶形的输入、输出数据结点又同在一条水平线上,这就意味着计算完一个蝶形后,所得输出数据可立即存入原输入数据所占用的存储单元。这样,经过M级运算后,原来存放输入序列数据的N个存储单元中便依次存放X(K)的N个值。这种利用同一存储单元存

文档评论(0)

feixiang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档