网站大量收购独家精品文档,联系QQ:2885784924

串行FFT递归算法蝶式递归计算原理求傅里叶变换.doc

串行FFT递归算法蝶式递归计算原理求傅里叶变换.doc

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

串行FFT递归算法(蝶式递归计算原理)求傅里叶变换 摘要 ?FFT,即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进了一大步。??? 设x(n)为N项的复数序列,由DFT变换,任一X(m)的计算都需要N次复数乘法和N-1次复数加法,而一次复数乘法等于四次实数乘法和两次实数加法,一次复数加法等于两次实数加法,即使把一次复数乘法和一次复数加法定义成一次“运算”(四次实数乘法和四次实数加法),那么求出N项复数序列的X(m),即N点DFT变换大约就需要N^2次运算。当N=1024点甚至更多的时候,需要N2=1048576次运算,在FFT中,利用WN的周期性和对称性,把一个N项序列(设N=2k,k为正整数),分为两个N/2项的子序列,每个N/2点DFT变换需要(N/2)^2次运算,再用N次运算把两个N/2点的DFT变换组合成一个N点的DFT变换。这样变换以后,总的运算次数就变成N+2(N/2)^2=N+N^2/2。继续上面的例子,N=1024时,总的运算次数就变成了525312次,节省了大约50%的运算量。而如果我们将这种“一分为二”的思想不断进行下去,直到分成两两一组的DFT运算单元,那么N点的DFT变换就只需要Nlog(2)(N)次的运算,N在1024点时,运算量仅有10240次,是先前的直接算法的1%,点数越多,运算量的节约就越大,这就是FFT的优越性。 关键字:FFT 蝶式计算 傅里叶变换 目录 一.题目及要求 1 1.1题目 1 二.设计算法、算法原理 1 2.1算法原理与设计 1 2.2设计步骤 2 三.算法描述、设计流程 4 3.1算法描述 4 3.2流程图 5 四. 源程序代码及运行结果 7 4.1源程序代码 7 4.2运行结果 12 五. 算法分析、优缺点 13 5.1算法分析 13 5.2优缺点 14 六. 总结 15 七. 参考文献 16 一.题目及要求 1.1题目 对给定的,利用串行FFT递归算法(蝶式递归计算原理)计算其傅里叶变换的结果。 1.2要求 利用串行递归与蝶式递归原理,对给定的向量求解傅里叶变换的结果。 二.设计算法、算法原理 2.1算法原理与设计 蝶式递归计算原理:令 为n/2次单位元根,则有 , 将b向量的偶数项 和奇数项 分别记 为 和 。 注意推导中反复使用: 。 图2.1 公式图形 2.2设计步骤 对于以上的分析可画出如图 2.2所示的离散傅里叶变换递归计算流图。图2.3就是一个按此递归方法计算的n=8的FFT蝶式计算图。 FFT的蝶式递归计算图(有计算原理推出): 图2.2 递归计算流图 特别的,n=8的FFT蝶式计算图(展开的): 图2.3 蝶式计算图 按输入元素展开,前面将输出序列之元素 按其偶下标()和()展开,导出 和递归计算式,按此构造出了如图1所示的FFT递归计算流程图。事实上,我们也可以将输入序列之元素按其偶下标() 和几下标()展开,则导出另一种形式的FFT递归计算式 。 三.算法描述、设计流程 3.1算法描述 SISD上的FFT分治递归算法: 输入: a=(a0,a1,…,an-1); 输出: B=(b0,b1,…,bn-1) Procedure RFFT(a,b) begin if n=1 then b0=a0 else (1)RFFT(a0,a2,…,an-2, u0,u1,…,un/2-1) (2)RFFT(a1,a3,…,an-1, v0,v1,…,vn/2-1) (3)z=1 (4)for j=0 to n-1 do (4.1)bj=uj mod n/2+zvj mod n/2 (4.2)z=zω endfor endif end 注: (1)算法时间复杂度t(n)=2t(n/2)+O(n) t(n)=O(nlogn) n=8的FFT蝶式计算图: 图3

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档