第3章 快速算法FFT.ppt

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

§3.3 快速傅里叶变换 (FFT);3.3.1减少运算量的思路;可见,在DFT计算中,不论是乘法和加法,运算量均与N2成正比。 因此,N较大时,运算量十分可观。例,计算N=10点的DFT,需要100次复数相乘,而N=1024点时,需要1048576(一百多万)次复数乘法,如果要求实时处理,则要求有很高的计算速度才能完成上述计算量。 反变换IDFT与DFT的运算结构相同,只是多乘一个常数1/N,所以二者的计算量相同。;FFT算法的基本思想:;2)利用 的周期性和对称性,把长度为N点的大点数的DFT运算依次分解为若干个小点数的DFT。 因为DFT的计算量正比于N2,N小,计算量也就小。 FFT算法正是基于这样的基本思想发展起来的。它有多种形式,但基本上可分为两类:时间抽取法和频率抽取法。 ;3.3.2基2-FFT算法;求x(n)的DFT:;;注意到,X1(k), X2(k)只有N/2个点,即k=0,1,…,N/2-1,还必须应用系数 wkN 的周期性和对称性表示 X(k)的 N/2 ~N-1点:;;蝶形信号流图;N=8为例子 ;按照这个办法,由于N=2M,仍然是偶数,可以被2整除,因此可以对两个N/2点的DFT再分别作进一步的分解。 即对X1(k), X2(k)的计算,又可以分别通过计算两个长度为N/4=2点的DFT,进一步节省计算量。这样,一个8点的DFT就可以分解为四个2点的DFT。 ;4个2点DFT组合成2个4点DFT ;最后剩下的是2点DFT,它可以用一个蝶形结表示:;基2-DIT的8点DFT运算流图 ;由于这种方法每一步分解都是按输入时间序列是属于偶数还是奇数来抽取的,所以称为“时域抽取法”或“时间抽取法”。 时间抽取法FFT的运算特点:; 1)蝶形运算 对于N=2M,总是可以通过M次分解最后成为2点的DFT运算。这样构成从x(n)到X(k)的M级运算过程。每一级运算都由N/2个蝶形运算构成。因此每一级运算都需要N/2次复乘和N次复加,经过时间抽取后M级运算总共需要的运算: 复乘 复加 ;2)同址计算 当数据输入到存储器中以后,每一级运算的结果仍然储存在同一组存储器中,直到最后输出,中间无需其它存储器,这叫同址计算。 每一级运算均可在同址存储器进行,这种同址运算结构可节省存储单元,降低设备成本,还可节省寻址的时间。 ;3)序数重排 对按时间抽取FFT的原位运算结构,当运算完毕时,正好顺序存放着 X(0),X(1),X(2),…,X(7),因此可直接按顺序输出。 但这种原位运算的输入 x(n)却是按x(0),x(4),x(2),x(6),…,x(7)的顺序存入存储单元,这种顺序看起来相当杂乱,然而它也是有规律的。当用二进制表示这个顺序时,它正好是“码位倒置”的顺序。例如,原来的自然顺序应是 x(1)的地方,现在放着 x(4),用二进制码表示这一规律时, 则是在 x(0 0 1)处放着 x(1 0 0), x(0 1 1)处放着 x(1 1 0)。 对于原位运算结构,偶、奇分解过程如下:; 表 码位倒置顺序;也可以通过移动流图中的某些整行支路?,把输入x(n)调整成自然序,但是输出频谱序列则成为倒序排列。;4)蝶形类型随迭代次数成倍增加 观察8点FFT的三次迭代运算: 第一级迭代,有一种类型的蝶形运算系数W08,两个数据点间隔为1。 第二级迭代,有二种类型的蝶形运算系数W08、W28,参加运算的两个数据点间隔为2。 第三级迭代,有四类蝶形运算系数W08、W18、W28、W38,参加运算的两个数据点间隔为4。 结论:每迭代一次,蝶形类型增加一倍,数据点间隔也增大一倍。 每一级的取数间隔和蝶形类型种类均为2i-1,i=1,2,…M。 ;(2)基2频率抽取的FFT(DIF);把X(k)进一步分解为偶数组和奇数组:;令 a(n)=x(n)+x(n+N/2) b(n)=[x(n)-x(n+N/2]wnN 这两个序列都是N/2点的序列,将其代入上两式,得;比较发现,DIF和DIT的流图是流图转置关系,即把输入名和输出名对调,流向倒转但增益和结构不变。 因此,两者运算量完全一样。;3.3.3 N为组合数的FFT算法 ;② 如要求准确的N点DFT值,可采用任意数为基数的 FFT 算法 , 其 计算效率低于以2为基数FFT算法。 如 N 为复合数,可分解为两个整数P与Q的乘积,像前面以2为基数时一样,FFT的基本思想是将DFT的点数尽量分小,因此,在N=PQ情况下,也希望将N点的DFT分解为P个Q点DFT或Q个P点DFT,以减少计算量。 步骤:;

文档评论(0)

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

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

1亿VIP精品文档

相关文档