2. INTRODUCTION
• All Periodic Waves Can be Generated by
Combining Sin and Cos Waves of Different
Frequencies
• Number of Frequencies may not be finite
• Fourier Transform Decomposes a Periodic
Wave into its Component Frequencies
3. DFT Definition
• Sample consists of n points, wave amplitude at
fixed intervals of time:
(p0,p1,p2, ..., pn-1) (n is a power of 2)
• Result is a set of complex numbers giving
frequency amplitudes for sin and cos components
• Points are computed by polynomial:
P(x)=p0+p1x+p2x2+ ... +pn-1xn-1
4. DFT Definition, continued
• The complete DFT is given by
P(1), P(w), P(w2), ... ,P(wn-1)
• w Must be a Primitive nth Root of Unity
• wn=1, if 0<i<n then wi ¹ 1
5. Divide and Conquer Method
• Compute an n-point DFT using one or more n/2-
point DFTs
• Need to find Terms involving w2 in following
polynomial
• P(w)=p0+p1w+p2w2+p3w3+p4w4+ ... +pn-1wn-1
Even/Odd Separation
• P(w)= P1(w)+P2(w)
• P1(w)=p0+p2w2+p4w4+ ... +pn-2wn-2
• P1(w)=Pe (w2)=p0+p2w+p4w1+...+pn-2w(n-2)/2
6. Even/Odd Separation Contd.
• P(w)= P1(w)+P2(w)
• P1(w)=p0+p2w2+p4w4+ ... +pn-2wn-2
• P1(w)=Pe (w2)=p0+p2w+p4w1+...+pn-2w(n-2)/2
• P2(w)=p1w+p3w3+p5w5+ ... +pn-1wn-1
• P2(w)= w P3(w)=p1+p3w2+... +pn-1wn-2
• P3(w)=Po(w2)= p1+p3w+... +pn-1w(n-2)/2
• P(w)= Pe(w2)+ wPo(w2)
• Pe & Po come from n/2 point FFTs
7. Fast Fourier Transform Algorithms
• Consider DTFT
• Basic idea is to split the sum into 2 subsequences of length
N/2 and continue all the way down until you have N/2
subsequences of length 2
Log2(8)
N
8. Radix-2 FFT Algorithms - Two point FFT
• We assume N=2^m
– This is called Radix-2 FFT Algorithms
• Let’s take a simple example where only two points are given n=0, n=1; N=2
y0
y1
y0
Butterfly FFT
Advantage: Less
computationally
intensive: N/2.log(N)
9. General FFT Algorithm
• First break x[n] into even and odd
• Let n=2m for even and n=2m+1 for odd
• Even and odd parts are both DFT of a N/2 point
sequence
• Break up the size N/2 subsequent in half by letting
2mm
• The first subsequence here is the term x[0], x[4], …
• The second subsequent is x[2], x[6], …
1
1
)
2
sin(
)
2
cos(
)
]
1
2
[
(
]
2
[
2
/
2
2
/
2
/
2
/
2
/
2
/
2
/
2
/
2
1
2
/
0
2
/
1
2
/
0
2
/
N
N
j
N
N
m
N
N
N
m
N
N
m
N
mk
N
mk
N
N
m
mk
N
k
N
N
m
mk
N
W
j
e
W
W
W
W
W
W
W
m
x
W
W
m
x
W