This document is a compilation of all of the pages regarding the convolution integral in a form that is useful for printing.
Convolution is a very powerful technique that can be used to calculate the zero state response (i.e., the response to an input when the system has zero initial conditions) of a system to an arbitrary input by using the impulse response of a system. It uses the power of linearity and superposition. To understand the power that this technique gives, consider the system described by the differential equation:

where y(t) is the output, and f(t) is the input. The impulse response of this system, h(t), can be shown to be equal to
(from
Laplace Transform Table)
The impulse response is shown graphically below.

You know how to find the output y(t) if the input f(t) is a well defined input such as a step, impulse or sinusoid. Convolution allows you to determine the response to more complex inputs like the one shown below. In fact, you can use convolution to find the output for any input, if you know the impulse response. This gives incredible power.

There are several ways to understand how convolution works. First convolution will be developed in an approximate form as the sum of impulse responses. This presentation is useful for an intuitive understanding of the convolution process. After the approximate form is developed, the exact analytic form of convolution is given. You can also link to an example of the convolution integral in action, and to a less physical (more mathematical) derivation.
(the Matlab script, Convolution.m, was used to create all of the graphs in this section).
To understand how convolution works, we represent the continuous function shown above by a discrete function, as shown below, where we take a sample of the input every 0.8 seconds.

The approximation can be taken a step further by replacing each rectangular block by an impulse as shown below. The area of each impulse is the same as the area of the corresponding rectangular block.

The superposition theorem states that the response of the system to the string of impulses is just the sum of the response to the individual impulses. The response of the system to the individual impulses is shown below.

Lets look carefully at this graph and note the following:






This equation merely states that the output is equal to the sum of the responses from the individual impulses. Another (more mathematical) derivation of the convolution integral is given here.
The summed response is shown in the graph below, along with the individual responses.
Obviously if you decrease the accuracy of the approximation should improve. The graph below shows the impulse responses if we let ΔT=0.3 seconds (instead of 0.8 seconds as shown above).

The graph below shows our approximate response, for ΔT=0.8 and ΔT=0.3, along with the exact response (the "exact" response is actually a numerical approximation, as calculated by Matlab).

The graph below shows the "exact" response along with the response calculated using Matlab "conv" (convolve) function. Type "help conv" at the Matlab prompt to see how it works. Examine the script, convolution.m, which generated all these graphs for an example of how to use the function.

Hopefully this background gives you some physical insight into how convolution can be used to find the response of the system to an arbitrary input.
Convolution can be used to calculate the zero state response (i.e., the response to an input when the system has zero initial conditions) of a system to an arbitrary input by using the impulse response of a system. Given a system impulse response, h(t), and the input, f(t), the output, y(t) is the convolution of h(t) and f(t):

Often h(t)=0 for t<0 and f(t)=0 for t<0. In that case:

To visualize the convolution we start from the definition:

or equivalently

if h(t)=0, t<0 and f(t)=0, t<0.
Consider the system discussed previously with the impulse response described by:

as shown below
.gif)
To find the response of the system, y(t), to an input, f(t), at t=1 sec we need to evaluate the integral

with t=1. To visualize this process consider the product f(λ)h(t-λ). A plot of f(λ) yields the input. A plot of h(t-λ) yields a time-reversed version of the impulse response with a time delay of t (1 second in this case). These are shown below along with the product of the two functions (solid black line). The function h(t-λ) is plotted in magenta and doesn't look much like the function above -- but note the different vertical scales.

The next graph shows the result of the integration for all time, with a black dot at t=1.

As t is increased further the function h(t-λ) shifts to the right. The multiplication and integration can be evaluated for each value of t to yield the system response y(t). The graphs below are similar to the ones above, except that t=4.

To see an animation of this shifting, multiplying and integrating process, click here.
Using the convolution integral it is possible to calculate the output, y(t), of any linear system given only the input, f(t), and the impulse response, h(t). However, this integration is often difficult, so we won't often do it explicitly. Later you will learn a technique that vastly simplifies the convolution process.
To see some more animations of convolutions, click here.
This page has given a description of the convolution process, but has not actually gone through the mathematical procedures needed to analytically evaluate the convolution integral when the input function has a piecewise definition. This process is described on another page. Click here to go to that page.
Another excellent web-based demonstration of convolution is The Joy of Convolution at Johns Hopkins.
The MatLab code that generated the animations is available here.
© Copyright 2005-2012 Erik Cheever This page may be freely used for educational purposes.
Erik Cheever Department of Engineering Swarthmore CollegeThe MatLab code that generated the animations is available here.
(Click on image to get link to animation)
(Click on image to get link to animation)
(Click on image to get link to animation)
(Click on image to get link to animation)
(Click on image to get link to animation)
© Copyright 2005-2012 Erik Cheever This page may be freely used for educational purposes.
Erik Cheever Department of Engineering Swarthmore CollegeThese notes are taken from notes by Searl Dunn.
pdf version
Convolution is a powerful tool for determining the output of a system to any input. The Convolution Theorem is developed here in a completely mathematical way. On this page we will derive the convolution theorem: If the input to a system is x(t), and the impulse response of that system is h(t), then we can determine the output of the system, y(t), from the integral:

Start with a linear time-invariant (LTI) system (in box). There is an input to the system, x(t), and an output from the system, y(t).

Now consider the same system with the input as an impulse, δ(t). The output is then, by definition, the impulse response, h(t).

If we use a delayed impulse into the system, the output is just the impulse response with the same delay.

Because of linearity, if we scale the input by any factor, the output will be scaled by the same factor. In particular, we can scale the input (and hence the output) by the factor x(λ)dλ.

If we integrate the input, the output is also integrated. In this case we'll take the upper limit of the integration to be t+; but it could just as well have been positive infinity. We could also take the lower lower limit to be negative infinity.

By the sifting property of the impulse response we know that:

Therefore the input to the system is x(t)

If the input is x(t), then the output must be y(t) (by definition, from the first diagram).

Equating the outputs of the last two diagrams leads directly to the convolution theorem:

© Copyright 2005-2012 Erik Cheever This page may be freely used for educational purposes.
Erik Cheever Department of Engineering Swarthmore CollegeContents
This page goes through an example that describes how to evaluate the convolution integral for a piecewise function (the recatngular pulse). The key idea is to split the integral up into distinct regions where the integral can be evaluated.
Consider the system described by the differential equation:

which has an impulse response given by
plot.gif)
We will use convolution to find the zero input response of this system to the input given by a rectangular pulse, which we define piecewise by three distinction sections.
plot.gif)
The next section reiterates the development of the page deriving the convolution integral. If you feel you know that material, you can skip ahead to the mechanics of using the convolution integral.
| For continuity with
the page
deriving the convolution integral we can approximate the input by a series of impulses... |
![]() |
| plot the response of the system to each of these impulses... |
![]() |
| and plot the response as the sum of the individual
responses
(the red line on the plot shows is the exact solution). |
![]() |
Likewise the convolution can be considered from the point of view of the convolution integral.

Click on picture below to see animation.
Now lets discuss how we can find an exact solution to this problem. To find the output of the system with impulse response
.gif)
to the input
.gif)
we will use the convolution integral

Because the input function has three distinct regions t<0, 0<t<1 and 1<t, we will need to split up the integral into three parts.
For t<0 the argument of the impulse function (t-λ) is always negative. Since h(t-λ)=0 for (t-λ)<0, the result of the integral is zero for t<0.
This situation is depicted graphically below (t=-0.2):

So the result for the first part of our solution is

For 0<t<1 we need to evaluate the integral only from λ=0 to λ=t, since f(λ)=0 when λ<0, and h(t-λ)=0 when (t-λ)<0 (or, equivalently t<λ). So the integral becomes, in effect:

This situation is depicted graphically below (t=0.5):

We can now evaluate the integral of the solid black line:

Thus, the result for the second part of the solution is

For 1<t we need to evaluate the integral only from λ=0 to λ=1, since f(λ)=0 when λ<0 and when λ>1. So the integral becomes, in effect:

This situation is depicted graphically below (t=1.2):

We can now evaluate the integral:

Thus, the result for the third part of the solution is:

We can get the results for all time by combining the solutions from the three parts.



This result is shown below. Click on image to go to an animation of the procedure.
This problem is solved elsewhere using the Laplace Transform (which is a much simpler technique, computationally).
The convolution integral is a completely general method for finding the output of a linear system for any input. The integral is often difficult to evaluate, but this page gives one example of how this can be accomplished for a relatively simple system.
© Copyright 2005-2012 Erik Cheever This page may be freely used for educational purposes.
Erik Cheever Department of Engineering Swarthmore CollegeEvaluation of the convolution integral can be difficult. It is often much easier to do the convolution in the Laplace Domain and then transform back to the time domain (if you haven't studied the Laplace Transform you can skip this for now). We know that given system impulse response, h(t), system input, f(t), that the system output, y(t) is given by the convolution of h(t) and f(t).

In the Laplace domain, this integral becomes a multiplication

To see how much easier this is than performing the integral in the time domain consider the convolution integral from the previous page.
Find y(t) given:

Note: This problem is solved on the previous page in the time domain (using the convolution integral). If you examine both techniques, you can see that the Laplace domain solution is much easier.
Solution:
To evaluate the convolution integral we will use the convolution property of
the Laplace Transform:

We need the Laplace Transforms of f(t) and h(t), but we can look them up in the tables:

So

We can look up both of these terms in the tables.

We can now write y(t) (which is implicitly zero for t<0)

As you can see the Laplace technique is quite a bit simpler.
It is important to keep in mind that the solution obtained with the convolution integral is a zero state response (i.e., all initial conditions are equal to zero at t=0-). If the problem you are trying to solve also has initial conditions you need to include a zero input response in order to obtain the complete response.
© Copyright 2005-2012 Erik Cheever This page may be freely used for educational purposes.
Erik Cheever Department of Engineering Swarthmore College© Copyright 2005-2012 Erik Cheever This page may be freely used for educational purposes.
Erik Cheever Department of Engineering Swarthmore College