cooley-tukey fft algorithmssip.cua.edu/res/docs/courses/ee515/chapter08/ch8-2.pdfcooley-tukey fft...
Post on 25-Mar-2018
218 Views
Preview:
TRANSCRIPT
Copyright © S. K. Mitra1
CooleyCooley--Tukey Tukey FFT AlgorithmsFFT Algorithms• Consider a length-N sequence x[n] with an
N-point DFT X[k] where• Represent the indices n and k as
21NNN =
−≤≤−≤≤+= 10
10,2211
212 NnNnnnNn
−≤≤−≤≤+= 10
10,2211
211 NkNkkNkk
Copyright © S. K. Mitra2
CooleyCooley--TukeyTukey FFT Algorithms FFT Algorithms• Using these index mappings we can write
as∑=−
=
1
0][][
N
n
nkNWnxkX
][][ 211 kNkXkX +=
∑ ∑−
=
−
=
+++=1
0
1
0
))((212
2
2
1
1
211212][N
n
N
n
kNknnNNWnnNx
∑ ∑−
=
−
=+=
1
0
1
0212
2
2
1
1
212122112112][N
n
N
n
knNNN
knNN
knN
knNN WWWWnnNx
Copyright © S. K. Mitra3
CooleyCooley--TukeyTukey FFT Algorithms FFT Algorithms
• Since , ,and , we have
where and
11
1
112 knN
knNN WW = 22
2
221 knN
knNN WW =
12121 =knNNNW
][ 211 kNkX +
22
2
2
2
121
1
11
1
1
0
1
0212 ][ kn
N
N
n
knN
N
n
knN WWWnnNx∑
∑ +=
−
=
−
=
10 11 −≤≤ Nk 10 22 −≤≤ Nk
Copyright © S. K. Mitra4
CooleyCooley--TukeyTukey FFT Algorithms FFT Algorithms• The effect of the index mapping is to map the
1-D sequence x[n] into a 2-D sequence thatcan be represented as a 2-D array with specifying the rows and specifying thecolumns of the array
• Inner parentheses of the last equation is seento be the set of -point DFTs of the -columns:
1n2n
2N1N
∑−
=
−≤≤−≤≤+=
1
0 2211
212211
1
111 10
10,][],[N
n
knN Nn
NkWnnNxnkG
Copyright © S. K. Mitra5
CooleyCooley--TukeyTukey FFT Algorithms FFT Algorithms• Note: The column DFTs can be done in
place• Next, these row DFTs are multiplied in
place by the twiddle factors yielding
• Finally, the outer sum is the set of -pointDFTs of the columns of the array:
−≤≤−≤≤= 10
10],,[],[~2211
2112
21 NnNknkGWnkG kn
N
12knNW
∑−
=
−≤≤−≤≤=+
1
0 1010,],[~][
2
222
11222
21211N
n NkNkkn
NWnkGkNkX
2N
Copyright © S. K. Mitra6
CooleyCooley--TukeyTukey FFT Algorithms FFT Algorithms• The row DFTs, , can again be
computed in place• The input x[n] is entered into an array
according to the index map:
• Likewise, the output DFT samples X[k]need to extracted from the array accordingto the index map:
−≤≤−≤≤+= 10
10,2211
212 NnNnnnNn
−≤≤−≤≤+= 10
10,2211
211 NkNkkNkk
][ 211 kNkX +
Copyright © S. K. Mitra7
CooleyCooley--TukeyTukey FFT Algorithms FFT Algorithms
• Example - Let N = 8. Choose and
• Then
for and
21 =N42 =N
∑ ∑= =
+=+
3
048
1
022121
2
2221
1
11]4[]2[n
nknk
n
nk WWWnnxkkX
10 1 ≤≤ k 30 2 ≤≤ k
Copyright © S. K. Mitra8
CooleyCooley--TukeyTukey FFT Algorithms FFT Algorithms• 2-D array representation of the input is
• The column DFTs are 2-point DFTs givenby
• These DFTs require no multiplications
≤≤≤≤+−+= 30
10],4[)1(][],[21
21221 nknxnxnkG k
0 1 2 3
0 x[0] x[1] x[2] x[3]
1 x[4] x[5] x[6] x[7]
n1
n2
Copyright © S. K. Mitra9
CooleyCooley--TukeyTukey FFT Algorithms FFT Algorithms• 2-D array of row transforms is
• After multiplying by the twiddle factorsarray becomes
128
knW
n2k1
]3,1[]2,1[]1,1[]0,1[1]3,0[]2,0[]1,0[]0,0[0
3210
GGGGGGGG
k1
]3,1[~]2,1[~]1,1[~]0,1[~1]3,0[~]2,0[~]1,0[~]0,0[~0
3210
GGGGGGGG
n2
Copyright © S. K. Mitra10
CooleyCooley--TukeyTukey FFT Algorithms FFT Algorithms• Note:• Finally, the 4-point DFTs of the rows are
computed:
• Output 2-D array is given by
],[],[~21821
12 nkGWnkG kn=
≤≤≤≤=+ ∑
= 3010,],[~]2[
21
3
042121
2
22kkWnkGkkX
n
kn
0 1 2 3
0 X[0] X[2] X[4] X[6]
1 X[1] X[3] X[5] X[7]
k1k2
Copyright © S. K. Mitra11
CooleyCooley--TukeyTukey FFT Algorithms FFT Algorithms• The process illustrated is precisely the first
stage of the DIF FFT algorithm• By choosing and , we get
the first stage of the DIT FFT algorithm• Alternate index mappings are given by
−≤≤−≤≤+= 10
10,2211
211 NnNnnNnn
−≤≤−≤≤+= 10
10,2211
212 NkNkkkNk
41 =N 22 =N
Copyright © S. K. Mitra12
Prime Factor AlgorithmsPrime Factor Algorithms• Twiddle factors can be eliminated by
defining the index mappings as
• To eliminate the twiddle factors we need toexpress
−≤≤−≤≤>+<= 10
10,2211
21 NnNnBnAnn N
−≤≤−≤≤>+<= 10
10,2211
21 NkNkDkCkk N
22
2
11
1
2121 ))(( nkN
nkN
DkCkBnAnN WWW =++
Copyright © S. K. Mitra13
Prime Factor AlgorithmsPrime Factor Algorithms• Now
• It follows from above that if
then
))(( 2121 DkCkBnAnNW ++
22122111 kBDnN
kBCnN
kADnN
kACnN WWWW=
,, 12 NBDNAC NN =⟩⟨=⟩⟨
0=⟩⟨=⟩⟨ NN BCAD
22
2
11
1
2121 ))(( knN
knN
DkCkBnAnN WWW =++
Copyright © S. K. Mitra14
Prime Factor AlgorithmsPrime Factor Algorithms• One set of coefficients that eliminates the
twiddle factors is given by
• Here denotes the multiplicativeinverse of reduced modulo
• If thenor, in other words whereis any integer
,, 12 NBNA ==
211
111
22 , NN NNDNNC ⟩⟨=⟩⟨= −−
21
1 NN ⟩⟨ −
1N 2Nα=⟩⟨ −
21
1 NN 121 =⟩α⟨ NN⇒
121 += βα NN β
Copyright © S. K. Mitra15
Prime Factor AlgorithmsPrime Factor Algorithms• For example, if and , then since• Likewise, if , then
where is any integer• Now,
• Similarly,
41 =N 32 =N33 4
1 =⟩⟨ − 133 4 =⟩⋅⟨γ=⟩⟨ −
11
2 NN 112 += δγ NNδ
NNN NNNAC ⟩⟩⟨⋅⟨=⟩⟨ − )(1
1222
221212 )1( NNNNNN NN =⟩+δ⟨=⟩+δ⟨=
NNN NNNBD ⟩⟩⟨⋅⟨=⟩⟨ − )(2
1111
112121 )1( NNNNNN NN =⟩+β⟨=⟩+β⟨=
Copyright © S. K. Mitra16
Prime Factor AlgorithmsPrime Factor Algorithms• Next,
• Likewise,
• Hence,
0)(2
1112 =⟩α⟨=⟩⟩⟨⋅⟨=⟩⟨ −
NNNN NNNNAD
0)(1
1221 =⟩γ⟨=⟩⟩⟨⋅⟨=⟩⟨ −
NNNN NNNNBC
][][ 21 NDkkCXkX ⟩+⟨=
∑ ∑ ⟩+⟨=−
=
−
=
1
0
1
021
1
1
2
2
221112][N
n
N
n
knNN
knNNN WWBnAnx
Copyright © S. K. Mitra17
Prime Factor AlgorithmsPrime Factor Algorithms• Thus,
where
and
222
111
1
1
2
2
][1
0
1
021
knN
knN
N
n
N
nN WWBnAnx∑ ∑ ⟩+⟨=
−
=
−
=
222
2
2
1
012 ],[ kn
N
N
nWknG∑=
−
=
][ 21 NDkCkX ⟩+⟨
10,10 2211 −≤≤−≤≤ NkNk
111
1
1
][],[1
02112
knN
N
nN WBnAnxknG ∑ ⟩+⟨=
−
=
Copyright © S. K. Mitra18
Prime Factor AlgorithmsPrime Factor Algorithms• Example - Let N = 12. Choose and
• Then, A = 3, B = 4, C and
• The index mappings are
41 =N32 =N
933 41 =⟩⟨= −
444 31 =⟩⟨= −D
≤≤≤≤
⟩+⟨=2030
,432
11221 n
nnnn
≤≤≤≤
⟩+⟨=2030
,492
11221 k
kkkk
Copyright © S. K. Mitra19
Prime Factor AlgorithmsPrime Factor Algorithms• 2-D array representation of input is
• 4-point transforms of the columns lead ton2
n2n1
]5[]1[]9[3]2[]10[]6[2]11[]7[]3[1]8[]4[]0[0
210
xxxxxxxxxxxx
k1
]2,3[]1,3[]0,3[3]2,2[]1,2[]0,2[2]2,1[]1,1[]0,1[1]2,0[]1,0[]0,0[0
210
GGGGGGGGGGGG
Copyright © S. K. Mitra20
Prime Factor AlgorithmsPrime Factor Algorithms• Final DFT array is
• 4-point DFTs require no multiplications,whereas the 3-point DFTs require 4complex multiplications
• Thus, the algorithm requires 16 complexmultiplications
k2k1
]11[]7[]3[3]2[]10[]6[2]5[]1[]9[1]8[]4[]0[0
210
XXXXXXXXXXXX
Copyright © S. K. Mitra21
Chirp Chirp zz-Transform Algorithm-Transform Algorithm
• Let x[n] be a length-N sequence with aFourier transform
• We consider evaluation of M samples ofthat are equally spaced in angle on the unitcircle at frequencies
where the starting frequency and thefrequency increment can be chosenarbitrarily
10, −≤≤∆+= Mkkok ωωω
oωω∆
Copyright © S. K. Mitra22
Chirp Chirp zz-Transform Algorithm-Transform Algorithm• Figure below illustrates the problem
(M 1) o
unit circle
z planeIm
Re
Copyright © S. K. Mitra23
Chirp Chirp zz-Transform Algorithm-Transform Algorithm• The problem is thus to evaluate
or, with W defined as
to evaluate
10,][)(1
0−≤≤∑=
−
=
− MkenxeXN
n
njj kk ωω
ω∆−= jeW
nkN
n
njj WenxeX ok ∑=−
=
−1
0][)( ωω
Copyright © S. K. Mitra24
Chirp Chirp zz-Transform Algorithm-Transform Algorithm• Using the identity
we can write
• Lettingwe arrive at
2/)(2/2/1
0
222][)( nkknnjN
n
j WWWenxeX ok −−−
=∑= ωω
])([21 222 nkknnk −−+=
2/2][][ nnj Wenxng oω−=
,][)(1
0
2/)(2/ 22
∑=−
=
−−N
n
nkkj WngWeX kω
10 −≤≤ Mk
Copyright © S. K. Mitra25
Chirp Chirp zz-Transform Algorithm-Transform Algorithm• Interchanging k and n we get
• Thus, corresponds to theconvolution of the sequence g[n] with thesequence followed by multiplicationby the sequence as indicated below
,][)(1
0
2/)(2/ 22
∑=−
=
−−N
k
knnj WkgWeX nω
2/2nW2/2nW −
)( njeX ω
x[n]g[n]
2/2nnj We oω− 2/2nW
)( njeX ω2/2nW −
Copyright © S. K. Mitra26
Chirp Chirp zz-Transform Algorithm-Transform Algorithm
• The sequence can be thought of as acomplex exponential sequence with linearlyincreasing frequency
• Such signals, in radar systems, are calledchirp signals
• Hence, the name chirp transform
2/2nW −
Copyright © S. K. Mitra27
Chirp Chirp zz-Transform Algorithm-Transform Algorithm• For the evaluation of
the output of the system depicted earlierneed to be computed over a finite interval
• Since g[n] is a length-N sequence, only afinite portion of the infinite length sequence
is used in obtaining the convolutionsum over the interval
,][)(1
0
2/)(2/ 22
∑=−
=
−−N
k
knnj WkgWeX nω
2/2nW −
10 −≤≤ Mn
Copyright © S. K. Mitra28
Chirp Chirp zz-Transform Algorithm-Transform Algorithm• Typical signals
g[n]
n
N 10
W n2 /2
n0
M 1
W -n2 /2g[n] *
0n
Copyright © S. K. Mitra29
Chirp Chirp zz-Transform Algorithm-Transform Algorithm• The portion of the sequence used in
obtaining the convolution sum is from theinterval
• Let
as shown below
2/2nW −
−≤≤−−=
−
otherwise,0)1()1(,][
2/2 MnNWnhn
11 −≤≤+− MnN
n0 ↑↑
h[n]
1+− N 1−M
Copyright © S. K. Mitra30
Chirp Chirp zz-Transform Algorithm-Transform Algorithm• It can be seen that
• Hence, the computation of the frequencysamples can be carried out usingan FIR filter as indicated below
where
10],[O][O][ *2/*2 −≤≤=− MnnhngWng n
10),(][ −≤≤= MneXny njω
)( njeX ω
g[n]y[n]x[n] h[n]
2/2nnj We oω− 2/2nW
Copyright © S. K. Mitra31
Chirp Chirp zz-Transform Algorithm-Transform Algorithm• Advantages -• (1) N = M is not required as in FFT
algorithms• (2) Neither N nor M do not have to be
composite numbers• (3) Parameters and are arbitrary• (4) Convolution with h[n] can be
implemented using FFT techniques
oω ω∆
Copyright © S. K. Mitra32
Chirp Chirp zz-Transform Algorithm-Transform Algorithmg[n]
n
N 10
M 1
W -n2 /2g[n] *
0n
W n2 /2
n0
top related