
圖:信號在時域上和頻域上的直觀表示
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
