1. 程式人生 > >快速傅裏葉變換FFT

快速傅裏葉變換FFT

span n) 需要 單位根 空間 思想 mon clas splay

FFT是基於分治思想對DFT和IDFT的優化。

DFT: \(\mathbb{C} ^{N}\rightarrow \mathbb{C} ^{N}: \left( x_{1},\ldots ,x_{N}\right) \rightarrow \left( y_{1},\ldots ,y_{N}\right)\)
IDFT是DFT的逆映射
\(\omega _{N}=e^{\dfrac {2\pi i}{N}}\),則
\[DFT: y_{k}=\sum ^{N-1}_{n=0}\omega ^{nk}_{N}x_{n}\IDFT: x_{k}=\sum ^{N-1}_{n=0}\dfrac {\omega ^{-nk}_{N}}{N}y_{n}\]


於是,DFT與IDFT都是N維復空間上的線性變換,其矩陣為Vandermonde矩陣。由於是矩陣乘法,復雜度為O(n^2)。註意到復單位根的性質使得DFT與IDFT高度相似,因此,只需要考慮降低DFT的復雜度即可。

定義:
\[E_{k}=\sum ^{N/2-1}_{m=0}\omega ^{2mk}_{N}x_{2m}\O_{k}=\sum ^{N/2-1}_{m=0}\omega ^{2mk}_{N}x_{2m+1}\]
\[y_{k}=E_{k}+\omega _{N}O_{k}\y_{k+N/2}=E_{k}-\omega _{N}0_{k}\]
顯然,如此遞歸可以將復雜度降至O(nlogn)。

快速傅裏葉變換FFT