120 likes | 431 Views
Fast (finite) Fourier Transforms ( FFTs ). Shirley Moore svmoore@utep.edu CPS5401 Fall 2013 svmoore.pbworks.com December 5 , 2013. Learning Objectives. After this lesson, you should be able to Define and describe the finite Fourier transform List applications of FFTs
E N D
Fast (finite) Fourier Transforms (FFTs) Shirley Moore svmoore@utep.edu CPS5401 Fall 2013 svmoore.pbworks.com December 5, 2013
Learning Objectives • After this lesson, you should be able to • Define and describe the finite Fourier transform • List applications of FFTs • Describe how the FFT is used for periodic time series analysis • Describe the idea behind the fast finite Fourier transform algorithm • Locate and use software and documentation for FFTs and parallel FFTs
Finite Fourier Transform • The finite, or discrete, Fourier transform of a complex vector y withnelements is another complex vector Y with n elements where ω is a complex nth root of unity
Applications of Fourier Transforms • Signal processing • When processing signals, such as audio, radio waves, light waves, seismic waves, and even images, Fourier analysis can isolate individual components of a compound waveform, concentrating them for easier detection and/or removal. A large family of signal processing techniques consist of Fourier-transforming a signal, manipulating the Fourier-transformed data in a simple way, and reversing the transformation. • Examples • X-ray crystallography to reconstruct a crystal structure from its diffraction pattern • Fourier transform ion cyclotron resonance mass spectrometry to determine the mass of ions from the frequency of cyclotron motion in a magnetic field. • Many other forms of spectroscopy also rely upon Fourier Transforms to determine the three-dimensional structure and/or identity of the sample being analyzed, including Infrared and Nuclear Magnetic Resonance spectroscopies. • Generation of sound spectrograms used to analyze sounds.
Applications of Fourier Transforms • 2D FFTs are used for synthetic aperture radar image processing. • 3D FFTs are used in molecular dynamics codes for computing long-range Coulombic effects via the particle-mesh Ewald method, and in density-functional electronic structure codes for alternating between real-space and reciprocal-space operator representations. • Solution of the discrete Poisson equation (see http://www.cs.berkeley.edu/~demmel/cs267/lecture24/lecture24.html )
Periodic Time Series Analysis • The tones generated by a touch-tone telephone and the Wolfer sunspot index are two examples of periodic time series, that is, functions of time that exhibit periodic behavior, at least approximately. • Fourier analysis allows us to estimate the period from a discrete set of values sampled at a fixed rate. • The following table shows the relationship between the various quantities involved in this analysis.
Fast Finite Fourier Transform • Direct application of the definition requires n multiplications and n additions for each of the n components of Y for a total of 2n2 floating-point operations. This does not include the generation of the powers of ω. A computer capable of doing one multiplication and addition every microsecond would require a million seconds, or about 11.5 days, to do a million-point FFT. • Several people discovered fast FFT algorithms independently and many people have since contributed to their development, but it was a 1965 paper by John Tukey of Princeton University and John Cooley of IBM Research that is generally credited as the starting point for the modern usage of the FFT. • Modern fast FFT algorithms have computational complexity O(n log2n) instead of O(n2).
FFT Resources • Fastest Fourier Transform in the West (FFTW) • www.fftw.org • Steve Plimpton’s parallel FFT research • http://www.sandia.gov/~sjplimp/algorithms.html#ffts • Evaluation of Parallel FFTs by EvangelosBrachos (Master’s thesis) • http://www.epcc.ed.ac.uk/wp-content/uploads/2011/11/EvangelosBrachos.pdf