Fast Fourier Transform: Key Papers in Computer Science Seminar 2005 Dima Batenkov
Fast Fourier Transform: Key Papers in Computer Science Seminar 2005 Dima Batenkov
Dima Batenkov
Weizmann Institute of Science
dima.batenkov@gmail.com
p.1/33
Fast Fourier Transform - Overview
p.2/33
Fast Fourier Transform - Overview
p.2/33
Fast Fourier Transform - Overview
p.2/33
Fast Fourier Transform - Overview
p.2/33
» Fast Fourier Transform -
Overview
Fourier Analysis
» Fourier Series
» Continuous Fourier Transform
» Discrete Fourier Transform
» Useful properties 6
» Applications Fourier Analysis
p.3/33
Fourier Series
L L
» Useful properties 6
» Applications 2 n =1
p.4/33
Fourier Series
p.4/33
Fourier Series
p.4/33
Fourier Series
p.4/33
Continuous Fourier Transform
p.5/33
Discrete Fourier Transform
2πi
where W N = e− N and r = 0, 1, . . . , N − 1
The inverse transform:
N −1
1 − jk
X ( j) =
N ∑ A(k)W N
k =0
p.6/33
Useful properties 6
Linearity
(Cyclic) Convolution theorem
N −1
( x ∗ y)n = ∑ x (k)y(n − k)
k =0
⇒ F {( x ∗ y)} = F { X }F {Y }
Symmetries: real ↔ hermitian symmetric, imaginary ↔
hermitian antisymmetric
Shifting theorems
p.7/33
Applications
p.8/33
» Fast Fourier Transform -
Overview
p.9/33
Available methods
p.10/33
Goertzel’s algorithm 7
p.11/33
Goertzel’s algorithm 7
p.11/33
Goertzel’s algorithm 7
Then
2πj
B( j) = u(1) sin
N
2πj
A( j) = x (0) + cos u (1) − u (2)
N
p.11/33
Goertzel’s algorithm 7
p.11/33
» Fast Fourier Transform -
Overview
p.12/33
Factorial experiments
p.13/33
Factorial experiments
p.13/33
Factorial experiments
p.13/33
Factorial experiments
p.13/33
Factorial experiments
p.13/33
Good’s paper 9
p.14/33
Good’s paper 9
p.14/33
Good’s paper 9
p.14/33
Good’s paper 9
can be represented as
A = Ω[n] x, Ω = {Wrs
N} r, s = 0, . . . , N − 1
p.14/33
Good’s paper 9
can be represented as
A = Ω[n] x, Ω = {Wrs
N} r, s = 0, . . . , N − 1
p.14/33
Good’s results - summary
p.15/33
» Fast Fourier Transform -
Overview
The article
» James W.Cooley (1926-)
» John Wilder Tukey
(1915-2000)
» The story - meeting
» The story - publication
» What if...
The article
» Cooley-Tukey FFT
» FFT properties
» DIT signal flow
» DIF signal flow
p.16/33
James W.Cooley (1926-)
p.17/33
John Wilder Tukey (1915-2000)
p.18/33
The story - meeting
p.19/33
The story - meeting
computations from N 2 to N ( a + b)
» DIF signal flow
p.19/33
The story - meeting
computations from N 2 to N ( a + b)
» DIF signal flow
p.19/33
The story - meeting
computations from N 2 to N ( a + b)
» DIF signal flow
p.19/33
The story - publication
p.20/33
The story - publication
p.20/33
The story - publication
p.20/33
The story - publication
p.20/33
The story - publication
p.20/33
The story - publication
p.20/33
The story - publication
p.21/33
Cooley-Tukey FFT
jk
A( j) = ∑kN=−01 X (k)W N N = N1 N2
p.22/33
Cooley-Tukey FFT
jk
A( j) = ∑kN=−01 X (k)W N N = N1 N2
Convert the 1-D indices into 2-D
j = j0 + j1 N1 j0 = 0, . . . , N1 − 1 j1 = 0, . . . , N2 − 1
k = k 0 + k1 N2 k0 = 0, . . . , N2 − 1 k 1 = 0, . . . , N1 − 1
p.22/33
Cooley-Tukey FFT
jk
A( j) = ∑kN=−01 X (k)W N N = N1 N2
Convert the 1-D indices into 2-D
j = j0 + j1 N1 j0 = 0, . . . , N1 − 1 j1 = 0, . . . , N2 − 1
k = k 0 + k1 N2 k0 = 0, . . . , N2 − 1 k 1 = 0, . . . , N1 − 1
p.22/33
Cooley-Tukey FFT
jk
A( j) = ∑kN=−01 X (k)W N N = N1 N2
Convert the 1-D indices into 2-D
j = j0 + j1 N1 j0 = 0, . . . , N1 − 1 j1 = 0, . . . , N2 − 1
k = k 0 + k1 N2 k0 = 0, . . . , N2 − 1 k 1 = 0, . . . , N1 − 1
p.22/33
Cooley-Tukey FFT
jk
A( j) = ∑kN=−01 X (k)W N N = N1 N2
Convert the 1-D indices into 2-D
j = j0 + j1 N1 j0 = 0, . . . , N1 − 1 j1 = 0, . . . , N2 − 1
k = k 0 + k1 N2 k0 = 0, . . . , N2 − 1 k 1 = 0, . . . , N1 − 1
p.22/33
Cooley-Tukey FFT
jk
A( j) = ∑kN=−01 X (k)W N N = N1 N2
Convert the 1-D indices into 2-D
j = j0 + j1 N1 j0 = 0, . . . , N1 − 1 j1 = 0, . . . , N2 − 1
k = k 0 + k1 N2 k0 = 0, . . . , N2 − 1 k 1 = 0, . . . , N1 − 1
p.22/33
Cooley-Tukey FFT
jk
A( j) = ∑kN=−01 X (k)W N N = N1 N2
Convert the 1-D indices into 2-D
j = j0 + j1 N1 j0 = 0, . . . , N1 − 1 j1 = 0, . . . , N2 − 1
k = k 0 + k1 N2 k0 = 0, . . . , N2 − 1 k 1 = 0, . . . , N1 − 1
p.22/33
Cooley-Tukey FFT
p.22/33
Cooley-Tukey FFT
If N1 = N2 = · · · = Nn = 2 (i.e. N = 2n ):
j = jn−1 2n−1 + · · · + j0 , k = k n −1 2n −1 + · · · + k 0
1 1
jk
A( jn−1 , . . . , j0 ) = ∑ ··· ∑ X ( k n −1 , . . . , k 0 ) W N
k0 =0 k n −1 = 0
jk jk ×2 jkn−1 ×2n−1
=∑ W N0 ∑ W N1 · · · ∑ WN X ( k n −1 , . . . , k 0 )
k0 k1 k n −1
j k n −1
⇒ X j0 (k n−2 , . . . , k0 ) = ∑ X (k n−1 , . . . , k0 )W20
k n −1
j k n −2 j k n −2
X j1 ,j0 (k n−3 , . . . , k0 ) = ∑ W40 X j0 (k n−2 , . . . , k0 )W21
k n −2
( j0 +···+ jm−2 ×2m−2 ) kn−m
X jm−1 ,...,j0 (k n−m−1, . . . , k0 ) = ∑ W 2m X jm−2 ,...,j0 (k n−m , . . . , k0 )×
k n−m
j k n−m
× W2m−1
p.22/33
Cooley-Tukey FFT
The article
» James W.Cooley (1926-)
» John Wilder Tukey
(1915-2000)
» The story - meeting
» The story - publication
» What if...
» Cooley-Tukey FFT
» FFT properties
» DIT signal flow
» DIF signal flow
p.24/33
DIT signal flow
The article
» James W.Cooley (1926-)
» John Wilder Tukey
(1915-2000)
» The story - meeting
» The story - publication
» What if...
» Cooley-Tukey FFT
» FFT properties
» DIT signal flow
» DIF signal flow
p.24/33
DIT signal flow
The article
» James W.Cooley (1926-)
» John Wilder Tukey
(1915-2000)
» The story - meeting
» The story - publication
» What if...
» Cooley-Tukey FFT
» FFT properties
» DIT signal flow
» DIF signal flow
p.24/33
DIF signal flow
The article
» James W.Cooley (1926-)
» John Wilder Tukey
(1915-2000)
» The story - meeting
» The story - publication
» What if...
» Cooley-Tukey FFT
» FFT properties
» DIT signal flow
» DIF signal flow
p.25/33
DIF signal flow
The article
» James W.Cooley (1926-)
» John Wilder Tukey
(1915-2000)
» The story - meeting
» The story - publication
» What if...
» Cooley-Tukey FFT
» FFT properties
» DIT signal flow
» DIF signal flow
p.25/33
DIF signal flow
The article
» James W.Cooley (1926-)
» John Wilder Tukey
(1915-2000)
» The story - meeting
» The story - publication
» What if...
» Cooley-Tukey FFT
» FFT properties
» DIT signal flow
» DIF signal flow
p.25/33
» Fast Fourier Transform -
Overview
p.26/33
What happened after the publication
p.27/33
Danielson-Lanczos
p.28/33
Danielson-Lanczos
p.28/33
Danielson-Lanczos
p.28/33
Danielson-Lanczos
p.28/33
Danielson-Lanczos
k 1 =0 k 1 =0
p.28/33
Danielson-Lanczos
k 1 =0 k 1 =0
p.28/33
Danielson-Lanczos
k 1 =0 k 1 =0
Impact
» Impact
» Further developments
» Concluding thoughts
Impact
p.30/33
Impact
p.31/33
Further developments
p.32/33
Concluding thoughts
p.33/33
Concluding thoughts
p.33/33
Concluding thoughts
p.33/33
Concluding thoughts
p.33/33
Concluding thoughts
p.33/33
Concluding thoughts
p.33/33
Concluding thoughts
p.33/33
References
1. J. W. Cooley and J. W. Tukey. An algorithm for the machine calculation of complex Fourier series.
Mathematics of Computation, 19:297–301, 1965.
2. J. W. Cooley, P. A. Lewis, and P. D. Welch. History of the fast Fourier transform. In Proc. IEEE,
volume 55, pages 1675–1677, October 1967.
3. G. C. Danielson and C. Lanczos. Some improvements in practical Fourier analysis and their appli-
cation to X-ray scattering from liquids. J. Franklin Institute, 233:365–380 and 435–452, 1942.
5. W. M. Gentleman. An error analysis of Goertzel’s (Watt’s) method for computing Fourier coeffi-
cients. Comput. J., 12:160–165, 1969.
6. W. M. Gentleman and G. Sande. Fast Fourier transforms—for fun and profit. In Fall Joint Computer
Conference, volume 29 of AFIPS Conference Proceedings, pages 563–578. Spartan Books, Washington,
D.C., 1966.
7. G. Goertzel. An algorithm for the evaluation of finite trigonometric series. The American Mathe-
matical Monthly, 65(1):34–35, January 1958.
8. Herman H. Goldstine. A History of Numerical Analysis from the 16th through the 19th Century.
Springer-Verlag, New York, 1977. ISBN 0-387-90277-5.
9. I. J. Good. The interaction algorithm and practical Fourier analysis. Journal Roy. Stat. Soc., 20:
361–372, 1958.
10. M. T. Heideman, D. H. Johnson, and C. S. Burrus. Gauss and the history of the Fast Fourier
Transform. Archive for History of Exact Sciences, 34:265–267, 1985.
11. IEEE. Special issue on fast Fourier transform. IEEE Trans. on Audio and Electroacoustics, AU-17:
65–186, 1969.
12. Morgenstern. Note on a lower bound of the linear complexity of the fast Fourier transform. JACM:
Journal of the ACM, 20, 1973.
13. Philip Rudnick. Note on the calculation of Fourier series (in Technical Notes and Short Papers).
j-MATH-COMPUT, 20(95):429–430, July 1966. ISSN 0025-5718.
14. C. E. Shannon. Communication in the presence of noise. Proceedings of the IRE, 37:10–21, January
1949.
15. F. Yates. The design and analysis of factorial experiments, volume 35 of Impr. Bur. Soil Sci. Tech. Comm.
1937.
33-1