You are on page 1of 8

Introduction to

Fast Fourier Transform (FFT)


Algorithms
R.C. Maher
ECEN4002/5002 DSP Laboratory
Spring 2002

Discrete Fourier Transform


(DFT)
The DFT provides uniformly spaced
samples of the Discrete-Time Fourier
Transform (DTFT)
DFT definition:
N 1

X [k ] x[n]e

2nk
N

n 0

1
x[n]
N

N 1

X [k ]e

2nk
N

n 0

Requires N2 complex multiplies and N(N-1)


complex additions
ECEN4002

FFT Intro

R.

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

FFT Intro

R.

Decimation-in-Time Algorithm
Consider expressing DFT with even and
odd input samples:
N 1

X [k ] x[n]WNnk
n 0

nk
x
[
n
]
W

n even
N
2

nk
x
[
n
]
W

n odd

N
2

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


r 0
N
2

r 0

N
2

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


r 0

ECEN4002

FFT Intro

r 0

R.

DIT Algorithm (cont.)


Result is the sum of two N/2 length DFTs

X [k ]

G
[k ]

N/2 DFT
of even samples

WNk H
[k ]

N/2 DFT
of odd samples

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


x[0,2,4,6]

N/2
DFT

X[07]
x[1,3,5,7]

N/2
DFT

WN0...7

ECEN4002

FFT Intro

R.

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

( WNr )

ECEN4002

FFT Intro

-1

R.

8-point DFT Diagram


x[0,4,2,6,
1,5,3,7]

X[07]
WN0

1
WN0

WN0

WN0

WN2

1
WN0

WN0

WN2

FFT Intro

WN1

WN2

WN3

ECEN4002

WN0

R.

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

FFT Intro

R.

You might also like