数字信号处理离散傅里叶变换及其快速算法.ppt

数字信号处理离散傅里叶变换及其快速算法.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字信号处理离散傅里叶变换及其快速算法

* 3.4 DFT的快速算法——快速傅里叶变换(FFT) DFT使计算机在频域处理信号成为可能,但是当N很大时,直接计算N点DFT的计算量非常大。 快速傅里叶变换(FFT,Fast Fourier Transform)可使实现DFT的运算量下降几个数量级,从而使数字信号处理的速度大大提高,工程应用成为可能。 人们已经研究出多种FFT算法,它们的复杂度和运算效率各不相同。 本章主要介绍最基本的基2 FFT算法及其编程方法。 * 3.4.1 直接计算DFT的特点及减少运算量的基本途径 DFT计算量: 长度为N的序列x(n)的N点DFT为 计算X(k)的每一个值需要计算N次复数乘法和N-1次复数 加法,那么计算X(k)的N个值需要N2次复数乘法和(N-1)?N 次复数加法运算。当N1时,N点DFT的复数乘法和复数加 法运算次数均与N2成正比。 * DFT减少运算量的基本途径: 长序列分为短序列: 由于N点DFT的运算量随N2增长,因此,当N较大时, 减少运算量的途径之一就是将N点DFT分解为几个较 短的DFT进行计算,则可大大减少其运算量。 的周期性和对称性: 的周期性: 的对称性: * 快速傅里叶变换就是不断地将长序列的DFT分解为短序列 的DFT,并利用 的周期性和对称性及其一些特殊值来 减少DFT运算量的快速算法。 * 时间域抽取: 频率域抽取: 基2时间抽取(Decimation in time)DIT-FFT算法 基2频率抽取(Decimation in frequency)DIF-FFT算法 长序列分解为短序列的方法 * 3.4.2 基2 DIT-FFT 算法 基2FFT要求DFT变换区间长度N=2M,M为自然数。 DIT-FFT算法 序列x(n)的N点DFT为 将上面的和式按n的奇偶性分解为 * 上式说明,按n的奇偶性将x(n)分解为两个N/2长的序列 x1(l)和x2(l),则N点DFT可分解为两个N/2点DFT来计算。 (3.4.4) (3.4.5) (3.4.6) * 将式(3.4.5)和式(3.4.6)代入式(3.4.4),并利用 X1(k)、X2(k)的隐含周期性可得到 这样,就将N点DFT的计算分解为计算两个N/2点离散傅里 叶变换X1(k)和X2(k),再计算式(3.4.7)。 (3.4.7) (3.4.4) (3.4.5) (3.4.6) * 蝶形图 蝶形图及运算功能 8点DFT一次时域抽取分解运算流图 * 运算量讨论 两个N/2点DFT、N/2个蝶形 N/2点DFT (N/2)2次复数乘法 (N/2-1)(N/2)次复数加法 蝶形 1次复数乘法和两次复数加法 可见,经过一次抽取分解,当N1时,N点DFT运算量近似下降一半。 * 8点DIT-FFT运算流图 * 2. DIT-FFT的运算效率 DIT-FFT与DFT所需乘法次数比较曲线 * 由8点DIT-FFT运算流图可见,N=2M时,其DIT-FFT运算流图 由M级蝶形构成,每级有N/2个蝶形。因此,每级需要N/2 次复数乘法运算和N次复数加法运算,M级蝶形所需复数乘 法次数CM(2)和复数加法次数CA(2)分别为 直接计算N点DFT的复数乘法次数为N2,复数加法次数为(N- 1)N。当N1时,N2/CM(2) 1,所以N越大,DIT-FFT运算 效率越高。DIT-FFT算法与DFT所需乘法次数与N的关系曲 线见前页图示。 * 例如 N=210=1024时,DIT-FFT的运算效率为 而当N =211=2048时有 DFT的乘法次数 DIT-FFT的乘法次数 * 3. DIT-FFT的运算规律及编程思想 (1)原位计算 (2)旋转因子的变化规律 (3)蝶形运算规律 (4)序列的倒序 (5)编程思想 * (1)原位计算 N=2M点的FFT共进行M级运算,每级由N/2个蝶形运算组成。同一级中,每个 蝶形的两个输入数据只对计算本蝶形有用,而且每个蝶形的输入、输出数 据节点又同在一条水平线上,这就意味着计算完一个蝶形后,所得输出数 据可立即存入原输入数据所占用的存储单元。这样,经过M级运算后,原 来存放输入序列数据的N个存储单元(A(0),A(1),…,A(N-1))中便依次存放 X(k)的N个值。这种利用同一存储单元存储蝶形计算输入、输出数据的方 法称为原位(址)计算。 节约内存单元,降低设备成本 * (2)旋转因子的变化规律 N点DIT-FFT运算流图中,每级都有N/2个蝶形。每个蝶 形都要乘以

文档评论(0)

taotao0c + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档