zoukankan      html  css  js  c++  java
  • 算法 FFT理论1

    DFTFFT的运算量

      

     

    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。

     

     

  • 相关阅读:
    TCP 基础知识
    Spring Boot 实战 —— 日志框架 Log4j2 SLF4J 的学习
    MySQL 实战笔记
    Java 基础
    RPM 包的构建
    RPM 包的构建
    9. 桶排序
    8. 基数排序
    7. 计数排序
    6. 快速排序
  • 原文地址:https://www.cnblogs.com/MrYang/p/1876621.html
Copyright © 2011-2022 走看看