The FFT from Scratch — Why Convolution Turns into Multiplication
A from-zero walk through the Fourier transform: a smoothie metaphor, the spinning-needle intuition, the DFT formula, and the divide-and-conquer trick behind the FFT — ending with the polynomial-multiplication view that makes the convolution theorem feel obvious.
An Algorithm for the Machine Calculation of Complex Fourier Series (Cooley & Tukey
Primary source — what this article is built on
undefined2026-08-13
An Algorithm for the Machine Calculation of Complex Fourier Series (Cooley & Tukey"doi:10.1090/S0025-5718-1965-0178586-1https://www.ams.org/journals/mcom/1965-19-090/S0025-5718-1965-0178586-1/"1965)
Your Ear Already Does This
Play a C-major chord on a piano — three keys at once — and the air carries a single wave. A microphone records exactly that: one long column of numbers, "air pressure at each instant," with all three notes dissolved into it. And yet your ear pulls the three notes back apart without effort.
The Fourier transform is that trick, written down as mathematics: it unmixes a tangled wave into "how much of each pitch is inside." The FFT (Fast Fourier Transform) is the algorithm that makes the computation dramatically cheaper. It spread through the world via Cooley and Tukey's 1965 paper (the core idea appears in Gauss's notebooks from the early 1800s), and it routinely tops lists of the most important algorithms of the 20th century. It is the beating heart of signal processing.
The Metaphor: Guessing a Smoothie's Recipe
There are two "languages" for describing a signal.
- Time domain: the finished smoothie — a list of "the value at each instant." This is what microphones and sensors hand you directly
- Frequency domain: the recipe — a table of "which pitch, how strong, and with what timing offset"
The Fourier transform is a machine that takes one sip of the smoothie and recites the complete recipe. The inverse transform rebuilds the smoothie from the recipe. Nothing is lost in either direction — they are the same information written in two languages.
Why bother translating? Because different operations are easy in different languages. "Keep the low notes, remove the hiss" is hopeless to express directly on a waveform, but on the recipe side it's just "delete the high-frequency rows." The same is true of convolution, the subject of this article's subtitle: heavy labor in the time domain, a plain multiplication in the frequency domain.
The Intuition: Winding a Signal Around a Spinning Needle
So how do you measure "how much of frequency is inside"? This is the most beautiful part of the whole subject.
Picture a clock hand whose speed you control. To probe frequency , wind the signal around a needle that spins times per second, plotting it on a disc — at each instant, place a weight at the needle's tip, heavy when the signal is large, light when it is small.
- If the signal really contains an Hz component, the weights pile up on one side of the disc, and the disc's center of mass drifts away from the middle
- If it doesn't, the weights scatter evenly and the center of mass stays put
The distance of that drift is the strength of the component; its direction is the timing offset (the phase). To describe rotation with a single number we use the complex exponential (, the point on the unit circle at angle ). Complex numbers show up not to make things harder, but because they let "rotate" be written as one multiplication.
The Machinery: the Discrete Fourier Transform (DFT)
Computers don't hold continuous waves; they hold samples measured at regular intervals. The tool that unmixes them is the discrete Fourier transform (DFT), and its entire definition is one line:
Put in words: "wind the signal around a needle that makes exactly full turns across the samples, and compute the center of mass (times )." Here is the signal value at time step , is the direction the needle points at step , and the sum is the act of loading all the weights and finding the balance point. Sweep from to and you get every component, from the slowest wave to the fastest.
Each is a complex number: its magnitude is the component's strength, its angle is the phase. The spectrum display in any audio app is simply plotted across .
Computed Naively, That's N² Operations
Take equation (1) literally and each costs multiply-adds, and there are values of — about operations total. One second of CD-quality audio is 44,100 samples, and is roughly 1.9 billion operations. For one second of sound. That rules out real-time audio, video frames arriving dozens of times per second, and most of modern communications.
Just how different and are is better felt than told:
Now for the main event: the trick that crushes down to , and the payoff promised in the title — why convolution becomes multiplication.
Comments
Sign in to comment