- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机械工程
测试·信息·信号分析;机械工程测试·信息·信号分析;本章学习要求:; 快速傅立叶变换(FFT)是离散傅立叶变换的一种有效的算法,通过选择和重新排列中间结果,减小运算量。; 虽然频谱分析和DFT运算很重要,但在很长一段时间里,由于DFT运算复杂,并没有得到真正的运用,而频谱分析仍大多采用模拟信号滤波的方法解决,直到1965年首次提出DFT运算的一种快速算法以后,情况才发生了根本变化,人们开始认识到DFT运算的一些内在规律,从而很快地发展和完善了一套高速有效的运算方法——快速付里变换(FFT)算法。FFT的出现,使DFT的运算大大简化,运算时间缩短一~二个数量级,使DFT的运算在实际中得到广泛应用。
;
首先分析有限长序列 x(n)进行一次DFT运算所需的运算量。
一般,x(n)和wnkN都是复数,因此,每计算一个X(k)值,要进行N次复??相乘,和N-1次复数相加,X(k)一共有N个点,故完成全部DFT运算,需要N2次复数相乘和N(N-1)次复数相加,在这些运算中,乘法比加法复杂,需要的运算时间多,尤其是复数相乘,每个复数相乘包括4个实数相乘和2个实数相加,例
; 又每个复数相加包括2个实数相加,所以,每计算一个 X(k)要进行4N次实数相乘和2N+2(N-1)=2(2N-1)次实数相加,因此,整个DFT运算需要4N2实数相乘和2N(2N-1)次实数相加。; 从上面的分析看到,在DFT计算中,不论是乘法和加法,运算量均与N2成正比。因此,N较大时,运算量十分可观。例,计算N=10点的DFT,需要100次复数相乘,而N=1024点时,需要1048576(一百多万)次复数乘法,如果要求实时处理,则要求有很高的计算速度才能完成上述计算量。
反变换IDFT与DFT的运算结构相同,只是多乘一个常数1/N,所以二者的计算量相同。;FFT算法的基本思想:; 2)利用 的周期性和对称性,把长度为N点的大点数的DFT运算依次分解为若干个小点数的DFT。因为DFT的计算量正比于N2,N小,计算量也就小。
FFT算法正是基于这样的基本思想发展起来的。它有多种形式,但基本上可分为两类:时间抽取法和频率抽取法。;
长度为N的有限长序列x(n)的DFT为
考虑x(n)为复数序列的一般情况,对某一个k值,直接按(6.2.1)式计算X(k)值需要N次复数乘法、(N-1)次复数加法。 ; 如前所述,N点DFT的复乘次数等于N2。显然,把N点DFT分解为几个较短的DFT,可使乘法次数大大减少。另外,旋转因子WmN具有明显的周期性和对称性。其周期性表现为
;
FFT算法基本上分为两大类:时域抽取法FFT(Decimation In Time FFT,简称DIT-FFT)和频域抽取法FFT(Decimation In Frequency FFT,简称DIF―FFT)。下面先介绍DIF―FFT算法。
设序列x(n)的长度为N,且满足
; 则x(n)的DFT为
; 其中X1(k)和X2(k)分别为x1(r)和x2(r)的N/2点DFT,即 ;图6.2.1 蝶形运算符号 ;图6.2.2 N点DFT的一次时域抽取分解图(N=8) ; 与第一次分解相同,将x1(r)按奇偶分解成两个N/4长的子序列x3(l)和x4(l),即
;式中 ; 用同样的方法可计算出
;; 图6.2.4 N点DIT―FFT运算流图(N=8) ;
每一级运算都需要N/2次复数乘和N次复数加(每个蝶形需要两次复数加法)。所以,M级运算总共需要的复数乘次数为
;图6.2.5 FFT算法与直接计算DFT所需乘法次数的比较曲线 ; 1.原位计算
由图6.2.4可以看出,DIT―FFT的运算过程很有规律。N=2M点的FFT共进行M级运算,每级由N/2个蝶形运算组成。
2.旋转因子的变化规律
如上所述,N点DIT―FFT运算流图中,每级都有N/2个蝶形。每个蝶形都要乘以因子WpN,称其为旋转因子,p称为旋转因子的指数。 ; 观察图6.2.4不难发现,第L级共有2 L-1个不同的旋转因子。N=23=8时的各级旋转因子表示如下:
L=1时,WpN=WJ N/4=WJ2L, J=0
L=2时, Wp
文档评论(0)