版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、快速傅里叶算法的原理实现及分析FFT的原理:多项式的表示:系数表示:A(x)=aj*xj;点值表示:A(x): ( x0, y0), ( x1, y1 ), ( xn-1, yn-1 ) ;其中yk = A( xk );求值计算的逆:对于任意n个点值对组成的集合 ( x0, y0), ( x1, y1 ), ( xn-1, yn-1 ) ,其中所有的xk都不同;那么存在唯一的次数界为n的多项式A(x),满足yk = A( xk ),k = 0,1,n-1;【证明略】拉格朗日插值法:因此,n个点的求值运算与插值运算是定义完备的互逆运算,它们将多项式的系数表达与点值表达进行相互转化。当我们用系数表
2、达表示多项式时,多项式乘法的最直接算法所需运行时间为(n2),但采用点值表达,运行时间仅为(n)。然而,我们通过对这两种表示法进行转换,采用系数表达求多项式乘积,可以使运行时间变为(nlogn)。FFT图解:C(w02n)C(w12n).C(w02n)C(w12n).C(w2n-12n)A(w02n),B(w02n)A(w12n),B(w12n)A(w2n-12n),B(w2n-12n)a0,a1,an-1b0,b1,bn-1c0,c1,cn-1加倍次数界:通过加入n个系数为0的高阶系数,把多项式A(x)和B(x)变为次数界为2n的多项式,并构造其系数表达;求值:通过应用2n阶的FFT计算出A
3、(x)和B(x)的长度为2n的点值表达。这些点值中包含了两个多项式在2n次单位根处的取值;逐点相乘:把A(x)的值和B(x)的值逐点相乘,可以计算出多项式C(x)=A(x)*B(x)的点值表达,这个表示中包含了C(x)在每个2n次单位根处的值;插值:通过对2n个点值对应用FFT,计算其逆DFT,就可以构造出多项式C(x)的系数表达; 执行第1步和第3步所需时间为(n),执行第2步和第4步所需时间为(nlogn)。因此,一旦表明如何运用FFT,我们就已经证明了:当输入与输出多项式均采用系数表达时,我们就能在(nlogn)时间复杂度内,计算出两个次数界为n的多项式乘积。快速傅里叶变换:A0(x)
4、= a0+a2*x+a4*x2+an-2*x(n/2-1)A1(x) = a1+a3*x+a5*x2+an-1*x(n/2-1)而A(x) = A0(x2) + x*A1(x2);伪代码:RECURSIVE-FFT(a)n = a.length/n is a power of 2if n=1return awn=2i/nw=1a0=(a0,a2,an-2)a1=(a1,a3,an-1)y0=RECURSIVE-FFT(a0)y1=RECURSIVE-FFT(a1)for k=0 to n/2-1yk=yk0+w*yk1yk+n/2=yk0-w*yk1w=w*wnreturn y/y is as
5、sumed to be a column vectorFFT的迭代实现:函数原型:注:在处理时,大小必须为2的幂;FFT的迭代实现:自底向上实现logn次每次n/2的蝴蝶操作,并用中间变量u、t减少计算次数,用count计算乘法/加法次数;逆FFT的实现:与FFT基本相同,注:此时wm是反向且最后须除以SIZE得到正解;其它小细节的实现:bit_reverse通过逆序操作使得可以自底向上进行FFT/IFFT操作;rev则是按照logn大小进行逆序;print输出多项式结果(实数多项式相乘仍得实数多项式,因此丢弃复数部分),同时也可以在debug时输出中间点对检查是否有误;测试用例及性能分析:小
6、测试时键盘输入检查正误,大数据时从文本读入随机数;小例子:随机数输入:性能分析:n825610242048819216384Count3630721536033792159744344064复数加法7261443072067584319488688128复数乘法7261443072067584319488688128数据拟合:则T(n)=1.5*nlogn-2.19e-12*n-3.15e-12*logn+9.48e-12;而e-121的情形下,其需要4NlogN-6N+8个乘法运算以及加法运算。最近有人导出更低的运算量:34/9*NlogN。(Johnson and Frigo, 2007; Lundy and Van Buskirk, 2007)大多数尝试要降低或者证明FFT复杂度下限的人都把焦点放在复数资料输入的情况,因其为最简单的情形。但是,复数资料输入的FFT算法,与实数资料输入的FFT算法,离散余弦转换(DCT),离散哈特列转换(DHT),以及其他的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年初中物理课堂提问设计方案
- 机电管线穿墙防水封堵专项方案
- 高校社团年度活动开展方案
- 小型消防水泵房设计手册
- 某麻纺厂设备预防性维护细则
- 某发电厂设备检修规范
- 室外雨水污水管道安装施工方案
- 人防通风设备安装施工方案
- 重庆某流域水环境综合治理项目可行性研究报告
- 产品留样检验作业执行SOP
- T∕IAC CAMRA 50-2024 事故汽车常用零部件修复与更换判别规范
- 一年级家长会课件2024-2025学年
- 会计基础第四版 课件 项目一 认知会计
- 农业技术员培训培训课件
- 第1章 绪论(工程力学 王亚双)
- 监理工程师继续教育考试及答案
- GB/T 28784.4-2017机械振动船舶振动测量第4部分:船舶推进装置振动的测量和评价
- GB/T 1356-2001通用机械和重型机械用圆柱齿轮标准基本齿条齿廓
- 应征入伍服兵役高等学校学生国家教育资助申请表
- FZ/T 63033-2016编织圆绳
- 有机波谱分析课件
评论
0/150
提交评论