chapter 9-10 digital filter design. objective - determination of a realizable transfer function g(z)...

Post on 21-Jan-2016

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Chapter 9-10

Digital Filter Design

• Objective - Determination of a realizable transfer function G(z) approximating a given frequency response specification is an important step in the development of a digital filter

• If an IIR filter is desired, G(z) should be a stable real rational function

• Digital filter design is the process of deriving the transfer function G(z)

§9.1 Digital Filter Specifications

• Usually, either the magnitude and/or the phase (delay) response is specified for the design of digital filter for most applications

• In some situations, the unit sample response or the step response may be specified

• In most practical applications, the problem of interest is the development of a realizable approximation to a given magnitude response specification

§9.1 Digital Filter Specifications• We discuss in this course only the magnitude

approximation problem• There are four basic types of ideal filters with

magnitude responses as shown below

§9.1 Digital Filter Specifications• As the impulse response corresponding t

o each of these ideal filters is noncausal and of infinite length, these filters are not realizable

• In practice, the magnitude response specifications of a digital filter in the passband and in the stopband are given with some acceptable tolerances

• In addition, a transition band is specified between the passband and stopband

§9.1 Digital Filter Specifications

• For example, the magnitude response |G(ej)| of a digital lowpass filter may be given as indicated below

§9.1 Digital Filter Specifications

• As indicated in the figure, in the passband, defined by 0p, we require that |G(ej)|1 with an error p, i.e.,

1- p |G(ej)| 1+ p, | | p

• In the stopband, defined by s , we require that |G(ej)|0 with an error s

i.e., |G(ej)| p, s ||

§9.1 Digital Filter Specifications

p - passband edge frequency s - stopband edge frequency p - peak ripple value in the passband s - peak ripple value in the stopband• Since G(ej) is a periodic function of , and |G

(ej)| of a real-coefficient digital filter is an even function of

• As a result, filter specifications are given only for the frequency range 0 ||

§9.1 Digital Filter Specifications

• Specifications are often given in terms of loss function G()=-20log10 |G(ej)| in dB

• Peak passband ripple

p= -20log10 (1- p ) dB

• Minimum stopband attenuation

s= -20log10 (s ) dB

§9.1 Digital Filter Specifications

• Magnitude specifications may alternately be given in a normalized form as indicated below

§9.1 Digital Filter Specifications

• Here, the maximum value of the magnitude in the passband is assumed to be unity

• 1/(1+2) - Maximum passband deviation, given by the minimum value of the magnitude in the passband

• 1/A - Maximum stopband magnitude

§9.1 Digital Filter Specifications

• In practice, passband edge frequency F

pand stopband edge frequency Fs are specified in Hz

• For digital filter design, normalized bandedge frequencies need to be computed from specifications in Hz using

TFF

F

F pT

p

T

pp

2

2

TFFF

F sT

s

T

ss 2

2

§9.2 Selection of Filter Type

• The transfer function H(z) meeting the frequency response specifications should be a causal transfer function

• For IIR digital filter design, the IIR transfer function is a real rational function of z-1:

NN

MM

zdzdzddzpzpzpp

zH

22

110

22

110)(

• H(z) must be a stable transfer function and must be of lowest order N for reduced computational complexity

§9.2 Selection of Filter Type

For reduced computational complexity, degree N of H(z) must be as small as possible

• If a linear phase is desired, the filter coefficients must satisfy the constraint:

h[n] = h[N-n-1]

N

n

nznhzH0

][)(

• For FIR digital filter design, the FIR transfer function is a polynomial in z-1 with real coefficients:

§9.2 Selection of Filter Type

• Advantages in using an FIR filter -(1) Can be designed with exact linear phase,(2) Filter structure always stable with quantized coefficients

• Disadvantages in using an FIR filter - Order of an FIR filter, in most cases, is considerably higher than the order of an equivalent IIR filter meeting the same specifications, and FIR filter has thus higher computational complexity

§9.3 Digital Filter Design: Basic Approaches

• Most common approach to IIR filter design –

• (1) Convert the digital filter specifications into an analog prototype lowpass filter specifications

• (2) Determine the analog lowpass filter transfer function Ha(s)

• (3) Transform Ha(s) into the desired digital transfer function G(z)

§9.3 Digital Filter Design: Basic Approaches

• This approach has been widely used for the following reasons:

(1) Analog approximation techniques are highly advanced

(2) They usually yield closed-form solutions

(3) Extensive tables are available for analog filter design

(4) Many applications require digital simulation of analog systems

§9.3 Digital Filter Design: Basic Approaches

• An analog transfer function to be denoted as

Ha(s)= Pa(s) / Da(s)

where the subscript “a” specifically indicates the analog domain

• A digital transfer function derived from Ha(s) shall be denoted as

G(z)=P(z)/D(z)

§9.3 Digital Filter Design: Basic Approaches

• Basic idea behind the conversion of Ha(s) into G(z) is to apply a mapping from the s-domain to the z-domain so that essential properties of the analog frequency response are preserved

• Thus mapping function should be such that– Imaginary (j ) axis in the s-plane be

mapped onto the unit circle of the z-plane– A stable analog transfer function be

mapped into a stable digital transfer function

§9.3 Digital Filter Design: Basic Approaches

• FIR filter design is based on a direct approximation of the specified magnitude response, with the often added requirement that the phase be linear

• The design of an FIR filter of order N may be accomplished by finding either the length-(N+1) impulse response samples {h[n]} or the (N+1) samples of its frequency response H(ej)

§9.3 Digital Filter Design: Basic Approaches

• Three commonly used approaches to FIR filter design -

(1) Windowed Fourier series approach

(2) Frequency sampling approach

(3) Computer-based optimization methods

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

Above transformation maps a single point in the s-plane to a unique point in the z-plane and vice-versa

• Relation between G(z) and Ha(s) is then given by

11

112)()(z

zT

sa sHzG

1

1

112zz

Ts

s

sz

1

1• Bilinear transformation

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

• Digital filter design consists of 3 steps:

(1) Develop the specifications of Ha(s) by applying the inverse bilinear transformation to specifications of G(z)

(2) Design Ha(s)

(3) Determine G(z) by applying bilinear transformation to Ha(s)

• As a result, the parameter T has no effect on G(z) and T = 2 is chosen for convenience

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

• For z=ej with T = 2 we have

)(

)(

11

2/2/2/

2/2/2/

jjj

jjj

j

j

eee

eee

eej

)2/tan()2/cos(2

)2/sin(2

jj

or =tan(/2)

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

• Steps in the design of a digital filter -

(1) Prewarp (p, s) to find their analog equivalents (p, s)

(2) Design the analog filter Ha(s)(3) Design the digital filter G(z) by applying bilinear transformation to Ha(s)

• Transformation can be used only to design digital filters with prescribed magnitude response with piecewise constant values

• Transformation does not preserve phase response of analog filter

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

Applying bilinear transformation to the above we get the transfer function of a first-order digital lowpass Butterworth filter

c

ca ssH

)(

)1()1()1(

)()( 11

1

11

11

zzz

sHzGc

c

z

zsa

• Example - Consider

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

• Rearranging terms we get

1

1

11

21)(

zzzG

)2/tan(1)2/tan(1

11

c

c

c

c

where

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

for which |Ha(j0)| = 0

|Ha(j0)| = |Ha(j)| = 0

0 is called the notch frequency

• If |Ha(j2)| = |Ha(j1)| =1/2 then B = 2 - 1 is the 3-dB notch bandwidth

22

22

)(o

oa

sBs

ssH

• Example - Consider the second-order analog notch transfer function

§9.4 IIR Digital Filter Design: Bilinear Transformation Method• Then

1

1

11)()(

zzsa sHzG

22122

22122

)1()1(2)1(

)1()1(2)1(

zBzB

zz

ooo

ooo

21

21

)1(21

212

1

zz

zz

)2/tan(1)2/tan(1

1

12

2

w

w

o

o

BB

B

B

oo

o cos

1

12

2

where

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

• Example - Design a 2nd-order digital notch filter operating at a sampling rate of 400 Hz with a notch frequency at 60 Hz, 3-dB notch bandwidth of 6 Hz

• Thus 0 = 2(60/400) = 0.3 Bw = 2(6/400) = 0.03 • From the above values we get

= 0.90993 = 0.587785

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

The gain and phase responses are shown below

21

21

90993.01226287.11

954965.01226287.1954965.0)(

zz

zzzG

Thus

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

• Example - Design a lowpass Butterworth digital filter with p =0.25, s = 0.55,

p0.5 dB, and s15 dB

• Thus 2=0.1220185, A2=31.622777

• If |G(ej0)|=0 this implies

20log10|G(ej0.25)| -0.5

20log10|G(ej0.55)| -15

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

• Prewarping we get

p=tan(p/2)=tan(0.25/2)=0.4142136

s =tan(s/2)=tan(0.55/2)=1.1708496The inverse transition ratio is

1/k = s/ p = 2.8266809

The inverse discrimination ratio is

1/k1 = (A2-1)/ = 15.841979

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

• Thus

N=log10(1/k1)/ log10(1/k) =2.6586997

• Choose N = 3• To determine c we use

|Ha(jp)|2= 1/[1+(p/ c)2N]=1/(1+2)

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

• We then get

c= 1.419915(p)=0.588148• 3rd-order lowpass Butterworth transfer f

unction for c=1 is

Han(s)=1/[(s+1)(s2+s+1)]• Denormalizing to get c=0.588148 we arri

ve at

Ha(s)= Han(s/0.588148)

§9.4 IIR Digital Filter Design: Bilinear Transformation Method

• Applying bilinear transformation to Ha(s) we get the desired digital transfer function

1

1

11)()(

zzsa sHzG

Magnitude and gain responses of G(z) shown below:

§9.5 IIR Highpass, Bandpass, and Bandstop Digital Filter Design

• First Approach -(1) Prewarp digital frequency specifications of desired digital filter GD(z) to arrive at frequency specifications of analog filter HD(s) of same type

(2) Convert frequency specifications of HD

(s) into that of prototype analog lowpass filter HLP(s)

(3) Design analog lowpass filter HLP(s)

§9.5 IIR Highpass, Bandpass, and Bandstop Digital Filter Design

(4) Convert HLP(s) into HD(s) using inverse frequency transformation used in Step 2

(5) Design desired digital filter GD(z) by applying bilinear transformation to HLP

(s)

§9.5 IIR Highpass, Bandpass, and Bandstop Digital Filter Design

• Second Approach - (1) Prewarp digital frequency specifications of desired digital filter GD(z) to arrive at frequency specifications of analog filter HD(s) of same type(2) Convert frequency specifications of HD(s) into that of prototype analog lowpass filter HLP(s)

§9.5 IIR Highpass, Bandpass, and Bandstop Digital Filter Design

(3) Design analog lowpass filter HLP(s)

(4) Convert HLP(s) into an IIR digital transfer function GLP(z) using bilinear transformation

(5) Transform GLP(z) into the desired digital transfer function GD(z)

• We illustrate the first approach

§9.5 IIR Highpass, Bandpass, and Bandstop Digital Filter Design

• Design of a Type 1 Chebyshev IIR digital highpass filter

• Specifications: Fp=700Hz, Fs = 500Hz,

p=1 dB, s=32dB, FT=2 kHz• Normalized angular bandedge frequencie

s

p =2Fp/ FT= 2700/2000=0.7 s = 2Fs/ FT= 2500/2000=0.5

§9.5.1 IIR Highpass Digital Filter Design

• Analog lowpass filter specifications: p = 1 ,

s = 1.926105 , p=1 dB, s=32 dB

9626105.1)2/tan(ˆ pp

0.1)2/tan(ˆ ss

• Prewarping these frequencies we get

For the prototype analog lowpass filter choose

p = 1

ˆ

ˆppUsing we get s = 1.962105

§9.5.1 IIR Highpass Digital Filter Design

• MATLAB code fragments used for the design[N, Wn] = cheb1ord(1, 1.9626105, 1, 32, ’s’)[B, A] = cheby1(N, 1, Wn, ’s’);[BT, AT] = lp2hp(B, A, 1.9626105);[num, den] = bilinear(BT, AT, 0.5);

§9.5.2 IIR Bandpass Digital Filter Design

• Design of a Butterworth IIR digital bandpass filter

• Specifications: p1=0.45 , p1=0.65 ,

s1=0.3, s2=0.75, p=1 dB, s=40 dB• Prewarping we get

8540807.0)2/tan(ˆ11 pp

6318517.1)2/tan(ˆ22 pp

41421356.2)2/tan(ˆ22 ss

5095254.0)2/tan(ˆ11 ss

§9.5.2 IIR Bandpass Digital Filter Design

For the prototype analog lowpass filter we choose p = 1

393733.1ˆˆˆ21

2 ppo2

21ˆ23010325.1ˆˆoss

777771.0ˆˆ12 ppwB• Width of passband

5773031.0ˆ1 s• We set

1ˆs 1

ˆs 2

ˆs

2ˆo

• We therefore modify so that and exhibit geometric symmetry with respect to

§9.5.2 IIR Bandpass Digital Filter Design

• Specifications of prototype analog Butterworth lowpass filter: p = 1, s=2.3617627, p=1 dB, s=40 dB

3617627.2777771.05773031.0

3332788.0393733.1 s

w

op B

ˆ

ˆˆ 22

• Using we get

§9.5.2 IIR Bandpass Digital Filter Design

• MATLAB code fragments used for the design

[N, Wn] = buttord(1, 2.3617627, 1, 40, ’s’)[B, A] = butter(N, Wn, ’s’);[BT, AT] = lp2bp(B, A, 1.1805647, 0.777771);[num, den] = bilinear(BT, AT, 0.5);

§9.5.3 IIR Bandstop Digital Filter Design

• Design of an elliptic IIR digital bandstop filter

• Specifications: s1=0.45, s2=0.65 , p1

=0.3, p2=0.75, p=1 dB, s=40 dB• Prewarping we get

,8540806.0ˆ1s ,6318517.1ˆ

2 s,5095254.0ˆ

1 p 4142136.2ˆ2 p

393733.1ˆˆˆ12

2 sso2

12ˆ230103.1ˆˆopp

• Width of stopband

§9.5.3 IIR Bandstop Digital Filter Design

• For the prototype analog lowpass filter we choose s= 1

0.42341263332787.0393733.1

777771.05095254.0 p

1ˆs 1

ˆs 2

ˆs

2ˆo

• We therefore modify so that and exhibit geometric symmetry with respect to

577303.0ˆ1 p• We set

22 ˆˆ

ˆ

o

ws

B• Using we get

§9.5.3 IIR Bandstop Digital Filter Design

• MATLAB code fragments used for the design[N, Wn] = ellipord(0.4234126, 1, 1, 40, ’s’);[B, A] = ellip(N, 1, 40, Wn, ’s’);[BT, AT] = lp2bs(B, A, 1.1805647, 0.777771);[num, den] = bilinear(BT, AT, 0.5);

§9.6 Fixed Window Functions• Using a tapered window causes the height of the si

delobes to diminish, with a corresponding increase in the main lobe width resulting in a wider transition at the discontinuity

• Hann: W[n[=0.5+0.5cos[2n/(2M+1)], -Mn M• Hamming: W[n[=0.54+0.46cos[2n/(2M+1)], -Mn M • Blackman: W[n[=0.42+0.5cos[2n/(2M+1)] +0.08cos[4n/

(2M+1)]

§9.6 Fixed Window Functions

• Plots of magnitudes of the DTFTs of these windows for M = 25 are shown below

0 0.2 0.4 0.6 0.8 1-100

-80

-60

-40

-20

0

/

Gai

n, d

B

Rectangular window

0 0.2 0.4 0.6 0.8 1-100

-80

-60

-40

-20

0

/

Gai

n, d

B

Hanning window

0 0.2 0.4 0.6 0.8 1-100

-80

-60

-40

-20

0

/

Gai

n, d

B

Hamming window

0 0.2 0.4 0.6 0.8 1-100

-80

-60

-40

-20

0

/

Gai

n, d

B

Blackman window

§9.6 Fixed Window Functions

• Magnitude spectrum of each window characterized by a main lobe centered at = 0 followed by a series of sidelobes with decreasing amplitudes

• Parameters predicting the performance of a window in filter design are:

• Main lobe width• Relative sidelobe level

§9.6 Fixed Window Functions

• Main lobe width ML- given by the distance between zero crossings on both sides of main lobe

• Relative sidelobe level Asl - given by the difference in dB between amplitudes of largest sidelobe and main lobe

§9.6 Fixed Window Functions

• Observe• Thus, Passband and stopband ripples are the same

§9.6 Fixed Window Functions

• Distance between the locations of the maximum passband deviation and minimum stopband value ML

• Width of transition band

s pML

§9.6 Fixed Window Functions

• 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 very small

• Unfortunately, these two requirements are contradictory

§9.6 Fixed Window Functions

• In the case of rectangular, Hann, Hamming, and Blackman windows, the value of ripple does not depend on filter length or cutoff frequency c , and is essentially constant

• In addition, c

where c is a constant for most practical purposes

§9.6 Fixed Window Functions

• Rectangular window - ML=4/(2M+1)

Asl=13.3 dB, s=20.9 dB, =0.92/M

• Hann window - ML=8/(2M+1)

Asl=31.5 dB, s=43.9 dB, =3.11/M

• Hamming window - ML=8/(2M+1)

Asl=42.7 dB, s=54.5 dB, =3.32/M,

• Blackman window - ML=12/(2M+1)

Asl=58.1 dB, s=75.3 dB, =5.56/M

§9.6 Fixed Window Functions

• Filter Design Steps -

(1) Set

c =(p + s )/2

(2) Choose window based on specified

(3) Estimate M using

c / M

§9.7 FIR Filter Design Example

• Lowpass filter of length 51 and c=/2

0 0.2 0.4 0.6 0.8 1

-100

-50

0

/

Gai

n, d

B

Lowpass Filter Designed Using Hann window

0 0.2 0.4 0.6 0.8 1

-100

-50

0

/

Gai

n, d

B

Lowpass Filter Designed Using Hamming window

0 0.2 0.4 0.6 0.8 1

-100

-50

0

/

Gai

n, d

B

Lowpass Filter Designed Using Blackman window

§9.7 FIR Filter Design Example

• An increase in the main lobe width is associated with an increase in the width of the transition band

• A decrease in the sidelobe amplitude results in an increase in the stopband attenuation

§9.7 FIR Filter Design Example

• Specifications: p= , s= , c=40dB• Thus

4.02/)( spc

01.010 20/ ss

3953.31907886.0)19(5842.0 4.0

2886.22)2.0(285.2

32

N

• Choose N = 24 implying M =12

§9.7 FIR Filter Design Example

• Hence ht[n]=sin(0.4n)/ n, -12n12where w[n] is the n-th coefficient of a length-25 Kaiser window with =3.3953

0 0.2 0.4 0.6 0.8 1-80

-60

-40

-20

0

/

Gai

n, d

B

Kaiser Window

0 0.2 0.4 0.6 0.8 1-80

-60

-40

-20

0

/

Gai

n, d

B

Lowpass filter designed with Kaiser window

top related