Introduction To Fast Fourier Transform (FFT) Algorithms: R.C. Maher

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 8

Introduction to

Fast Fourier Transform (FFT)


Algorithms

R.C. Maher

ECEN4002/5002 DSP Laboratory


Spring 2003
Discrete Fourier Transform
(DFT)
The DFT provides uniformly spaced
samples of the Discrete-Time Fourier
Transform (DTFT)
DFT definition:
N 1 2nk 2nk
j 1 N 1
X [k ] x[n]e x[n] X [k ]e
j
N N

n 0 N n 0

Requires N2 complex multiplies and N(N-1)


complex additions
ECEN4002 Spring 2003 FFT Intro R. C. Maher 2
Faster DFT computation?
Take advantage of the symmetry and periodicity of
the complex exponential (let WN=e-j2/N)
symmetry: WNk [ N n ] WN kn (WNkn )*
periodicity: WNkn WNk [ n N ] WN[ k N ]n
Note that two length N/2 DFTs take less
computation than one length N DFT: 2(N/2)2<N2
Algorithms that exploit computational savings are
collectively called Fast Fourier Transforms

ECEN4002 Spring 2003 FFT Intro R. C. Maher 3


Decimation-in-Time Algorithm
Consider expressing DFT with even and
odd input samples:
N 1
X [k ] x[n]WNnk
n 0

x[ n
n even
]W N
nk
x[
n odd
n ]W nk
N

N 1 N 1
x[2r ](WN2 ) rk WNk x[2r 1](WN2 ) rk
2 2

r 0 r 0
N 1 N 1
x[2r ]WNrk/ 2 WNk x[2r 1]WNrk/ 2
2 2

r 0 r 0

ECEN4002 Spring 2003 FFT Intro R. C. Maher 4


DIT Algorithm (cont.)
Result is the sum of two N/2 length DFTs

X [k ] G
[k ] WNk H
[k ]
N/2 DFT N/2 DFT
of even samples of odd samples

Then repeat decomposition of N/2 to N/4 DFTs, etc.

N/2
x[0,2,4,6]
DFT
X[07]
N/2
x[1,3,5,7]
DFT
WN0... 7
ECEN4002 Spring 2003 FFT Intro R. C. Maher 5
Detail of Butterfly
Cross feed of G[k] and H[k] in flow
diagram is called a butterfly, due to shape

WNr
or simplify:

WN( r N 2 ) WNr -1
( WNr )

ECEN4002 Spring 2003 FFT Intro R. C. Maher 6


8-point DFT Diagram
x[0,4,2,6,
1,5,3,7] X[07]

WN0 1

WN0 1
WN0 1 WN2 1

WN0 1

WN0 1 WN1 1

WN0 1 WN2 1
WN0 1 WN2 WN3
1 1

ECEN4002 Spring 2003 FFT Intro R. C. Maher 7


Computation on DSP
Input and Output data
Real data in X memory
Imaginary data in Y memory
Coefficients (twiddle factors)
cos (real) values in X memory
sin (imag) values in Y memory
Inverse computed with exponent sign
change and 1/N scaling
ECEN4002 Spring 2003 FFT Intro R. C. Maher 8

You might also like