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-FFTDIF-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-FFTDIT-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.