LTI Systems and Convolution
Linear time-invariant systems are the central model class in signals and systems because they are both expressive and computable. Linearity lets responses add, and time invariance lets a shifted input impulse produce a shifted copy of one fixed response. From these two facts, the output for any input is obtained by convolution with the impulse response.
Convolution is often introduced as a formula, but its meaning is constructive. Break the input into weighted impulses. Pass each impulse through the system. Shift and scale the impulse response for each piece. Add all those responses. In continuous time this addition becomes an integral; in discrete time it becomes a sum.
Definitions
The impulse response of a continuous-time system is the output when the input is :
The impulse response of a discrete-time system is
For a continuous-time LTI system, the input can be represented as
By time invariance,
By linearity, the output is
This is the continuous-time convolution of and , written
For a discrete-time LTI system,
so
This is discrete-time convolution:
Convolution has equivalent forms:
and
For a causal continuous-time LTI system,
For a causal discrete-time LTI system,
BIBO stability for an LTI system is equivalent to absolute integrability or summability:
for continuous time, and
for discrete time.
Key results
Convolution is commutative:
For continuous time, this follows from the change of variables . For discrete time, it follows from the index substitution . Commutativity means either signal can be flipped and shifted in the graphical convolution procedure, but it does not mean the physical roles of input and impulse response are identical.
Convolution is associative:
This property explains why cascaded LTI systems have an equivalent impulse response
Convolution is distributive:
This explains parallel interconnections of LTI systems.
The impulse is the identity element:
Shifting an impulse response shifts the output:
and
For differential equation systems with zero initial rest, impulse response can be found by solving the equation with impulse input or by transform methods. For difference equation systems, is found by setting and recursively computing the output, assuming initial rest.
Graphical convolution is easiest when treated as an overlap problem. First identify where is nonzero. Then identify where or is nonzero for a fixed output time or sample. The output is the area or sum of the product over the overlap. For rectangular pulses this reduces to overlap length; for ramps and exponentials the integrand changes over the overlap and the integral must be evaluated on each range.
Support gives a quick check. If is supported on and is supported on , then is supported on , assuming no exact cancellations. In discrete time, if one sequence occupies indices through and another occupies through , the convolution occupies through . This support rule catches many off-by-one and endpoint mistakes.
Convolution also explains why LTI systems are easy to interconnect. In cascade, impulse responses convolve. In parallel, impulse responses add. In feedback, the equivalent impulse response can often be described by an infinite convolution series or by transform-domain algebra, provided the feedback interconnection is stable and well-defined. These interconnection rules are not generic system rules; they rely on LTI structure.
The impulse response is sometimes more informative than the original equation. A short finite impulse response means the system has finite memory. A long decaying impulse response means old inputs continue to matter but with decreasing influence. A nondecaying impulse response warns that bounded inputs may produce unbounded or persistent accumulated effects.
Visual
| LTI fact | Continuous time | Discrete time |
|---|---|---|
| Impulse response | ||
| Convolution | ||
| Causality | for | for |
| BIBO stability | ||
| Identity |
Worked example 1: continuous-time convolution of two pulses
Problem: Let
Find .
Method:
-
Interpret the signals. is a unit-height rectangle on . is a unit-height rectangle on .
-
The convolution integral is
- The factor is nonzero for
- The factor is nonzero when
This is equivalent to
- The integrand equals where the intervals overlap:
Therefore equals the length of that overlap.
- Work by ranges of :
If , no overlap:
If , the overlap is from to , length :
If , the shorter pulse is fully inside the longer overlap window, length :
If , the overlap is from to , length :
If , no overlap:
Checked answer:
The support length is , as expected for convolution of two right-starting finite pulses.
Worked example 2: discrete-time convolution
Problem: Compute for
and
Method:
- Use impulse shifting:
- Distribute convolution:
- Convolution with a shifted impulse shifts :
- Substitute :
- Collect like impulse terms:
Checked answer: The output samples are at , at , at , at , and elsewhere. Direct summation gives the same result.
Code
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1, 2, 1], dtype=float)
h = np.array([1, -1], dtype=float)
y = np.convolve(x, h)
print("y samples:", y)
n_x = np.arange(len(x))
n_h = np.arange(len(h))
n_y = np.arange(len(y))
fig, ax = plt.subplots(3, 1, figsize=(7, 6), sharex=True)
ax[0].stem(n_x, x)
ax[0].set_title("x[n]")
ax[1].stem(n_h, h)
ax[1].set_title("h[n]")
ax[2].stem(n_y, y)
ax[2].set_title("y[n]=x[n]*h[n]")
for a in ax:
a.grid(True)
plt.tight_layout()
plt.show()
Common pitfalls
- Forgetting the flip in graphical convolution. The term is or , not .
- Using LTI convolution for a system that is linear but time-varying, or time-invariant but nonlinear.
- Confusing impulse response with step response. The step response is the convolution of with .
- Dropping boundary cases in finite pulse convolution. Draw overlap intervals and compute lengths.
- Assuming causal means stable. A causal impulse response can still fail absolute integrability or summability.