<< Chapter < Page Chapter >> Page >
Time discrete convolution

Introduction

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 yourunderstanding of this extremely important concept. Convolution is a very powerful tool in determining asystem'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 . Since we are assuming the system to be linear and time-invariant, itwould seem to reason that an input signal comprised of the sum of scaled and shifted impulses would give rise to an outputcomprised 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 thederivation:

Letting be a discrete time LTI system, we start with the folowing equation and work our waydown 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
Let us take a quick look at the steps taken in the above derivation. After our initial equation we rewrite the function x n as a sum of the function times the unit impulse. Next, we can move around theoperator and the summation because is a linear, DT system. Because of this linearity and the fact that 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 or 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.

A single impulse input yields the system's impulse response.
A scaled impulse input yields a scaled response, due to the scaling property of the system's linearity.
We now use the time-invariance property of the system to show that a delayed input results in an output of the sameshape, only delayed by the same amount as the input.
We now use the additivity portion of the linearity property of the system to complete the picture. Since anydiscrete-time signal is just a sum of scaled and shifteddiscrete-time impulses, we can find the output from knowing the input and the impulse response.

Convolution sum

As mentioned above, the convolution sum provides a concise, mathematical way to express the output of an LTI system basedon 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
As with continuous-time, convolution is represented by the symbol *, and can be written as
y n x n h n
By making a simple change of variables into the convolution sum, k n k , we can easily show that convolution is commutative :
y n x n h n h n x n
From we get a convolution sum that is equivivalent to the sum in :
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 beginthis by writing the convolution sum allowing x to be a causal, length-m signal and 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
Notice that for any given n we have a sum of the m products of x l and a time-delayed h n l . This is to say that we multiply the terms of x by the terms of a time-reversed h and add them up.

Going back to the previous example:

This is the end result that we are looking to find.
Here we reverse the impulse response, h , and begin its traverse at time 0 .
We continue the traverse. See that at time 1 , we are multiplying two elements of the input signal bytwo elements of the impulse respone.
If we follow this through to one more step, n 4 , then we can see that we produce the same output as we saw in the intial example.

What we are doing in the above demonstration is reversing the impulse response in time and "walking it across" the inputsignal. 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 itdemonstrates how convolution builds up an output through time.

Questions & Answers

how to create a software using Android phone
Wiseman Reply
how
basra
what is the difference between C and C++.
Yan Reply
what is software
Sami Reply
software is a instructions like programs
Shambhu
what is the difference between C and C++.
Yan
yes, how?
Hayder
what is software engineering
Ahmad
software engineering is a the branch of computer science deals with the design,development, testing and maintenance of software applications.
Hayder
who is best bw software engineering and cyber security
Ahmad
Both software engineering and cybersecurity offer exciting career prospects, but your choice ultimately depends on your interests and skills. If you enjoy problem-solving, programming, and designing software syste
Hayder
what's software processes
Ntege Reply
I haven't started reading yet. by device (hardware) or for improving design Lol? Here. Requirement, Design, Implementation, Verification, Maintenance.
Vernon
I can give you a more valid answer by 5:00 By the way gm.
Vernon
it is all about designing,developing, testing, implementing and maintaining of software systems.
Ehenew
hello assalamualaikum
Sami
My name M Sami I m 2nd year student
Sami
what is the specific IDE for flutter programs?
Mwami Reply
jegudgdtgd my Name my Name is M and I have been talking about iey my papa john's university of washington post I tagged I will be in
Mwaqas Reply
yes
usman
how disign photo
atul Reply
hlo
Navya
hi
Michael
yes
Subhan
Show the necessary steps with description in resource monitoring process (CPU,memory,disk and network)
samuel Reply
What is software engineering
Tafadzwa Reply
Software engineering is a branch of computer science directed to writing programs to develop Softwares that can drive or enable the functionality of some hardwares like phone , automobile and others
kelvin
if any requirement engineer is gathering requirements from client and after getting he/she Analyze them this process is called
Alqa Reply
The following text is encoded in base 64. Ik5ldmVyIHRydXN0IGEgY29tcHV0ZXIgeW91IGNhbid0IHRocm93IG91dCBhIHdpbmRvdyIgLSBTdGV2ZSBXb3puaWFr Decode it, and paste the decoded text here
Julian Reply
what to do you mean
Vincent
hello
ALI
how are you ?
ALI
What is the command to list the contents of a directory in Unix and Unix-like operating systems
George Reply
how can i make my own software free of cost
Faizan Reply
like how
usman
hi
Hayder
The name of the author of our software engineering book is Ian Sommerville.
Doha Reply
what is software
Sampson Reply
the set of intruction given to the computer to perform a task
Noor
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Media processing in processing. OpenStax CNX. Nov 10, 2010 Download for free at http://cnx.org/content/col10268/1.14
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Media processing in processing' conversation and receive update notifications?

Ask