Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Chapter Three

Discrete - Time Convolutions


Lecture #6

Rediet Million

AAiT, School Of Electrical and Computer Engineering


rediet.million@aait.edu.et

February, 2020

(Rediet Million) DSP-Lecture #6 February, 2020 1 / 19


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.
I 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
I 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 #6 February, 2020 2 / 19
Introduction

Various equivalent forms of the convolution operation will also be


presented. These equivalent forms of convolution are:
I Direct form: Leads to block diagram realization and sample
processing algorithm.
I LTI form : incorporates linearity and time-invariance properties.
I Matrix form: represents compact vectorial representation of the
filtering operation.
I Flip-and-slide form: Shows clearly input-on and input-off
transients and steady-state behavior.
I Overlap-add block convolution: used whenever the input is
extremely long or infinite in duration.

(Rediet Million) DSP-Lecture #6 February, 2020 3 / 19


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).

I For a sampling interval of T the duration TR of the data record,


in seconds, will be
TR = (L − 1)T
L
TR = or L = TR fs
fs
Thus, the signal block or vector of length-L is : x = [x0 , x1 , x2 , .., xL−1 ]
(Rediet Million) DSP-Lecture #6 February, 2020 4 / 19
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
I 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
X
y (n) = h(m)x(n − m)
m

- Range of h(m) is 0 ≤ m ≤ M.....................(1)


- Range of x(n − m) is 0 ≤ n − m ≤ Lx − 1........(2)
I 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 #6 February, 2020 5 / 19


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 }
I 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)
I In the case of an order M FIR filter and a length Lx input, the direct
form of convolution is given as :
min(n,M)
P
y (n) = h(m)x(n − m)
m=max(0,n−Lx +1)
(Rediet Million) DSP-Lecture #6 February, 2020 6 / 19
Block processing methods
Convolution table

A convenient way of expressing the direct form convolution is as


follows convolution table P
form :
y (n) = h(i)x(j)
n=i+j

I Each output yn is the sum of all possible products hi xj for which


n = i + j. 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 #6 February, 2020 7 / 19
Block processing methods
Convolution table

Example:
Compute the convolution of h(n) and x(n), where

(Rediet Million) DSP-Lecture #6 February, 2020 8 / 19


Block processing methods
LTI form convolution

This type of convolution uses linearity and time-invariance properties


of the filter to determine the output sequence.
IFor an input sequence x = [x0 , x1 , x2 , x3 , x4 ] and impulse response
h(n), we may rewrite the LTI form of convolution as:
min(n,Lx −1)
X
y (n) = x(m)h(n − m)
m=max(0,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 #6 February, 2020 9 / 19


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).
I The columns of H are the successively delayed replicas of the
impulse response vector h(n).

(Rediet Million) DSP-Lecture #6 February, 2020 10 / 19


Block processing methods
Matrix form of convolution

Example:
Compute y when

I We may also rewrite the convolution equation as:


y = Xh
where X is an (L + M)x(M + 1) matrix

(Rediet Million) DSP-Lecture #6 February, 2020 11 / 19


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.
I 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 #6 February, 2020 12 / 19


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.
I 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 #6 February, 2020 13 / 19


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 #6 February, 2020 14 / 19


Block processing methods
Transient and steady-state components

(Rediet Million) DSP-Lecture #6 February, 2020 15 / 19


Block processing methods
Convolution of infinite sequences

Consider the direct form convolution


min(n,M)
P
y (n) = hm xn−m
m=max(0,n−L+1)

I 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.
I 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 #6 February, 2020 16 / 19


Block processing methods
Convolution of infinite sequences

Thus, we have

(Rediet Million) DSP-Lecture #6 February, 2020 17 / 19


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)n u(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)n u(n)

(Rediet Million) DSP-Lecture #6 February, 2020 18 / 19


Chapter three reading assignment
Sample Processing Methods
Transposed realization

(Rediet Million) DSP-Lecture #6 February, 2020 19 / 19

You might also like