Before this:The Fourier transform
Convolution & impulse response
Key takeaways Convolution slides a short sequence along a signal, multiplying and summing the overlap to produce each output sample — it’s how filters work in the time domain. A filter is fully described by its impulse response (what it outputs for a single spike). And there’s a deep shortcut: convolution in time equals multiplication in frequency, tying filters back to the Fourier view.
Every filter you’ll meet — FIR, IIR, the anti-alias filter in a downconverter — is built on one operation. This lesson demystifies it.
A moving average is a filter
Start with something familiar: smoothing a noisy signal by replacing each sample with the average of it and its neighbours.
input: 4 8 6 2 9 3
average each with its two neighbours (÷3):
output: 6 5.3 5.7 4.7 ...
You just filtered the signal — a low-pass filter, in fact, because averaging smooths out fast wiggles (high frequencies) and keeps slow trends (low ones). Slide the averaging window along, compute one output per position: that sliding-and-summing is convolution.
Convolution, generally
A general filter doesn’t weight all neighbours equally — it uses a set of weights called taps (or coefficients). At each position, line the taps up against the signal, multiply each overlapping pair, and sum:
output[n] = tap0*x[n] + tap1*x[n-1] + tap2*x[n-2] + ...
Different taps make different filters. Choosing them to keep the frequencies you want and reject the rest is filter design, the subject of the next two lessons.
The impulse response defines the filter
Here’s the elegant part. Feed a filter a single impulse — one spike, 1, 0, 0, 0,
… — and whatever comes out is its impulse response. For a tapped filter, the
output is the taps themselves.
That impulse response completely characterizes the filter: convolve any input with it and you get the correctly filtered output. So the taps, the impulse response, and “the filter” are all the same thing seen three ways.
The great shortcut
Recall from the Fourier transform that time and frequency are two views of a signal. There’s a beautiful theorem linking them:
Convolution in the time domain = multiplication in the frequency domain.
Filtering a signal (convolving it with the taps) is the same as multiplying its spectrum by the filter’s frequency response. This is why filters are so often described by their frequency response — “pass below 6 kHz, reject above” — even though they run as convolution in time. It also means a filter’s job is easiest to picture in the frequency domain and easiest to compute in the time domain.
Quick check: convolving a signal with a filter in the time domain is equivalent to what in the frequency domain?
Recap
- Convolution slides a set of taps along a signal, multiplying and summing — how filters run in time.
- A moving average is the simplest example: a low-pass filter.
- A filter is fully defined by its impulse response (its output for a single spike).
- Convolution in time = multiplication in frequency — filters are designed in frequency, run in time.
Next up: FIR filters, the workhorse for isolating a channel.
Frequently asked questions
What is convolution in simple terms?
Convolution slides one short sequence (the filter) along a signal, and at each position multiplies the overlapping values and adds them up to produce one output sample. Repeat down the whole signal and you get the filtered result. It sounds abstract, but a moving average — replacing each sample with the average of it and its neighbours — is exactly a convolution.
What is an impulse response?
A filter’s impulse response is what comes out when you feed in a single spike (an impulse) and nothing else. Remarkably, that one response completely defines the filter — convolving any input with the impulse response produces the filtered output. So “the filter” and “its impulse response” are two names for the same thing.