You are on page 1of 40

Efficient Computation of the DFT:

Fast Fourier Transform Algorithms


Textbooks:
1. Digital Signal Processing Principles, Algorithms and Applications, by
John G Proakis and Dimitris G Monalakis
2. Discrete-Time Signal Processing, by Allen V. Oppenheim and Ronald Schafer

Objective:
To study Efficient algorithms like Divide and Conquer (DITFFT, DIFFFT) algorithms to
minimize the computational complexity
and Goertzel Algorithms for computing the DFT via linear filtering
DFT plays an important role in many applications of Digital Signal Processing
• Linear Filtering
• Correlation Analysis
• Spectrum analysis

Efficient algorithms are available for DFT computation

Complexity in Direct computation of DFT:


• Each DFT point direct computation of X(k) involves
• N complex multiplications (4N real multiplications)
• N-1 complex additions (4N-2 real additions)
To compute All N points of the DFT we require complex multiplications and complex
additions
Two approaches for efficient compution:
1. Divide and Conquer approach (for composite N)
• Decomposition of an N-point DFT into successively smaller DFTs
• Decimation In Time FFT (DITFFT) Algorithm
• Decimation In Frequency (DIFFFT) Algorithm

2. Formulation of the DFT as a linear filtering operation on the data


• Goertzel Algorithm
• Chirp-z Transform
Radix-2 Algorithms
Decimation In Time FFT (DITFFT) Algorithm
• Decompose the computation into successively smaller DFT computations.
• We exploit both the symmetry and periodicity property of the complex exponential
• In this algorithm the decomposition is based on the sequence into successively smaller subsequences
Click to add text

N/2 point
DFT

N-point DFT

N/2 point
DFT
N/4
Point
DFT

N/4
Point
DFT

N/4
Point
DFT

N/4
Point
DFT
N/4
Point
DFT
𝑥 (0 ) X

𝑥 ( 4) X

𝑥 (2) X

𝑥 (6 ) 𝑋 ( 3)

𝑥 (1) X

𝑥 (5) X

𝑥 (3 ) X

𝑥 (7 ) X
Adder

𝑥 (0 ) X

𝑥 ( 4) X

𝑥 (2) X

𝑥 (6 ) 𝑋 ( 3)

𝑥 (1) X

𝑥 (5) X

𝑥 (3 ) X

𝑥 (7 ) X

Multiplier
FOR IDFT COMPUTATION
Decimation In Frequency FFT (DIFFFT) Algorithm
• Decompose the computation into successively smaller DFT computations.
• We exploit both the symmetry and periodicity property of the complex exponential
• In this algorithm the decomposition is based on the output sequence into successively smaller
subsequences
N/2 pt DFT

N-point DFT

N/2 pt DFT
Click to add text
Linear filtering approach to computation of DFT
• Geortzel Algorithm
• Exploits the periodicity of the phase factors
• DFT is computed as a linear convolution operation

We know that . We multiply this to DFT expression and we get


Click o add txt
Click to adtext

Click t add text

You might also like