FFT算法介绍.ppt

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

第四章 快速傅里叶变换 (FFT) 本章内容: 介绍傅里叶变换的一些快速算法 快速算法的思想 根据原是变换定义的运算规律,及其中某些算子的特殊性,找出减少乘法和加法运算次数的有效途径,实现原始变换的各种高效算法。 本讲学习目标 了解直接计算N点DFT的运算量 了解减少运算量的基本途径 理解按时间抽取的基-2FFT算法的算法原理、运算流图、所需计算量和算法特点 了解按时间抽取的基-2FFT算法的编程思想 本章作业练习 P127: 4.1 4.2 4.4 4.5 第四章 快速傅里叶变换 FFT: Fast Fourier Transform 1965年,Cooley, Tukey 《机器计算傅里叶级数的一种算法》 4.2 基-2FFT算法 4.2.1直接计算DFT的特点及减少 运算量的基本途径 运算量 FFT算法分类: 时间抽选法 DIT: Decimation-In-Time 频率抽选法 DIF: Decimation-In-Frequency 4.2.2、时间抽取法基-2FFT算法基本思想 (基-2 Decimation-In-Time FFT) 1、算法原理 设序列点数 N = 2M,M 为整数。 若不满足,则补零 则x(n)的DFT: 其中, 2.两点结论: (1) X (k),X (k)均为N/2点的DFT。 (2) X(k)=X (k)+W X (k)只能确定出 X(k)的k= 个; 即前一半的结果。 6. N/2分解后的运算量: 这样逐级分解,直到2点DFT 当N = 8时,即分解到X3(k),X4(k),X5(k),X6(k),k = 0, 1 4.2.3 基2DIT-FFT算法与直接DFT运算量的比较 当N = 2M时,共有M级蝶形,每级N / 2个蝶形,每个蝶形有1次复数乘法,2次复数加法。 4.2.4 DIF-FFT的运算规律 及编程思想 1)原位计算 DIT-FFT的运算过程很有规律,共进行M级运算,每级由N/2个蝶形运算组成。同一级中,每个蝶形的两个输入数据只对计算本蝶形有用,与其它蝶形运算无关。 这样,蝶形运算的两个输出值仍可放回蝶形运算的两个输入所在的存储器中,这种利用同一存储单元存储蝶形计算输入、输出的方法即为原位运算。每一级(列)有N/2个蝶形运算,所以只需N个存储单元,可以节省存储单元。 开始时,输入序列的N个数放于此N个存储器内,倒序重排后仍存于这N个存储器中,每一次迭代运算后的结果也仍然存于这N个存储器中,整个运算完成后,这N个存储器中即为所求的频谱序列X(k) (k = 0、1、…..、 N-1)。这就是所谓的同址计算,这样可以大大节约存储元件。 N点DIT―FFT运算流图中,每级都有N/2个蝶形。每个蝶形都要乘以因子WpN,称其为旋转因子,p称为旋转因子的指数。 3)蝶形运算规律 对N = 2M点FFT,输入倒位序,输出自然顺序, 设第L级运算每个蝶形的两节点距离为 B行,则 第L级运算: DIT-FFT原位计算步骤 1.确定L; 2.求出第L级的 个 ; 3.对每一个 完成其所参与的 个蝶形运算, 4. 重复步骤1~3完成M级蝶形运算。 4) 编程思想及程序框图 在一般情况下,进行FFT运算的序列至少都有几百点的长度,因此需要编制FFT算法程序以便能够利用计算机来快速进行计算。输入倒位序,输出顺序的DIT-FFT的编程思想, N必须等于2的正整数幂,FFT的计算程序可以分为两部分:一部分是倒序重排,另一部分是用三层嵌套的循环来完成M=log2N次迭代。 三层循环的功能是:最里的一层循环完成相同WNP 的蝶形运算,中间的一层循环完成因子WNP的变化,而最外的一层循环则是完成M次迭代过程。 倒序重排的程序是一段经典程序,它以巧妙的构思、简单的语句用高级编程语言来完成了倒序重排的功能。下面是一段用FORTRAN语言编写的倒序重排程序。 N=2**M (表示N=2M ,M是输入的正整数) LH=N/2 (LH是一个整数变量) N1=N-2 (N1也是一个整数变量) J=1 (对变量J赋初值) 100 DO 7 I=1,N1(循环开始,到语句7结束; 循环变量I从1开始,到N1结束,步长为1) IF (I.GE.J)

文档评论(0)

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

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

1亿VIP精品文档

相关文档