##### Personal tools
•
You are here: Home Lecture 9: The FFT

# Lecture 9: The FFT

##### Document Actions
Schedule :: The DFT :: Aliasing & Leakage :: Examples :: The FFT :: Convolution

The FFT is a way of organizing the computations necessary to compute the DFT in such a way that the same work is done, but with less effort. I like to think of this as a bicycle analogy. If I ride my bike from home to work, I use the same engine (me!) as if I walk in. But, by organizing my efforts better (by means of wheels and gears), the engine is able to work more efficiently, and I get here faster.

To gauge the improvement, let's first approximate how many computations are necessary to compute the DFT. If I have data points, I can compute one of the DFT outputs by the formula

There are terms in the summation, each of which requires a multiply (naturally, in the name of efficiency we would precompute and store all the complex exponential factors). So each points requires multiply-accumulate operations. There are points in the transform, so the overall DFT takes about multiply accumulates. If , this turns out to be a whopping 1,048,576 multiply-accumulates. We would say the complexity is , where the means order of'', which is to say, in the ballpark of.''

The FFT is able to reduce the computational requirements to about . For the case of this turns is 10240 operations, which is more than 100 times faster! And it provides exactly the same result. This speedup has enabled some algorithms to be developed and successfully deployed that never could have happened. Note that this speedup is entirely independent of the technology. It was 100 times faster 20 years ago, and will be 100 times faster 20 years from now. The discovery of the FFT laid the foundation for modern DSP, as well as a variety of computational disciplines. One of the morals of this story is that it pays to pay attention to how the computations are done!

We will not go into two many details of how the FFT works -- we need to leave something to ECE 5630. We can, however, give a brief summary. The basic technique is divide and conquer: we take a problem with points, and divide it into two problems of points. Since the complexity goes up as the square of the number of points, each of these problems is four times as easy as the problem. If we can put these two problems together to give the overall answer, then we have saved computations. We then take each of these problems and split them into problems, each of which is easier, and so on. At every level, we split the number of points that go into the computation, until we get down to a DFT in just two points. This is easy to compute. This subdivision shows why the number of points must be a power of two: we split by two at every stage in the process. This also shows why the complexity has the factor of in it: we can split by two that many times.

All good routines to numerically compute the DFT are based upon some form of FFT.

Copyright 2008, by the Contributing Authors. Cite/attribute Resource . admin. (2006, June 07). Lecture 9: The FFT. Retrieved January 07, 2011, from Free Online Course Materials — USU OpenCourseWare Web site: http://ocw.usu.edu/Electrical_and_Computer_Engineering/Signals_and_Systems/9_4node4.html. This work is licensed under a Creative Commons License