DFT和FFT的运算量比较
2012-04-19 11:19
489 查看
![](http://my.csdn.net/uploads/201204/19/1334805623_1204.png)
![](http://my.csdn.net/uploads/201204/19/1334805718_6028.png)
N点DFT共需要N2次复数乘法和N(N-1)次复数加法,共4N2次实数乘法和(2N2+2N*(N-1))次实数加法。当N很大时,这是一个非常大的计算量。
利用FFT算法之后,任何一个N为2的整数幂(即N=
2M)的DFT,都可以通过M次分解,最后成为2点的DFT来计算。M次分解构成了从x(n)到X(k)的M级迭代计算,每级由N/2个蝶形运算组成。完成一个蝶形计算需一次乘法和两次复数加法。因此,完成N点的时间抽选FFT计算的总运算量为:
复数乘法次数:M*N/2=log2N*N/2
复数加法次数:M*2*N/2=
log2N*N
大多数情况下复数乘法所花的时间最多,所以以复数乘法的计算次数来比较DFT与FFT的效率为:DFT/FFT=2N/log2N。
![](http://my.csdn.net/uploads/201204/19/1334805905_1069.png)
相关文章推荐
- DFT和FFT运算效率对比
- 数字图像中的傅里叶变换(DFT&FFT)
- Shell 比较运算
- shell 比较运算
- 震动信号分析FFT运算
- JS逻辑运算大于小于比较
- Python中定制类的比较运算方法
- 初探 FFT/DFT
- HDU1032:The 3n + 1 problem(比较运算次数)
- Android程序员学PHP开发(9)-赋值比较逻辑运算-PhpStorm
- BigDecimal 运算、判断、比较
- hdu 1402 A * B Problem Plus (FFT&DFT)
- 一幅图弄清DFT与DTFT,FFT的关系
- Java基础教程9-if-else语句和相关比较运算操作
- Shell脚本处理浮点数的运算和比较实例
- String类比较,String类运算比较,String运算
- int与unsigned int之间的运算与比较
- 开源的游戏引擎irrlicht中不使用比较、条件、三元运算求最值与中值的代码
- DFT 展开式和 FFT推导
- 将264万次数据的比较运算,运行时间从2.5小时降低到3分钟(R实现)