Convolution

Convolution is the term given to the mathematical technique for determining a system output given an input signal and the system impulse response. It is written as

(1)

When you start the convolution tool

you will find that you can select signals, run animations, and control the display properties. The current input signal and system impulse response are displayed - you can change the data in these graphs by clicking and dragging with the mouse or you can select pre-defined signals using the menus. It is helpful if you ensure that the signal and system response are coloured differently.

The other graphs show the time-reversed input signal and the system response, the product of the time-reversed input signal (due to the in equation (1)) and the system response, and their convolution. The product and convolution data will change as the time-reversed input signal is moved relative to the system impulse response.

When the system impulse response is a unit pulse and the input is a ramp function, you can test out the convolution process by clicking on the symbol in the combined time-reversed system impulse response and signal graph and dragging the time reversed input signal backwards and forwards through the system impulse response. You can also let the tool do this for you by clicking on the double arrow button.

As the ramp signal is shifted through the unit pulse, the product graph clearly shows that the convolution is calculating the area under a selected portion of the ramp signal. The convolution graph plots the increasing, and then decreasing area of this product. The system with this impulse response is known as a finite time integrator as it performs integration over a finite length of the input signal. Experiment with other input signals such as sine waves, other unit pulses, impulses, etc.

Convolution with an impulse

Change the system response to a single impulse at 2ms. As you perform the convolution, as before, you will find that the output is a copy of the input signal, except that it is delayed by 2ms. In this instance, the impulse is performing a sampling function of the input signal as described by

Examination of the product will reveal that the integrand, , is also an impulse. In fact, the impulse is a scaled unit impulse, the scaling resulting in an impulse of area , hence the final convolution result of Thus, analytically we find that the system response of a unit impulse results in the output of the system being a copy of the input signal, with the only difference being a time shift.

As a heuristic argument as to why this should be the case, think of the system response as the system output when the input signal is an impulse function at time When the system response is also an impulse, then the input signal shape doesn't alter. If that impulse is at a non-zero time value, then there is a time shift between the input and the output of the system. (For real systems any time shift must represent a delay, otherwise the system would predict its own input signal)!

A system that sums two delayed versions of the input signal is represented by two impulses in the system response. Experiment with the effects that you can obtain by examining system responses consisting of impulses.

Next: Discrete Convolution Up: EE4 page