- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
按时间抽取的基2FFT算法分析
快速傅里叶变换
有限长序列可以通过离散傅里叶变换(DFT)将其频域也离散化成有限长序列.但其计算量太大,很难实时地处理问题,因此引出了快速傅里叶变换(FFT). 1965年,Cooley和Tukey提出了计算离散傅里叶变换(DFT)的快速算法,将DFT的运算量减少了几个数量级。从此,对快速傅里叶变换(FFT)算法的研究便不断深入,数字信号处理这门新兴学科也随FFT的出现和发展而迅速发展。根据对序列分解与选取方法的不同而产生了FFT的多种算法,基本算法是基2DIT和基2DIF。FFT在离散傅里叶反变换、线性卷积和线性相关等方面也有重要应用。
快速傅里叶变换(FFT)是计算离散傅里叶变换(DFT)的快速算法。
DFT的定义式为
=
在所有复指数值的值全部已算好的情况下,要计算一个需要N次复数乘法和N-1次复数加法。算出全部N点共需次复数乘法和次复数加法。即计算量是与成正比的。
FFT的基本思想:将大点数的DFT分解为若干个小点数DFT的组合,从而减少运算量。
因子具有以下两个特性,可使DFT运算量尽量分解为小点数的DFT运算:
周期性:
对称性:
利用这两个性质,可以使DFT运算中有些项合并,以减少乘法次数。例子:求当N=4时,X(2)的值
通过合并,使乘法次数由4次减少到1次,运算量减少。
FFT的算法形式有很多种,但基本上可以分为两大类:按时间抽取(DIT)和按频率抽取(DIF)。
4.1 按时间抽取(DIT)的FTT
为了将大点数的DFT分解为小点数的DFT运算,要求序列的长度N为复合数,最常用的是的情况(M为正整数)。该情况下的变换称为基2FFT。下面讨论基2情况的算法。
先将序列x(n)按奇偶项分解为两组
将DFT运算也相应分为两组
(因为)
其中、分别是的N/2点的DFT
至此,一个N点DFT被分解为两个N/2点的DFT。
上面是否将全部N点的求解出来了?
分析:和只有N/2个点(),则由只能求出的前N/2个点的DFT,要求出全部N点的,需要找出、和的关系,其中。由式子可得
化简得
=,
这样N点DFT可全部由下式确定出来:
(*)
上式可用一个专用的碟形符号来表示,这个符号对应一次复乘和两次复加运算。
图 蝶形运算符号
通过这样的分解以后,每一个N/2点的DFT只需要次复数乘法,两个N/2点的DFT需要次复乘,再加上将两个N/2点DFT合并成为N点DFT时有N/2次与W因子相乘,一共需要次复乘。可见,通过这样的分解,运算量节省了近一半。
因为,N/2仍然是偶数,因此可以对两个N/2点的DFT再分别作进一步的分解,将两个N/2点的DFT分解成两个N/4点的DFT。
例如对,可以在按其偶数部分及奇数部分进行分解:
则的运算可相应分为两组:
将系数统一为以N为周期,即,可得
同样,对也可进行类似的分解。一直分解下去,最后是2点的DFT,2点DFT的运算也可用碟形符号来表示。这样,对于一个的DFT运算,其按时间抽取的分解过程及完整流图如下图所示。
这种方法,由于每一步分解都是按输入序列在时域上的次序是属于偶数还是奇数来抽取的,故称为“时间抽取法”。
分析上面的流图,,一共要进行M次分解,构成了从x(n)到X(k)的M级运算过程。每一级运算都是由N/2个蝶形运算构成,因此每一级运算都需要N/2次复乘和N次复加,则按时间抽取的M级运算后总共需要
复数乘法次数:
复数加法次数:
根据上面的流图,分析FFT算法的两个特点,它们对FFT的软硬件构成产生很大的影响。
原位运算
也称为同址运算,当数据输入到存储器中以后,每一级运算的结果仍然存储在原来的存储器中,直到最后输出,中间无需其它的存储器。根据运算流图分析原位运算是如何进行的。原位运算的结构可以节省存储单元,降低设备成本。
变址
分析运算流图中的输入输出序列的顺序,输出按顺序,输入是“码位倒置”的顺序。见图。
自然顺序 二进制表示 码位倒置 码位倒置顺序 0 000 000 0 1 001 100 4 2 010 010 2 3 011 110 6 4 100 001 1 5 101 101 5 6 110 011 3 7 111 111 7 码位倒置顺序
在实际运算中,直接将输入数据x(n)按码位倒置的顺序排好输入很不方便,一般总是先按自然顺序输入存储单元,然后通过变址运算将自然顺序的存储换成码位倒置顺序的存储,这样就可以进行FFT的原位运算。变质的功能如图所示。用软件实现是通用采用雷德(Rader)算法,算出I的倒序J以后立即将输入数据X(I)和X(J)对换。尽管变址运算所占运算量的比例很小,但对某些
文档评论(0)