2. FAST FOURIER TRANSFORM ALGORITHMS
The basic idea behind the fast Fourier transform (FFT)
Decompose the N-point DFT computation into computations of smaller-size DFTs
Take advantage of the periodicity and symmetry of the complex number .
Assuming that N is an even number. Divide the data sample into two groups by
decimation
2
1
2
,...1,0'
)1'2()'(
)'2()'(
N
nfor
nxnv
nxnu
)...7()3();5()2();3()1();1()0(
)...6()3();4()2();2()1();0()0(
xvxvxvxv
xuxuxuxu
3. FAST FOURIER TRANSFORM ALGORITHMS
Consider special case of N an integer power of 2
Separate x[n] into two sequence of length N/2
Even indexed samples in the first sequence
Odd indexed samples in the other sequence
Substitute variables n=2r for n even and n=2r+1 for odd
3
1
oddn
/2
1
evenn
/2
1
0
/2
][][][
N
knNj
N
knNj
N
n
knNj
enxenxenxkX
1
2
]12[]2[
1
2
0]12[]2[
12/
0r
)2/(
2/
12/
0r
)2/(
2/
12/
0r
2/
12/
0r
2/
Nk
N
WrxWWrx
N
kWrxWWrx
kX
N
Nkr
N
k
N
N
Nkr
N
N
rk
N
k
N
N
rk
N
4. Computation Complexity
To calculate the DFT of N-Points discrete time signal, we need:
(N-1)2 Complex Multiplications
N(N-1) Complex Additions.
To calculate the FFT of N-Points discrete time signal, we need:
Complex Multiplications
Complex Additions.
4
NlogN 2
Nlog
2
N
2
5. Decimation In Time
8-point DFT example using decimation-in-time
Two N/2-point DFTs
2(N/2)2 complex multiplications
2(N/2)2 complex additions
Combining the DFT outputs
N complex multiplications
N complex additions
Total complexity
N2/2+N complex multiplications
N2/2+N complex additions
More efficient than direct DFT
Repeat same process
Divide N/2-point DFTs into
Two N/4-point DFTs
Combine outputs
5
6. 6
After two steps of decimation in time
On
the whiteboard
Repeat until we’re left with two-point DFT’s
On
the whiteboard
Decimation In Time