DISCRETE-TIME
CONVOLUTION
Dr. Muhammad
Zaigham Abbas Shah
Response of LTI systems
Review: Discrete-time signals
A discrete-time signal is a set of
numbers, one can
x=[2 0 -1 3]
Review: Resolution of a DT Signal into pulses
x = [2 0 -1 3]
Impulses at n = 0, 1, 2, and 3 with
amplitudes
x[0] = 2, x[1] = 0, x[2] = -1, x[3] = 3
This can be written as,
xn 2 n [n 2] 3 [n 3]
xn x[0] [n 0] x[1] [n 1] x[2] [n 2] x[3] [n 3]
K1
xn x[k ] [n k ] K is the length of
k 0 x
xn x[k ] [n k ] For infinite pulses
k
Example 1: Resolve the following discrete-time signals into impulses
x[n] 2 4 0 3
Impulses occur at n = -1, 0, 1, 2 with amplitudes x[-1] = 2,
x[0] = 4, x[1] = 0, x[2] = 3
2
xn x[k ] [n k ]
k 1
x[ 1] [n ( 1)] x[0] [n 0] x[1] [n 1] x[2] [n 2]
x[n] 2 [n 1] 4 [n] 3 [n 2]
Follow the same procedure for r[n]
Weighted sum of time-shifted impulses
Characterization of LTI systems
LTI systems can be characterized in two ways
Using Difference equations
Relationship between discrete-time inputs and
discrete-time outputs
Also called Input-Output equations
y[n] x[n] 34 x[n 1] 2 x[n 5]
y[n] x[n] 34 x[n 1] 2 x[n 5] 1
11 y[n 1] 75 y[n 4]
Characterization of LTI systems
Impulse response
System’s response to an impulse
Decompose the input signal vector into weighted-time-
shifted impulses
Find the output of the system as the sum of its impulse
response
x[n] [a0 a1 a2 ]
x[k ] h[ n k ]
a0 [n 0] a1 [n 1] a2 [n 2] Syste k
m
H(.)
Convolution
Convolution is the process by which an input
interacts with an LTI system to produce an output
Convolution between of an input signal x[n] with a
system having impulse response h[n] is given as,
y[ n] x[ n] * h[ n] x[ k ] h[ n k ]
k
where * denotes the convolution
Convolution
We have already established that we can resolve the
discrete-time input as weighted, time-shifted impulses
Let’s generalize this
x[ n] x[ k ] [ n k ]
k
Now, we apply this signal to an LTI system ‘H’ to get an
output ‘y’
y[ n] H
x[ k ] [ n k ]
where h[n] is the response of
k the system H to each impulse
y[ n] x[ k ] h[ n k ]
k Flip, Shift, Multiply, Add
y[ n] x[ n] * h[ n] x[ k ] h[ n k ]
k
Ways to compute D.T. Convolution
Finite State Machine Algorithm (FSMA)/Table
method
Flip, Shift, Multiply, Add
Analytical method
FSMA/Table method
Steps to follow:
Step 1 List the index ‘k’ covering a sufficient range
Step 2 List the input x[k]
Step 3 Obtain the reversed sequence h[-k], and align the
rightmost element of h[n-k] to the leftmost element
of x[k]
Step 4 Cross-multiply and sum the nonzero overlap terms
to produce y[n]
Step 5 Slide h[n-k] to the right by one position
Step 6 Repeat step 4; stop if all the output values are zero
or if required.
Example 2: Find the convolution of the two sequences x[n] and h[n]
given by,
x[k] = [3 1 2] h[k] = [3 2 1]
k: -2 -1 0 1 2 3 4 5
x[k]: 3 1 2
h[0-k]: 1 2 3
h[1-k]: 1 2 3
h[2-k]: 1 2 3
h[3-k]: 1 2 3
h[4-k]: 1 2 3
h[5-k]: 1 2 3
Hint: The value of k starts from (– length of h + 1) and continues till (length of h + length of x –
1)
k: -2 -1 0 1 2 3 4 5
x[k]: 3 1 2
h[0-k]: 1 2 3
h[1-k]: 1 2 3
h[2-k]: 1 2 3
h[3-k]: 1 2 3
h[4-k]: 1 2 3
h[5-k]: 1 2 3
y[0] = 3 x 3
=9
k: -2 -1 0 1 2 3 4 5
x[k]: 3 1 2
h[0-k]: 1 2 3
h[1-k]: 1 2 3
h[2-k]: 1 2 3
h[3-k]: 1 2 3
h[4-k]: 1 2 3
h[5-k]: 1 2 3
y[0] = 3 x 3
=9
y[1] = 3 x 2 + 1 x 3
=9
k: -2 -1 0 1 2 3 4 5
x[k]: 3 1 2
h[0-k]: 1 2 3
h[1-k]: 1 2 3
h[2-k]: 1 2 3
h[3-k]: 1 2 3
h[4-k]: 1 2 3
h[5-k]: 1 2 3
y[0] = 3 x 3
=9
y[1] = 3 x 2 + 3 x 1
=9
y[2] = 3 x 1 + 1 x 2 + 2 x
3= 11
k: -2 -1 0 1 2 3 4 5
x[k]: 3 1 2
h[0-k]: 1 2 3
h[1-k]: 1 2 3
h[2-k]: 1 2 3
h[3-k]: 1 2 3
h[4-k]: 1 2 3
h[5-k]: 1 2 3
y[0] = 3 x 3 y[3] = 1 x 1 + 2 x 2 = 5
=9
y[1] = 3 x 2 + 3 x 1
=9
y[2] = 3 x 1 + 1 x 2 + 2 x
3= 11
k: -2 -1 0 1 2 3 4 5
x[k]: 3 1 2
h[0-k]: 1 2 3
h[1-k]: 1 2 3
h[2-k]: 1 2 3
h[3-k]: 1 2 3
h[4-k]: 1 2 3
h[5-k]: 1 2 3
y[0] = 3 x 3 y[3] = 1 x 1 + 2 x 2 = 5
=9
y[1] = 3 x 2 + 3 x 1 y[4] = 2 x 1 = 2
=9
y[2] = 3 x 1 + 1 x 2 + 2 x
3= 11
k: -2 -1 0 1 2 3 4 5
x[k]: 0 0 3 1 2
h[-k]: 1 2 3 0 0
h[1-k]: 0 1 2 3 0
h[2-k]: 1 2 3
h[3-k]: 1 2 3
h[4-k]: 1 2 3
h[5-k]: 1 2 3
y[0] = 3 x 3 y[3] = 1 x 1 + 2 x 2 = 5
=9
y[1] = 3 x 2 + 3 x 1 y[4] = 2 x 1 = 2
=9
y[2] = 3 x 1 + 1 x 2 + 2 x y[5] = 0 (no overlap)
3= 11
y[n] {9 9 11 5 2 0}
Example 3: Find the convolution of the two
sequences, x[n] and h[n], represented by,
x[n] = [1 2 3] h[n] = [10 20 30 40
50]
Example 4: Find the convolution of the two
sequences x[n] and h[n] represented by,
x[n] = {2 1 -2 3 -4} h[n] = [3 1 2 1
4]
Properties of Convolution
Commutative…
x1[n] * x2 [n] x2 [n] * x1[n]
Associative…
{x1[n] * x2 [n]} * x3[n] x1[n] *{x2 [n] * x3 [n]}
Distributive…
{x1[n] x2 [n]} * x3 [n] x1[n] * x3 [n] x2 [n] * x3 [n]
And……we’re done!!