<< Chapter < Page Chapter >> Page >
This module describes the fast Fourier Transform (FFT).

Introduction

The Fast Fourier Transform (FFT) is an efficient O(NlogN) algorithm for calculating DFTsThe FFT exploits symmetries in the W matrix to take a "divide and conquer" approach. We will first discuss deriving the actual FFTalgorithm, some of its implications for the DFT, and a speed comparison to drive home the importance of this powerful algorithm.

Deriving the fft

To derive the FFT, we assume that the signal's duration is a power of two: N 2 l . Consider what happens to the even-numbered and odd-numbered elements of the sequence in the DFT calculation.

S k s 0 s 2 2 2 k N s N 2 2 N 2 k N s 1 2 k N s 3 2 2 1 k N s N 1 2 N 2 1 k N s 0 s 2 2 k N 2 s N 2 2 N 2 1 k N 2 s 1 s 3 2 k N 2 s N 1 2 N 2 1 k N 2 2 k N

Each term in square brackets has the form of a N 2 -length DFT. The first one is a DFT of the even-numbered elements, and the second of the odd-numbered elements. Thefirst DFT is combined with the second multiplied by the complex exponential 2 k N . The half-length transforms are each evaluated at frequency indices k 0 N 1 . Normally, the number of frequency indices in a DFT calculation range between zero and the transform length minusone. The computational advantage of the FFT comes from recognizing the periodic nature of the discrete Fouriertransform. The FFT simply reuses the computations made in the half-length transforms and combines them through additions andthe multiplication by 2 k N , which is not periodic over N 2 , to rewrite the length-N DFT. [link] illustrates this decomposition. As it stands, we now compute two length- N 2 transforms (complexity 2 O N 2 4 ), multiply one of them by the complex exponential (complexity O N ), and add the results (complexity O N ). At this point, the total complexity is still dominated by the half-length DFT calculations, but the proportionalitycoefficient has been reduced.

Now for the fun. Because N 2 l , each of the half-length transforms can be reduced to two quarter-length transforms, each of these to two eighth-lengthones, etc. This decomposition continues until we are left with length-2 transforms. This transform is quite simple, involvingonly additions. Thus, the first stage of the FFT has N 2 length-2 transforms (see the bottom part of [link] ). Pairs of these transforms are combined by adding one to the other multiplied by a complexexponential. Each pair requires 4 additions and 4 multiplications, giving a total number of computations equaling 8 N 4 N 2 . This number of computations does not change from stage to stage. Because the number of stages, the number of times thelength can be divided by two, equals 2 logbase --> N , the complexity of the FFT is O N N .

Length-8 dft decomposition

The initial decomposition of a length-8 DFT into the terms using even- and odd-indexed inputs marks the first phase ofdeveloping the FFT algorithm. When these half-length transforms are successively decomposed, we are left with the diagram shownin the bottom panel that depicts the length-8 FFT computation.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Signals and systems. OpenStax CNX. Aug 14, 2014 Download for free at http://legacy.cnx.org/content/col10064/1.15
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Signals and systems' conversation and receive update notifications?

Ask