Beruflich Dokumente
Kultur Dokumente
Transforms
Content and Figures are from Discrete-Time Signal Processing, 2e by Oppenheim, Shafer, and Buck, ©1999-2000 Prentice Hall Inc.
Decimation-In-Time FFT Algorithms
• When the time domain sequence x(n) is decomposed in
to smaller subsequences to compute smaller DFT’s then
that algorithm is called as decimation-in-time(DIT)
algorithm.
• Makes use of both symmetry and periodicity.
• Consider special case of N an integer power of 2.
• Separate x[n] into two sequence of length N/2.
– Even indexed samples in the first sequence
– Odd indexed samples in the other sequence
N 1 N 1 N 1
X k x[n]e j 2 / N kn
x[n]e j 2 / N kn
x[ n ]e j 2 / N kn
n 0 n even n odd
r 0 r 0
N / 2 1 N / 2 1
X [k ] x[2r ]W
r 0
rk
N /2 W k
N x[
r 0
2 r 1]W rk
N /2
k N2
X [k ] Gk WN
N
2 H k for 0 k N2
i.e. X [5] G1 W85 H 1 X [6] G2 W86 H 2
N / 4 1 N / 4 1
G[k ] g[2l ]W
l 0
lk
N /4 W k
N /2 g
l 0
[ 2l 1]W lk
N /4
WNk / 2 WN2 k
N / 4 1 N / 4 1
G[k ] g[2l ]W
l 0
lk
N /4 W 2k
N g [
l 0
2l 1]W lk
N /4
• Complexity:
– Nlog2N complex multiplications and additions
20-09-2016 10:59 Dr. Mrs M R Patil 8
Butterfly Computation
• Flow graph constitutes of butterflies
20-09-2016 10:59 10
Dr. Mrs M R Patil
In place computation
• Decimation-in-time flow graphs require two sets of
registers
– Input and output for each stage
• Each stage computes N sets of complex numbers
from N complex inputs through basic butterfly.
• Suppose the mth stage computation results in Xm(l)
where l=0,1,…N-1 and m=1,2,..v. Let us think Xm(l) as
output array and Xm-1(l) the input array.
-4
-4
6
-4
10
20-09-2016 10:59
-4 Dr. Mrs M R Patil 14
• Substituting the values of twiddle factor in second stage
and computing the out of second 12 stage.
-4+4j
-4
-4-4j
16
W80
-4+4j
W81
-4
W82
-4-4j
W83
20-09-2016 10:59 Dr. Mrs M R Patil 15
• Substituting the values of twiddle factor and computing
the out of third stage.
12 = 28
12
-4+4j = -4+9.656j
-4+4j
-4 = -4+4j
-4
-4-4j
-4-4j = -4+1.656j
W80 1
16 =-4
16
W81 1
j
-4+4j 2 2
= -4-1.656j
4 2j
W82 j
-4 = -4-4j
4j
W83 1
j
-4-4j 2 2
= -4-9.656j
4 2j
20-09-2016 10:59 Dr. Mrs M R Patil 16
P2.Given x(n)={1,2,-1,2,4,2,-1,2}, find X[k] using DITFFT algorithm
• Here length of FFT=8, the flow graph can be drawn as
-3
-2
0
4
0
20-09-2016 10:59 Dr. Mrs M R Patil 18
• Substituting the values of twiddle factor in second stage
and computing the out of second 3stage.
-3
-3
-3 = -3
-3
7 =7
7
-3 -3 = -3
W80 1
8 =-5
8
W81 1
j
0
2 2
= -3
0
W82 j
0 =7
0
W83 1
j
0 2 2
= -3
0
20-09-2016 10:59 Dr. Mrs M R Patil 20
A Flow graph for 16 point DITFFT: I/P bit reversed and O/P in order
x(0)
x(8)
-1
x(4) W160 -1
x(12)
-1 W164 -1
x(2)
W160 -1
x(10) -1 W162 -1
x(6) W164
W160 -1 -1
x(14) -1 W164 W166 -1
-1
x(1) W160 -1
x(9) -1 W161 -1
x(5) W160 -1 W162 -1
x(13)
-1 W164 -1 W163 -1
x(3)
W160 -1 W164 -1
x(11) -1 -1
W162 W165 -1
x(7) W160 -1 W164 -1 W166 -1
x(15) -1 6
20-09-2016 10:59 W164 W16graph!!!!-1
Write-1O/P of the flow W167 -121
Twiddle factor values used in flow graph for N=16
W 0.924 j 0.3827
1
16
W162 1
2
j
2
W163 0.3827 j 0.924
W164 j W165 0.3827 j 0.924 W 6
16
1
2
j
2
W167 0.924 j 0.3827
P3.Find DFT of a sequence x(n)={1,2,3,4,4,3,2,1}using
DITFFT algorithm
X(k)={20,-5.827-j2.414,0,-0.173-j0.414,0,
-0.173+j0.414,0,-5.827+j2.414}
P4. Let a 8-point sequence x(n) = 2n using DITFFT
algorithm computing 8 point DFT
X(k)={255,48.64-j166.07,-51+j102,-78.64+j46.07,-85,
-78.64-j46.07 ,-51-j102 ,48.64+j166.07
20-09-2016 10:59 Dr. Mrs M R Patil 22
P5 : Let x(n) be the following 8 - point sequence
x(n) 1
2
,1, 1
2
,0, -1
2
,1, -1
2
,0
Use DITFFT algorithm to compute DFT.
n 0 n 0 n N / 2
N / 2 1 N 1
X 2r 1 x[n]W n 2 r 1
N /2 x[ n ]W n 2 r 1
N /2
n 0 n N / 2
n N2 2 r 1
WN WNn 2 r 1
N / 2 1
X 2r 1 x[n] x[n N / 2]W n 2 r 1
N
n 0
P[k] the N/2 point DFT of p[n] and Q[k] the N/2 point DFT of q[n] shall be
find out by splitting these into N/4 point DFT’s .
20-09-2016 10:59 Dr. Mrs M R Patil 26
Decimation-In-Frequency FFT Algorithm
• Decimating the N/2 point DFT into even index and odd index
2 1 4 1 2 1
N N N
4 1 2 1
N N
4 1 2 1
N N
P2l 1 p[n]WN 2
4 1
n 2l 1
p[n]WN 2 n 2l 1
N
4 1 4 1
N N
• Continuing this process till we remain with 2-point DFT at the end.
20-09-2016 10:59 Dr. Mrs M R Patil 27
Decimation-In-Frequency FFT Algorithm
• Final flow graph for 8-point decimation in frequency
2 2
2
1
1 1
0 2 W80 1 2
-1
1 W81 1
2
j
2
0 0.707-j0.707
-1
2 W8 j
2
0 -2j
-1
1W83 1
2
j
2 -0.707-j0.707
0
20-09-2016 10:59
-1 Dr. Mrs M R Patil 29
Second stage computation
2 4
1 2
2 0 W80 1
-1
1 0 W82 j
-1
2 2-2j
0.707-j0.707 -j1.414
0
0
0
0
-1
2-2j
2-j3.414
-j1.414 -1 2-j0.586
2+2j
2+j0.586
-j1.414 -1 2+j3.414
20-09-2016 10:59 Dr. Mrs M R Patil 31
31
P7.Find DFT of a sequence x(n)={1,2,3,4,4,3,2,1}using
DIFFFT algorithm 10
5 5
1 20
5 5 10
2 -1 0
3 5 5 0 W80
0
-1
5 5 0 W82 -j
4 0
-1 0 -1
-3 W80 -3 -3-j -5.827-j2.414
4
-1
1 -2.827-j1.414
-1 W8 -0.707+j0.707 -1
3 -1 -0.173+j0.414
1 2 0
X[k]={4,0,0,0}
W40
1 0 0
0 W41
1 0
1 2 2
0 0 2
0 H[k]={2,2,0,0}
1 0 W4 0
1
0 0 W4 0
20-09-2016 10:59 35
Dr. Mrs M R Patil
Y[k]= X[k].H[k] Y[k]={8,0,0,0}
• To find y(n)=x(n)⊛h(n), we shall compute IDFT of Y[k]
8 8 1/4
8 2
0 1/4 2
0 8
W40 1/4
0 2
8 8
W41 1/4
0 2
0 8
y(n)=x(n)⊛h(n)={2,2,2,2}
W160
W164
W160
W162
W164 W160
W166 W164
W160
W161
W162 W160
W163 W164
W164 W160
W165 W162
0 0
0
2+2j
1-j0.414 2+2j
0 4 W80 1 4
-1
1
-j2.828 W 8 1
2
j
2
1+j0.414 2-j2
-1
2
0 0 W8 j 0
-1
1+j2.414 -j2.828W83 1
2
j
2 2+2j
20-09-2016 10:59
-1 Dr. Mrs M R Patil 38
Second stage computation
4 4
2-2j 4
0 4 W80 1
-1
2
2+2j -4j W8 j
4
-1
4 4
2-2j 4
0 4 W80 1
-1
2+2j W82 j
-1 -4j 4
20-09-2016 10:59 Dr. Mrs M R Patil 39
Third stage computation
4 8 1/8 1
4 1/8
-1 0 0
4
8 1/8 1
4 1/8
-1 0 0
4 8 1/8 1
4 -1 1/8
0 0
4 8 1/8 1
x(n)={1,1,1,1,0,0,0,0} 4 -1 1/8 0
20-09-2016 10:59 Dr. Mrs M R Patil
0 40
40
P11.Find 8-point IDFT of a sequence
X[k]={36,-4+j9.7,-4+j4,-4+j1.7,-4, -4-j1.7,-4-4j,-4-j9.7} using DIFFFT algorithm.
36 32 32
-8+8j
-4+j9.7 -8+8j
-4+j4 -8
-8
-8-8j
-4+j1.7 -8-8j
-4 40 W80 1 40
-1
1
11.4j W 8 1
2
j
2
-4-j1.7 -8.061+8.061j
-1
2
-4-4j
8j W8 j -8
-1
-4-j9.7 11.4j W83 1
2
j
2 -8.061-8.061j
20-09-2016 10:59
-1 Dr. Mrs M R Patil 41
Second stage computation
32 24
-8+8j -16
-8 40 W80 1
-1
2
-8-8j 16j W8 j
-16
-1
40 32
-8.061+8.061j -16.121
-8 48 W80 1
-1
-8.061-8.061j W82 j
-1 16.121j -16.121
20-09-2016 10:59 Dr. Mrs M R Patil 42
Third stage computation
24 8 1/8 1
-16 1/8
-1 40 5
40 24 1/8 3
-16 1/8
-1 56 7
15.879 1/8
32 1.9848 2
-16.121 -1 1/8
48.121 6.0151 6
48 31.879 1/8 3.98 4
-16.121 -1 64.121 1/8 8.0151 8
x(n)={1,1.984,3,3.98,5,6.0151,7,8.0151} {1,2,3,4,5,6,7,8}
43
20-09-2016 10:59 Dr. Mrs M R Patil
43
P12. Consider x1(n)={1,0.5,0.25,0.125}, x2(n)={1,1,1,1}. Determine
X1[k] using DITFFT algorithm and X2[k] using DIFFFT algorithm.
Hence find circular convolution of x1(n)⊛x2(n).
Let us first determine X1[k] using DITFFT algorithm and then
X2[k] using DIFFFT algorithm. Then find IDFT of X1[k] . X2[k]
to findx1(n)⊛x2(n).
1.25 1.875
1
0.75
0.25
0.75-j0.375
0.625
0.5
0.625
-j
0.125
0.375 -j0.375 0.75+j0.375
20-09-2016 10:59 X1[k]={1.875,0.75-j0.375,0.625,0.75+j0.375}
Dr. Mrs M R Patil 44
X2[k] using DIFFFT algorithm
1 2 4 4
2 0
1 0
W40
1 0 0
0
W41
1 0
0 0
0 0 8 8 1/8
1
-4j 0 0 -8 1/8 -1
4j -8 -8 1/8
-1
-8j 8
2+2j 0 0 8 1/8 1
4-4j 8 1/8
2-2j 1
8j -8
2-2j 0 -8 1/8 -1
20-09-2016 10:59
x(n)={1,1,-1,-1,-1,1,1,-1}
Dr. Mrs M R Patil
0
46
P14.Find 8-point IDFT of a sequence
X[k]={4,1-j2.414,0,1-j0.414,0,1+j0.414,0,1+j2.414}
using DITFFT algorithm.
• Define y n
un r
un r
k x[r ]e
r
j 2 / N k n r
x[ r
r
]W k n r
N
• With this definition and using x[n]=0 for n<0 and n>N-1
X k yk n n N
• Computational complexity
– 4N real multiplications
– 2N real additions
– Slightly less efficient than the direct method
– It avoids storage of twiddle factor.
Copyright (C) 2005 Güner Arslan 351M Digital Signal Processing 49
P16.For sequence x(n)={2,0,2,0} determine X(2) using
Geortzel Filter. Assume the zero initial conditions.
• According to Geortzel algorithm X(k)=yk(n)|n=N.
• Where yk(n) is found using the following recursive
formula. yk n WNk yk n 1 x(n)
• In this equation k=2 and N=4, we get X(2)=y2(4)
y2 n W42 y2 n 1 x(n)
2k
vk n 2 cos vk n 1 vk n 2 x(n)
N
X [k ] yk (n) n N vk N WNk vk N 1
0 0
n 0
• Let R0ej0=V, then
N 1
X ( zk ) r e j0 ( R e j0 ) k x(n) r 0 e j 0 n
V nk
0 0
n 0
N 1
X ( zk ) r e j0 ( R e j0 ) k x(n) r 0 e j 0 n 12 n 2 12 k 2 1 ( k n)2
V V V 2
0 0
n 0
0 0
n 0
N 1
g (n)V
12 k 2 1 ( k n)2
X ( zk ) r j 0
( R0 e j0 ) k
V 2
0e
20-09-2016 10:59 Dr. Mrs M R Patil 55
n 0
Chirp Z-transform
N 1
12 k 2
X ( zk ) r e j0 ( R e j0 )k V y (k ) g (n)V
1 ( k n)2
y (k ) where 2
0 0
n 0
2/2
• The complex signal similar signal used in n
V is
radar systems and is called as chirp signal.
Hence known as chirp Z-transform
20-09-2016 10:59 Dr. Mrs M R Patil 56
Chirp Z-transform
• The block diagram representation of chirp z
transformer can be shown as
g(n)
1 n2
g ( n) V 2
x(n) Filter impulse response X(Zn)
1 n2
Impulse response V 2
r e
0
j 0 n
V
12 n 2 V
12 n 2