快速傅里叶变换(fft)

快速傅里叶变换(fft)

ID:25710181

大小:562.50 KB

页数:33页

时间:2018-11-22

快速傅里叶变换(fft)_第1页
快速傅里叶变换(fft)_第2页
快速傅里叶变换(fft)_第3页
快速傅里叶变换(fft)_第4页
快速傅里叶变换(fft)_第5页
资源描述:

《快速傅里叶变换(fft)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章快速傅里叶变换(FFT)4.1引言4.2基2FFT算法4.3进一步减少运算量的措施4.4分裂基FFT算法4.5离散哈特莱变换(DHT)4.1引言DFT是信号分析与处理中的一种重要变换。因直接计算DFT的计算量与变换区间长度N的平方成正比,当N较大时,计算量太大,所以在快速傅里叶变换(简称FFT)出现以前,直接用DFT算法进行谱分析和信号的实时处理是不切实际的。直到1965年Cooley和Tukey发现了DFT的一种快速算法以后,情况才发生了根本的变化。4.2基2FFT算法4.2.1直接计算DFT的特点

2、及减少运算量的基本途径长度为N的有限长序列x(n)的DFT为考虑x(n)为复数序列的一般情况,对某一个k值,直接按(4.2.1)式计算X(k)值需要N次复数乘法、(N-1)次复数加法。因此,N点DFT的复乘次数等于N2,加法次数N(N-1).当N>>1时,,即N点DFT的乘法和加法运算次数均与N2成正比,当N较大时,运算量相等可观。(4.2.1)注意:通常将算术乘法和算术加法的次数作为计算复杂性的度量,因为这种方法使用起来很简单。如果在计算机上用软件实现这些算法,则乘法和加法的次数就直接与计算速度有关。但是

3、,在常用的VLSI实现时,芯片的面积和功率要求往往是最重要的考虑因素,而它们有可能与算法的运算次数没有直接的关系。显然,把N点DFT分解为几个较短的DFT,可使乘法次数大大减少。另外,旋转因子WmN具有明显的周期性、对称性和可约性。其周期性表现为(4.2.2)其对称性表现为或者可约性表现在:4.2.2时域抽取法基2FFT基本原理FFT算法基本上分为两大类:时域抽取法FFT(DecimationInTimeFFT,简称DIT-FFT)和频域抽取法FFT(DecimationInFrequencyFFT,简称D

4、IF-FFT)。下面介绍DIT-FFT算法。设序列x(n)的长度为N,且满足为自然数按n的奇偶把x(n)分解为两个N/2点的子序列则x(n)的DFT为由于所以其中X1(k)和X2(k)分别为x1(r)和x2(r)的N/2点DFT,即(4.2.5)(4.2.6)由于X1(k)和X2(k)均以N/2为周期,且,所以X(k)又可表示为(4.2.7)(4.2.8)图4.2.1蝶形运算符号X1(k)X2(k)WNKX1(k)+WNKX2(k)X1(k)-WNKX2(k)经过一次分解后,计算复数乘和复数加的次数:复数乘

5、:复数加:一次分解后,运算量减少近一半,故可以对N/2点DFT再作进一步分解。图4.2.2N点DFT的一次时域抽取分解图(N=8)与第一次分解相同,将x1(r)按奇偶分解成两个N/4长的子序列x3(l)和x4(l),即那么,X1(k)又可表示为(4.2.9)式中同理,由X3(k)和X4(k)的周期性和的对称性,最后得到:(4.2.10)用同样的方法可计算出(4.2.11)其中图4.2.3N点DFT的第二次时域抽取分解图(N=8)图4.2.4N点DIT―FFT运算流图(N=8)4.2.3DIT-FFT算法与直

6、接计算DFT运算量的比较运算流图有M级蝶型,每一级都有N/2个蝶型运算。每一级运算都需要N/2次复数乘和N次复数加(每个蝶形需要两次复数加法)。所以,M级运算总共需要的复数乘次数为复数加次数为例如,N=210=1024时图4.2.5FFT算法与直接计算DFT所需乘法次数的比较曲线MATLAB提供了一个fft的函数用于计算一个向量x的DFT。调用X=fft(x,N)就计算出N点的DFT。如果向量x的长度小于N,那么就将x补0。如果略去N,则DFT的长度就是x的长度。如果x是一个矩阵,那么fft(x,N)计算x

7、中每一列的N点的DFT。fft由机器语言写成的,执行速度快。当N为2的幂次方,则使用基2FFT算法,如果不是,那么将N分解为若干素因子并用一个较慢的混合基FFT算法。如果N为某个素数,则fft算法就蜕化为原始的DFT算法。4.2.4DIT-FFT的运算规律及编程思想1.原位计算1)由图4.2.4可以看出,DIT―FFT的运算过程很有规律。N=2M点的FFT共进行M级运算,每级由N/2个蝶形运算组成。2)同一级,每个蝶形的两个输入数据只对计算本蝶形有用,而且每个蝶形的输入、输出数据节点又同在一水平线上,即计算

8、完一个蝶形后,所得的数据可立即存入原输入数据所占用的存储单元。3)经过M级运算后,原来存放输入序列数据的N个存储单元中依次存放X(k)的N个值。这种利用同一存储单元存储蝶形计算输入、输出数据的方法称为原位计算,可以大大节省内存。2.旋转因子的变化规律如上所述,N点DIT-FFT运算流图中,每级都有N/2个蝶形。每个蝶形都要乘以因子WpN,称其为旋转因子,p称为旋转因子的指数.观察图4.2.4不难发现,第L级共有2

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

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

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