Impulse Response & Convolution

How a single experiment characterizes an entire LTI system

Signals & SystemsElectrical Engineering Year 2Free preview
⏱️ About 16 min

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 big idea: Convolution is the mathematical operation that turns an impulse response into a universal input–output rule for any LTI system. It works because linearity lets us decompose the input and time-invariance lets us reuse the impulse response.
🎯 By the end, you'll be able to
  • Define the impulse response h[n] as the output of an LTI system when the input is a unit impulse δ[n]
  • Use the sifting property to express any discrete-time signal as a weighted sum of shifted impulses
  • Derive the convolution sum y[n] = Σ x[k]·h[n−k] from linearity and time-invariance
  • Compute the convolution of two finite discrete-time sequences and determine the result's length

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.

\[ \delta[n] \;\xrightarrow{\;T\;}\; h[n] \]
The impulse response h[n] is the system's output when the input is the unit impulse δ[n].

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.

\[ x[n] = \sum_{k=-\infty}^{\infty} x[k]\,\delta[n - k] \]
The sifting property: any signal is a weighted sum of shifted impulses.

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.

\[ y[n] = x[n] * h[n] = \sum_{k=-\infty}^{\infty} x[k]\,h[n - k] \]
The convolution sum: the output of an LTI system is the convolution of the input with the impulse response.
🔑 Convolution Is Not Arbitrary

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.

📝 Worked example: Compute the full convolution y[n] = x[n] * h[n] for h[n] = {1, 1, 1} (n = 0, 1, 2) and x[n] = {1, 2, 3} (n = 0, 1, 2).
  1. y[0] = x[0]·h[0] = 1×1 = 1
  2. y[1] = x[0]·h[1] + x[1]·h[0] = 1×1 + 2×1 = 3
  3. y[2] = x[0]·h[2] + x[1]·h[1] + x[2]·h[0] = 1×1 + 2×1 + 3×1 = 6
  4. y[3] = x[1]·h[2] + x[2]·h[1] = 2×1 + 3×1 = 5
  5. y[4] = x[2]·h[2] = 3×1 = 3
  6. Result: y = {1, 3, 6, 5, 3}, length 5 = 3 + 3 − 1.
✓ y = {1, 3, 6, 5, 3} — the 5-point convolution of a length-3 input with a length-3 impulse response.
✏️ Practice: Given h[n] = {1, 2} for n = 0, 1 and x[n] = {3, 1, 2} for n = 0, 1, 2, find y[1] from the convolution y[n] = x[n] * h[n].
Solution
  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.
  2. For y[0]: only k = 0 overlaps. y[0] = x[0]·h[0] = 3×1 = 3.
  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.
  4. So y[1] = 7.

Check your understanding

1. The impulse response h[n] of an LTI system is defined as:
By definition, h[n] is the system's response to the unit impulse δ[n]. For an LTI system, this single function completely characterizes the system.
2. Convolving a length-3 sequence with a length-4 sequence produces a result of what length?
The length of the convolution of two finite sequences is M + N − 1, where M and N are the individual lengths. Here 3 + 4 − 1 = 6.
✅ Key takeaways
  • 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.
➡️ Convolution gives us a complete time-domain description of an LTI system. Before moving to the frequency domain, the next lesson explores convolution's own algebraic properties and a graphical method for computing it by hand.
Want to test yourself on this? Try the Electrical Aptitude test →