Lec08computationofdft 230606124625 691907bf
Lec08computationofdft 230606124625 691907bf
Carrson C. Fung
Institute of Electronics
National Yang Ming Chiao Tung University
Overview
x[n]Wkn x[n]WNkn
0
N
– – –– – –
n ve e n
n od d
n2r n2r 1
N N
2 1 2 1
2rk (2r 1)k
x[2r]W x[2r N
1]W
r
0
N
r
0
N /2
2 2 j
2
N 2 j W
Since W
N
N /2
e e
N N
2 1 1
k 2
X [k ] x[2r]WN / 2 x[2r 1]WNrk/ 2
rk
N
W r –0 ––– –r–0 – – – –
N N
-point DFT -point DFT
2 2
G[k ] W
N H
k
[k ]
EEEC20034: Intro. to Digital
Signal 9
Processing
Radix-2: Decimation-in-Time
Algorithms (cont’d)
Note that G[k] and H[k] are periodic in k with
a period of N/2. Therefore for N = 8
X 4 G 4 W44 H 4
G 0 W
4 H0
4
Similar relationship can be exploited to obtain
X[5], X[6], and X[7]
N /21
G k g rW rk
N /2
r
0
N /41 N /41
g 2ℓ W 2kℓ
g 2ℓ 1 2ℓ1 k
N /2
ℓ0
ℓ W
N /2
N /41 0 N /41
g 2ℓ W kℓ
W g 2ℓ 1 kℓ
N /4
ℓ0 k
N /2 ℓ W
N /4
0
x[1] H[0]
N/4-point
N / 21
DFT WN/20
H k h rW rk
N /2
r
0
N / 41 N / 41 x[5] H[1]
h 2ℓ h 2ℓ 1 2ℓ1
2kℓ k
N /2
ℓ W Wℓ WN/2 1
N /2
0 0
N /41 N /41
h 2ℓ W kℓ
N /4 WN /2 h 2ℓ 1 kℓ
N /4
k
ℓ0 ℓ0 W
x[3] WN/22 H[2]
N/4-point
DFT
Assuming N = 8, the
(N/4)-point DFT is
actually a 2-point DFT
FFT Decomposition
H
For N I 512 D 512
W512
even-odd
permutation
D
H
W1024
1024, I512 512 W 512
H
j 2N j 2N 2 j
2
511
D512 Diag1, e , , , N , for N
e e 1024.
2
H j N kn , for n, k 0,,N 1
W 512 kn 2
e
H
I D
4 W4 4 even-odd
For N H
W8
8, I4 D4 W 4 permutation
H
2
j 2 j N 2 j
2
7
the input and output of the butterfly can be written as (see Figure 9.11)
X [ p] X [ p] W r X
[q]
m m1 N m1
X [q] X [ p] W r X
[q]
m m1 N m1
Only two registers are needed for computing a butterfly unit because Xm[p] and Xm[q] are
stored in the same storage registers as Xm-1[p] and Xm-1[q], respectively. This is because once
Xm[p] and Xm[q] are produced from Xm-1[p] and Xm-1[q], there is no need to store Xm-1[p] and Xm-
1[q] anymore, so we can place the new results, Xm[p] and Xm[q], into the storage location of Xm-
1[p] and Xm-1[q]
EEEC20034: Intro. to Digital
Signal 24
Processing
In-Place Computations (cont’d)
In order to retain the in-place computation property, the input data are accessed in the bit-reversed
order. This gives us an easy way to index the data
Note: The outputs are in the normal order (same as the “position”)
2 N N
x[n] N Wn0
W 2r[n N
W 2rnW rN
] 2rn
Wn0 2
W
N N
N
2 N
1
N
x[n] x n N N
2nr
n0 W 2
N
21
x[n] x n N nr
N 2
n0 2 W
n0
N
2 1 N 1
x n WN n 2r 1
x n WNn2r 1
n N
n0
2
N
N 1 2 1 N 2r
n 1
Let n n
N
, then x n W n 2r 1
N x n
n
N
WN 2
2
2
n
N
2
0
N
2 1
N 2r
N
2 1
x n N W n2r 1
N
W n
0
2
EEEC20034: Intro. to Digital
Signal 29
Processing
Radix-2 Decimation-in-
Algorithms
Frequency N
2 1
X 2r 1 x n WN n2r 1
W 2
N
N 2r 1 2 1
N n2r 1
N
x n W
2 N
n0 n0
N N 2r N
2r 1
2 2
Note WN W N
W N2
1 1.
Therefore N
N 1 2 1
x n W n 2r 1
N x n N W n2r 1
N
n
N n
0
2
2
So
N
2 N
1 2 1
X 2r 1 x n n 2r 1
N x n N W n2r 1
N
n n 2 WN2nr nr
W 0
N
0
N W
N /2
2 1 1
x n x N WNn2r N n nr
2
x n x
1
n WN W N /2
n0
n 2 n0
2
EEEC20034: Intro. to Digital
Signal 30
Processing
Radix-2 Decimation-in-
Frequency Algorithms (cont’d)
2N 1
X [2r] x[n] N nr
N2
x
n0
n 2 W
N 1
2
N n nr
x n x n 2 W NW N / 2
X 2r 1 n0
g[n] x[n] x n N
2
WNnr/2 is refers to
h[n] x[n] xn
the N /2-point DFT
N
2
EEEC20034: Intro. to Digital
Signal 31
Processing
Radix-2 Decimation-in-
Frequency Algorithms (cont’d)
We can further break into
even and odd groups (just like
DIT). Again, we can
reduce the two-multiplication
butterfly into one
multiplication. Hence, the
computational complexity is
about (N/2)log2 N. The in-
place computation property
holds if the outputs are in bit-
reversed order (when inputs
are in the normal order)
N1 ⏟ N
1
N 2 1 N 1
k1n2
x[N2n1 k1n1
k n
N 22 2
n2 0 n1
n ]W W W
0 – – –2 – – – – – factor
N1 -point
twiddle
– – – – – – – – N–-point– – – – – ––
2
First, perform a 3-point DFT for each of the five rows (Notations: x[n2,n1], G[n2,k1]):
40 W4 0 W40 1 1 1 1 1 1 1 1
W W
40
1
W 40 W4 1 W4 2 W4 3 W 41 W4 2 W4 3 1 j
W4 0 j 1
4 W4 2 W4 4 W4 6 1 W 42 W4 0 W42 1
W
W40 W4 6 W4 9 1 W 43 W4 2 W41 1
W4 3 1 j
For example, let N 16 N1 N2 4
2 1 x n2 j 1 x N / 4 n2 1 1 x N / 2 n2 j 11 x 3N / 4 n2
* 4n , k k k k
G
for k1 0,1, 2, n2 0,1,…(N , / 4)
1
3; 1 j
EEEC20034: Intro. to Digital
Signal 46
Processing 1
Radix-4 FFT
Each section Entire structure
EEEC20034: Intro. to Digital
Signal 48
Processing