Skip to content Skip to navigation


You are here: Home » Content » Convolution - Discrete time


Recently Viewed

This feature requires Javascript to be enabled.

Convolution - Discrete time

Module by: Anders Gjendemsjø. E-mail the author

Summary: Time discrete convolution


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. 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 also helpful to see convolution graphically, i.e. by using transparencies or Java Applets. Johns Hopkins University has an excellent Discrete time convolution applet. Using this resource will help understanding this crucial concept.

Derivation of the convolution sum

We know that any discrete-time signal can be represented by a summation of scaled and shifted discrete-time impulses, see (Reference). 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 be a discrete time LTI system, we start with the folowing equation and work our way down the the convoluation sum.

yn=xn= k =xkδnk= k =xkδnk= k =xkδnk=k=xkhnk y n x n k x k δ n k k x k δ n k k x k δ n k k x k h n k
Let us take a quick look at the steps taken in the above derivation. After our initial equation we rewrite the function xn x n as a sum of the function times the unit impulse. Next, we can move around the ℋ operator and the summation because ˙ ˙ is a linear, DT system. Because of this linearity and the fact that xk x k is a constant, we pull the constant out and simply multiply it by ˙ ˙ . Finally, we use the fact that ˙ ˙ is time invariant in order to reach our final state - the convolution sum!

Above the summation is taken over all integers. Howerer, in many practical cases either xn x n or hn h n or both are finite, for which case the summations will be limited. The convolution equations are simple tools which, in principle, can be used for all input signals. Following is an example to demonstrate convolution; how it is calculated and how it is interpreted.

Graphical illustration of convolution properties

A quick graphical example may help in demonstrating why convolution works.

Figure 1: A single impulse input yields the system's impulse response.
Figure 1 (dconv1b.png)
Figure 2: A scaled impulse input yields a scaled response, due to the scaling property of the system's linearity.
Figure 2 (dconv2b.png)
Figure 3: We now use the time-invariance property of the system to show that a delayed input results in an output of the same shape, only delayed by the same amount as the input.
Figure 3 (dconv3b.png)
Figure 4: We now use the additivity portion of the linearity property of the system to complete the picture. Since any discrete-time signal is just a sum of scaled and shifted discrete-time impulses, we can find the output from knowing the input and the impulse response.
Figure 4 (dconv4b.png)

Convolution Sum

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

yn= k =xkhnk y n k x k h n k
As with continuous-time, convolution is represented by the symbol *, and can be written as
yn=xn*hn y n x n h n
By making a simple change of variables into the convolution sum, k=nk k n k , we can easily show that convolution is commutative:
yn=xn*hn=hn*xn y n x n h n h n x n
From Equation 4 we get a convolution sum that is equivivalent to the sum in Equation 2:
yn= k =hkxnk y n k h k x n k
For more information on the characteristics of convolution, read about the Properties of Convolution.

Convolution Through Time (A Graphical Approach)

In this section we will develop a second graphical interpretation of discrete-time convolution. We will begin this by writing the convolution sum allowing x x to be a causal, length-m signal and h h to be a causal, length-k, LTI system. This gives us the finite summation,

yn= l =0m1xlhnl y n l 0 m1 x l h n l
Notice that for any given n n we have a sum of the mm products of xl x l and a time-delayed hnl h n l . This is to say that we multiply the terms of x x by the terms of a time-reversed h h and add them up.

Going back to the previous example:

Figure 5: This is the end result that we are looking to find.
Figure 5 (dconv5b.png)
Figure 6: Here we reverse the impulse response, h h , and begin its traverse at time 0 0.
Figure 6 (dconv6b.png)
Figure 7: We continue the traverse. See that at time 1 1, we are multiplying two elements of the input signal by two elements of the impulse respone.
Figure 7 (dconv7b.png)
Figure 8
Figure 8 (dconv8b_2.png)
Figure 9: If we follow this through to one more step, n=4 n 4 , then we can see that we produce the same output as we saw in the intial example.
Figure 9 (dconv8b_3.png)

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.

Content actions

Download module as:

PDF | EPUB (?)

What is an EPUB file?

EPUB is an electronic book format that can be read on a variety of mobile devices.

Downloading to a reading device

For detailed instructions on how to download this content's EPUB to your specific device, click the "(?)" link.

| More downloads ...

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens


A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks