Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage,...
-
Upload
bruce-harrington -
Category
Documents
-
view
214 -
download
0
Transcript of Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage,...
![Page 1: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/1.jpg)
Fast Fourier Transforms
Quote of the DayOn two occasions I have been asked, “Pray, Mr.
Babbage, if you put into the machine wrong figures, will the right answers come out?” I am not able
rightly to apprehend the kind of confusion of ideas that could provoke such a question.
Charles Babbage
Content and Figures are from Discrete-Time Signal Processing, 2e by Oppenheim, Shafer, and Buck, ©1999-2000 Prentice Hall Inc.
![Page 2: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/2.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 2
Discrete Fourier Transform
• The DFT pair was given as
• Baseline for computational complexity: – Each DFT coefficient requires
• N complex multiplications• N-1 complex additions
– All N DFT coefficients require• N2 complex multiplications• N(N-1) complex additions
• Complexity in terms of real operations• 4N2 real multiplications• 2N(N-1) real additions
• Most fast methods are based on symmetry properties– Conjugate symmetry– Periodicity in n and k
1N
0k
knN/2jekXN1
]n[x
1N
0n
knN/2je]n[xkX
knN/2jnkN/2jkNN/2jnNkN/2j eeee nNkN/2jNnkN/2jknN/2j eee
![Page 3: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/3.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 3
The Goertzel Algorithm
• Makes use of the periodicity
• Multiply DFT equation with this factor
• Define
• With this definition and using x[n]=0 for n<0 and n>N-1
• X[k] can be viewed as the output of a filter to the input x[n]– Impulse response of filter:
– X[k] is the output of the filter at time n=N
1ee k2jNkN/2j
1N
0r
nNrN/2j1N
0r
rnN/2jkNN/2j e]r[xe]r[xekX
r
rnkN/2jk rnue]r[xny
Nnk nykX
nue knN/2j
![Page 4: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/4.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 4
The Goertzel Filter
• Goertzel Filter
• Computational complexity– 4N real multiplications– 2N real additions– Slightly less efficient than the direct method
• Multiply both numerator and denominator
1k
N2
jk
ze1
1zH
21
1kN2
j
1kN2
j1kN2
j
1kN2
j
k
zzNk2
cos21
ze1
ze1ze1
ze1zH
![Page 5: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/5.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 5
Second Order Goertzel Filter
• Second order Goertzel Filter
• Complexity for one DFT coefficient– Poles: 2N real multiplications and 4N real additions – Zeros: Need to be implement only once
• 4 real multiplications and 4 real additions
• Complexity for all DFT coefficients– Each pole is used for two DFT coefficients
• Approximately N2 real multiplications and 2N2 real additions
• Do not need to evaluate all N DFT coefficients– Goertzel Algorithm is more efficient than FFT if
• less than M DFT coefficients are needed• M < log2N
21
1kN2
j
k
zzNk2
cos21
ze1zH
![Page 6: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/6.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 6
Decimation-In-Time FFT Algorithms
• 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
• Substitute variables n=2r for n even and n=2r+1 for odd
• G[k] and H[k] are the N/2-point DFT’s of each subsequence
1N
odd n
knN/2j1N
even n
knN/2j1N
0n
knN/2j e]n[xe]n[xe]n[xkX
kHWkG
W]1r2[xWW]r2[x
W]1r2[xW]r2[xkX
kN
12/N
0r
rk2/N
kN
12/N
0r
rk2/N
12/N
0r
k1r2N
12/N
0r
rk2N
![Page 7: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/7.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 7
Decimation In Time
• 8-point DFT example using decimation-in-time
• Two N/2-point DFTs– 2(N/2)2 complex multiplications– 2(N/2)2 complex additions
• Combining the DFT outputs– N complex multiplications– N complex additions
• Total complexity– N2/2+N complex multiplications– N2/2+N complex additions– More efficient than direct DFT
• Repeat same process – Divide N/2-point DFTs into – Two N/4-point DFTs– Combine outputs
![Page 8: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/8.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 8
Decimation In Time Cont’d
• After two steps of decimation in time
• Repeat until we’re left with two-point DFT’s
![Page 9: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/9.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 9
Decimation-In-Time FFT Algorithm
• Final flow graph for 8-point decimation in time
• Complexity:– Nlog2N complex multiplications and additions
![Page 10: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/10.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 10
Butterfly Computation
• Flow graph constitutes of butterflies
• We can implement each butterfly with one multiplication
• Final complexity for decimation-in-time FFT– (N/2)log2N complex multiplications and additions
![Page 11: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/11.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 11
In-Place Computation
• Decimation-in-time flow graphs require two sets of registers– Input and output for each stage
• Note the arrangement of the input indices– Bit reversed indexing
111x111X7x7X
011x110X3x6X
101x101X5x5X
001x100X1x4X
110x011X6x3X
010x010X2x2X
100x001X4x1X
000x000X0x0X
00
00
00
00
00
00
00
00
![Page 12: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/12.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 12
Decimation-In-Frequency FFT Algorithm
• The DFT equation
• Split the DFT equation into even and odd frequency indexes
• Substitute variables to get
• Similarly for odd-numbered frequencies
1N
0n
nkNW]n[xkX
1N
2/Nn
r2nN
12/N
0n
r2nN
1N
0n
r2nN W]n[xW]n[xW]n[xr2X
12/N
0n
nr2/N
12/N
0n
r22/NnN
12/N
0n
r2nN W]2/Nn[x]n[xW]2/Nn[xW]n[xr2X
12/N
0n
1r2n2/NW]2/Nn[x]n[x1r2X
![Page 13: Fast Fourier Transforms Quote of the Day On two occasions I have been asked, “Pray, Mr. Babbage, if you put into the machine wrong figures, will the right.](https://reader035.fdocuments.in/reader035/viewer/2022071710/56649dbc5503460f94aadddf/html5/thumbnails/13.jpg)
Copyright (C) 2005 Güner Arslan
351M Digital Signal Processing 13
Decimation-In-Frequency FFT Algorithm
• Final flow graph for 8-point decimation in frequency