35
1 Digital Signal Processing Digital Signal Processing IIR digital filter IIR digital filter structures structures Filter design Filter design

1 Digital Signal Processing Digital Signal Processing IIR digital filter structures Filter design

Embed Size (px)

Citation preview

Page 1: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

1

Digital Signal ProcessingDigital Signal Processing

IIR digital filter structuresIIR digital filter structures

Filter designFilter design

Page 2: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

2

Basic IIR Digital Filter Structure An N-th order IIR digital transfer function is characterised by 2N+1 unique

coefficients, and in general, requires 2N+1 multipliers and 2N two input adders for implementation

Direct form IIR filter: Filter structures in which the multiplier coefficients are precisely the coefficients of the transfer function

Consider, a 3rd order IIR filter with transfer function

We can implement H(z) as a cascade

where

Page 3: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

3

Basic IIR Digital Filter Structure

The filter section H1(z) can be seen to be an FIR filter and can be realised:

Time domain representation of H2(z) is given by

Page 4: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

4

Direct Form IIR Digital Filter Structure

Cascade of the two structures leads to H(z) and is known as direct form I structure

It is noncanonic as it uses 6 delays to realise 3rd order transfer function

Its transpose (direct form It)

Page 5: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

5

Direct Form IIR Digital Filter Structure

Various other noncanonic direct form structures can be derived by simple block diagram manipulations

Observe in the direct form structure (on the right), signal variables in nodes 1 and 1’ are the same, so the two top delays can be shared

Likewise, the middle and bottom two delays can be shared

We get direct form II and its transpose (direct form IIt) is also shown

Now, it is canonic

Page 6: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

6

Cascade form IIR Digital Filter Structure By expressing the numerator and the denominator polynomials of the

transfer function as a product of polynomials of lower degree, a digital filter can be realised as a cascade of low-order filter sections

)(

)(

)(

)(

)(

)(

)(

)()(

3

3

2

2

1

1

zD

zP

zD

zP

zD

zP

zD

zPzH Consider, for example, H(z)=P(z)/D(z)

expressed as

Examples of cascade realisations obtained by different pole-zero pairings

Examples of cascade realisations obtained by different ordering of sections

Page 7: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

7

Cascade form IIR Digital Filter Structure

There are altogether a total of 36 different cascade realisations of H(z) based on pole-zero pairings and orderings

Due to finite wordlength effects, each such realisation behaves differently

Usually, the polynomials are factored into a product of 1st order and 2nd order polynomials:

For a first order,

Page 8: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

8

Consider an example:

The direct form II and cascade realisations are

Cascade form IIR Digital Filter Structure

How?

21

21

1

1

5.08.01

0455.08227.01

4.01

44.0)(

zz

zz

z

zzH

Hint: try to remember a general form for direct form II and then reuse it!

Page 9: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

9

Parallel Form IIR Digital Filter Structures A partial-fraction expansion of the transfer function in z-1 leads to the

parallel form I structure

Assuming simple poles, the transfer function H(z) can be expressed as

In the above for a real pole,

A direct partial fraction expansion of the transfer function in z leads to the parallel form II structure

In the above for a real pole,

We’ll see some examples……….

Page 10: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

10

A partial fraction expansion of

in z-1 yields

Parallel Form IIR Digital Filter Structures

1.04.01

6.0

)5831.04.0(1

25.0

)5831.04.0(1

25.0)(

111

zzjzjzH

)1)(1(

)1()1(

11 BA

AbBa

B

b

A

aUse

Parallel form I

Page 11: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

11

A partial fraction expansion of

in z yields

Parallel Form IIR Digital Filter Structures

1

1

1

1

1

1

)5831.04.0(1

)1458.01.0(

)5831.04.0(1

)1458.01.0(

4.01

24.0)(

zj

zj

zj

zj

z

zzH

)1)(1(

)1()1(

11 BA

AbBa

B

b

A

aUse

Parallel form II

Page 12: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

FIR filter design

We have briefly explored the design of FIR filters in Lecture 5 We’ll look at it again here using MATLAB We’ll use the window method to design FIR filters

12

Page 13: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

13

Ideal filter and impulse response

An ideal LPF Its impulse

What is the problem – we can’t have infinite coefficient length So, we need to truncate

13

Gain

freqwc

1LPF

Inverse DFT

Similar to

Page 14: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

1414

Let us use a rectangular window

We can see that the shape of the LPF has changed

This is know as Gibbs phenomenon – oscillatory behaviour in the magnitude responses caused by truncating the ideal impulse response function (i.e. the rectangular window has an abrupt transition to zero)

Gibbs phenomenon can be reduced by Using a window that tapers smoothly at each end Providing a smooth transition from passband to stopband in the magnitude

specifications

14

Ideal filter and impulse response

DFT

Page 15: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

151515

Filter length

The filter length (i.e. order) affects the magnitude response

Length increase, number of ripples in both passband and stopband increases but with a corresponding decrease in the ripple widths

That is as N increase, it gets closer to the ideal LPF

But height of largest ripples remain the same independent of length

Similar oscillatory behaviour could be observed in the magnitude responses of the truncated versions of other types of ideal filters

15

Infinite N

N=25

N=13

Page 16: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

1616

Common window functions

Some common window functions

Low pass filter frequency response

N=51 and 2

cw

Magnitude response of window functions with M=25

Page 17: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

171717

FIR filter design

Step 1 - Specify the ideal or required frequency response, HD(w)

Step 2 - Obtain impulse response, hD(n) of the desired filter by evaluating the inverse Fourier transform

Important note: we’ll look at hD(n) for standard filter designs in the next slide

Step 3 - Select a window function and then the number of filter coefficients

Step 4 - Obtain values of w(n) for the chosen window function and the values of the actual FIR coefficients, h(n), by multiplying hD(n) with w(n)

h(n)=hD(n) w(n)

Page 18: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

FIR filter design (Steps 1 and 2)

18

We can make use of available hD(n)

Page 19: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

19

FIR filter design (step 3) – window? First problem in step 3 - which window function?

The ratio of the main lobe/side lobe can be used

Example, the frequency response of Hamming and Blackman windows

Main lobe centred at ω=0

Other ripples are called side lobes

Page 20: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

FIR filter design (step 3) – window? To ensure a fast transition from passband to stopband, window should

have a very small main lobe width

To reduce the passband and stopband ripple , the area under the sidelobes should be small so to increase the stopband attenuation, we need to decrease the sidelobe amplitude

Most of the time, these two requirements are contradictory

Example: LPF with length=51 and cut-off at /2

20

Page 21: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

21

FIR filter design (step 3) – length? Second problem in step 3 – number of filter coefficients?

To obtain good (i.e. sharper) transition band reduce main lobe width increase the filter length

But increased filter length means increased computational complexity

Eg: Frequency response of Hamming window with length 101 and 201 are shown below

21

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-400

-200

0

200

Normalized Frequency ( rad/sample)

Pha

se (

degr

ees)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-100

-50

0

50

Normalized Frequency ( rad/sample)

Mag

nitu

de (

dB)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-400

-200

0

200

Normalized Frequency ( rad/sample)

Pha

se (

degr

ees)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-100

-50

0

50

Normalized Frequency ( rad/sample)

Mag

nitu

de (

dB)

Page 22: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

FIR filter design (step 3) – length? Using the same window as in the previous slide

LPF with Hamming window, with normalised cut-off=0.3

22

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-4000

-3000

-2000

-1000

0

Normalized Frequency ( rad/sample)

Pha

se (

degr

ees)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-150

-100

-50

0

50

Normalized Frequency ( rad/sample)

Mag

nitu

de (

dB)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-6000

-4000

-2000

0

Normalized Frequency ( rad/sample)

Pha

se (

degr

ees)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-150

-100

-50

0

50

Normalized Frequency ( rad/sample)

Mag

nitu

de (

dB)

Page 23: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

23

To select the ‘suitable’ order i.e. the length The lowest order that can meet the requirements

There are several methods: Kaiser, Bellanger, Hermann

Kaiser’s formula:

Actual location of transition band is immaterial

Bellanger’s formula:

Hermann’s formula is more complex so we will not consider here (but generally it gives slightly more accurate value for the order)

23

FIR filter design (step 3) – order selection

)(6.14

13log20 10

ps

sp

ffN

1

)(3

10log2 10

ps

sp

ffN

2/)(6.14

13log20 10

ps

spN

Page 24: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

2424

Example – Kaiser’s formula

24

)12000/180012000/2000(6.14

13)0178.0(0115.0log20 10

N

Page 25: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

25

Another example A requirement exists for an FIR digital filter to meet the following specifications:

Passband: 150-250 Hz Transition width: 50 Hz Passband ripple: 0.1 dB Stopband attenuation: 60 dB Sampling frequency: 1 kHz

Obtain the filter coefficients

Solution - The peak ripple values are p=0.0115, s=0.001

Using Kaiser’s formula:

which give N=49.85. So, we could take N=50 (type 1, odd length)

Note that the passband information is not used to obtain N, so it will be the same even if we shift the passband or even if we use it for highpass, stopband etc

If the transition bands are not same then we use the smaller transition band bigger transition band requires smaller N, so the smaller transition band

requires a higher order and is more important for the order selection

)1000/50(6.14

13)001.0(0115.0log20 10 N

)(6.14

13log20 10

ps

sp

ffN

Page 26: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

A common mistake Example: Obtain the FIR coefficients for a highpass filter with

Fc=600 Hz with FT=2000 Hz

Assume we start with N=100 Use the known impulse response for HPF

Problem The phase is completely non-linear The magnitude response is not good

26

0 20 40 60 80 100 120-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

20

40

60

80

Normalized Frequency ( rad/sample)

Pha

se (

degr

ees)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-15

-10

-5

0

5

Normalized Frequency ( rad/sample)

Mag

nitu

de (

dB)

Page 27: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

27

To obtain linear phase response Coefficients must be symmetry/antisymmetry

So say, change N=201

Linear phase response achieved But there are still ripples (Gibbs phenomenon)

A common mistake – solution 1

0 50 100 150 200 250-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-10000

-5000

0

5000

Normalized Frequency ( rad/sample)

Pha

se (

degr

ees)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-150

-100

-50

0

50

Normalized Frequency ( rad/sample)

Mag

nitu

de (

dB)

Page 28: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

28

Let us use a window, say Hamming

Less ripple in the magnitude response (in the passband)

Why is the cut-off frequency in the plot at 0.6 rad/sample? We used 0.3 to obtain the impulse

response function, right?

A common mistake – solution 2

0 50 100 150 200 2500

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 50 100 150 200 250-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-10000

-5000

0

5000

Normalized Frequency ( rad/sample)

Pha

se (

degr

ees)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-150

-100

-50

0

50

Normalized Frequency ( rad/sample)

Mag

nitu

de (

dB)

Page 29: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

Taking the example further

29

Let us actually use the filter after designing it!

It could be improved – using higher N and improved window such as Kaiser window

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-100

-80

-60

-40

-20

0

20

Frequency

Pow

er S

pect

rum

Mag

nitu

de (

dB)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-120

-100

-80

-60

-40

-20

0

20

FrequencyP

ower

Spe

ctru

m M

agni

tude

(dB

)

Page 30: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

Using MATLAB fir1 function

30

Using MATLAB, filter coefficients can easily obtained using fir1 function! Hamming window is used by default

For the same input x in the previous slide, let us design a bandpass filter to extract only the component at 650 Hz

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-100

-80

-60

-40

-20

0

20

Frequency

Pow

er S

pect

rum

Mag

nitu

de (

dB)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-120

-100

-80

-60

-40

-20

0

20

Frequency

Pow

er S

pect

rum

Mag

nitu

de (

dB)

0 50 100 150 200 250-0.1

-0.08

-0.06

-0.04

-0.02

0

0.02

0.04

0.06

0.08

Page 31: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

Improved FIR filter design

31

The windows such as Hanning, Hamming etc are known as fixed window designs as the ripple values are fixed)

FIR filter design can also be improved using adjustable window functions such as Dolph-Chebyshev and Kaiser that provide control over by means of an additional parameter characterising the window

The basis of FIR filter design is to obtain the set of minimal number of coefficients for the required response

So, computer based optimisation methods have been invented Parks-McClellan algorithm can be used to obtain the FIR coefficients (in MATLAB, we

can design this filter using ‘remez’ function) Normally, improved design over the standard window based method Known as computer based FIR filter design

The only other FIR design method is frequency sampling method But knowledge of the window based method is sufficient for this course

Note: Kaiser order and Kaiser window are two different matters, though we normally use them together

Page 32: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

32

IIR filter design

32

The most common approach to IIR filter design: Convert the digital filter specifications into an analogue prototype

low-pass filter specifications Determine the analogue low-pass filter transfer function, Ha(s)

Transform Ha(s) in the desired digital transfer function G(z)

The most widely used transformation is the bilinear transformation that maps the imaginary axis in the s-plane (j) onto the unit circle of the z-plane

So, relation between G(z) and Ha(s)

However, this design requires some knowledge of analogue low-pass filters and also s-plane and therefore, we will skip this method and straightaway utilise IIR filter design using MATLAB

Page 33: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

3333

IIR filter design using MATLAB

33

We have done IIR filter design using MATLAB in Lecture 5

There are several classical IIR filters Butterworth, Chebyshev Types I and II, Elliptic MATLAB functions

butter – Butterworth filter with flat passband (no ripples) ellip – Elliptic filter with ripples (but normally requiring lower order than

Butterworth for same transition band) cheby1 - Chebyshev filter controlling peak-to-peak ripple in the passband cheby2 - Chebyshev filter controlling the amount of stopband ripple

First step is to estimate the order of the filter given the specifications – using functions: buttord, cheb1ord, cheb2ord, ellipord etc

Next, obtain the coefficients, B and A using functions: buttord, besself, cheby1, cheby2, ellip, etc

Finally, do the filtering using filtfilt function

The frequency response of the filter can be obtained using function freqz(B,A)

Page 34: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

34

IIR filter design using MATLAB -example

Design an elliptic IIR low-pass filter with the specifications: Fp=0.8 kHz, Fs=1 kHz, FT=4 kHz, p=0.5 dB, s=40 dB

MATLAB code: [N,Wn]=ellipord(0.4,0.5,0.5,40) [B,A]=ellip(N,0.5,40,Wn)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-400

-300

-200

-100

0

Normalized Frequency ( rad/sample)

Pha

se (

degr

ees)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-150

-100

-50

0

Normalized Frequency ( rad/sample)

Mag

nitu

de (

dB)

Page 35: 1 Digital Signal Processing Digital Signal Processing  IIR digital filter structures  Filter design

3535

IIR filter design using MATLAB -example

To filter a signal, use filtfilt function

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-120

-100

-80

-60

-40

-20

0

20

Frequency

Pow

er S

pect

rum

Mag

nitu

de (

dB)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-120

-100

-80

-60

-40

-20

0

20

Frequency

Pow

er S

pect

rum

Mag

nitu

de (

dB)