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

FFT算法FFT是Fast Fourier Transform的缩写,即快速傅里叶变换的意思。它是对离散傅里叶变换(DFT)算法进行改进获得的。FFT并不是一种新的变换方法,而是DFT的一种快速实现算法。DFT在数字信号中起着重要作用,在语音信号处理、图像传递、雷达及地震波分析等信号处理方面都得到了广泛的应用。直接计算DFT,计算工作量相当大,特别当数据点数N很大时,用计算机直接计算DFT就要耗费极长的计算时间和占据整个计算机的存储容量,这不仅无法实时处理数据,也是极不经济的事情。由于这个原因,1965 年美国的库利(J , W 。Cooley )和图基(J . W . Tukey )在《 计算机数学》 (Math . computation , Vol . 19 , 1965 )杂志上发表了著名的《 机器计算傅里叶级数的一种算法》 论文后,引起了世界各国广泛的注意,20年来其发展速度极快。FFT虽然仅仅是一种快速算法,其基本原理及计算公式是DFT。但它的意义已远远超出了一种算法的范围,它将DFT的计算速度提高了倍。使许多信号的处理工作能与整个系统的运行速度协调,它的应用就从数据的事后处理进入到数据的实时处理。FFT算法的基本原理在于利用DFT原始变换矩阵的多余性,化简了原始变换矩阵。把计算长度为N的序列的DFT应用蝶形计算结构逐次的分解成计算长度较短序列的DFT。预备知识1.1 DFT与IDFT关系DFT定义:为N个DFT系数式中,是一个均匀采样序列,n=0,2,…,N-1;W是1的N次方根;X(n)为第k个DFT系数,k=0,1,…,N-1;i为虚数单位引理:若,则证明:当r-m=0时,故.引理成立当时,令则而所以时,证毕.定理:若数列x(0),x(1),…,x(N-1)和数列X(0),X(1),…,X(N-1)满足(1-1)则(1-2)其中j,k=0,1,2,…,N-1;证明:式(1-1)是关于x(0),x(1),…,x(N-1)的线性方程组,式(1-2)是(1-1)的解.将(1-2)代入(1-1)式得由引理可知:1.2 信号流图介绍在讨论DFT的FFT算法分析时,常用到信号流图,在这里我们并不详细的介绍信号流图及其各种用法。只介绍一下以后分析所用的信号流图及基本概念。信号流图是由一些连接在节点上的定向支路所构成的图形结构。它可以形象的表示出一个联立方程组,是这个方程组的图形表示。我们将方程组的变量分别用一些称为节点的小圆圈表示,每个变量对应一个节点。变量间的相互关系则通过连接在节点间的,称为支路的线段表示。这些支路有以下三个特点:连接于存在因果关系的节点上;支路具有方向性,用箭头表示。箭头从因变量表示的节点指向变量的节点;支路具有加权作用,方程中各因变量的系数就是支路的加权值。以N=2为例作出它的信号流图如图1-1;1.3 考察DFT变换系数的周期性、对称性及可约性(1)全周期对称性:(m是整数)(2)半周期反对称性:证明:(m是整数)(3)可约性:证明:证毕。利用的性质把DFT的表达式进行化简是减少计算量工作的第一步,DFT的表达式中的同类项合并是减少计算量工作的关键性一步。因为同类项的计算只需要进行一次,而其它的同类项就不需要重复计算了。这样就能有效地减少运算量。例如,N=8时,虽然共有=8*8=64个系数,由于周期性只有 8个系数是独立的,其余系数不过是这8个系数的重复值,又由对称性分析,这8个系数实际上只有四个数值不同。1.4 码位倒置把十进制数表示为二进制数码以后将二进制的码位倒置,叫码位倒置。当N=8时的码位倒置表如下表1-1自然顺序二进制码位码位倒置倒置后顺序0000000010011004201001023011110641000011510110156110011371111117基-2 FFT算法及其信号流图表示FFT运算有两种基本形式第一种称为时间抽选。它是将输入数据x(n)逐次分解为较短序列作蝶形运算。第二种称为频域抽选,是将X(k)分解成较短序列作蝶形流程计算。我们分别讨论这两种FFT计算流程。时间抽选基-2FFT的蝶形运算流程分析时域抽取(decimation in time , DIT )基2FFT 算法,简称为DIT-FFT 算法。1 ) DIT-FFT 算法原理设序列x(n)的长度为N ,且满足M为正整数按n的奇偶把x(n)分解成两个N/2点的子序列则x(n)的DFT为由于有可约性,即故X(k)可表示为 (2.1.1)进而,由于和都隐含周期性,周期为N / 2 ,即存在 并且存在对称性,即(2.1.2)因而(2.1.1)式又可表示为(2.1.3)这样,就将N点DFT解为两个N / 2 点的DFT 和(2.1.3)式的运算。(2.1.3)式的运算可用图2.1-1所示的信

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档