<< Chapter < Page Chapter >> Page >
Fast Fourier transform (FFT) algorithms efficiently compute the discrete Fourier transform (DFT).There are different types of FFT algorithms for different DFT lengths; lengths equal to a power of two are the simplest and by far the most commonly used.The prime-factor algorithm yields fast algorithms for some other lengths, and along with the chirp z-transform and Rader's conversion allow fast algorithms for DFTs of any length.

A fast Fourier transform , or FFT , is not a new transform, but is a computationally efficient algorithm for the computingthe DFT . The length- N DFT, defined as

X k n N 1 0 x n 2 n k N
where X k and x n are in general complex-valued and 0 k , n N 1 , requires N complex multiplies to compute each X k . Direct computation of all N frequency samples thus requires N 2 complex multiplies and N N 1 complex additions. (This assumes precomputation of the DFT coefficients W N n k 2 n k N ; otherwise, the cost is even higher.) For the large DFT lengths used in many applications, N 2 operations may be prohibitive. (For example, digital terrestrial television broadcastin Europe uses N = 2048 or 8192 OFDM channels, and the SETI project uses up to length-4194304 DFTs.)DFTs are thus almost always computed in practice by an FFT algorithm . FFTs are very widely used in signal processing, for applicationssuch as spectrum analysis and digital filtering via fast convolution .

History of the fft

It is now known that C.F. Gauss invented an FFT in 1805 or so to assist the computation of planetary orbits via discrete Fourier series . Various FFT algorithms were independently invented over the next twocenturies, but FFTs achieved widespread awareness and impact only with the Cooley and Tukey algorithm published in 1965, which cameat a time of increasing use of digital computers and when the vast range of applications of numerical Fourier techniques was becoming apparent.Cooley and Tukey's algorithm spawned a surge of research in FFTs and was also partly responsible for the emergence of Digital Signal Processing (DSP) as adistinct, recognized discipline. Since then, many different algorithms have been rediscovered or developed,and efficient FFTs now exist for all DFT lengths.

Summary of fft algorithms

The main strategy behind most FFT algorithms is to factor a length- N DFT into a number of shorter-length DFTs, the outputs of which are reused multipletimes (usually in additional short-length DFTs!) to compute the final results.The lengths of the short DFTs correspond to integer factors of the DFT length, N , leading to different algorithms for different lengths and factors.By far the most commonly used FFTs select N 2 M to be a power of two, leading to the very efficient power-of-two FFT algorithms , including the decimation-in-time radix-2 FFT and the decimation-in-frequency radix-2 FFT algorithms, the radix-4 FFT ( N 4 M ), and the split-radix FFT . Power-of-two algorithms gain their high efficiencyfrom extensive reuse of intermediate results and from the low complexity of length-2 and length-4DFTs, which require no multiplications. Algorithms for lengths with repeated common factors (such as 2 or 4 in the radix-2 and radix-4 algorithms, respectively) require extra twiddle factor multiplications between the short-length DFTs, which together leadto a computational complexity of O N N , a very considerable savings over direct computation of the DFT.

The other major class of algorithms is the Prime-Factor Algorithms (PFA) . In PFAs, the short-length DFTs must be of relatively prime lengths.These algorithms gain efficiency by reuse of intermediate computations and by eliminating twiddle-factor multiplies,but require more operations than the power-of-two algorithms to compute the short DFTs of various prime lengths. In the end, the computational costs of the prime-factorand the power-of-two algorithms are comparable for similar lengths, as illustrated in Choosing the Best FFT Algorithm . Prime-length DFTs cannot be factored into shorter DFTs,but in different ways both Rader's conversion and the chirp z-transform convert prime-length DFTs into convolutions of other lengths that can be computed efficiently using FFTsvia fast convolution .

Some applications require only a few DFT frequency samples, in which case Goertzel's algorithm halves the number of computations relative to the DFT sum. Other applications involve successive DFTs of overlappedblocks of samples, for which the running FFT can be more efficient than separate FFTs of each block.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, The dft, fft, and practical spectral analysis. OpenStax CNX. Feb 22, 2007 Download for free at http://cnx.org/content/col10281/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'The dft, fft, and practical spectral analysis' conversation and receive update notifications?

Ask