![快速傅里叶变换FFT_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/1257d96a-4831-4e9e-b16b-6eba3a81fe49/1257d96a-4831-4e9e-b16b-6eba3a81fe491.gif)
![快速傅里叶变换FFT_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/1257d96a-4831-4e9e-b16b-6eba3a81fe49/1257d96a-4831-4e9e-b16b-6eba3a81fe492.gif)
![快速傅里叶变换FFT_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/1257d96a-4831-4e9e-b16b-6eba3a81fe49/1257d96a-4831-4e9e-b16b-6eba3a81fe493.gif)
![快速傅里叶变换FFT_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/1257d96a-4831-4e9e-b16b-6eba3a81fe49/1257d96a-4831-4e9e-b16b-6eba3a81fe494.gif)
![快速傅里叶变换FFT_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/3/1257d96a-4831-4e9e-b16b-6eba3a81fe49/1257d96a-4831-4e9e-b16b-6eba3a81fe495.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3. 5 快速傅里叶变换(fft) 3.5.1 dft的计算量 离散傅里叶变换在实际应用中是非常重要的,利用它可以计算信号的频谱、功率谱和线性卷积等。但是,如果使用定义式(3.20)来直接计算dft,当n很大时,即使使用高速计算机,所花的时间也太多。因此,如何提高计算dft的速度,便成了重要的研究课题。1965(cooley)(tukey)在前人的研究成果的基础上提出了快速计算dft的算法,之后,又出现了各种各样快速计算dft的方法,这些方法统称为快速傅里叶变换(fast fourier transform),简称为fft。fft的出现,使计算dft的计算量减少了两个数量级,从而成为数字信号处
2、理强有力的工具。 快速傅里叶变换(fft)是离散傅里叶变换(dft)的快速算法。它是dsp领域中的一项重大突破,它考虑了计算机和数字硬件实现的约束条件、研究了有利于机器操作的运算结构,使dft的计算时间缩短了12个数量级,还有效地减少了计算所需的存储容量,fft技术的应用极大地推动了dsp的理论和技术的发展。dft的定义在导出fft算法之前,首先来估计一下直接计算dft所需的计算量。其中将dft定义式展开成方程组将方程组写成矩阵形式用向量表示 从矩阵形式表示可以看出,由于计算一个x(k)值需要n次复乘法和(n-1)次复数加法,因而计算n个x(k)值,共需n2次复乘法和n(n-1)次复加法。每次
3、复乘法包括4次实数乘法和2次实数加法,每次复加法包括2次实数加法,因此计算n点的dft共需要4n2次实数乘法和(2n2+2n(n-1)次实数加法。当n很大时,这是一个非常大的计算量。 fft算法主要利用了wnk的两个性质:(1)对称性,即(2)周期性,即用复数表示:r为任意整数。 fft算法是基于可以将一个长度为n的序列的离散傅里叶变换逐次分解为较短的离散傅里叶变换来计算这一基本原理的。这一原理产生了许多不同的算法,但它们在计算速度上均取得了大致相当的改善。 在本章中我们集中讨论两类基本的fft算法。 第一类 称为按时间抽取(decimation-in-time)的基2fft算法,它的命名来自
4、如下事实:在把原计算安排成较短变换的过程中,序列x(n)(通常看作是一个时间序列)可逐次分解为较短的子序列。 第二类称为按频率抽取(decimation-in-frequency)的基2fft算法,在这类算法中是将离散傅里叶变换系数序列x(k)分解为较短的子序列。 前面两种算法特别适用于n等于2的幂的情况。 对于n为合数的情况,本章也将介绍两种处理方法。3. 5. 2 时间抽选基2fft算法(库里图基算法) 这种算法简称为时间抽选fft算法,其基本出发点是,利用旋转因子wnk的对称性和周期性,将一个大的dft分解成一些逐次变小的dft来计算。 分解过程遵循两条规则:对时间进行偶奇分解;对频率进
5、行前后分解。 设n2m,m为正整数。为了推导方便,取n238,即离散时间信号为 按照规则(1),将序列x(n)分为奇偶两组,一组序号为偶数,另一组序号为奇数,即分别表示为:根据dft的定义 因为 wn2=wn/21,所以上式变为上式中的g(k)和h(k)都是n/2点的dft。(3.64)按照规则(2),将x(k)分成前后两组,即由(3.64)表示的是n/2点dft,前4个k值的dft可表示为后4个k值的x(k)表示为:因为所以(3.66)(3.65)按照式(3.65)和式(3.66)可画出图315所示的信号流程图。 式(3.65)和式(3.66)把原来n点dft的计算分解成两个n/2点dft的
6、计算。照此可进一 步把每个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)。这样,原信号序列被分成x(0),x(4) | x(2),x(6) i x(1),x(5) i x(3),x(7)4个2项信号。g(k)和h(k)分别计算如下:(3.67)(3.68)(3.69)(3.70) 这样,用式(3.67)(3.70)4个公式就可计算图3.15中的两组n/2点dft。图3.16所示的是其中一组g(k)的计算。
7、 将图3.16与图3.15所示的信号流程图合并,便得到图3.17所示的信号流程图。因为n=8,所以上图中n/4点的dft就是2点的dft,不能再分解了。 将2点dft的信号流程图移入图3.17,得到图3.19所示的8点时间抽选的完整的fft流程图。返回从图3.19中可看出几个特点:(1)流程图的每一级的基本计算单元都是一个蝶形; (2)输入x(n)不按自然顺序排列,称为“混序”排列,而输出 x(k)按自然顺序排列,称为“正序”排列,因而要对输入进行“变址”;(3)由于流程图的基本运算单元为蝶形,所以可以进行“同址”或“原位”计算。3. 5. 3 蝶形、同址和变址计算1. 蝶形计算 任何一个n为
8、2的整数幂(即n=2m)的dft,都可以通过m次分解,最后成为2点的 dft来计算。m次分解构成了从x(n)到x(k)的m级迭代计算,每级由n/2个蝶形组成。图3.20表示了蝶形的一般形式表示。其输入和输出之间满足下列关系: 从上式可以看出完成一个蝶形计算需一次复数乘法和两次复数加法。因此,完成n点的时间抽选fft计算的总运算量为 大多数情况下复数乘法所花的时间最多,因此下面仅以复数乘法的计算次数为例来与直接计算进行比较。直接计算dft需要的乘法次数为d=n2,于是有例如,当n=1024时,则: 205,即直接计算dft所需复数乘法次数约为fft的205倍。显然,n越大,fft的速度优势越大。
9、 表3. 2列出了不同n值所对应的两种计算方法的复数乘法次数和它们的比值。 2同址(原位)计算 图3. 19包含log2n级迭代运算,每级由n/2个蝶形计算构成。蝶形计算的优点是可以进行所谓同址或原位计算。 现在来考察第一级的计算规律。设将输入x(0),x(4),x(2),x(6), x(1),x(5),x(3),x(7)分别存入计算机的存储单元m(1), m(2), m(3),,m(7)和m(8)中。首先,存储单元m(1)和m(2)中的数据x(0)和x(4)进入运算器并进行蝶形运算,流图中各蝶形的输入量或输出量是互不相重的,任何一个蝶形的二个输入量经蝶形运算后,便失去了利用价值,不再需要保存
10、。这样,蝶形运算后的结果便可以送到m(1)和m(2)存储起来。类似地,m(3)和m(4)中的x(2)和x(6)进入运算器进行蝶形运算后的结果也被送回 到m(3)和m(4)保存,等等。第二级运算与第一级类似,不过,m(1)和m(3)存储单元中的数 据进行蝶形运算后的结果被送回m(1)和m(3)保存,m(2)和m(4)中的数据进行蝶形运算 后送回m(2)和m(4)保存,等等。这样一直到最后一级的最后一个蝶形运算完成。 可以看出, 每一级的蝶形的输入与输出在运算前后可以存储在同一地址(原来位置上)的存储单元中,这种同址运算的优点是可以节省存储单元,从而降低对计算机存储量的要求或降低硬件实现的成本。
11、蝶形运算的特点是,首先每一个蝶形运算都需要两个输入数据,计算结果也是两个数据,与其它结点的数据无关,其它蝶形运算也与这两结点的数据无关、因此,一个蝶形 运算一旦计算完毕,原输入数据便失效了。这就意味着输出数据可以立即使用原输 人数据结点所占用的内存。原来的数据也就消失了。输出、输人数据利用同一内存单 元的这种蝶形计算称为同位(址)计算。 3变址计算 从图3. 19所示的流程图看出,同址计算要求输入x(n)是“混序”排列的。所谓输入为“混 序”,并不是说输入是杂乱无章的,实际上它是有规律的。如果输入x(n)的序号用二进制码来 表示,就可以发现输入的顺序恰好是正序输入的“码位倒置”,表3. 3列出
12、了这种规律。 在实际运算中,按码位倒置顺序输入数据x(n),特别当n较大时,是很不方便的。因此,数据总是按自然顺序输入存储,然后通过“变址”运算将自然顺序转换成码位倒置顺序存储。实现这种转换的程序可用图3. 21来说明。 图中用n表示自然顺序的标号,用l表示码位倒置的标号。当l=n时,x(n)和x(l)不必互相调换。当ln时, 必须将x(l)和x(n)互相调换,但只能调换一次,为此必须规定每当ln时,要将x(l)和x(n)相互调换,即把原来存放x(n)的存储单元中的数据调入存储x(l)的存储单元中,而把原来存储x(l)的存储单元中的数据调入到存储x(n)的存储单元中。 这样,按自然序输入的数据
13、x(n)经过变址计算后变成了码位倒置的排列顺序,便可进入第一级的蝶形运算。 最后介绍一下时间抽选fft算法的另外一些形式的流程图。对于任何流程图,只要保持 各节点所连支路及其传输系数不变,则不论节点位置怎样排列,所得到的流程图总是等效的,因而都能得到dft的正确结果,只是数据的提取和存储次序不同而已。 把图3. 19中与x(4)水平相邻的所有节点和与x(1)水平相邻的所有节点交换,把与x(6)水平相邻的所有节点和与 x(3)水平相邻的所有节点交换,而与x(2)、x(5)和x(7)水平相邻各节点位置不变,就可以从图3. 19得到图3.22。图3.22与图3.19的区别只是节点的排列不同,而支路传
14、输比,即wn的 各次幂保持不变。显然图3.22所示流程图的输入是正序(自然顺序)排列的,输出是码位倒置 排列的,所以输出要进行变址计算。图3. 22所示的流程图相当于最初由库利和图基给出的时 间抽选算法。 另一种形式的流程图是将节点排列成输入 和输出两者都是正序排列,但这类流程图不能进行同址计算,因而需要两列 长度为n的复数存储器。3.5.4 频率抽选基2fft算法 频率抽选基2fft算法简称为频率抽选,它的推导过程遵循两个规则:对时间前后分;对频率偶奇分。 设n2m,m为正整数。为推导方便,取n=238。首先,根据规则(1),将x(n)分成前一半和后一半,即 x(n)x(0), x(1),
15、x(2), x(3), i x(4), x(5), x(6), x(7) 这样 (3. 72) 式(3. 72)虽然包含两个n/2点求和公式,但是在每个求和公式中出现的是wnkn,而不是wn/2kn,因此这两个求和公式都不是n/2点的dft。如果合并这两个求和公式,并利用则得:其次,按规则(2),将频率偶奇分,即x(k)=x(0), x(2), x(4), x(6), | x(1), x(3), x(5), x(7)如果用x(2r)和x(2r+1)分别表示频率的偶数项和奇数项,则有令得到上面两式所表示的是n/2的dft。在实际计算中,首先形成序列g(n)和h(n),然后计算h(n)wnn,最后
16、分别计算g(n) 和h(n)wnn的n/2点dft,便得到偶数输出点和奇数输出点的dft。计算流程图如图3. 24所示。 由于n是2的整数幂,所以n/2仍然是偶数。这样,可以将n/2点dft的输出再分为偶数组和奇数组,也就是将n/2点的dft计算进一步分解为两个n/4点的dft计算,其推导过程如下。 将g(n)分为前后两组,得到因为所以对频率再进行偶奇分,则得频率的偶数项为频率的奇数项为 通过类似的推导可得 上面4式所表示的计算都是n/4点的dft计算,从而得到图3.25所示的形式。 与时间抽选的fft算法一样,图3.27所示的流程图的基本运算也是蝶形运算,但是与时间抽选中的蝶形单元(图3.2
17、0)有所不同。图3. 28所示的是频率抽选fft算法的蝶形单元的一般化的流程图 显然,一个蝶形的计算包括1次复数乘法和2次复数加法。图3. 27所示的整个流程图共有log2n级迭代运算,每级有n/2个蝶形。因此,总计算量为频率抽选的fft算法的计算量与时间抽选fft算法的计算量是一样。 与时间抽选算法一样,频率抽选fft算法也具有同址(原位)计算的优点。但是,与时间抽选不同的是,频率抽选fft算法的信号输入为正序排列,输出为码位倒置排列,因此输出要进行变址计算。3. 5. 5 ifft的计算方法 fft算法同样可以应用于idft的计算,称为快速傅里叶反变换,简写为ifft。前述dft和idft公式为 比较上面两式,可以看出,只要把dft公式中的系数 改为 ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度成都市租赁住房合同解除协议3篇
- 2025年度虚拟现实与增强现实挂靠经营服务合同范本
- 2025年建筑玻璃采购合同
- 2025年度会展场馆停车场管理与收费服务合同
- 2025年度国际知识产权许可与保护合同
- 2025年度国际贸易人才引进与培训合同细则
- 2025年度木材电商平台木材买卖合同
- 2025年度化妆品产品认证及安全标准合同4篇
- 2025年度室内建筑设计效果图设计约稿合同样本
- 2025年度企业信息化设备综合运维保障合同
- 充电桩知识培训课件
- 2025年交通运输部长江口航道管理局招聘4人历年高频重点提升(共500题)附带答案详解
- 老年髋部骨折患者围术期下肢深静脉血栓基础预防专家共识(2024版)解读
- 偏瘫足内翻的治疗
- 药企质量主管竞聘
- 学前儿童美术教育与活动指导第4版全套教学课件
- 标杆门店打造方案
- 蔚来用户运营分析报告-数字化
- 食品安全公益诉讼
- 弱电项目经理工作总结
- 基于情报基本理论的公安情报
评论
0/150
提交评论