This document is a lecture on discrete-time convolutions. It discusses various methods for processing discrete-time samples, including block processing and sample processing. Block processing deals with finite blocks of data and applications like FIR filtering and DFT computations. Sample processing is used in real-time applications like filtering and control systems. The document presents different equivalent forms of the convolution operation, including direct form, LTI form, matrix form, and overlap-add. It provides examples of computing convolution using these different forms. The document concludes with exercises involving computing convolutions using different methods.
1. Chapter Three
Discrete - Time Convolutions
Lecture #7
Rediet Million
AAiT, School Of Electrical and Computer Engineering
rediet.million@aait.edu.et
April,2018
(Rediet Million) DSP-Lecture #7 April,2018 1 / 18
2. Introduction
In this chapter we look at methods on how the discrete-time samples,
once obtained, are processed by a special class of linear time-invariant
discrete-time systems to produce an output.
Major practical methods considered are block-processing and
sample-processing methods.
Block processing method deals with finite-duration blocks of data
at a time.Typical applications include
-FIR filtering of finite-duration signals by convolution
-DFT/FFT spectral computations
-Speech analysis and synthesis and image processing
Sample processing methods are primarily used in real -time
applications such as:
-Real-time filtering,
-Digital audio effects processing,
-Digital control systems,
-Adaptive signal processing
(Rediet Million) DSP-Lecture #7 April,2018 2 / 18
3. Introduction
Various equivalent forms of the convolution operation will also be
presented. These equivalent forms of convolution are:
Direct form:Leads to block diagram realization and sample
processing algorithm.
LTI form : incorporates linearity and time-invariance properties.
Matrix form: represents compact vectorial representation of the
filtering operation.
Flip-and-slide form:Shows clearly input-on and input-off
transients and steady-state behavior.
Overlap-add block convolution: used whenever the input is
extremely long or infinite in duration.
(Rediet Million) DSP-Lecture #7 April,2018 3 / 18
4. 3.1 Block processing methods
The main feature of block processing methods is that data is
collected and processed in blocks at a time.
Consider a finite set of samples of length L representing a finite time
record of the input signal x(n).
For a sampling interval of T the duration TR of the data record,
in seconds, will be
TR = (L − 1)T
TR =
L
fs
or L = TR = fs
Thus, the signal block or vector of length-L is : x = [x0, x1, x2, .., xL−1]
(Rediet Million) DSP-Lecture #7 April,2018 4 / 18
5. Block processing methods
Direct form convolution
Consider a causal FIR filter order M with impulse response
h = {h0, h1, h2, ..., hM}
- The length of the impulse response is Lh = M + 1
The response of the order - M FIR filter to a length-Lx input x(n) i.e
x = {x0, x1, x2, ..., xLx −1} is obtained,using the direct form convolution as
y(n) =
m
h(m)x(n − m)
-Range of h(m) is 0 ≤ m ≤ M.....................(1)
-Range of x(n − m) is 0 ≤ n − m ≤ Lx − 1........(2)
To determine the range of values of the output index ’n’ we write (2) in
the form of m ≤ n ≤ Lx − 1 + m
(Rediet Million) DSP-Lecture #7 April,2018 5 / 18
6. Block processing methods
Direct form convolution
and use (1) to expand the limits to 0 ≤ m ≤ n ≤ Lx − 1 + m ≤ Lx − 1 + M
⇒The limits for the output index is
0 ≤ n ≤ Lx − 1 + M..........(3)
- Thus, Ly = Lx + M and y = {y0, y1, y2, ..., yLx −1+M}
For any values of the output index ’n’ in the range (3),we must
determine the summation range over ’m’ in the convolution equation
- Changing the sign of (2) we obtain −(Lx − 1) ≤ m − n ≤ 0 and adding
’n’ to all sides
n − Lx + 1 ≤ m ≤ n..........(4)
- ’m’ must satisfy equation (1) and (4) i.e
max(0, n − Lx + 1) ≤ m ≤ min(n, M)
In the case of an order M FIR filter and a length Lx input ,the direct
form of convolution is given as :
y(n) =
min(n,M)
m=max(0,n−Lx +1)
h(m)x(n − m)
(Rediet Million) DSP-Lecture #7 April,2018 6 / 18
7. Block processing methods
Convolution table
A convenient way of expressing the direct form convolution is as
follows convolution table form :
y(n) =
n=i+j
h(i)x(j)
Each output yn is the sum of all possible products hi xj for which
i + j = m.This leads directly to the convolution table.
- In the ij-plane, the condition i + j = n represents the nth
anti-diagonal.These anti-diagonal entries are summed to form yn.
(Rediet Million) DSP-Lecture #7 April,2018 7 / 18
8. Block processing methods
Convolution table
Example :
Compute the convolution of h(n) and x(n), where
(Rediet Million) DSP-Lecture #7 April,2018 8 / 18
9. Block processing methods
LTI form convolution
This type of convolution uses linearity and time-invariance properties
of the filter to determine the output sequence.
For an input sequence x = [x0, x1, x2, x3, x4] and impulse response
h(n), we may rewrite the LTI form of convolution as:
y(n) =
min(n,Lx −1)
m=max(0,n−M)
x(m)h(n − m)
A convolution table type of operation can be formed for the LTI form
of convolution where the output values, yn, may be obtained by
summing entries column-wise, with h arranged along the row and x
arranged along the column.
(Rediet Million) DSP-Lecture #7 April,2018 9 / 18
10. Block processing methods
Matrix form of convolution
The convolution equation may also be written in a matrix form as:
y = Hx
where H is an (L + M)xL matrix built out of the filter’s impulse
response,h(n).
The columns of H are the successively delayed replicas of the
impulse response vector h(n).
(Rediet Million) DSP-Lecture #7 April,2018 10 / 18
11. Block processing methods
Matrix form of convolution
Example :
Compute y when
We may also rewrite the convolution equation as :
y = Xh
where X is an (L + M)x(M + 1) matrix
(Rediet Million) DSP-Lecture #7 April,2018 11 / 18
12. Block processing methods
Flip-and slide form of convolution (Graphical form)
Here h(n) is flipped around or reversed and then slid over the input
data sequence.
At each time instant, the output sample is obtained by computing the
dot product of the filter vector h with M + 1 input samples aligned below
it, as shown below:
(Rediet Million) DSP-Lecture #7 April,2018 12 / 18
13. Block processing methods
Overlap-add block convolution method
In many applications considering the input as a single block may not
be practical.A practical approach is to divide the long input into
non-overlapping contiguous blocks of practical length, say L samples.
Each block is convolved with the order-M filter h(n) producing the
output blocks appropriately combined together to get the overall output.
y0 = h ∗ x0 y1 = h ∗ x1 y2 = h ∗ x2 y3 = h ∗ x3
Transient and steady-state components
(Rediet Million) DSP-Lecture #7 April,2018 13 / 18
14. Block processing methods
Transient and steady-state components
For a length-L input and order-M filter,the output sequence can be
divided into three sub-ranges for the range of the output time index n
0 ≤ n ≤ L − 1 + M
Input-on transient: It takes the filter M time units before it is completely
over the nonzero portion of the input sequence.
Steady-state: the filter remains completely over the nonzero portion of
the input data.
Input-off transient: It represent the output after the input is turned off.
(Rediet Million) DSP-Lecture #7 April,2018 14 / 18
16. Block processing methods
Convolution of infinite sequences
Consider the direct form convolution
y(n) =
min(n,M)
m=max(0,n−L+1)
hmxn−m
We can obtain the correct summation limits for the following three
cases:
1. M → ∞, L < ∞, i.e infinite filter length and finite input length.
2. M < ∞, L → ∞, i.e finite filter length and infinite input length.
3. M → ∞, L → ∞, i.e infinite filter length and infinite input length.
In all the above cases, the output index is 0 ≤ n ≤ ∞ and
- When M → ∞ ,the upper limit in the sum becomes min(n, M) = n
- When L → ∞ ,the lower limit in the sum becomes max(0, n − L + 1) = 0
(Rediet Million) DSP-Lecture #7 April,2018 16 / 18
18. Block processing methods
(#1 ) Class exercises & Assignment
1) Compute the convolution ,y = h ∗ x, of the filter and input
a. h = [1, 1, 2, 1] x = [1, 2, 1, 1, 2, 1, 1, 1]
b. h = [1, 0, 0, 1] x = [1, 1, 2, 2, 2, 2, 1, 1]
using the following five methods
i. Direct form ii. Convolution table iii.LTI-form
iv.Matrix form v. The overlap-add methods of block convolution.
2) An IIR filter has h(n) = (0.25)nu(n).Derive a closed form expressions
for the output y(n) when the input is
a. a unit step,x(n) = u(n)
b. a pulse of finite duration samples,x(n) = u(n) − u(n − 8)
c. an alternating step,x(n) = (−2)nu(n)
(Rediet Million) DSP-Lecture #7 April,2018 18 / 18