Skip to content Skip to navigation

Connexions

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

Navigation

Content Actions

  • Download module PDF
  • Add to ...
    Add the module to:
    • My Favorites
    • A lens
    • An external social bookmarking service
    • My Favorites (What is 'My Favorites'?)
      'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.
    • A lens (What is a lens?)

      Definition of a lens

      Lenses

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

      What is in a lens?

      Lens makers point to Connexions 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 Connexions member, a community, or a respected organization.

    • External bookmarks
  • E-mail the authors

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.

Discrete-Time Convolution

Module by: Ricardo Radaelli-Sanchez, Richard Baraniuk

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: You are viewing an old version of this document. The latest version is available here.

Overview

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.

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=-xkhn-k y n k x k h n k (1)
As with continuous-time, convolution is represented by the symbol *, and can be written as
yn=xn*hn y n x n h n (2)
By making a simple change of variables into the convolution sum, k=n-k k n k , we can easily show that convolution is commutative:
xn*hn=hn*xn x n h n h n x n (3)
For more information on the characteristics of convolution, read about the Properties of Convolution.

Derivation

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 be a DT LTI system, we start with the folowing equation and work our way down the convolution sum!

yn=xn=k=-xkδn-k=k=-xkδn-k=k=-xkδn-k=k=-xkhn-k 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 (4)
Let us take a quick look at the steps taken in the above derivation. After our initial equation, we using the DT sifting property to 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 can pull the previous mentioned 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!

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 (dtconv1e.png)
Figure 2: A scaled impulse input yields a scaled response, due to the scaling property of the system's linearity.
Figure 2 (dtconv2e.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 (dtconv3e.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 (dtconv4e.png)

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-mm signal and h h to be a causal, length-kk, LTI system. This gives us the finite summation,

yn=l=0m-1xlhn-l y n l 0 m 1 x l h n l (5)
Notice that for any given n n we have a sum of the products of x l x l and a time-delayed h l h 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 (dtconv6e.png)
Figure 6: Here we reverse the impulse response, h h , and begin its traverse at time 0 0.
Figure 6 (dtconv7e.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 (dtconv8e.png)
Figure 8
Figure 8 (dtconv9e.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 (dtconv10e.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.

Comments, questions, feedback, criticisms?

Send feedback