The convolution integral is visualized as a superposition of impulse responses.

Click the Signal menu button to display options for the signal function \(f(t)\). Click a function to select it.

Click the Weight menu button to display options for the weight function \(g(t)\). Click a function to select it.

When a function is selected, the lower graph plane shows the graph of the signal function \(f(t)\), and the upper plane shows the graph of the convolution \(f(t)*g(t)\), both in gray.

Click one of the step size checkboxes to select the time step, \(\Delta u\).

The accumulation of the convolution integral can be controlled either by clicking the [>>] button to animate, or by clicking on the time slider to pick a time value \(u\). The yellow curve represents the convolution \(f(t)*g(t)\) up to time \(u\); the top cyan curve represents the convolution of the weight \(g(t)\) with a signal which is \(f(t)\) for \(t \lt u\) and zero for \(t \gt u\); it cuts off at time \(t = u\).

To understand this visual, select \(f(t) = 1 + \cos(bt)\) and \(g(t) = e^{-at}\). We have a model of farm runoff into a lake. It varies seasonally, and the rate at which phosphates, say, enter the lake is given by \(f(t)\). These chemicals are washed out of the lake, as well, at a rate proportional to the amount in the lake. Thus, of every kilogram in the lake at time \(u\), \(g(t-u)\) kilograms remains in the lake at time \(t\), i.e. time \(t - u\) later. It is assumed that at \(t = 0\) the phosphate load is zero ("rest initial conditions").

Select stepsize \(\frac{1}{4}\) and click on the animate key [>>]. An animation shows the weight function \(g(t)\), in the lower screen in cyan, shifting progressively to the right, multiplied at each stage by the value of the signal for the appropriate value of \(u\). The representation of the signal turns green as this process proceeds. These blue graphs in the lower window are multiplied by \(\frac{1}{4}\) (the stepsize) and laid down on top of what has been contributed already, for smaller values of \(u\).

The upper graph displays the cumulative total amount of phosphate in the lake. The yellow curve shows this accumulation: it is the convolution \(f(t)*g(t)\). With \(u = 3\), if you follow the yellow curve and then the top blue curve, you are tracing out the amount of phosphate in the lake resulting from runoff which proceeds at the rate \(f(t)\) for \(t \lt u\) but is then reduced to zero for \(t \gt u\).

Press and hold the mouse button on either plane to see the contribution made in a given time interval of length \(\frac{1}{4}\).

The values of the constants \(a\) and \(b\) in the expressions for \(f(t)\) and \(g(t)\) are \(a = \ln(2)\) and \(b = 2\).

© 2001 H. Hohn and H. Miller