Digital Filters - Implementation and Design: Basic Filtering Operations

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

Module 4

Digital Filters - Implementation and Design

Digital Signal Processing. Slide 4.1

Contents

Signal Flow Graphs


Basic filtering operations

Digital Filter Structures

Direct form FIR and IIR filters


Filter transposition
Linear phase FIR filter structures
Finite precision effects

FIR and IIR Filter Design Techniques


Windows
Bilinear transformations

Reading:
Chapter 7, Proakis and Manolakis
Digital Signal Processing. Slide 4.2

Design and Implementation

Filter Design

Given some frequency response specification, determine the type, order


and coefficients of a digital filter to best meet the specification.

Filter Implementation

Given some filter design, including the type, order and coefficients of the
filter, determine a way of implementing the filtering operation using
appropriate hardware or software.

Digital Signal Processing. Slide 4.3

A filter can be specified by a difference equation


y ( n) =

k =1

k =0

ak y(n k ) + bk x (n k )

or by a system function
H ( z) =

Y ( z)
=
X ( z)

bk z k

k =0
N

ak z k

k =1

Such filters can be implemented in many different ways

equivalent in function for infinite precision computation


not equivalent for fixed point computation
some may be more robust to rounding effects

Digital Signal Processing. Slide 4.4

Signal Flow Graphs

Filters can be described in terms of 3 basic operations


block diagram
signal flow
x2 ( n)

x2 ( n)

addition

delay

x1 ( n) + x2 ( n)

x1 (n)

x ( n 1)

x ( n)

z 1

x ( n 1)

ax ( n)

x ( n)

ax (n)

x1 (n)

multiplication
by a constant

x ( n)

x ( n)

x1 ( n) + x2 ( n)

Digital Signal Processing. Slide 4.5

Finite Impulse Response Filters


(FIR)

System function

H ( z) =

Difference equation y ( n) =

bk z k

k =0
M

bk x (n k )

k =0

Output is weighted sum of current and previous M inputs


The filter has order M
The filter has M+1 taps, i.e. impulse response is of length M+1
H(z) is a polynomial in z-1 of order M
H(z) has M poles at z = 0 and M zeros at positions in the z-plane
determined by the coefficients bk
Digital Signal Processing. Slide 4.6

Direct Form FIR Filter

z 1

x ( n)

b( 0)

z 1

z 1

b(1)

b( 2)

b( N 1)

b( N 2)

y ( n)

Also known as moving average (MA) and non-recursive

Digital Signal Processing. Slide 4.7

Infinite Impulse Response Filters


(IIR)
M

bk z k

System function

H ( z) =

k =0
N

ak z k

k =1

Difference equation

y ( n) =

k =1

k =0

ak y(n k ) + bk x (n k )

Output is weighted sum of current and previous M inputs and previous N


outputs
H ( z ) has N poles at positions determined by a k and M zeros at
positions in the z-plane determined by bk

Digital Signal Processing. Slide 4.8

Direct Form 1 IIR Filter (for M=N)


b( 0)

x ( n)

y ( n)

z 1
x ( n 1)

b(1)

a(1)

z 1
y( n 1)

z 1
x ( n 2)

b( 2)

a( 2)

z 1
y ( n 2)

b( M 1)

a ( N 1)

x (n M + 1)
z 1
x (n M )

a( N )

b( M )

y( n N + 1)
z 1
y(n N )

Digital Signal Processing. Slide 4.9

Direct Form 2 IIR Filter (for M=N)


b( 0)

x ( n)
a(1)

a( 2)

z 1
z 1

a ( N 1)

a( N )

y ( n)

b(1)

b( 2)
b( M 1)

z 1

b( M )

Digital Signal Processing. Slide 4.10

Canonical Form

Filter structures which have the minimum number of delay elements are
said to be in canonical form
i.e., minimum number of branches labelled z 1
Minimum number of delays given by maximum of (M, N)

Many other filter structures can be obtained by reformulating the difference equations

two forms will be studied in this course: transposed form and linear phase
FIR
many other forms will not be studied, e.g., cascade form, parallel form etc.

Digital Signal Processing. Slide 4.11

Transposed Forms

Transposing a signal flow graph

reverse the directions of all branches


swap input and output
transfer function is unchanged

Digital Signal Processing. Slide 4.12

Transposed Direct Form 1 IIR Filter (for M=N)

Note: drawn backwards for easy comparison with non-transposed form.


Normally redrawn with input on left.
x ( n)

b( 0)

y(n)

z 1
z 1

z 1

b(1)

z 1

a(1)

b( 2)

a( 2)

b ( M 1)

a ( N 1)

b( M )

a( N )

z 1

z 1

Digital Signal Processing. Slide 4.13

Linear Phase FIR Filters

For causal linear phase FIR filters, the coefficients are


symmetric
h( n) = h( N 1 n)

Linear phase filters do not introduce any phase distortion

Zeros occur in mirror image pairs

they only introduce delay


The delay introduced is ( N 1) / 2 samples
if z0 is a zero, then 1 z0 is also a zero

Symmetry leads to efficient implementations

N/2 multiplications (N even) or (N+1)/2 multiplications (N odd) per output


sample instead of N for the general case.

Digital Signal Processing. Slide 4.14

The filters z transform can be written

H ( z) =
=

N 1

h(n)z n

n=0
( N 2 ) 1

h(n)[ z n + z ( N 1 n) ] , N even

n=0
[( N 1)/ 2 ]1

h(n)[ z n + z ( N 1 n) ] + h( N 1 2)z [( N 1)/ 2] , N odd

n=0

and hence

( N / 2) 1

N 1
H ( e j ) = e j [( N 1) / 2 ] 2h( n) cos n
, N even
2
n = 0

( N 3) / 2


N 1
j [( N 1) / 2 ] N 1
=e
, N odd
+ 2h( n) cos n
h
2
2


n=0
Digital Signal Processing. Slide 4.15

FIR / IIR Pros and Cons

FIR

9 Linear Phase
constant group delay at any
frequency

9
9

Good CAD support for design


Cant be unstable
good for adaptive filters

9 Robust to numerical errors


eg: rounding in fixed point
arithmetic

8 Large number of taps required for


accurate frequency selectivity
high computational load

IIR
9 based on well-known analogue
8

concepts
Non-linear phase
delay varies with frequency

9 Good CAD support for design


8 Can be unstable
8 Rounding errors can accumulate
and cause serious inaccuracies
limit cycles

9 Small number of taps required


low computational load

Digital Signal Processing. Slide 4.16

Finite Precision Effects

DSP algorithms are implemented in hardware that can


represent numbers only to finite precision

e.g., 16 bit precision for Texas Instruments TMS320C5x

This results in

rounding of arithmetic operations


rounding of filter coefficients

Digital Signal Processing. Slide 4.17

Rounding of filter coefficients

effective position of poles and zeros moved


frequency response errors introduced
IIR filters may go unstable

analysis can show some structures are more robust than


others

FIR filter implementations normally use


direct form
cascade of 2nd order sections

IIR filter implementations normally use


cascade form
parallel form
NOT direct form

Digital Signal Processing. Slide 4.18

Rounding of arithmetic operations

may cause limit cycles

Example

H ( z) =

filters system function

1
1 + 0.9 z 1

input signal
x ( n) = 10 ( n)
ideal response
y (n) = 10(0.9) n
actual response for integer rounding of arithmetic

y( n) = x( n) 0.9 y( n 1)
= {10,9,8,7,6,5,5,5,5,5, etc }
This is called a limit cycle.
The pole has effectively moved
from z = 0.9 to z = 1 .
The result is oscillation at f s 2 .

Digital Signal Processing. Slide 4.19

Ideal Digital Filters


Lowpass

Bandpass

( )

Highpass

H e j

( )

Bandstop

H e j

( )

H e j

( )

H e j

Digital Signal Processing. Slide 4.20

Filter Specification

Aim of filter design

Given some frequency response specification, determine the type, order


and coefficients of a digital filter to best meet the specification.
H ( e j )
passband ripple
passband gain

stopband gain

cutoff frequency

transition bandwidth
Digital Signal Processing. Slide 4.21

FIR Filter Design

Order determination

order is
proportional to stopband attenuation
inversely proportional to transition bandwidth
often determined by approximate rule

Coefficients of an FIR filter are also the impulse response


Z {{h ( 0), h (1), , h ( N 1)}} =

N 1

h(n) z n

n=0

if we know the impulse response of the required filter then we can easily
design the filter
Digital Signal Processing. Slide 4.22

Ideal FIR filters

In general, an ideal (continuous) frequency response is related to an


(infinite) impulse response by the Fourier Series

H d ( e j ) =
hd ( n) =

hd (n)e jn

n =

1
2

Hd (e

) e jn d

The coefficients of an ideal FIR filter can therefore be found from the
Fourier Series coefficients of the desired frequency response.

Not practical because


the impulse response cannot be infinite
the impulse response must be causal
maybe dont need the frequency response to be specified for all (continuous)
values of

Digital Signal Processing. Slide 4.23

Frequency Sampling

truncation of the impulse response introduces errors


truncation of the impulse response is equivalent to sampling of the frequency
response

the truncated impulse response can be obtained directly from the DFT of
the desired frequency response

H ( k ) = Hd (e

2
k
N

h(n) =

N 1

h(n)e

2
nk
N

k = 0,1,2 ,..., N 1

n=0

N 1

H ( k )e

2
nk
N

n = 0,1,2 ,..., N 1

k =0

N-1 is the order of the FIR filter


The frequency response has been sampled at N points around the unit
circle
The frequency response of filter designed in this way will only be exactly
correct only at these points
Digital Signal Processing. Slide 4.24

Example

1,
< 2
H ( e j ) =
0, otherwise

Lowpass filter
Number of taps: 33

desired response

H d ( e j )

0.8
0.6

frequency sampled
response

0.4
0.2
0
0

10

12

14

16

Digital Signal Processing. Slide 4.25

For the ideal filter (from Fourier Series)


hd ( n ) =

sin( n 2 )
1 2 jn
e
d = 1 2

n 2
2 2

n = ,...,

For the truncated filter (from IDFT)


2
j
nk
1 32
h(n) =
H ( k ) e N , n = 0,1,2 ,...,32

33 k = 0

h(n)

Note that this result is causal.


It is obtained using a linear
phase assumption for the filter
such that the delay of the filter
is given by ( N 1) 2 such that
j ( N 1) 2
H ( e j ) = H ( e j ) e

0.5

0.4

0.3

0.2

0.1

-0.1

10

15

20

25

30

35

Digital Signal Processing. Slide 4.26

Windowing

The truncation of the impulse response is equivalent to


multiplication of the ideal (infinite) impulse response by a
square window w ( n )
h ( n ), 0 n N 1
h(n) = d
otherwise
0,
= hd ( n ) w ( n )

Square window function

1,
w(n) =
0,

0 n N 1
otherwise

Digital Signal Processing. Slide 4.27

Effect of multiplying impulse response by window

convolution of ideal frequency response with Fourier transform of


window
Fourier transform of square window is sinc
expect to see high side-lobes and ripples in the frequency response of the filter
designed using square window
Magnitude of frequency
response for the 33 taps
lowpass filter with cutoff frequency of 2

10
0

Magnitude Response dB

-10
-20
-30
-40
-50
-60
0

0.1

0.2
0.3
Normalized Frequency

0.4

0.5

Digital Signal Processing. Slide 4.28

Other window functions

Hamming window

n
0.54 + 0.46 cos
,
w(n) =
I
0,

I n I
otherwise

Hanning window

n
0.5 + 0.5 cos
,
w(n) =
I
0,

I nI
otherwise

(Several others)

Use of raised cosine-type windows (Hamming or Hanning) gives better


stopband attenuation but wider transition band

Digital Signal Processing. Slide 4.29

Filter magnitude responses for square, Hamming and


Hanning windows
20

Square

0
Magnitude Response dB

-20
-40

Hamming

-60
-80
-100
-120
0

Hanning
0.1

0.3
0.2
Normalized Frequency

0.4

0.5

Digital Signal Processing. Slide 4.30

IIR Filter Design

Normally done by transforming a continuous-time design


to discrete-time

many classical continuous-time filters are known and coefficients


tabulated
Butterworth
Chebyshev
Elliptic, etc.

possible transformations are


Impulse invariant transformation
Bilinear transformation

Digital Signal Processing. Slide 4.31

Butterworth Filters

maximally flat in both passband and stopband


2
first 2 N 1 derivatives of H ( j) are zero at = 0 and =
1

H ( j ) =


1+

= 1,
=1

2N

for = 0
2 , for = c

1 N , for >> c

2N poles of H ( s) H ( s) equally spaced around a circle in the s-plane of


radius c symmetrically located with respect to both real and imaginary
axes
poles of H ( s) selected to be the N poles on the left half plane of s
coefficients of a continuous-time filter for specific order and cutoff
frequency can be found
from analysis of above expression
from tables
Digital Signal Processing. Slide 4.32

Transformation to discrete-time

wish to map j axis of the s-plane to the unit circle of the z-plane
wish to map poles and zeros on the left half plane of s-plane to the inside
of unit circle in z

j
s = j

s-plane

z = 1

Im

z-plane

Re

Digital Signal Processing. Slide 4.33

Impulse-Invariant
Transformation

Not widely used


Impulse response of discrete-time filter is obtained by
sampling the impulse response of continuous-time filter

impulse response is preserved by the mapping


frequency response is not preserved due to aliasing

Digital Signal Processing. Slide 4.34

Bilinear Transformation

Widely used
Avoids aliasing problem of impulse-invariant
transformation

Two elements

z 1
z +1

transformation

s=

frequency warping

= tan( 2)

Digital Signal Processing. Slide 4.35

From

s=

z 1
z +1

we can write

z=

1 + s 1 + + j
=
= re j
1 s 1 j

> 0 r >1
right half plane of s maps to exterior of unit circle in z

< 0 r <1
left half plane of s maps to interior of unit circle in z

= 0r =1
imaginary axis in s maps to unit circle in z

On the imaginary axis we have (using z = e j )


e j 1 j sin( 2)
j = j
=
= j tan( 2)
e + 1 cos( 2)
this is the relationship between frequency in the continuous-time filter and
frequency in the discrete-time filter
it is a non-linear relationship which is close to linear for small frequencies

Digital Signal Processing. Slide 4.36

Example
Design a 2nd order Butterworth digital filter with cutoff frequency of 2 kHz
and sampling frequency 20 kHz.

Pre-warp the discrete-time frequencies to obtain the equivalent


continuous-time frequencies
c = tan( c 2) = tan(0.1 2 2) = 0.325
Design a continuous-time Butterworth filter for cutoff at c
1
H ( s) = 2
s + 2s + 1

For cutoff at 1 rad/s

For cutoff at 0.325 rad/s

Apply transformation

s
0.325

0106
.
H ( s) = 2
s + 0.46s + 0106
.

s=

z 1
z +1

H ( z) =

0.068z 2 + 0136
. z + 0.068
. z + 0.413
z 2 1142

Digital Signal Processing. Slide 4.37

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy