Bài giảng Digital signal processing - Chapter 4: FIR filtering and Convolution - Nguyễn Thanh Tuấn
Chapter 4
FIR filtering and Convolution
Nguyen Thanh Tuan,M.Eng.
Department of Telecommunications (113B3)
Ho Chi Minh City University of Technology
Email: [email protected]om
Content
Block processing methods
Convolution: direct form, convolution table
Convolution: LTI form, LTI table
Matrix form
Flip-and-slide form
Overlap-add block convolution method
Sample processing methods
FIR filtering in direct form
Digital Signal Processing
2
FIR Filtering and Convolution
Introduction
Block processing methods: data are collected and processed in blocks.
FIR filtering of finite-duration signals by convolution
Fast convolution of long signals which are broken up in short segments
DFT/FFT spectrum computations
Speech analysis and synthesis
Image processing
Sample processing methods: the data are processed one at a time-
with each input sample being subject to a DSP algorithm which
transforms it into an output sample.
Real-time applications
Digital audio effects processing
Digital control systems
Adaptive signal processing
Digital Signal Processing
3
FIR Filtering and Convolution
1. Block Processing method
The collected signal samples x(n), n=0, 1,…, L-1, can be thought as a
block:
x=[x0, x1, …, xL-1]
The duration of the data record in second: TL=LT
Consider a casual FIR filter of order M with impulse response:
h=[h0, h1, …, hM]
The length (the number of filter coefficients): Lh=M+1
Digital Signal Processing
4
FIR Filtering and Convolution
11.1. Direct form
The convolution in the direct form:
y(n) h(m)x(n m)
m
For DSP implementation, we must determine
The range of values of the output index n
The precise range of summation in m
Find index n:
index of h(m) 0≤m≤M
index of x(n-m) 0≤n-m≤L-1
0 ≤ m ≤ n ≤m+L-1 ≤ M+L-1
0 n ML1
Lx=L input samples which is processed by the filter with order M
Ly L M=Lx M
yield the output signal y(n) of length
Digital Signal Processing
5
FIR Filtering and Convolution
1Direct form
Find index m:
index of h(m) 0≤m≤M
index of x(n-m) 0≤n-m≤L-1 n+L-1≤ m ≤ n
max 0, n L1 m min M, n
The direct form of convolution is given as follows:
min(M ,n)
y(n)
h(m)x(n m) hx
with
0 n ML1
mmax(0,nL1)
Thus, y is longer than the input x by M samples. This property
follows from the fact that a filter of order M has memory M and
keeps each input sample inside it for M time units.
Digital Signal Processing
6
FIR Filtering and Convolution
Example 1
Consider the case of an order-3 filter and a length of 5-input signal.
Find the output ?
h=[h0, h1, h2, h3]
x=[x0, x1, x2, x3, x4 ]
y=h*x=[y0, y1, y2, y3, y4 , y5, y6, y7 ]
Digital Signal Processing
7
FIR Filtering and Convolution
1.2. Convolution table
It can be observed that
y(n) h(i)x( j)
i, j
i jn
Convolution table
The convolution
table is convenient
for quick calculation
by hand because it
displays all required
operations
compactly.
Digital Signal Processing
8
FIR Filtering and Convolution
Example 2
Calculate the convolution of the following filter and input signals?
h=[1, 2, -1, 1],
x=[1, 1, 2, 1, 2, 2, 1, 1]
Solution:
sum of the values along anti-diagonal line yields the output y:
y=[1, 3, 3, 5, 3, 7, 4, 3, 3, 0, 1]
Note that there are Ly=L+M=8+3=11 output samples.
Digital Signal Processing
9
FIR Filtering and Convolution
1.3. LTI Form
LTI form of convolution:
y(n) x(m)h(n m)
m
Consider the filter h=[h0, h1, h2, h3] and the input signal x=[x0, x1, x2,
x3, x4 ]. Then, the output is given by
y(n) x0h(n) x1h(n1) x2h(n2) x3h(n3) x4h(n4)
We can represent the input and output signals as blocks:
Digital Signal Processing
10
FIR Filtering and Convolution
1.3. LTI Form
LTI form of convolution:
LTI form of convolution provides a more intuitive way to under
stand the linearity and time-invariance properties of the filter.
Digital Signal Processing
11
FIR Filtering and Convolution
Example 3
Using the LTI form to calculate the convolution of the following
filter and input signals?
h=[1, 2, -1, 1],
x=[1, 1, 2, 1, 2, 2, 1, 1]
Solution:
Digital Signal Processing
12
FIR Filtering and Convolution
1.4. Matrix Form
Based on the convolution equations
y Hx
we can write
x is the column vector of the Lx input samples.
y is the column vector of the Ly =Lx+M put samples.
H is a rectangular matrix with dimensions (Lx+M)xLx .
Digital Signal Processing
13
FIR Filtering and Convolution
1.4. Matrix Form
It can be observed that H has the same entry along each diagonal.
Such a matrix is known as Toeplitz matrix.
Matrix representations of convolution are very useful in some
applications:
Image processing
Advanced DSP methods such as parametric spectrum estimation and adaptive
filtering
Digital Signal Processing
14
FIR Filtering and Convolution
Example 4
Using the matrix form to calculate the convolution of the following
filter and input signals?
h=[1, 2, -1, 1],
x=[1, 1, 2, 1, 2, 2, 1, 1]
Solution: since Lx=8, M=3 Ly=Lx+M=11, the filter matrix is
11x8 dimensional
Digital Signal Processing
15
FIR Filtering and Convolution
1.5. Flip-and-slide form
The output at time n is given by
yn h0xn h x ...hM xnM
1 n1
Flip-and-slide form of convolution
The flip-and-slide form shows clearly the input-on and input-off
transient and steady-state behavior of a filter.
Digital Signal Processing
16
FIR Filtering and Convolution
1.6. Transient and steady-state behavior
M
From LTI convolution:
y(n) h(m)x(n m) h x h x ... h x
0 n
1 n1
M nM
m0
The output is divided into 3 subranges:
Transient and steady-state filter outputs:
Digital Signal Processing
17
FIR Filtering and Convolution
1.7. Overlap-add block convolution method
As the input signal is infinite or extremely large, a practical approach
is to divide the long input into contiguous non-overlapping blocks of
manageable length, say L samples.
Overlap-add block convolution method:
Digital Signal Processing
18
FIR Filtering and Convolution
Example 5
Using the overlap-add method of block convolution with each bock
length L=3, calculate the convolution of the following filter and
input signals?
h=[1, 2, -1, 1],
x=[1, 1, 2, 1, 2, 2, 1, 1]
Solution: The input is divided into block of length L=3
The output of each block is found by the convolution table:
Digital Signal Processing
19
FIR Filtering and Convolution
Example 5
The output of each block is given by
Following from time invariant, aligning the output blocks according
to theirs absolute timings and adding them up gives the final results:
Digital Signal Processing
20
FIR Filtering and Convolution
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Digital signal processing - Chapter 4: FIR filtering and Convolution - Nguyễn Thanh Tuấn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_digital_signal_processing_chapter_4_fir_filtering.pdf

