Transcript Chapter 9

Chapter 9 Computation of the Discrete
Fourier Transform
9.1
9.2
9.3
9.4
9.5
decimation-in-time FFT Algorithms
decimation-in-frequency FFT Algorithms
IFFT Algorithm
FFT Algorithm of real sequence
practical considerations(software realization)
Direct computation:
N 1
X [k ] 

x[ n]W
n 0
N 1
x[n] 
1
N

kn
0  k  N 1
N
X [k ]W
k 0
 kn
0  n  N 1
N
Complex multiplication:
N2
Complex addition:
N ( N  1)
Real multiplication:
4N 2
Real addition:
4N 2
9.1 decimation-in-time FFT Algorithms
G[0]
x[0]
x[2]
x[4]
N/2 POINT
G[1]
DFT
G[2]
X[0]
X[1]
X[2]
G[3]
x[6]
x[1]
X[3]
H[0]
WN0
H[1]
WN1
Figure 9.3
X[4]
-1
x[3]
N/2 POINT
-1
H[2]
x[5]
x[7]
WN2
-1
DFT
H[3]
WN3
-1
X[5]
X[6]
X[7]
Figure 9.9
complex multiplica tions :
2
N N2
N
, ( N  1)
  2 
2
2
2
x[0]
N/4point
DFT
x[4]
x[2]
N/4point
G[0]
G1[1]
G[1]
G2[0]
WN0
DFT
DFT
x[6]
x[1]
G1[0]
X[0]
X[1]
G[2]
X[2]
-1
G2[1]
WN2
G[3]
X[3]
-1
N/4point
DFT
DFT
x[5]
H1[0]
H[0]
WN0
-1
H1[0]
H[1]
WN1
-1
H2[0]
x[3]
WN0
N/4point
DFT
H2[0]
WN2
H[3]
-1
DFT
WN2
-1
DFT
x[7]
H[2]
Figure 9.5
X[4]
-1
WN3
-1
X[5]
X[6]
X[7]
Figure 9.10
times of complex multiplica tion :
1 time / butterfly computatio n * N / 2 butterfly computatio ns / stage * log 2N stage
times of complex addition :
2 times / butterfly computatio n * N / 2butterfly computatio ns / stage * log 2N stage
strongpoint:in-place computations
shortcoming:non-sequential access of data
compare the operation quantity
alternative forms:
Figure 9.14
strongpoint:in-place computations
shortcoming:non-sequential access of data
Figure 9.15
shortcoming:not in-place computation
non-sequential access of data
Figure 9.16
shortcoming:not in-place computation
strongpoint: sequential access of data
9.2 decimation-in-frequency FFT Algorithms
Figure 9.17
Figure 9.19
Figure 9.18
Figure 9.20
the two kinds
of butterfly
computation
are transpose
of each other.
alternative forms:
Figure 9.22
Figure 9.23
Figure 9.24
9.3 IFFT Algorithm
N 1
kn
n 0
N
X [ k ]   x[ n]W
1
x[n] 
N
0  k  N 1
N 1
 kn
k 0
N
 X [k ]W
0  n  N 1
method1 : x  X
1。
kn
N
W
 kn
N
 W
1/ N
attention:the difference to transpose
DIT-FFTDIF-IFFT
X[0]
X[4]
1/2
1/2WN-0
1/2
1/2
1/2
1/2
x[0]
x[1]
-1
X[2]
X[6]
1/2WN-0
1/2
X[5]
1/2WN-2
1/2WN-0
1/2
1/2
X[7]
x[3]
-1
1/2WN-0
1/2
-1
1/2WN-0
1/2WN-1
1/2
-1
X[3]
x[2]
-1
-1
X[1]
1/2
1/2
-1
1/2WN-0
x[5]
-1
x[6]
1/2WN-3
1/2WN-2
-1
-1
1/2WN-2
1/2WN-0
x[4]
-1
-1
x[7]
DIF-FFTDIT-IFFT
X[0]
X[1]
1/2
1/2
1/2
1/2
1/2
1/2WN0
-1
1/2
X[2]
1/2WN0
1/2
1/2WN2
1/2WN0
x[0]
x[4]
x[2]
-1
1/2
X[3]
X[4]
X[5]
X[6]
X[7]
-1
-1
1/2WN0
1/2
1/2
1/2WN1
1/2
1/2WN0
-1
-1
-1
1/2WN2
-1
1/2
1/2WN2
1/2WN0
-1
1/2WN3
-1
1/2WN0
-1
-1
x[6]
x[1]
x[5]
x[3]
x[7]
2,
method 2 :
1
x[n] 
N
 kn
X [k ]W

N
k 0
N 1
*
0  n  N 1


kn
1 
1
*
*

X
[
k
]
W

FFT
X
[k ]



N
N  k 0
N
N 1

step:
(1)X*[k]
(2)FFT{ }
(3)()*/N
can transfer FFT subprogram directly
3。Method 3( exercise 9.1)
*
9.4 FFT Algorithm of real sequence
calculate two N po int real FFT by
one N po int complex FFT
(1) y[n]  x1[n]  jx2[n], n  0,...N  1
(2)Y [k ]  FFT { y[n]}, k  0,...N  1
Y [k ]  Y *[ N  k ]
(3) X1[k ] 
2
Y [k ]  Y *[ N  k ]
X 2[k ] 
, k  0,...N  1
2j
j (Y [k ]  Y *[ N  k ])

2
calculate one N po int real FFT by
one N / 2 po int complex FFT
(1) y[n]  x1[n]  jx2[n]  x[2n]  jx[2n  1], n  0,...N / 2  1
(2)Y [k ]  FFT { y[n]}, k  0,...N / 2  1
Y [k ]  Y *[ N / 2  k ]
(3) X1[k ] 
2
Y [k ]  Y *[ N / 2  k ]
X 2[k ] 
, k  0,...N / 2  1
2j
(4) X [k ]  X1[k ]  WNk X 2[k ], k  0,....N / 2  1
X [k  N / 2]  X1[k ]  WNk X 2[k ], k  0,....N / 2  1
9.5 practical considerations
in-place
computati
on
Figure 9.11
cause of bit-reversed order
binary coding for position:
000
001
010
011
100
101
110
111
must padding 0 to
N  2M
Figure 9.13
Coefficient:
WNr r=0,1,…N/2-1
summary:
9.1
9.2
9.3
9.4
9.5
decimation-in-time FFT Algorithms
decimation-in-frequency FFT Algorithms
IFFT Algorithm
FFT Algorithm of real sequence
practical considerations(software realization)
requirements:
1. derivation of decimation-in-time and decimation-in-frequency
FFT algorithms, and draw the graphs ;
2. draw flow graph of IFFT;
3. special arithmetic of real-sequence FFT;
4. concepts of in-place computation and bit-reversed order.