Impulse Response & Convolution
How a single experiment characterizes an entire LTI system
Feed a system a single brief pulse and record what comes out. That recording — the impulse response — is enough to predict the output for any input, no matter how complex.
The Impulse Response: A System's Fingerprint
The impulse response h[n] of a discrete-time system is the output the system produces when the input is a unit impulse δ[n] — a signal that is 1 at n = 0 and 0 everywhere else. We write this as: if x[n] = δ[n], then y[n] = h[n]. At first glance, feeding a system a single spike and recording its response might seem like a narrow experiment. But for an LTI system, the impulse response is extraordinarily powerful: it completely characterizes the system.
Given h[n] and any input x[n], we can compute the exact output y[n] — no other information about the system's internal structure is needed. This is the central result of LTI systems theory, and it rests on two ideas: any signal can be decomposed into shifted impulses, and linearity plus time-invariance lets us reassemble the response from the pieces.
Decomposing Signals: The Sifting Property
The unit impulse δ[n] has a remarkable property called sifting: for any signal x[n], we can write x[n] = Σ_k x[k]·δ[n−k]. This identity says that any discrete-time signal is a weighted sum of shifted unit impulses. The weight on the impulse at position k is simply x[k], the signal's value at that index.
Think of it this way: the signal x[n] = {3, 1, 2} at n = 0, 1, 2 is the same as 3·δ[n] + 1·δ[n−1] + 2·δ[n−2]. Each shifted impulse δ[n−k] is a spike at position k, and scaling it by x[k] places the correct amplitude there. This decomposition is exact — it is not an approximation — and it works for any signal, finite or infinite.
From Decomposition to Convolution
Now apply the system T to the decomposed input. The input is a sum of weighted, shifted impulses: x[n] = Σ_k x[k]·δ[n−k]. By linearity, the response to a sum is the sum of the responses, so we can find the system's response to each shifted impulse individually and add them up. By time-invariance, the response to δ[n−k] — a shifted impulse — is just h[n−k], a shifted copy of the impulse response. The weight x[k] scales through by homogeneity.
Putting it all together: the response to x[k]·δ[n−k] is x[k]·h[n−k], and summing over all k gives the convolution formula.
The convolution formula is a direct logical consequence of the two properties that define an LTI system. Linearity lets us break the input into pieces and process each piece independently. Time-invariance lets us reuse the single impulse response h[n] for every shifted impulse, simply shifting h to match. If either property is absent, the convolution formula breaks down.
Why Convolution Works: Linearity and Time-Invariance Together
For a linear but time-varying system, the response to δ[n−k] is not h[n−k] but some h[n, k] that depends on both the output time and the shift — a two-variable function, far less convenient. For a time-invariant but nonlinear system, the response to a weighted impulse is not the weighted impulse response, because scaling fails. Convolution, in essence, is the price of admission for LTI analysis: it tells you exactly how to compute the output, and it works because the two properties conspire to make the problem tractable.
In practice, convolution is computed by a sliding overlap-and-add procedure: for each output index n, you flip h, shift it to align with the input at position n, multiply overlapping samples, and sum. The worked example below makes this concrete.
- y[0] = x[0]·h[0] = 1×1 = 1
- y[1] = x[0]·h[1] + x[1]·h[0] = 1×1 + 2×1 = 3
- y[2] = x[0]·h[2] + x[1]·h[1] + x[2]·h[0] = 1×1 + 2×1 + 3×1 = 6
- y[3] = x[1]·h[2] + x[2]·h[1] = 2×1 + 3×1 = 5
- y[4] = x[2]·h[2] = 3×1 = 3
- Result: y = {1, 3, 6, 5, 3}, length 5 = 3 + 3 − 1.
- Set up the convolution sum: y[n] = Σ_k x[k]·h[n−k]. Only terms where both x[k] and h[n−k] are nonzero contribute.
- For y[0]: only k = 0 overlaps. y[0] = x[0]·h[0] = 3×1 = 3.
- For y[1]: k = 0 and k = 1 overlap. y[1] = x[0]·h[1] + x[1]·h[0] = 3×2 + 1×1 = 6 + 1 = 7.
- So y[1] = 7.
Check your understanding
- The impulse response h[n] is the output of an LTI system when the input is a unit impulse δ[n]; for an LTI system, h[n] completely characterizes the system.
- Any signal can be decomposed into a weighted sum of shifted impulses via the sifting property: x[n] = Σ_k x[k]·δ[n−k].
- Convolution — y[n] = x[n] * h[n] = Σ_k x[k]·h[n−k] — follows directly from applying linearity and time-invariance to the decomposed input.
- For finite sequences of length M and N, the convolution result has length M + N − 1.