The Joy of Convolution
The behavior of a linear, time-invariant system with input signal x(t) and output signal y(t) is described by the convolution integral
The signal h(t), assumed known, is the response of the system to a unit impulse input.
To compute the output y(t) at a specified t, first the integrand h(v) x(t – v) is computed as a function of v. Then integration with respect to v is performed, resulting in y(t).
These mathematical operations have simple graphical interpretations. First, plot h(v) and the “flipped and shifted” x(t – v) on the v axis, where t is fixed. Second, multiply the two signals and compute the signed area of the resulting function of v to obtain y(t). These operations can be repeated for every value of t of interest.
To explore graphical convolution, select signals x(t) and h(t) from the provided examples below, or use the mouse to draw your own signal or to modify a selected signal. Then click at a desired value of t on the first v axis. After a moment, h(v) and x(t – v) will appear. Drag the t symbol along the v axis to change the value of t. For each t, the corresponding integrand h(v) x(t – v) and the output value y(t) will be displayed in their respective windows.
You need a Java-compatible browser to see the demo.
The source code is available here.