快速傅里叶变换FFT

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)。

猜你喜欢

转载自www.cnblogs.com/maoruimas/p/9726524.html