Summary: Convolution is a concept that extends to all systems that are both linear and time-invariant (LTI). It will become apparent in this discussion that this condition is necessary by demonstrating how linearity and time-invariance give rise to convolution.
Note: Your browser may not currently support MathML. See our browser support page for additional details. You can always view the correct math in the PDF version.
Convolution is a concept that extends to all systems that are both linear and time-invariant (LTI). The idea of discrete-time convolution is exactly the same as that of continuous-time convolution. For this reason, it may be useful to look at both versions to help your understanding of this extremely important concept. Recall that convolution is a very powerful tool in determining a system's output from knowledge of an arbitrary input and the system's impulse response. It will also be helpful to see convolution graphically with your own eyes and to play around with it some, so experiment with the applets available on the internet. These resources will offer different approaches to this crucial concept.
As mentioned above, the convolution sum provides a concise, mathematical way to express the output of an LTI system based on an arbitrary discrete-time input signal and the system's response. The convolution sum is expressed as
We know that any discrete-time signal can be represented by a summation of scaled and shifted discrete-time impulses. Since we are assuming the system to be linear and time-invariant, it would seem to reason that an input signal comprised of the sum of scaled and shifted impulses would give rise to an output comprised of a sum of scaled and shifted impulse responses. This is exactly what occurs in convolution. Below we present a more rigorous and mathematical look at the derivation:
Letting
A quick graphical example may help in demonstrating why convolution works.
![]() |
![]() |
![]() |
![]() |
In this section we will develop a second graphical
interpretation of discrete-time convolution. We will begin
this by writing the convolution sum allowing
Going back to the previous example:
![]() |
![]() |
![]() |
![]() |
![]() |
What we are doing in the above demonstration is reversing the impulse response in time and "walking it across" the input signal. Clearly, this yields the same result as scaling, shifting and summing impulse responses.
This approach of time-reversing, and sliding across is a common approach to presenting convolution, since it demonstrates how convolution builds up an output through time.
"My introduction to signal processing course at Rice University."