.1 decimation-in-time FFT Algorithms .2 decimation-in-frequency FFT Algorithms .3 IFFT Algorithm .4 FFT Algorithm of real sequence .5 practical considerations ( software realization) Chapter 9 Computation of the Discrete Fourier Transform
Mar 19, 2016
9.1 decimation-in-time FFT Algorithms9.2 decimation-in-frequency FFT Algorithms9.3 IFFT Algorithm9.4 FFT Algorithm of real sequence9.5 practical considerations( software realization)
Chapter 9 Computation of the Discrete Fourier Transform
10][1][
10][][
1
0
1
0
NnNkn
WkXN
nx
NkNkn
WnxkX
N
k
N
n
Direct computation:
Complex multiplication: 2N
)1( NNComplex addition:
Real multiplication:
Real addition:
24N
24N
9.1 decimation-in-time FFT Algorithms
-1
-1
-1
-1
WN0
WN1
WN2
WN3 x[7]
x[5]
x[3]
x[1]
x[6]
x[4]
x[2]
x[0]
H[2]
H[3]
H[1]
H[0]
G[3]
G[2]
G[1]
G[0] X[0]
X[1]
X[2]
X[3]
X[4]
X[5]
X[6]
X[7]
N/2 POINT DFT
N/2 POINT
DFT
Figure 9.3
Figure 9.9
)1(,22
22
:22
NNNN
tionsmultiplicacomplex
G1[0] G[0]
WN2
WN0
WN2
WN0
H1[0]
H1[0]
H2[0]
H2[0]
G1[1]
G2[1]
G2[0]
WN0 H[0]
-1
WN1
WN2
WN3 x[7]
x[3]
x[5]
x[1]
x[6]
x[2]
x[4]
x[0]
H[2]
H[3]
H[1]
G[3]
G[2]
G[1]
N/4point
DFT DFT
X[0]
X[1]
X[2]
X[3]
X[4]
X[5]
X[6]
X[7]
N/4point
DFT DFT N/4point
DFT DFT N/4point
DFT DFT
-1
-1
-1
-1
-1
-1
-1
Figure 9.5
Figure 9.10
stagelog*stage/nscomputatiobutterfly 2/*n computatiobutterfly / times2
addition complex of timesstagelog*stage/nscomputatiobutterfly 2/*ncomputatiobutterfly / time1
tionmultiplicacomplex of times
2
2
N
N
N
N:
:
strongpoint: in-place computationsshortcoming: non-sequential access of data
compare the operation quantity
Figure 9.14alternative forms:
strongpoint: in-place computationsshortcoming: 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.
Figure 9.22alternative forms:
Figure 9.23
Figure 9.24
10][1][
10][][
1
0
1
0
NnNkn
WkXN
nx
NkNkn
WnxkX
N
k
N
n
9.3 IFFT Algorithm
NWW
Xxmethodkn
NknN
/1
:1
attention: the difference to transpose
1。
X[4] 1/2WN-0
1/2
1/2
1/2
1/2
1/2
1/2
1/2
1/2
1/2
1/2
1/2 1/2
1/2WN-2
1/2WN-0
1/2WN-0
1/2WN-0
1/2WN-0
1/2WN-0
1/2WN-0
-1
1/2WN-2
1/2WN-1
1/2WN-2
1/2WN-3 X[7]
X[3]
X[5]
X[1]
X[6]
X[2]
X[0] x[0]
x[1]
x[2]
x[3]
x[4]
x[5]
x[6]
x[7]
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
DIT-FFTDIF-IFFT
-1 1/2WN
1
1/2WN3 1/2WN
2
1/2WN2
1/2WN0
1/2WN0
1/2WN0
1/2WN0
1/2
-1
1/2
1/2
1/2
1/2
1/2
1/2
1/2
1/2
1/2
1/2
1/2
-1
-1
-1 1/2WN
0
1/2WN0
1/2WN0
1/2WN2
-1
-1
-1
-1 -1
-1
-1 X[7]
X[6]
X[5]
X[4]
X[3]
X[2]
X[1]
X[0] x[0]
x[4]
x[2]
x[6]
x[1]
x[5]
x[3]
x[7]
DIF-FFTDIT-IFFT
***1
0
*
1
0
][1][1
10][1][
:2
kXFFTNN
knWkX
N
NnNkn
WkXN
nx
method
N
k
N
k
step:( 1) X*[k]( 2) FFT{ }( 3)() */Ncan transfer FFT subprogram directly
2,
3。Method 3( exercise 9.1)
9.4 FFT Algorithm of real sequence
2])[][(
1,...0,2
][][][
*
*
2
kNYkYj
Nkj
kNYkYkX
2][][][)3(
*
1kNYkY
kX
1,...0]},[{][)2( NknyFFTkY
1,...0],[][][)1( 21 Nnnjxnxny
FFTcomplexpoNonebyFFTrealpoNtwocalculate
intint
12/,....0],[][]2/[
12/,....0],[][][)4(
21
21
NkkXWkXNkX
NkkXWkXkXkN
kN
12/,...0,2
]2/[][][*
2
Nkj
kNYkYkX
2]2/[][][)3(
*
1kNYkYkX
12/,...0]},[{][)2( NknyFFTkY
12/,...0],12[]2[][][][)1( 21 Nnnjxnxnjxnxny
FFTcomplexpoNonebyFFTrealpoNonecalculate
int2/int
9.5 practical considerations
Figure 9.11
in-place computati
on
Figure 9.13
cause of bit-reversed order
binary coding for position:000001
010011
100101
110111
MN 2
must padding 0 to
Coefficient: WN
r r=0,1,…N/2-1
summary:
9.1 decimation-in-time FFT Algorithms9.2 decimation-in-frequency FFT Algorithms9.3 IFFT Algorithm9.4 FFT Algorithm of real sequence9.5 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.