《快速傅氏变换》PPT课件.ppt
《《快速傅氏变换》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《快速傅氏变换》PPT课件.ppt(62页珍藏版)》请在三一办公上搜索。
1、第四章,快速傅氏变换,引言:,离散傅里叶变换在实际应用中是非常重要的,利用它可以计算信号的频谱、功率谱和线性卷积等。但是,如果使用定义式来直接计算DFT,当N很大时,即使使用高速计算机,所花的时间也太多。因此,如何提高计算DFT的速度,便成了重要的研究课题。1965年库利(Cooley)和图基(Tukey)在前人的研究成果的基础上提出了快速计算DFT的算法,之后,又出现了各种各样快速计算DFT的方法,这些方法统称为快速傅里叶变换(FastFourier Transform),简称为FFT。,快速傅里叶变换(FFT)是离散傅里叶变换(DFT)的快速算法,它是DSP领域中的一项重大突破,它考虑了计
2、算机和数字硬件实现的约束条件、研究了有利于机器操作的运算结构,使DFT的计算时间缩短了12个数量级,还有效地减少了计算所需的存储容量。FFT技术的应用极大地推动了DSP的理论和技术的发展,成为数字信号处理强有力的工具。,其中,在导出FFT算法之前,先估计一下直接计算DFT所需计算量。,DFT的定义,将方程组写成矩阵形式,将DFT定义式展开成方程组,同理,用复数表示:,用向量表示:,从矩阵形式表示可以看出,每计算一个X(k)值需要N次复乘法和(N-1)次复数加法,因而计算N个X(k)值,共需N2次复乘法和N(N-1)次复加法。每次复乘法包括4次实数乘法和2次实数加法,每次复加法包括2次实数加法,
3、因此计算N点的DFT共需要4N2次实数乘法和(2N2+2N(N-1)次实数加法。当N很大时,这是一个非常大的计算量。例如当N=1024,N2=1048576。在实际中,N往往是比较大的,因此有必要对DFT的计算予以改进。,(1)对称性,或,(2)周期性,(3)可约性,或,(4)其它,首先考察WNnk的一些特殊性质:,4.1基2时间抽选法(库里图基算法),一、基本原理:利用旋转因子WNnk的对称性和周期性,将一个长序列x(n)的DFT计算,在时域上按奇偶抽选分解成短序列的DFT来计算。设N2M,M为正整数。为推导方便,取N238,即离散时间信号为 x(n)=x(0),x(1),x(2),x(3)
4、,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,因为 WN2=WN/21,所以上式变为,上式中的G(k)和H(k)都是N/2点的DFT。,根据DFT的定义,k=0,1,N/2-1(4.1),要用G(k)和H(k)来表达全部的X(k)值还必须考虑后半部分项数(k+N/2)。利用系数周期性,,因为,所以,X(k)是N点序列,式4.1计算得到的只是前一半项数的结果,k=0,
5、1,N/2-1(4.2),将式4.1 中的k用k+N/2代入,可得到,2点的DFT流程图,这样就把一个N点的DFT分解成了两个N/2点的DFT,只是最后求和的符号不同。,式4.1与4.2的运算可用蝶形信号流图来表示,图1 N点的DFT分解成两个N/2点DFT的的时间抽选流程图N=8,按照式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
6、),x(6)和x(1),x(5)|x(3),x(7)。G(k)和H(k)分别计算如下:,k=0,1,N/4-1(4.3),k=0,1,N/4-1(4.4),k=0,1,N/4-1(4.5),k=0,1,N/4-1(4.6),图2 N/2点的DFT分解成两个N/4点DFT的的时间抽选流程图N=8,这样,用式(4.3)(4.6)就可计算图1中的两组N/2点DFT。,图2所示的是其中一组G(k)的计算。,将图1与图2合并,便得到图3所示的信号流程图。,G(0)G(1)G(2)G(3),H(0)H(1)H(2)H(3),将2点DFT的信号流程图移入图3,得到图4所示的8点时间抽选的完整的FFT流程图。
7、,2点的DFT流程图,N=8,图3中N/4点的DFT就是2点的DFT。,图4 基2时间抽选法8点FFT流程图,从图4中可看出几个特点:,(1)流程图的每一级的基本计算单元都是一个蝶形;(2)输入x(n)不按自然顺序排列,称为“混序”排列,而输出 X(k)按自然顺序排列,称为“正序”排列,因而要对输入进行“变址”;(3)由于流程图的基本运算单元为蝶形,所以可以进行“同址”或“原位”计算。,M=log2N,由图可看出完成一个蝶形计算需一次复数乘法和两次复数加法,二、运算量的减少(蝶形计算),任何一个N为2的整数幂(即N=2M)的DFT,都可以通过M次分解,最后成为2点的 DFT来计算。M次分解构成
8、了从x(n)到X(k)的M级迭代计算,每级由N/2个蝶形组成。,下图表示了蝶形的一般形式表示。其输入和输出之间满足下列关系:,大多数情况下复数乘法所花的时间最多,因此下面仅以复数乘法的计算次数为例来与直接计算进行比较。,直接计算DFT需要的乘法次数为aD=N2,于是有,即直接计算DFT所需复数乘法次数约为FFT的205倍。显然,N越大,FFT的速度优势越大。,复数乘法次数:,例:当N=1024时,,因此,完成N点的时间抽选FFT计算的总运算量为,复数加法次数:,不同N值所对应的两种计算方法的复数乘法次数和它们的比值,三、同址(原位)计算,图4包含M级迭代运算,每级由N/2个蝶形计算构成。蝶形计
9、算的优点是可进行所谓同址(原位)计算。首先每一个蝶形运算都需要两个输入数据,计算结果也是两个数据,与其它结点的数据无关,其它蝶形运算也与这两结点的数据无关。因此,一个蝶形运算一旦计算完毕,原输入数据便失效了。这就意味着输出数据可以立即使用原输入数据结点所占用的内存。原来的数据也就消失了。这样输出、输入数据利用同一内存单元的这种蝶形计算称为同址计算。,类似地,M(2)和M(3)中的x(2)和x(6)进入运算器进行蝶形运算后的结果也被送回到M(2)和M(3)保存,等等。,现在来考察第一级的计算规律,设将输入x(0),x(4),x(2),x(6),x(1),x(5),x(3),x(7)分别存入计算机
10、的存储单元M(0),M(1),M(2),,M(6)和M(7)中。首先,存储单元M(0)和M(1)中的数据x(0)和x(4)进入运算器并进行蝶形运算,运算后的结果便可送到M(0)和M(1)存储起来。,第二级运算与第一级类似,M(0)和M(2)存储单元中的数 据进行蝶形运算后的结果被送回M(0)和M(2)保存,M(1)和M(3)中的数据进行蝶形运算后送回M(1)和M(3)保存,等等。这样一直到最后一级的最后一个蝶形运算完成。可以看出,每一级的蝶形的输入与输出在运算前后可以存储在同一地址(原来位置上)的存储单元中,这种同址运算的优点是可以节省存储单元,从而降低对计算机存储量的要求或降低硬件实现的成本
11、。,M(0)M(1)M(2)M(3)M(4)M(5)M(6)M(7),M(0)M(1)M(2)M(3)M(4)M(5)M(6)M(7),M(0)M(1)M(2)M(3)M(4)M(5)M(6)M(7),M(0)M(1)M(2)M(3)M(4)M(5)M(6)M(7),如图所示的N点FFT计算,只需N个存储存储单元,四、变址计算(倒序重排),从图4所示的流程图看出,同址计算要求输入x(n)是“混序”排列的。所谓输入为“混序”,并不是说输入是杂乱无章的,实际上它是有规律的。如果输入x(n)的序号用二进制码来表示,就可以发现输入的顺序恰好是正序输入的“码位倒置”。下表2列出了这种规律。,表2,存储单
12、元 M(0)M(1)M(2)M(3)M(4)M(5)M(6)M(7),自然顺序 x(n)x(0)x(1)x(2)x(3)x(4)x(5)x(6)x(7),码位倒置顺序 x(l)x(0)x(4)x(2)x(6)x(1)x(5)x(3)x(7),变址,图5 码位倒置的变址处理,在实际运算中,按码位倒置顺序输入数据x(n),特别当N较大时,是很不方便的。,因此,数据总是按自然顺序输入存储,然后通过“变址”运算将自然顺序转换成码位倒置顺序存储。实现这种转换的程序可用图5来说明。,图中用n表示自然顺序的标号,用l表示码位倒置的标号,当ln时,x(n)和x(l)不必互相调换。当ln时,必须将x(l)和x(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 快速傅氏变换 快速 变换 PPT 课件
链接地址:https://www.31ppt.com/p-5509821.html