Fast Fourier Transform
Fast Fourier Transform
Yi Cheng
Cal Poly Pomona
1
2-point FFT(DFT)
•X(k)
= (1/N)
Let N=2
X(0) = (1/2)[ x(0) + x(1)]
X(1) = (1/2)[ x(0) + x(1) ]
= (1/2)[ x(0) + x(1) ]
= (1/2)[ x(0) - x(1)]
2
2-point FFT
DC (k=0) Fundamental (First harmonic, k=1)
x(n)
n
n
3
2-point FFT
X(0)=x(0) + x(1)
x(0)
4
4-point FFT
2-pt FFT
x(0) X(0)
x(2) X(1)
even
x(1) X(2)
2-pt FFT
x(3) X(3)
W4
5
4-point FFT for a square wave
x(n)={1, 1, 0, 0}
2-pt FFT
1 1 2 X(0)
x(0)
0 1 1-j
x(2) X(1)
even
1 1 0 X(2)
x(1)
2-pt FFT
0 1 1+j
x(3) -j X(3)
W4
odd
6
x(n)={1,1,0,0}= 0.5+.707* cos(n𝞹/2-𝞹/4)
1.2
0.8
0.6
0.4
0.2
0
0 2 4 6 8 10 12
-0.2
-0.4
-0.6
x(n) DC Fundamental
7
8-point FFT
4-pt FFT (even)
x(0) X(0)
x(4) X(1)
x(2) X(2)
W4
x(6) X(3)
x(1) X(4)
4-pt FFT odd
W8
x(5) X(5)
W82
X(6)
x(3)
W4 W83
x(7) X(7)
8
x(n) =1, DC signal
2 4 8
1
0 0 0
1
2 0 0
1
0 0 0
1
2 4 0
1
0 0 0
1
2 0 0
1
0 0 0
1
9
x(n) =cos(2πn/8) , N=8, first harmonic
1 0 0 0
1
-1 2 2 4
.707
0 0 0 0
0
0 0 2
-.707 0
.707 0 0 0
-1
1.4124+j1.414 2
.-707 1.414 0
-.707
-.707 0 0 0
0
.707 -1.414 1.4124-j1.414 -2 4
.707
10
x(n) =sin(2πn/8) , N=8, first harmonic
0 0 0 0
0
0 0 -2j -4j
.707
1 1 0 0 0
-1 2 2j
.707 0
.707 0 0 0
0
.-707 1.414 1.414-1.414j -2j 0
-.707
.707 2.828 0
-1 0
-.707 1.414 1.414+1.414j -2j 4j
-.707
11
X(2) = 4/8 = X(6), N=8, Inverse FFT to
calculate x(n)
X(k)
0 0 1 1 x(n)
0
0 0 0 0
0
.5 1 -1 -1
.5
.5 0 0 0
0
0 0 0 1
0
0 0 0 0 0
0
.5 0 0 0 -1
0 0 0 0 0
0
12
x(n) =cos(2*2nπ/8) , N=8, 2nd harmonic
1 2 0 0
1
1 0 0 0
0
-1 -2 4 4
-1
-1 0 0 0
0
0 0 0 0
1
0 0 0 0 0
0
-1 0 0 0 4
0 0 0 0 0
0
13
x(n) =sin(2*2nπ/8) , N=8, 2nd harmonic
0 0 0 0
0
0 0 0 0
1
0 0 -4j
0
0
0 0 0
-1 0
1 2 0 0
0
1 0 0 0 0
1
-1 -2 4 4j
0
-1 0 0 0
0
-1
14
Periodic pulse x(n) = 1, 0 <= n <4
= 0, 4<= n < 8
1 1 2 4
1
0 1 1-j 1-2.414j
1
1 0 0
1
1
0 1 1+j
1 1-.414j
1 1 2 0
0
0 1 1-j -1.414j 1+.414j
0
1 1 0 0
0
0 1 1+j -1.414j 1+2.414j
0
15
8-point square wave
1.2
0.8
0.6
0.4
0.2
0
0 2 4 6 8 10 12 14 16
-0.2
-0.4
16
Triangular x(n) = {0,1,2,3,4,3,2,1}
0 4 8 16
0
4 -4 -4 -6.828
1
4 0 0
2
2
2 0 -4 -1.172
3
1 4 8 0
4
3 -2 -2-2j -2.828 -1.172
3
3 4 0 0
2
1 2 -2+2j 2.828 -6.828
1
17
Triangular wave
5
0
0 5 10 15 20 25 30 35
-1
18
Sawtooth x(n) = {0,1,2,3,4,5,6,7}
0 4 12 28
0
4 -4 -4+4j -4+9.656j
1
8 -4 -4+4j
2
2
6 -4 -4-4j -4+1.656j
3
1 6 16 -4
4
5 -4 -4+4j 5.656j -4-1.656j
5
3 10 -4 4j -4-4j
6
7 -4 -4-4j 5.656j -4+1.656j
7
19
Sawtooth wave
8
0
0 5 10 15 20 25 30 35
20
Inverse FFT for Periodic pulse
X(k)
4 4 8
4
4
0 4 4 8
1-2.414j
0 0 4
0 8
0 0 4
1-.414j 8
1-2.414j 2-2j 4 0
0
1+.414j 2.828-
1+.414j -2.828j 2.828j
4
0
1-.414j 2+2j -4j 0
0
1+2.414j 4
-2.828j 2.828 -2.828-
1+2.414j 2.828j 0
21