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.

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.
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
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
(1)
Let us take a quick look at the steps taken in the above
derivation. After our initial equation we rewrite the function
x n
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
x k
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
x n
x
n
or
h n
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.

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

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
y n = ∑ k = - ∞ ∞ x k h n - k
y
n
k
x
k
h
n
k
(2)
As with continuous-time, convolution is represented by the
symbol *, and can be written as
y n = x n * h n
y
n
x
n
h
n
(3)
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:
y n = x n * h n = h n * x n
y
n
x
n
h
n
h
n
x
n
(4)
From equation 4 we get a convolution sum that is equivivalent to the
sum in equation 2:
y n = ∑ k = - ∞ ∞ h k x n - k
y
n
k
h
k
x
n
k
(5)
For more information on the characteristics of convolution,
read about the Properties
of Convolution.

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,
y n = ∑ l = 0 m - 1 x l h n - l
y
n
l
0
m 1
x
l
h
n
l
(6)
Notice that for any given
n
n
we have a sum of the m m products of
x l
x
l
and a time-delayed
h n - l
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:

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?