0% found this document useful (0 votes)
93 views28 pages

FIR Filtering and Convolution Methods

The document discusses FIR filtering and convolution, detailing block and sample processing methods, including direct form, LTI form, matrix form, and overlap-add methods. It covers the mathematical foundations of convolution, examples of calculations, and hardware realizations for efficient implementation in DSP chips. The content is aimed at applications in digital signal processing, speech analysis, and image processing.

Uploaded by

logiadragsil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views28 pages

FIR Filtering and Convolution Methods

The document discusses FIR filtering and convolution, detailing block and sample processing methods, including direct form, LTI form, matrix form, and overlap-add methods. It covers the mathematical foundations of convolution, examples of calculations, and hardware realizations for efficient implementation in DSP chips. The content is aimed at applications in digital signal processing, speech analysis, and image processing.

Uploaded by

logiadragsil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter

p 4
FIR filtering and Convolution
Ha Hoang Kha, [Link] to edit Master subtitle style
Ho Chi Minh City University of Technology
@
Email: hhkha@[Link]
Content

™ Block p
processingg 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

Ha H. Kha 2 FIR Filtering and Convolution


Introduction

™ Block processing methods: data are collected and processed in blocks.


‰ FIR filtering of finite
finite-duration
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
‰ Digitall audio
d effects
ff processing
‰ Digital control systems
‰ Adaptive signal processing

Ha H. Kha 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=[x
[ 0, 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

Ha H. Kha 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,


p , 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


x(n m) Æ 0≤n-m≤L-1
index of x(n-m) 0≤n m≤L 1
Æ 0 ≤ m ≤ n ≤m+L-1 ≤ M+L-1
0 ≤ n ≤ M + L −1
™ Lx=L input samples which is processed by the filter with order M
yield the output signal y(n) of length L y = L + M Lx + M
M=L
Ha H. Kha 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 − L + 1) ≤ m ≤ min ( M, n )

™ The direct form of convolution is given as follows:


min( M , n )
y ( n) = ∑
m = max(0,
(0 n − L +1)
h( m) x ( n − m) = h ∗ x with 0 ≤ n ≤ M + L − 1

™ Thus,, y is longer
g than the input
p x byy M samples.
p This property
p p y
follows from the fact that a filter of order M has memory M and
keeps each input sample inside it for M time units.

Ha H. Kha 6 FIR Filtering and Convolution


Example

™ Consider the case of an order-3 filter and a length of 5-input signal.


Find the output
o tp t ?

h=[h0, h1, h2, h3]


x=[x0, x1, x2, x3, x4 ]
yy=h*x=[y
h x [y0, y1, y2, y3, y4 , y5, y6, y7 ]

Ha H. Kha 7 FIR Filtering and Convolution


1.2. Convolution table

™ It can be observed that y ( n) = ∑ h(i) x( j )


i, j
i+ j =n

™ Convolution table

™ The convolution
table is convenient
for quick calculation
b h
by hand d because
b iit
displays all required
operations
compactly.

Ha H. Kha 8 FIR Filtering and Convolution


Example

™ 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:
S l i

sum of the values along anti-diagonal line yields the output y:


y=[1,
=[1 3,
3 3,
3 5,
5 3,
3 7,
7 4,
4 3,
3 3,
3 0,
0 1]
Note that there are Ly=L+M=8+3=11 output samples.

Ha H. Kha 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) = x0 h(n) + x1h(n − 1) + x2 h(n − 2) + x3 h(n − 3) + x4 h(n − 4)
™ We can represent the input and output signals as blocks:

Ha H. Kha 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
time invariance properties of the filter.
filter
Ha H. Kha 11 FIR Filtering and Convolution
Example

™ Using the LTI form to calculate the convolution of the following


filter and inp
inputt signals?
h=[1, 2, -1, 1], x=[1, 1, 2, 1, 2, 2, 1, 1]
™ Solution:
S l i

Ha H. Kha 12 FIR Filtering and Convolution


1.3. Matrix Form

™ Based on the convolution equations

we can write y = Hx
‰ x is the column vector of the Lx input
p samples.
p
‰ y is the column vector of the Ly =Lx+M put samples.
‰ H is a rectangular matrix with dimensions (Lx+M)xLx .

Ha H. Kha 13 FIR Filtering and Convolution


1.3. Matrix Form

™ It can be
b observed
b d th
thatt H has
h ththe same entry
t along
l each
h diagonal.
di l
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

Ha H. Kha 14 FIR Filtering and Convolution


Example
™ 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

Ha H. Kha 15 FIR Filtering and Convolution


1.4. Flip-and-slide form

™ The output at time n is given by


yn = h0 xn + h1 xn −1 + ... + hM xn − M

™ Flip-and-slide
li d lid fform off convolution
l i

™ The flip-and-slide form shows clearly the input-on and input-off


transient and steady-state
steady state behavior of a filter.
Ha H. Kha 16 FIR Filtering and Convolution
1.5. Transient and steady-state behavior
M
™ From LTI convolution: y(n) = ∑h(m)x(n − m) = h0 xn + h1xn−1 + ... + hM xn−M
m=0
™ The output is divided into 3 subranges:

™ Transient
T i andd steady-state
d fil outputs:
filter

Ha H. Kha 17 FIR Filtering and Convolution


1.6. Overlap-add block convolution method

™ As the input signal is infinite or extremely large, a practical approach


is to divide the longg input
p into contiguous
g non-overlapping
pp g blocks of
manageable length, say L samples.
™ Overlap
Overlap-add
add block convolution method:

Ha H. Kha 18 FIR Filtering and Convolution


Example
™ 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


L=33

The output of each block is found by the convolution table:

Ha H. Kha 19 FIR Filtering and Convolution


Example
™ The output of each block is given by

™ Following
F ll i fromf time
i invariant,
i i aligning
li i theh output blocks
bl k accordingdi
to theirs absolute timings and adding them up gives the final results:

Ha H. Kha 20 FIR Filtering and Convolution


2. Sample processing methods
™ The direct form convolution for an FIR filter of order M is given by

™ Introduce the internal states

Sample
p p processingg algorithm
g

Fig: Direct form realization ™ Sample processing methods are


off Mth
M h order
d fil
filter convenient for real-time
real time applications
Ha H. Kha 21 FIR Filtering and Convolution
Example
™ Consider the filter and input given by

Using the sample processing algorithm to compute the output and


show the input-off transients.

Ha H. Kha 22 FIR Filtering and Convolution


Example

Ha H. Kha 23 FIR Filtering and Convolution


Example

Ha H. Kha 24 FIR Filtering and Convolution


Hardware realizations
™ The FIR filtering algorithm can be realized in hardware using DSP
chips, for example the Texas Instrument TMS320C25

™ MAC: Multiplier
Accumulator

Ha H. Kha 25 FIR Filtering and Convolution


Hardware realizations

™ The signal processing methods can efficiently rewritten as

™ In modern DSP chips, the two


operations

can carried out with a single instruction.

™ The total processing time for each input sample of Mth order filter:

where Tinstr is one instruction cycle in about 30-80 nanoseconds.


™ For real-time application, it requires that

Ha H. Kha 26 FIR Filtering and Convolution


Example

™ What is the longest FIR filter that can be implemented with a 50 nsec
per instruction DSP chip
p p for digital
g audio applications
pp with sampling
p g
frequency fs=44.1 kHz ?

Solution:

Ha H. Kha 27 FIR Filtering and Convolution


Homework

™ Problems 4.1, 4.2, 4.3, 4.5, 4.15, 4.18

Ha H. Kha 28 FIR Filtering and Convolution

You might also like