第四章快速傅氏变换.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
引言: 离散傅里叶变换在实际应用中是非常重要的,利用它可以计算信号的频谱、功率谱和线性卷积等。 但是,如果使用定义式来直接计算DFT,当N很大时,即使使用高速计算机,所花的时间也太多。因此,如何提高计算DFT的速度,便成了重要的研究课题。 1965年库利 (Cooley)和图基(Tukey)在前人的研究成果的基础上提出了快速计算DFT的算法,之后,又出现了各种各样快速计算DFT的方法,这些方法统称为快速傅里叶变换(Fast?Fourier Transform),简称为FFT。 快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的快速算法 它是DSP领域中的一项重大突破,它考虑了计算机和数字硬件实现的约束条件、研究了有利于机器操作的运算结构,使DFT的计算时间缩短了1~2个数量级,还有效地减少了计算所需的存储容量。 FFT技术的应用极大地推动了DSP的理论和技术的发展,成为数字信号处理强有力的工具。 在导出FFT算法之前,先估计一下直接计算DFT所需计算量。 DFT的定义 将DFT定义式展开成方程组 用向量表示: 从矩阵形式表示可以看出 每计算一个X(k)值需要N次复乘法和(N-1)次复数加法,因而计算N个X(k)值,共需N2次复乘法和N(N-1)次复加法。 每次复乘法包括4次实数乘法和2次实数加法,每次复加法包括2次实数加法, 因此计算N点的DFT共需要4N2次实数乘法和(2N2+2N·(N-1))次实数加法。当N很大时,这是一个非常大的计算量。 例如当N=1024,N2 =1048576。 在实际中,N往往是比较大的,因此有必要对DFT的计算予以改进。 首先考察WNnk的一些特殊性质: §4.1??基2时间抽选法(库里—图基算法) 一、基本原理:利用旋转因子WNnk的对称性和周期性,将一个长序列x(n)的DFT计算,在时域上按奇偶抽选分解成短序列的DFT来计算。 设N=2M,M为正整数。为推导方便,取N=23=8,即离散时间信号为 x(n)={x(0), x(1), x(2), x(3), x(4), x(5), x(6),x(7)} 将序列x(n)分为奇偶两组,一组序号为偶数,另一组序号为奇数,即 {x(0), x(2), x(4), x(6) | x(1), x(3), x(5), x(7)} 分别表示为: g(r) = x(2r) —— 偶数项 h(r) = x(2r+1) —— 奇数项 r=0, 1, …, N/2-1 根据DFT的定义 X(k)是N点序列,式4.1计算得到的只是前一半项数的结果 要用G(k)和H(k)来表达全部的X(k)值还必须考虑后半部分项数(k+N/2)。 利用系数周期性, 这样就把一个N点的DFT分解成了两个N/2点的DFT,只是最后求和的符号不同。 式4.1与4.2的运算可用蝶形信号流图来表示 按照式4.1和式4.2可画出下图所示的信号流程图。 式4.1和式4.2把原N点DFT计算分解成两个N/2点DFT计算。 照此可进一步把每个N/2点DFT的计算再各分解成两个N/4点DFT的计算。 具体说来,是把{x(0),x(2),x(4),x(6)}和{x(1),x(3),x(5),x(7)}分为{x(0),x(4) | x(2),x(6)}和{x(1),x(5) | x(3),x(7)}。 G(k)和H(k)分别计算如下: 这样 ,用式(4.3)~(4.6)就可计算图1中的两组N/2点DFT。 图2所示的是其中一组G(k)的计算。 将图1与图2合并,便得到图3所示的信号流程图。 N=8,图3中N/4点的DFT就是2点的DFT。 从图4中可看出几个特点: (1)流程图的每一级的基本计算单元都是一个蝶形; ???? (2)输入x(n)不按自然顺序排列,称为“混序”排列,而输出 X(k)按自然顺序排列,称为“正序”排列,因而要对输入进行“变址”; (3)由于流程图的基本运算单元为蝶形,所以可以进行“同址”或“原位”计算。 二、运算量的减少(蝶形计算) 任何一个N为2的整数幂(即N=2M)的DFT,都可以通过M次分解,最后成为2点的 DFT来计算。M次分解构成了从x(n)到X(k)的M级迭代计算,每级由N/2个蝶形组成。 因此,完成N点的时间抽选FFT计算的总运算量为 不同N值所对应的两种计算方法的复数乘法次数和它们的比值 三、同址(原位)计算 图4包含M级迭代运算,每级由N/2个蝶形计算构成。蝶形计算的优点是可进行所谓同址(原位)计算。 首先每一个蝶形运算都需要两个输入数据,计算结果也是两个数据,与其它结点的数据无关,其它蝶形运算也与这两结点的数据无关。 因此,一个蝶形运算一旦计算完毕,原输入数据便失效了。这就意味着输出数据可以立即使用原输入数据结点所占用的内存。原来的数据也就

文档评论(0)

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

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

1亿VIP精品文档

相关文档