F F T FFT FFT及其框图实现
F F T FFT FFT的全称为快速傅里叶变换,但是 F F T FFT FFT并不是一种变换,而是实现 D F T DFT DFT的一种快速算法。当 N N N比较大时,使用 F F T FFT FFT可大大减少进行 D F T DFT DFT变换的计算量。
N N N点的 D F T DFT DFT所需的计算量为:
X [ k ] = ∑ n = 0 N − 1 x [ n ] W N k n X[k]=\sum_{n=0}^{N-1}x[n]W_N^{kn} X[k]=n=0∑N−1x[n]WNkn
乘法: N 2 N^2 N2次,加法: N ( N − 1 ) N(N-1) N(N−1)次。每当 N N N提高一倍,计算量增大四倍。
基 2 2 2时域抽取
假设有一长度为 2 N 2N 2N的有限长序列 x [ n ] x[n] x[n],现对其进行 D F T DFT DFT变换,现有一算法可以将 2 N 2N 2N点的 D F T DFT DFT计算降为 N N N的 D F T DFT DFT计算,如下:
记 g [ n ] g[n] g[n]为 x [ n ] x[n] x[n]的下标为偶数时的序列,即 g [ n ] = x [ 2 n ] , 0 ≤ n ≤ N − 1 g[n]=x[2n],0\leq n \leq N-1 g[n]=x[2n],0≤n≤N−1,记 v [ n ] v[n] v[n]为 x [ n ] x[n] x[n]的下标为奇数时的序列,即 v [ n ] = x [ 2 n + 1 ] , 0 ≤ n ≤ N − 1 v[n]=x[2n+1],0\leq n \leq N-1 v[n]=x[2n+1],0≤n≤N−1,则
X [ k ] = ∑ n = 0 2 N − 1 x [ n ] W 2 N k n = ∑ n = 0 N − 1 x [ 2 n ] W 2 N k 2 n + ∑ n = 0 N − 1 x [ 2 n + 1 ] W 2 N k ( 2 n + 1 ) = ∑ n = 0 N − 1 g