快速傅里葉變換(FFT)時間復雜度


圖:信號在時域上和頻域上的直觀表示

1. 計算一維離散傅里葉變換(DFT)公式如下:

其中,N表示數據長度。由上式可知,DFT的時間復雜度是O(N*N)

 

2. 一維FFT的時間復雜度為O(N*logN),其中N表示數據長度

 

3. 對於一個M*N的二維數據,FFT的時間復雜度為O( M*N*log(M*N) )

若M=N,則時間復雜度可以簡化為O(N^2*logN)

 

4. 對於M維的數據(每一維長度為A,B,C,...),則FFT的時間復雜度為O( A*B*C*...* log(A*B*C*...) )

若每一維長度相同,即A=B=C=...=N,則時間復雜度可以簡化為O(N^M*logN)

 

 

參考文獻:

https://en.wikipedia.org/wiki/Fast_Fourier_transform

https://stackoverflow.com/questions/6514861/computational-complexity-of-the-fft-in-n-dimensions

https://stackoverflow.com/questions/12249275/computational-complexity-of-an-n-dimensional-fast-fourier-transform

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM