Impulse response and convolution

Defines the impulse and step responses of LTI systems and shows how the convolution integral and sum give the output for any input, with graphical and analytical methods.

Drafted with Aria, reviewed by the AiCanCode.org team. Spotted an error? Use Give Feedback at the bottom of the page.

Why it matters

For a linear time-invariant (LTI) system, one measured curve — the impulse response — tells you the output for any input. This is how a thermometer's lag, an accelerometer's ringing or a digital moving-average filter is characterised in practice, and convolution is the operation that turns that curve into a prediction.

Key ideas

Impulse response

  • The unit impulse δ(t) is zero for t ≠ 0 and has unit area: ∫ δ(t) dt = 1. Its key property is sifting: ∫ x(τ) δ(t − τ) dτ = x(t). The DT impulse δ[n] is simply 1 at n = 0 and 0 elsewhere.
  • The impulse response h(t) (or h[n]) is the output of an LTI system, initially at rest, when the input is δ(t) (or δ[n]).
  • The step response s(t) is the output for u(t). Because δ(t) = du/dt, h(t) = ds/dt and s(t) = ∫ from −∞ to t of h(τ) dτ. In DT, h[n] = s[n] − s[n − 1].

Why convolution works. Any input can be written as a weighted sum of shifted impulses: x[n] = Σ x[k] δ[n − k]. Time invariance turns each δ[n − k] into h[n − k]; linearity lets you add the weighted responses. The result is the convolution sum. The CT integral follows the same way.

Graphical (flip-and-slide) method

  1. Plot x(τ) and h(τ) against the dummy variable τ.
  2. Flip h to get h(−τ), then shift by t to get h(t − τ).
  3. Multiply x(τ)·h(t − τ) and integrate (or sum) over the overlap.
  4. Repeat for every range of t where the overlap changes shape.

Properties

  • Commutative x * h = h * x, associative (x * h1) * h2 = x * (h1 * h2) (cascade ⇒ impulse responses convolve), distributive x * (h1 + h2) = x * h1 + x * h2 (parallel ⇒ impulse responses add).
  • Identity x * δ = x; delay x(t) * δ(t − t0) = x(t − t0).
  • Width: if x lasts T1 and h lasts T2, y lasts T1 + T2. In DT, lengths L and M give L + M − 1 samples, and the start index of y is the sum of the start indices.
  • Area: ∫ y = (∫ x)(∫ h) and, in DT, Σ y[n] = (Σ x[n])(Σ h[n]) — a fast check on your answer.
  • Causality and stability of an LTI system can be read from h (see the system-properties topic).

Link to transforms. Convolution in time becomes multiplication in frequency: Y(ω) = X(ω)H(ω), Y(s) = X(s)H(s), Y(z) = X(z)H(z). This is why transforms are used for anything longer than a few samples.

Formulas

  • y(t) = x(t) * h(t) = ∫ x(τ) h(t − τ) dτ (τ from −∞ to ∞) — CT convolution integral.
  • y[n] = x[n] * h[n] = Σ x[k] h[n − k] (k from −∞ to ∞) — DT convolution sum.
  • y(t) = ∫ from 0 to t of x(τ) h(t − τ) dτ — when both x and h are zero for negative time (causal input into a causal system).
  • s(t) = ∫ from −∞ to t of h(τ) dτ, h(t) = ds(t)/dt — step and impulse responses.
  • e^(−at)u(t) * e^(−bt)u(t) = [(e^(−at) − e^(−bt))/(b − a)] u(t), for a ≠ b.
  • e^(−at)u(t) * e^(−at)u(t) = t e^(−at) u(t).
  • u(t) * u(t) = t·u(t) (the ramp).

Symbols: x input; y output; h impulse response (unit of y per unit of x per second in CT; per sample in DT); τ, k dummy integration/summation variables; t time (s); n sample index; a, b decay rates (s⁻¹); s(t) step response.

Worked examples

Example 1 (standard). An RC low-pass sensor stage has h(t) = 2e^(−2t) u(t) (s⁻¹). Find its step response and its value at t = 1 s.

  1. Both x(t) = u(t) and h(t) are causal, so y(t) = ∫ from 0 to t of 1 · 2e^(−2(t − τ)) dτ.
  2. Substitute λ = t − τ: y(t) = ∫ from 0 to t of 2e^(−2λ) dλ = [−e^(−2λ)] from 0 to t.
  3. y(t) = (1 − e^(−2t)) u(t) — a first-order rise with time constant 0.5 s, ending at the DC gain ∫ h = 1.
  4. At t = 1 s: y(1) = 1 − e^(−2) = 1 − 0.1353.
  5. y(1) ≈ 0.865 (per unit step).

Example 2 (GATE level). (a) Convolve x[n] = {1, 2, 3} and h[n] = {1, −1, 2}, both starting at n = 0. (b) Find the peak of y(t) = e^(−t)u(t) * e^(−2t)u(t).

  1. (a) Length = 3 + 3 − 1 = 5, starting at n = 0.
  2. y[0] = 1·1 = 1; y[1] = 1·(−1) + 2·1 = 1; y[2] = 1·2 + 2·(−1) + 3·1 = 3; y[3] = 2·2 + 3·(−1) = 1; y[4] = 3·2 = 6.
  3. Check: Σ y = 12 and (Σ x)(Σ h) = 6 × 2 = 12 ✓. y[n] = {1, 1, 3, 1, 6} for n = 0 … 4.
  4. (b) Using the exponential-pair formula with a = 1, b = 2: y(t) = (e^(−t) − e^(−2t)) u(t).
  5. Set dy/dt = −e^(−t) + 2e^(−2t) = 0 ⇒ e^(−t) = 1/2 ⇒ t = ln 2 = 0.693 s.
  6. y(ln 2) = 1/2 − 1/4. Peak = 0.25 at t ≈ 0.693 s.

Common mistakes

  • Forgetting to flip h — that computes correlation, not convolution.
  • Using the limits 0 to t when the input or the impulse response is not causal (for example a two-sided e^(−|t|)).
  • Wrong start index in DT: if x starts at n = −1 and h at n = 0, y starts at n = −1.
  • Missing a region of t in the graphical method (partial overlap on the way in and on the way out are separate cases).
  • Writing y(t) = 1 − e^(−t) without u(t), which wrongly gives a non-zero output for t < 0.
  • Mixing up h(t) and the step response when a question gives "the response to a unit step".

For GATE IN

Common question types: DT convolution of two short sequences (NAT asking for one output sample or the sum of outputs), CT convolution of rectangular pulses or exponentials (value at a given time, or the duration/shape of the result), the impulse response of a cascade or parallel connection, and getting h(t) from a given step response. Practise the flip-and-slide method on pulses and the length/area checks; they catch most slips.

Quick check

  1. What is the length of the convolution of a 4-sample and a 6-sample sequence?
  2. What is x(t) * δ(t − 3)?
  3. The step response of an LTI system is (1 − e^(−5t))u(t). What is h(t)?
  4. A rectangular pulse of height 2 and width 1 s is convolved with itself. What is the area of the result?
  5. Two systems with h1 and h2 in cascade — overall impulse response? Answers: 1. 4 + 6 − 1 = 9. 2. x(t − 3). 3. 5e^(−5t)u(t). 4. 2 × 2 = 4. 5. h1 * h2.

Try answering each one aloud before you open it.

  1. 1.What is an impulse response in the context of signals and systems?Concept

    An impulse response is the output of a system when an impulse signal is applied to it. It characterizes the system's behavior and is used to determine how the system will respond to any arbitrary input using convolution.

  2. 2.Explain the concept of convolution in signals and systems.Concept

    Convolution is a mathematical operation used to determine the output of a linear time-invariant (LTI) system when an arbitrary input signal is applied. It involves integrating the product of the input signal and the system's impulse response, shifted in time.

  3. 3.Why is convolution important in the analysis of LTI systems?Application

    Convolution is important because it allows us to determine the output of an LTI system for any given input by using the system's impulse response. This makes it a powerful tool for analyzing and designing systems in both time and frequency domains.

  4. 4.What happens if the impulse response of a system is not known?Application

    If the impulse response is not known, it becomes challenging to predict the system's output for arbitrary inputs. In such cases, other methods like system identification or experimental measurements may be needed to determine the impulse response.

  5. 5.Explain how convolution is used in digital signal processing.Application

    In digital signal processing, convolution is used to filter signals, perform operations like smoothing, and implement systems like FIR filters. It involves discrete convolution, where the sum of products of the input signal and impulse response is calculated at each time step.

  6. 6.What is the significance of the Dirac delta function in impulse response analysis?Concept

    The Dirac delta δ(t) is an idealised pulse of zero width and unit area, defined by its sifting property ∫x(τ)δ(t − τ)dτ = x(t). Because any signal can be written as a continuous sum of weighted, shifted impulses, the response to δ(t) — the impulse response h(t) — completely characterises an LTI system. In practice it is approximated by a pulse much shorter than the system's time constants, or h(t) is obtained by differentiating a measured step response.

  7. 7.Calculate the output of a system with impulse response h(t) = e^(-t)u(t) when the input is x(t) = u(t), where u(t) is the unit step function.Numerical

    To find the output y(t), we perform the convolution of x(t) and h(t):

    1. y(t) = ∫ x(τ)h(t-τ) dτ from 0 to t
    2. y(t) = ∫ e^(-(t-τ)) dτ from 0 to t
    3. y(t) = [ -e^(-(t-τ)) ] from 0 to t
    4. y(t) = 1 - e^(-t) for t ≥ 0
  8. 8.If a system's impulse response is h(t) = δ(t - 2), what is the output when the input is x(t) = cos(t)?Numerical

    The output y(t) is the convolution of x(t) and h(t):

    1. y(t) = ∫ x(τ)δ(t-τ-2) dτ
    2. y(t) = x(t-2)
    3. y(t) = cos(t-2)
  9. 9.Describe a real-world application where impulse response and convolution are crucial.Application

    In audio signal processing, impulse response and convolution are used to simulate the acoustics of a space. By convolving an audio signal with the impulse response of a room, we can recreate the sound as if it were played in that environment, which is essential for realistic audio effects in music production and virtual reality.

Finished this topic? Mark it so your progress, study plan and readiness keep up.

Stuck on something here?