next up previous
Next: Fourier Transform 2 Real Up: fourier Previous: An Example

Fast Fourier Transform (FFT) Algorithm

The N-point DFT of time samples $x[0], x[1], \cdots, x[N-1]$ is defined as (ignoring the coefficient $1/\sqrt{N}$ for now):

\begin{displaymath}X[n]=\sum_{m=0}^{N-1} x[m]e^{-j2\pi mn/N}=\sum_{m=0}^{N-1}x[m]w_N^{mn}
\;\;\;\;\;\;\;\;\;\;(n=0, 1, \cdots, N-1) \end{displaymath}

$w_N$ is defined as $w_N \stackrel{\triangle}{=} e^{-j2\pi/N}$ and it is easy to show that $w_N$ has the following properties:

  1. \begin{displaymath}w_N^{kN}=e^{-j2kN\pi/N}=e^{-j2k\pi} \equiv 1\end{displaymath}


  2. \begin{displaymath}w_{2N}^{2k}=e^{-j2k2\pi/2N}=e^{-jk2\pi/N} \equiv w_N^k\end{displaymath}


  3. \begin{displaymath}w_{2N}^{N} =e^{-j2N\pi/2N}=e^{-j\pi} \equiv -1 \end{displaymath}

Let $N=2M$, the above DFT can be written as

\begin{displaymath}X[n]=\sum_{m=0}^{N-1} x[m]w_{N}^{mn}
=\sum_{m=0}^{M-1} x[2m]w_{2M}^{2mn}+\sum_{m=0}^{M-1} x[2m+1]w_{2M}^{(2m+1)n} \end{displaymath}

The first summation has all the even terms and the second all the odd ones. Due to the 2nd property of $w_M$, the above can be rewritten as
\begin{displaymath}
X[n]= \sum_{m=0}^{M-1} x[2m]w_{M}^{mn}+
\sum_{m=0}^{M-1} x[...
...X_{even}[n]+X_{odd}[n] w_{2M}^n,\;\;\;\;\;\;\;(n=0,\cdots,M-1)
\end{displaymath} (1)

where

\begin{displaymath}X_{even}[n]\stackrel{\triangle}{=}\sum_{m=0}^{N-1} x[2m]w_{M}...
...d}[n]\stackrel{\triangle}{=}\sum_{m=0}^{N-1} x[2m+1]w_{M}^{mn} \end{displaymath}

are two $N/2$-point DFTs.

Here we let the index $n$ cover only the first half of the original range of the DFT, $ n=0, 1, \cdots, N/2-1=M-1 $. The second half can be obtained by replacing $n$ in Eq. (1) by $n+N$:

\begin{displaymath}X[n+M]=X_{even}[n+M]+X_{odd}[n+M] w_{2M}^{n+M} \end{displaymath}

Due to the first property of $w_M$, we have

\begin{displaymath}X_{even}[n+M]=\sum_{m=0}^{M-1} x[2m]w_{M}^{m(n+M)}
=\sum_{m=0}^{M-1} x[2m]w_{M}^{mn}=X_{even}[n]
\end{displaymath}

and similarly

\begin{displaymath}X_{odd}[n+M]=X_{odd}[n] \end{displaymath}

Also, due to the 3rd property of $w_M$, we have

\begin{displaymath}w_{2M}^{n+M}=w_{2M}^n w_{2M}^M=-w_{2M}^{n} \end{displaymath}

Now the second half of the DFT becomes
\begin{displaymath}
X[n+M]=X_{even}[n]-X_{odd}[n] w_{2M}^n
\end{displaymath} (2)

The N-point DFT can now be obtained from Eqs. (1), (2), once $X_{ever}[n]$ and $X_{odd}[n]$ are available. However, since $X_{even}[n]$ and $X_{odd}[n]$ are N/2-point DFTs, they can be obtained the same way. This process goes on recursively until finally only 1-point DFTs are needed, which are just the time samples themselves. Therefore, the operations of an N-point DFT can be symbolically represented by the following diagram. The complexity is therefore reduced from $O(N^2)$ to $O(N\; log_2 N)$.

fft_butter_fly.gif


next up previous
Next: Fourier Transform 2 Real Up: fourier Previous: An Example
Ruye Wang 2009-12-31