Strike a chord on a piano — C, E, and G at once. What you hear is a single complicated sound: one pressure wave hitting your eardrum.
Your brain hears three notes.
Something inside your ear untangles the chord into its components — three separate pitches, each with their own volume. You don't consciously do this. It just happens.
The Fourier Transform is the mathematics that does the same thing. It takes any signal — however jagged and complicated — and tells you exactly which pure frequencies it contains, and how loud each one is.
The question that starts it all
Sound is air pressure varying in time. A pure A note causes the air pressure to oscillate 440 times per second, in a perfect sine wave. A chord is three sine waves added together. Their sum looks nothing like a sine wave — it's a lumpy, asymmetric shape. But the individual waves are still there. The chord didn't destroy them. They're superimposed.
The question is: can you work backwards? Given the complicated shape, can you recover the original components?
The answer, it turns out, is yes — always, for any signal. And the method is more elegant than you'd expect.
What happens when you stack sine waves
Before we can take signals apart, it's worth building a few up.
Building Complexity from Sine Waves
Each faint line is a single harmonic. The bright line is their sum. Watch complexity emerge from pure oscillations.
Drag the slider from 1 to 12. With a single frequency, you see a clean sine wave. Add the second harmonic — double the frequency, half the amplitude — and the shape already starts to look asymmetric. By the time you've added six or seven harmonics, the sum looks like a sawtooth wave: a completely different animal from any of its components.
Every single wiggle in that shape came from a pure, smooth oscillation. The Fourier Transform is the procedure that looks at the sawtooth and reports back: "frequency 1 with amplitude 1, frequency 2 with amplitude 0.5, frequency 3 with amplitude 0.33..."
The key insight
To find how much of a frequency is hiding in a signal, multiply the signal by a sine wave at that frequency and average the result.
That's it.
If the signal contains frequency , the two oscillations will repeatedly align — both positive at the same times, both negative at the same times. Their product will be positive on average, and the average will be nonzero.
If the signal doesn't contain , the two oscillations are unrelated. They'll be positive and negative at different times, and their product will cancel when you average over time. The average will approach zero.
The sine wave acts like a tuning fork that only resonates at its own pitch.
The Correlation Trick
Tune the test frequency. When it matches a component of the signal, the average product spikes — that is the transform.
Move the frequency slider slowly across the spectrum. When the test frequency matches a component of the signal, the correlation jumps. When it doesn't match, the oscillations cancel and the correlation collapses to nearly zero. Every peak tells you: "this frequency is present."
This process — which mathematicians call an inner product — is the engine inside the Fourier Transform. Run this test for every possible frequency, and you get a complete map of the signal's frequency content.
Why the math feels inevitable
The correlation trick works because of a remarkable property of sine waves at different frequencies: they are orthogonal.
Here's what orthogonal means physically. Imagine two people walking around a circle at different speeds — one completes a lap in 1 second, the other in 2 seconds. At any moment, track their horizontal position. Multiply those two horizontal positions together and average over a full cycle.
You always get zero.
The faster walker laps the slower one. Their positions align sometimes (both far right, or both far left), but just as often they're opposite. All the positive contributions are exactly cancelled by negative ones.
Sine waves do exactly this. At different frequencies, they always cancel when you multiply and average. Mathematically:
This is why testing for frequency doesn't contaminate your measurement of . Each frequency is an independent "direction." You can measure them all without interference.
The formal definition captures this. For a signal , the Fourier Transform at frequency is:
The is shorthand for — a pair of sine waves in quadrature, capturing both the amplitude and the phase of each frequency. The integral is the average of their product with the signal across all time.
A second angle: two worlds for every signal
Every signal lives in two worlds at once.
In the time domain, a signal is a value at each moment: air pressure at seconds, voltage at milliseconds. That's how we record signals and how we experience them.
In the frequency domain, the same signal is an amplitude at each frequency: "440 Hz is present at strength 0.8, 880 Hz at strength 0.3." That's how our ears and brains process sound, and how engineers filter, compress, and transmit it.
The Fourier Transform is the passport between the two worlds.
Time Domain ↔ Frequency Domain
Toggle frequency bars to add or remove components. The waveform above is their exact sum.
Click the frequency bars above to toggle components.
Toggle the frequency bars on and off. The time-domain waveform at the top is exactly the sum of the active components. Turn a frequency off and watch the time-domain shape change. Turn it back on and the shape returns exactly — no rounding, no drift, no loss.
This is the fundamental fact: the two representations are equivalent. Every time-domain signal has exactly one frequency portrait, and every frequency portrait corresponds to exactly one signal. The transform is perfectly reversible — apply the inverse (same formula, sign flip in the exponent) and you get back the original signal with zero loss.
What surprises people
Negative frequencies. The full Fourier Transform produces values for negative . For real-valued signals — anything you can actually measure — the negative-frequency half is always a mirror image of the positive half. Negative frequencies are not a quirk; they encode the phase of each component (whether the wave starts at a peak or a trough).
Spectral leakage. If your signal lasts exactly 1 second and contains a pure 10 Hz tone, the Fourier Transform doesn't return a sharp spike at 10 Hz. It returns a smeared lobe. The shorter the observation window, the wider the smear. You can't know a frequency with perfect precision if you only observe it briefly.
This is not an artifact of bad measurement. It's a fundamental constraint — and it has a name:
The uncertainty principle. Mathematically,
where is how concentrated the signal is in time, and is how concentrated its spectrum is in frequency. You cannot have both. A brief signal must have a wide spectrum. A narrow spectral spike must correspond to a signal that persists forever.
This is the same uncertainty principle from quantum mechanics, appearing for the same reason: quantum wavefunctions are Fourier transforms. The fact that an electron can't have a perfectly defined position and momentum simultaneously is the same mathematical statement as the fact that a sound can't have a perfectly defined start time and pitch simultaneously.
Try it yourself
Try It Yourself
Pick a waveform. Add harmonics to reconstruct it. Watch how high frequencies sharpen the edges.
Pick a waveform. Drag the slider to add harmonics one at a time. Watch the reconstruction improve as more frequencies are included. At low harmonic counts the sharp corners are missing — those require high frequencies. As you add them back, the edges sharpen. This is how audio codecs work: they discard the highest-frequency components (which carry the sharpest transients) to save space. The result sounds almost identical to the original, because ears care much more about the low frequencies.
The short version
Any signal — audio, light, radio, voltage — can be written as a sum of pure sine waves. The Fourier Transform finds those waves by running a simple test: multiply the signal by a candidate sine wave and average the result. If the candidate frequency is present in the signal, the average is nonzero. If it isn't, the oscillations cancel and the average is zero. Run this test across all frequencies and you get a complete recipe. The recipe is the signal in disguise — every bit of information is preserved, just organized differently. The inverse transform re-assembles the original from the recipe, exactly. These two descriptions — time and frequency — are equally real, equally complete, and endlessly interchangeable.