DFT和FFT的运算量比较

NDFT共须要N2次复数乘法和N(N-1)次复数加法,共4N2次实数乘法和(2N2+2N*(N-1))次实数加法。当N很大时,这是一个很是大的计算量。算法

利用FFT算法以后,任何一个N2的整数幂(即N= 2M)的DFT,均可以经过M次分解,最后成为2点的DFT来计算。M次分解构成了从x(n)X(k)M级迭代计算,每级由N/2个蝶形运算组成。完成一个蝶形计算需一次乘法和两次复数加法。所以,完成N点的时间抽选FFT计算的总运算量为:spa

复数乘法次数:M*N/2=log2N*N/2xml

复数加法次数:M*2*N/2= log2N*N效率

大多数状况下复数乘法所花的时间最多,因此以复数乘法的计算次数来比较DFTFFT的效率为:DFT/FFT=2N/log2Nim