an iir-filter example: a butterworth filter - bfh · an iir-filter example: a butterworth filter...

48
BioMedSigProcAna An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel Institute of Human Centered Engineering - microLab [email protected] February 7, 2018 Contents 1 Introduction 1 2 Analog Butterworth Lowpass-Filters 4 3 Continuous-to-Discrete Transformations 10 3.1 Impulse Invariance Transformation ........ 12 3.2 Bilinear Transformation .............. 23 4 Discrete-Time Butterworth Filter Example 29 4.1 Design Using Impulse-Invariance Transformation 31 4.2 Design Using Bilinear Transformation ...... 39 References 46 33 Iir Butterworth i 2018

Upload: lethuan

Post on 12-Sep-2018

259 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

An Iir-Filter Example:

A Butterworth Filter

Josef Goette

Bern University of Applied Sciences, Biel

Institute of Human Centered Engineering - microLab

[email protected]

February 7, 2018

Contents

1 Introduction 1

2 Analog Butterworth Lowpass-Filters 4

3 Continuous-to-Discrete Transformations 103.1 Impulse Invariance Transformation . . . . . . . . 123.2 Bilinear Transformation . . . . . . . . . . . . . . 23

4 Discrete-Time Butterworth Filter Example 294.1 Design Using Impulse-Invariance Transformation 314.2 Design Using Bilinear Transformation . . . . . . 39

References 46

33 Iir Butterworth i 2018

Page 2: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

c©Josef Goette, 2007–2018

All rights reserved. This work may not be translated or copied in

whole or in part without the written permission by the author, except

for brief excerpts in connection with reviews or scholarly analysis.

Use in connection with any form of information storage and retrieval,

electronic adaptation, computer software is forbidden.

33 Iir Butterworth ii 2018

Page 3: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

1 Introduction

In the present document, we use, as usual, the following no-tation: Continuous-time signal frequencies come in “standard”characters such as f for the frequency in Hertz ([Hz]), and ω forthe radian frequency in [rad/sec], ω = 2πf . The correspondingdiscrete-time signal frequencies use the corresponding symbolswith hats: f̂ =̂ f/fs = fTs and ω̂ = ωTs = ω/fs with fs be-ing the sampling frequency in [Hz] and Ts the correspondingsampling interval Ts = 1/fs in [sec].

We abbreviate “continuous-time” by Ct and “discrete-time”by Dt. Further abbreviations are C2d for “continuous-to-dis-crete,” Tf for “transfer function,” and Lhp for “left-half plane.”

We very closely follow [OS75] for the developments in thepresent document; see our additional remarks on details, whichappear after the bibliography at the very end of the documenton page 46.

33 Iir Butterworth 1 2018

Page 4: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

An Iir-Filter Design Approach

Iir (recursive) filters are often design by what might be called“analog prototyping”

• design a normalized Ct lowpass prototype filter

• then: apply frequency-band transformations such as

– lowpass to lowpass

– lowpass to highpass

– lowpass to bandpass

– lowpass to bandstop

• then: apply a continuous-to-discrete transformation

• here: we work-out a Butterworth-filter example

The acronym Iir stands for infinite impulse response; theo-retically, the impulse response of this kind of filters never com-pletely dies out. Of course, stable Iir filters have an impulseresponse that approaches more and more the zero line as timepasses by; if the filter runs on a digital computer with floating-point arithmetic, then the impulse response will eventually be-come smaller than the smallest positive representable number;if it runs on a digital computer with fixed-point arithmetic, thenthe impulse response might begin to oscillate without end—seethe discussion to the keyword “limit cycles” in our document[Goe18].

Recall that the acronym Ct means continuous time.Matlab supplies the following commands for frequency-

band transformations: lp2lp() for the lowpass-to-lowpass trans-formation; lp2hp() for the lowpass-to-highpass transformation;

33 Iir Butterworth 2 2018

Page 5: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

lp2bp() for the lowpass-to-bandpass transformation; and thecommand lp2bs() for the lowpass-to-bandstop transformation,respectively.

Matlab has also commands for the continuous-to-discretetransformations, some of which stem from the Control System

Toolbox (use help c2d), and some others from the Signal Pro-

cessing Toolbox (use help impinvar and use help bilinear).1

As the table of contents reveals, we discuss in the present docu-ment the design based on the impulse-invariance transformationand the design based on the bilinear transformation.

But also note that Matlab supplies “higher level” com-mands that integrate the mentioned “lower level” commandsand thus considerably simplify the design of discrete-time andeven digital filters2 from the perspective of the user; you mightalso want to try out the graphical filter design tool fdatool (usehelp fdatool to obtain a short description, and type fdatool

in the Matlab command window to run the Gui).

1The mentioned toolboxes just have different names for the commands;the algorithms behind these names are, however, very similar or even iden-tical.

2Recall that we name filters to be “discrete time” if they filter signalsthat have the time being discrete but the samples being still real numbers;“digital filters” filter then signals where not only the time is discrete, butwhere also the samples are represented be a finite number of bits. In therealm of Matlab simulations, we often also call filters and signals to be“discrete,” if the samples of the signals are represented by floating-pointnumbers—still finitely many bits, but . . . ; and we retain the notion “digital”for signals with samples that are represented by fixed-point numbers.

33 Iir Butterworth 3 2018

Page 6: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

2 Analog Butterworth Lowpass-Filters

Butterworth Filter Properties

• magnitude response is maximally flat in passband ; fora N -th order lowpass, the first (2N − 1) derivatives of thesquared magnitude function are zero at ω = 0

• the approximation to the ideal rectangular lowpass char-acteristic (brick-wall) is monotonic in passband as well asin stopband

• squared magnitude function

|HCt(jω)|2 =1

1 +

(jω

jωc

)2N

• specified by just 2 parameters

– the filter order N

– the 3 dB cutoff-frequency ωc

We also often call these analog filters continuous-time (Ct)filters.

33 Iir Butterworth 4 2018

Page 7: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Magnitude-Squared and Magnitude Responses

.

.

0 ωc

1/2

1 ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... ω

|HCt(jω)|2

N = 1, 2, 4, 8

.

.

0 ωc

1 ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... ω

|HCt(jω)|

N = 1, 2, 4, 8

1/√

2

Recall that the linear gain 1/√

2 corresponds to −3 dB; wehave 20 log10(1/

√2) = −3.0103.

Butterworth filters have a frequency magnitude response withno ripple, neither in the passband nor in the stopband. As theparameter N in the squared magnitude function on page 4 in-creases, the filter characteristics become sharper, meaning thatif N increases, the characteristic in the passband stays closer tounity whereas the characteristic in the stopband comes close tozero more rapidly.

Other well known analog filters are the Chebyshev filters, theinverse Chebyshev filters, and the Cauer filters. The Chebyshev

33 Iir Butterworth 5 2018

Page 8: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

filters have a frequency magnitude response with a ripple inthe passband but no ripple in the stopband; inverse Chebyshev

filters have a dual characteristic to that of the Chebyshev filters:they have no ripple in the passband but a ripple in the stopband;Cauer filters—also called elliptic filters—have a ripple in both,in the passband as well as in the stopband.

Chebyshev filters are often also called Chebyshev type I fil-ters, whereas inverse Chebyshev filters are then called Chebyshev

type II filters.For a comparable frequency filtering performance, Butter-

worth filters need the highest order, Chebyshev type I and Cheby-shev type II filters need medium orders, and Cauer filters needthe lowest order. A higher order means a higher number of op-erations needed to compute an output sample, and the need ofa higher number of storage cells.

33 Iir Butterworth 6 2018

Page 9: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Transfer Function Poles

• denote by HCt(s) the transfer function of the Butterworthfilter

• from squared magnitude function we see that (jω → s)

HCt(s)HCt(−s) =1

1 +

(s

jωc

)2N

• poles of squared magnitude function are

spk = (−1)1/(2N) · (jωc)

= ωc exp

{

(1

2+

1 + 2k

2N

)}

, k = 0, 1, . . . , (2N−1)

33 Iir Butterworth 7 2018

Page 10: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Transfer Function Poles: N = 3 Example

for N = 3 ; 2N = 6: spk = (−1)1/6 · j · ωc

=(

ej(π+k2π))1/6

ejπ/2 ωc

= ejπ/6 ejk2π/6︸ ︷︷ ︸

60◦

spacing

ejπ/2︸ ︷︷ ︸

90◦

rotation

ωc

1

j

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

..

.

.

.

.

.

.

..

.

.

..

.

..

.

..

.

..

...................................................................................

.....................................................................................................................................................................................................................................................................................................................................................................

............................................................................................................................................................

×

×

×

×

×

×

2N = 6-th roots of (-1)

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

..

.

.

.

.

.

.

.

..

.

.

..

.

.

..

.

..

.

..

..

..

.................................................................................................

.............................................................................................................................................................................................................................................................................................................................................................................................................................................

............................................................................................................................................................................................

ωc

× ×

× ×

× ×

corresponding Butterworth poles

We see then that the poles of the Butterworth squared mag-nitude function have an angular spacing of 2π/(2N) = π/N foran N -th order Butterworth filter. We further have for thesepoles

• that they are distributed around a circle with radius ωc;

• that they are distributed symmetrically on either side ofthe imaginary axis;

• that there are no poles on the imaginary axis itself;

• and that there are poles on the real axis if N is odd, butnot if N is even.

33 Iir Butterworth 8 2018

Page 11: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Transfer Function

• to determine the Tf HCt(s) from the Butterworth squared-magnitude function: perform factorization HCt(s)HCt(−s)

• observe that poles in squared magnitude function appearin pairs

if s = sp is a pole

then s = −sp is also a pole

• to construct HCt(s) from squared magnitude function

– choose one pole of each pair

– choose stable pole (in Lhp) of each pair

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

..

.

.

.

.

..

.

.

..

.

..

.

..

..

..

.

...................................................................................................

............................................................................................................................................................................................................................................................................................................................................................................................................................................

...........................................................................................................................................................................................

ωc

×p∗

1

×p0 =−ωc

×p1

poles of N = 3-rd orderButterworth transfer-function:

HCt(s) =−p

0p1p∗1

(s − p0)(s − p

1)(s − p∗

1)

33 Iir Butterworth 9 2018

Page 12: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

3 Continuous-to-Discrete Transforma-

tions

C2d-Transformation Procedures

there are various procedures to transform an analog prototype-filter design into a discrete-time filter:

• impulse-invariance transformation

• procedures based on numerical solution of differential equa-tions

– first forward-difference (forward Euler)

– first backward-difference (backward Euler)

– bilinear transformation

We discuss in more detail the impulse-invariance transfor-mation in Subsection 3.1 below.

For the procedures based on numerical solution of differen-tial equations we note that the forward Euler transformationis the most simple transformation that has, however, the draw-back that an unstable discrete-time system might result from astable continuous-time (analog) prototype system. The transferfunction H(z) of the discrete-time filter is obtained here by re-placing the variable s in the continuous-time prototype transfer

33 Iir Butterworth 10 2018

Page 13: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

function HCt(s) by (z − 1)/Ts, where Ts denotes the samplinginterval, Ts = 1/fs with fs being the sampling frequency:

forward Euler: s =1

Ts

(

z − 1)

=1

Ts

1− z−1

z−1.

The backward Euler transformation has the advantage overthe forward Euler transformation that stable continuous-timedesigns are transformed into stable discrete-time designs. Thetransformation is given by

backward Euler: s =1

Ts

z − 1

z=

1

Ts

(

1− z−1)

.

The bilinear transformation is the most often used trans-formation in the design of discrete-time filters;3 therefore, wediscuss it in more detail below in Subsection 3.2. For the in-terested reader we mention that the bilinear transformation is amember of the larger family of Moebius transformations, whichare conformal mappings from complex plane to complex plane;a reference is [Hen74, Chapter 5].

3In the design of simple discrete-time control algorithms, the Euler ap-proximations are likewise very often used.

33 Iir Butterworth 11 2018

Page 14: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

3.1 Impulse Invariance Transformation

The Impulse Invariance Transformation

given: continuous-time (Ct) prototype (analog prototype)

HCt(s) •—• hCt(t) =̂ impulse response of Ct filter

find: for the discrete-time filter

H(z) •—• h[n] =̂ impulse response of Dt filter

solution: sample the continuous-time impulse response

h[n] =̂ hCt(t = nTs)

where Ts =̂ sampling time interval

The above formulae state, reformulated in words, that theimpulse response of the discrete-time filter is obtained from theimpulse response of the continuous-time (analog) prototype fil-ter through sampling of the latter.

33 Iir Butterworth 12 2018

Page 15: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Impulse Invariance: Transfer Functions

• it can be shown—see the sampling process—that

– the z-transformation of h[n] •—• H(z)

– is related to

– the Laplace transformation of hCt(t) •—• HCt(s)

by H(z)∣∣∣z=esTs

=1

Ts

∞∑

k=−∞

HCt

(

s + j2π

Tsk

)

• from z = esTs :

– strips of width 2π/Ts is s-plane

– map onto entire z-plane

33 Iir Butterworth 13 2018

Page 16: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Impulse Invariance: Mapping of Planes

1

j

..............

...................................................

............................................................................................................................................................................................................................................................................................................................

..................................................................

.

.

. .

.

. .

. .

. .

. .

. .

. .

. .

.

. .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. .

.

. .

. .

. .

. .

. .

. .

. .

.

. .

.

.

z-plane

=⇒

− 3πTs

− πTs

πTs

3πTs

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

............

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

ℜ(s)

ℑ(s)s-plane

• strips of width 2π/Ts is s-plane map onto entire z-plane

• Lhp-part of each strip maps into unit circle

; stable poles of Ct filter go to stable poles of Dt filter

• imaginary axis in s-plane maps onto unit circle such thateach segment of length 2π/Ts is mapped once around thecircle

We should mention here that the mapping from the s-planeto the z-plane induced by the impulse-invariance procedure is

no simple algebraic mapping, as are the mappings that resultfrom the procedures based on numerical solutions of differentialequations, an example of which—the bilinear transformation—we discuss in Subsection 3.2.

33 Iir Butterworth 14 2018

Page 17: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Impulse Invariance: Frequency Responses

• the Dt frequency response is expressed in terms of the Ct

prototype frequency response as

H(z = ejω̂

)=

1

Ts

∞∑

k=−∞

HCt

(

jω̂

Ts+ j

Tsk

)

• note:

if and only if

HCt(jω) ≡ 0 , for |ω| ≥ π

Ts

then

H(z = ejω̂

)=

1

TsHCt

(

jω̂

Ts

)

else aliasing

33 Iir Butterworth 15 2018

Page 18: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Impulse Invariance: Aliasing

1

...........................................................................................................................................................................................................

............................................................

..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................ωc 2πfs

ω

HCt(jω)

−2π −π 0 ω̂c π 2π

1

Ts

............................

..........................

................................................................................................................................................................................................................................................................................................................................

.

..

..

......................................................................................................................................................................................................................................................................................................................................................

.......................................................................................................................................................................

................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

.................................................................

.................................................

.......................................

................................

..........................

...................................................................................................................................................................................................................................................................................................................................

.................................................................................................................................................

ω̂

H(ejω̂)

The above figure graphically shows the effects of aliasing: Inthe upper panel we show the frequency response of a continuous-time filter prototype which is not bandlimited; in the lowerpanel we show the first three aliasing parts giving, in sum to-gether with all other aliasing parts, the discrete-time frequencyresponse.

33 Iir Butterworth 16 2018

Page 19: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Impulse Invariance: Interpretation of Mapping

• Ct transfer function: partial fraction decomposition

HCt(s) =N∑

k=1

Ak

s− sk, sk =̂ poles

•|•

hCt(t) =N∑

k=1

Akesktu(t)

• Dt impulse response and corresponding transfer function

h[n] = hCt(nTs) =N∑

k=1

AkesknTsu[n] =N∑

k=1

Ak

(eskTs

)nu[n]

•|•

H(z) =

N∑

k=1

Ak

1− (eskTs) z−1

We denote by u(t) the continuous-time unit-step functionand, correspondingly, by u[n] the discrete-time unit-step func-tion.

Note that the above development is true if all poles havemultiplicity 1; for poles with higher multiplicities we must usethe corresponding partial fraction decompositions.

33 Iir Butterworth 17 2018

Page 20: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Impulse Invariance: Interpretation of Mapping (2)

• transformation of poles:

s-plane poles sk

transform to

z-plane poles zk = eskTs

• coefficients Ak are equal for Ct and Dt

• if Ct filter is stable, then Dt filter is also stable

• we note however that

– although poles are mapped by zk = eskTs

– the complete planes are not mapped by that relation

– for example: zeros of Dt transfer function are func-tions of the coefficients Ak and of the poles sk

Concerning the stability of the filters we know that the con-tinuous-time filter is stable if and only if all of its poles are in theleft-half complex s-plane, real{sk} < 0. By the given mappingof the poles we then have for the discrete-time poles zk that|zk| =

∣∣eskTs

∣∣ < 1, meaning that the discrete-time poles are

inside of the unit circle, and in turn, that the discrete-time filteris also stable.

It is important to note for the impulse-invariant transforma-tion that, although the poles are mapped from the s-plane tothe z-plane by the relation zk = eskTs , the planes themselves are

not mapped by that relation. For example, zeros are not mappedin that way; the following simple example gives an illustration.

33 Iir Butterworth 18 2018

Page 21: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Example. Consider the second-order continuous-time transferfunction

HCt(s) =s + a

(s + a)2 + b2

=1/2

s + a + jb+

1/2

s + a− jb,

having one zero at s = −a, the second zero at infinity, and acomplex-conjugate pole pair at s = −a± jb.

The discrete-time transfer function obtained from the impulse-invariance transformation becomes

H(z) =1/2

1− e−aTse−jbTsz−1+

1/2

1− e−aTse+jbTsz−1

=1− e−aTs

(e+jbTs + e−jbTs

)/2 z−1

(1− e−aTse−jbTsz−1) (1− e−aTse+jbTsz−1)

=1− e−aTs cos(bTs)z

−1

1− e−aTs (e+jbTs + e−jbTs) z−1 + e−2aTsz−2

=z

(z − e−aTs cos(bTs)

)

z2 − 2e−aTs cos(bTs)z + e−2aTs.

This discrete-time transfer function has one zero at the originand the other zero at z = e−aTs cos(bTs). We thus see that,although the poles are mapped by zk = eskTs , the zeros are notmapped according to this formula.

33 Iir Butterworth 19 2018

Page 22: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Impulse Invariance: Practical Advice

• if Ct prototype is “sufficiently bandlimited,” then

H(ejω̂

)≈ 1

TsHCt

(

jω̂

Ts

)

• thus: “high” sampling rates (small Ts) will minimize thealiasing, but the Dt filter may obtain a very high gain

• advice:

instead using

H(z) =

N∑

k=1

Ak

1− (eskTs) z−1

use

H(z) =

N∑

k=1

AkTs

1− (eskTs) z−1

• the Dt impulse response then is

h[n] = TshCt(t = nTs)

33 Iir Butterworth 20 2018

Page 23: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Impulse Invariance: Generalizations

• one motivation to use the impulse-invariance procedure

if Ct prototype filter is bandlimited

then Dt filter frequency response closely approximatesthe Ct frequency response

• another motivation to use the procedure: control someaspects of the time response of Dt filter

– step invariance procedure

– waveform invariance: extend the concept to preservethe output wave-shape for a variety of inputs

• final remark: besides aliasing, the impulse-invariance ap-proach transforms the frequency responses linearly

The mentioned step-invariance procedure just obtains thestep response of the discrete-time filter by sampling the stepresponse of the continuous-time prototype filter. The resultingdiscrete-time filter then might have desired step-response char-acteristics such as small rise time and low peak overshoot.

An important feature of the impulse-invariance procedure isthat, besides aliasing, the frequency responses of the continuous-time prototype filter and its discrete-time counterpart are lin-early related, meaning that the shape of continuous-time fre-quency response is preserved in the discrete-time filter. Thisresult is in contrast to the procedures which use algebraic trans-formations, an example of which—the bilinear transformation—we discuss in Subsection 3.2 below. We recall however, that the

33 Iir Butterworth 21 2018

Page 24: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

impulse-invariance design technique is only appropriate for es-sentially bandlimited filters. Thus, the design of highpass orbandstop filters requires additional bandlimiting to avoid severealiasing distortions.

33 Iir Butterworth 22 2018

Page 25: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

3.2 Bilinear Transformation

Bilinear Transformation Formulae

given: Tf of analog prototype HCt(s)

find: Tf H(z) of corresponding discrete-time filter

solution: replace s in HCt(s) by

s =2

Ts

1− z−1

1 + z−1

the inverse formula then is

z =1 + (Ts/2)s

1− (Ts/2)s

You might want to verify the given formulae as follows: Startwith a first-order continuous-time prototype system and firstspecify it by its differential equation; second, express the dif-ferential equation by its corresponding integral equation formu-lated for the n-th sampling time instant and its past neighbor(n − 1); third, approximate the involved integral by the trape-zoidal rule; forth, replace the appearing derivatives by the ex-pression given by the differential equation started with; fifth,rearrange terms to obtain the difference equation of the discrete-time system, and from it obtain the transfer function H(z).Generalize to systems of order higher than one.

33 Iir Butterworth 23 2018

Page 26: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Bilinear Transformation: Frequency Mapping

• Ct frequencies ω ; on imaginary axis in s-plane: s = jω

• Dt frequencies ω̂ ; on unit circle in z-plane: z = ejω̂

• unit circle maps to imaginary axis (and vice versa)

s(z = ejω̂

)=

2

Ts

1− e−jω̂

1 + e−jω̂

= · · ·

= j2

Tstan (ω̂/2)

= jω

• therefore, frequency mapping is

ω =2

Tstan (ω̂/2) ⇐⇒ ω̂ = 2 arctan (ωTs/2)

To fill-in the dots in the above derivation, first use

1−e−jω̂ = e−j ω̂2

(

ej ω̂2− e−j ω̂

2

)

, 1+e−jω̂ = e−j ω̂2

(

ej ω̂2 + e−j ω̂

2

)

;

next use Euler’s formulae

sin(ω̂/2) =ej ω̂

2 − e−j ω̂2

2j, cos(ω̂/2) =

ej ω̂2 + e−j ω̂

2

2,

to obtain j sin(ω̂/2)/ cos(ω̂/2) which is equal to j tan(ω̂/2).

33 Iir Butterworth 24 2018

Page 27: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Bilinear Transformation: Frequency Mapping

• ω̂ =̂ Dt frequency ←→ ω =̂ Ct frequency

• the frequency mapping is

ω̂ = 2 arctan (ωTs/2)

.........................................................................................................................................................................................................................................

.....................................................................................................................................................................................................................................................................................

.........................................................................................................................................................................................................................

ω

ω̂

π

−π

33 Iir Butterworth 25 2018

Page 28: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Bilinear Transformation: Mapping of Planes

• the mapping s 7→ z is

z =1 + (Ts/2)s

1− (Ts/2)s

1

j

..............

...................................................

............................................................................................................................................................................................................................................................................................................................

..................................................................

... ... .. .. .. .. .. .. ... ...

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

... ... .. .. .. .. .. .. ... ...

.......................................................................................

image of left-half plane

.........................................................................

image ofs = jω

z-plane

=⇒

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

............

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

ℜ(s)

ℑ(s)

s-plane

33 Iir Butterworth 26 2018

Page 29: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Bilinear Transformation: Mapping of Circles

• in s-plane: Butterworth poles on a circle with radius ωc,equally spaced in angle

• bilinear transformation is conformal mapping: Butterworthcircle in s-plane maps to a circle in z-plane

j

1.................................................................

............................................................................................................................................................................................................................................................................................................................

..................................................................

... ... .. .. .. .. .. .. ... ...

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

... ... .. .. .. .. .. .. ... ...

...........

....................................

.......................................................................................................................................... ................................................................................................................................

.............................

............................

×

×

× ×

×

×

.................................................................................................................................

.................................................................................................................................

1−ωcTs/2

1+ωcTs/2

1+ωcTs/2

1−ωcTs/2

z-plane

=⇒

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

..............

............

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

...........

...............................................

................................

...................................................................................................................................................................................................................................................................................................................................................................

............................................................................................

× ×

× ×

× ×

ωc

s-plane

ButterworthN =3, 2N =6

Note, however, that the Butterworth circle in the z-plane isneither centered at the origin, nor are the poles equally spacedin angle. But the left-half s-plane poles map into poles inside ofthe unit circle; therefore—as is always the case with the bilineartransformation—we obtain a stable discrete-time Butterworthfilter from a continuous-time Butterworth prototype.

33 Iir Butterworth 27 2018

Page 30: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Bilinear Transformation: Frequency Responses

π

....................................................................................................................................................................................

..........................................................

.................................................................................

.............................................................................................................................................

.......................................................

ω

ω̂

........................................................................................................

ω̂ = 2 arctan (ωTs/2)

0 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

−3 dB

ω

HCt(jω)[dB]

ω3dB

π

0............... . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . .

−3dB

ω̂

H(e

jω̂)[dB

]

ω̂3dB

33 Iir Butterworth 28 2018

Page 31: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

4 Discrete-Time Butterworth Lowpass

Filter Example

Frequency-Response Specifications

• here: specifications in the Dt frequency domain

• requirements:

– passband magnitude constant to within 1 dB

– passband is 0 ≤ ω̂ ≤ ω̂p =̂ 0.2π

– stopband attenuation > 15 dB

– stopband is 0.3π =̂ ω̂s ≤ ω̂ ≤ π

• thus, if passband magnitude is normalized to 1

20 log10

∣∣H(ej0.2π)

∣∣ ≥ −1

20 log10

∣∣H(ej0.3π)

∣∣ ≤ −15

• for convenience we may assume that the sampling-timeinterval is Ts =̂ 1

Note that we must distinguish between two different appli-cation scenarios: The first scenario designs a discrete-time filterwhich is specified in the discrete-time frequency domain. This isthe situation we consider here and which allows to set the sam-pling time equal to one, because there exists no real continuous-time filter.

33 Iir Butterworth 29 2018

Page 32: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

The second application scenario emulates a continuous-timefilter with a discrete-time filter. Here the specifications are givenin the continuous-time frequency domain, and our design has toselect an appropriate sampling time interval Ts with which weplan to implement the emulating discrete-time filter. Obviously,in this scenario the sampling time interval cannot be set to unity.

33 Iir Butterworth 30 2018

Page 33: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

4.1 Design Using Impulse-Invariance Transfor-

mation

Analog Prototype Specifications

• transform the Dt frequency specifications to correspond-ing specifications of a Ct prototype

• recall:

– impulse invariance design introduces aliasing

– beside aliasing it linearly maps Ct to Dt frequencies

• convenient procedure:

– assume that aliasing is negligible

– carry out design

– verify performance of resulting filter

• thus, mapping of critical frequencies is

ω̂p = 0.2π ; ωp = ω̂p/Ts = ω̂p

; 20 log10 |HCt(jωp)| ≥ −1

ω̂s = 0.3π ; ωs = ω̂s/Ts = ω̂s

; 20 log10 |HCt(jωs)| ≤ −15

Recall that we have assumed that the sampling time intervalTs is unity.

33 Iir Butterworth 31 2018

Page 34: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Analog Butterworth Parameters

• the Ct Butterworth squared magnitude function is

|HCt(jω)|2 =1

1 +

ωc

)2N

• to do: determine the needed two parameters N and ωc

• solving given specification inequalities with equality4

N =1

2

log(

100.1−1

101.5−1

)

log(

0.20.3

) = 5.8858

• to meet specifications: select N = 6

• inserting N = 6 into passband equation gives ωc = 0.7032

Note that because we must round up N to the nearest in-teger, not both specifications, passband and stopband, can bemet exactly. If we insert N = 6 into the passband equation, thepassband specifications are met exactly and the stopband spec-ifications are exceeded for the Ct filter. Such a choice allowssome margin for the aliasing that enters in the Dt filter.

We next supply the detailed steps leading to the above re-sults. We start with the two equations in the two unknowns

4See the derivations in the text below.

33 Iir Butterworth 32 2018

Page 35: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

N and ωc that we obtain by setting the design specificationinequalities to equality:

|HCt(jωp)|2 =1

1 +

(ωp

ωc

)2N= 10−0.1 , (1a)

; 1 +

(ωp

ωc

)2N

= 100.1 . (1b)

|HCt(jωs)|2 =1

1 +

(ωs

ωc

)2N= 10−1.5 , (1c)

; 1 +

(ωs

ωc

)2N

= 101.5 . (1d)

Taking in (1b) and (1d) logarithms (to any base) we next obtain

log

(ωp

ωc

)

=log

(100.1 − 1

)

2N= log (ωp)− log (ωc) , (2a)

log

(ωs

ωc

)

=log

(101.5 − 1

)

2N= log (ωs)− log (ωc) . (2b)

Subtracting (2b) from (2a) we obtain

log (ωp)− log (ωs)︸ ︷︷ ︸

= log (ωp/ωs)

=1

2N

(

log(100.1 − 1

)− log

(101.5 − 1

))

︸ ︷︷ ︸

= log

(100.1 − 1

101.5 − 1

)

33 Iir Butterworth 33 2018

Page 36: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

and in turn

N =1

2

log

(100.1 − 1

101.5 − 1

)

log

(ωp

ωs

) . (3)

Finally, we insert ωp = ω̂p = 0.2π and ωs = ω̂s = 0.3π into (3).To numerically obtain the second filter parameter, ωc =

0.7032, via the passband specifications, we use the parameterN = 6 and ωp = 0.2π in (2a).

Analog Butterworth Poles

• for N = 6 there are 2N = 12 poles of Butterworth squared-magnitude function

• these 12 poles are uniformly distributed in angle on a circlewith radius ωc = 0.7032

• the Butterworth transfer function uses the N = 6 poles inthe Lhp

.....

.....

.....

.....

.....................................................

....................

..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... .............. ........................................................................................................

0.7032

× ×× ×

× ×

× ×

× ×× ×

.........................................................................

......................................................................... .........................................................

................

..............

..............................

π

6

s-plane

33 Iir Butterworth 34 2018

Page 37: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Analog Butterworth Transfer Function

• the Lhp poles are

p1 = −0.6792 + j · 0.1820 p∗1 = −0.6792− j · 0.1820

p2 = −0.4972 + j · 0.4972 p∗2 = −0.4972− j · 0.4972

p3 = −0.1820 + j · 0.6792 p∗3 = −0.1820− j · 0.6792

• the corresponding transfer function becomes

HCt(s) =p1p

1p2p∗

2p3p∗

3

(s− p1) (s− p∗1) (s− p2) (s− p∗2) (s− p3) (s− p∗3)

=0.1209

(s2 + 1.3585s + 0.4945) (s2 + 0.9945s + 0.4945)

· 1

(s2 + 0.3640s + 0.4945)

We have normalized the above analog transfer function HCt(s)such that it has a Dc gain of one.

33 Iir Butterworth 35 2018

Page 38: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Discrete-Time Butterworth Transfer Function

• express HCt(s) as a partial fraction decomposition ; Ak, sk

• apply

H(z) =N∑

k=1

Ak

1− (eskTs) z−1

• to obtain

H(z) =

(1.8557− 0.6304z−1

)

(1.0000− 0.9973z−1 + 0.2571z−2)

+

(−2.1428 + 1.1454z−1

)

(1.0000− 1.0691z−1 + 0.3699z−2)

+

(0.2871− 0.4466z−1

)

(1.0000− 1.2972z−1 + 0.6949z−2)

We have obtained the above parallel form of second-ordersections by combining the terms of complex-conjugate pole pairs.Obviously, we might directly use this parallel form that natu-rally results from the impulse-invariant design procedure. If wedesire a cascade form or a direct form, we must combine theseparate second-order terms in an appropriate way.

33 Iir Butterworth 36 2018

Page 39: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Discrete-Time Butterworth Magnitude-Response

0.2π 0.3π π0

0.5

1.0 .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

0.8913 =̂ −1 dB

0.1778 =̂ −15 dB

ω

∣∣H(ejω̂)

∣∣

0.2π 0.3π π−80

−15

0 ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

0.8913 =̂ −1 dB

0.1778 =̂ −15 dB

ω

∣∣H(ejω̂)

∣∣dB

33 Iir Butterworth 37 2018

Page 40: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Discrete-Time Butterworth Phase-Response

0.2π 0.3π π

−π

0

π

..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

ω

arg(H(ejω̂))

Final Remarks to Our Impulse-Invariance Design. Werecall that we have designed the filter to exactly meet—withthe assumption that we have no aliasing—the passband speci-fications, that is, in the Butterworth case, to have a −1 dB at-tenuation at the passband edge frequency ω̂p = 0.2π; the designthen exceeds the specification at the stopband edge frequencyω̂s = 0.3π. As we observe from the magnitude-response plotson page 37, it is true that at the passband edge the attenua-tion is slightly below −15 dB, indicating that the aliasing is nottoo strong, or, in other words, that the continuous-time filter issufficiently bandlimited. In an other design this might not betrue, such that the resulting discrete-time filter does not meetthe specifications. If we have that situation, we may try to dif-ferently adjust the filter parameters (holding the order fixed),or we may try again with a higher-order filter.

33 Iir Butterworth 38 2018

Page 41: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

4.2 Design Using Bilinear Transformation

Analog Prototype Specifications

• Dt frequency specifications must be pre-warped to cor-responding analog frequencies, such that critical analogfrequencies map to correct Dt frequencies

• the frequency mapping function of the bilinear transfor-mation is

ω = (2/Ts) tan (ω̂/2) = 2 tan (ω̂/2)

• thus, mapping of critical frequencies is

ω̂p = 0.2π ; ωp = 2 tan (ω̂p/2) = 2 tan (0.1π)

; 20 log10 |HCt(jωp)| ≥ −1

ω̂s = 0.3π ; ωs = 2 tan (ω̂s/2) = 2 tan (0.15π)

; 20 log10 |HCt(jωs)| ≤ −15

Recall that we conveniently have assumed that the samplingtime interval is Ts = 1.

33 Iir Butterworth 39 2018

Page 42: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Analog Butterworth Parameters

• the Ct Butterworth squared magnitude function is

|HCt(jω)|2 =1

1 +

ωc

)2N

• to do: determine the needed two parameters N and ωc

• solving given specification inequalities with equality5

N =1

2

log(

100.1−1

101.5−1

)

log(

tan(0.1π)

tan(0.15π)

) = 5.3044

• to meet specifications: select N = 6

• inserting N = 6 into stopband equation gives ωc = 0.7662

To supply detailed steps leading to the above results we maystart with (3) on page 34. Using for the bilinear transforma-tion ωp = 2 tan (ω̂p/2) = 2 tan (0.1π) and ωs = 2 tan (ω̂s/2) =2 tan (0.15π), we obtain

N =1

2

log(

100.1−1

101.5−1

)

log(

ωp

ωs

) =1

2

log(

100.1−1

101.5−1

)

log(

tan(0.1π)

tan(0.15π)

) = 5.3044 .

5See the derivations in the accompanying text.

33 Iir Butterworth 40 2018

Page 43: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Because the order N of the Butterworth filter must be aninteger, we must select N = 6 in order to meet the specifi-cations. If we insert N = 6 into (2b), we can determine ωc

to ωc = 0.7662. Note that by using the equation (2b)—whichcomes from the stopband constraint—to determine the ωc pa-rameter, we meet the stopband specifications exactly and exceedthe passband specifications. Such a choice is reasonable, becausethe bilinear transformation has no aliasing effects.

Analog Butterworth Poles

• for N = 6 there are 2N = 12 poles of Butterworth squared-magnitude function

• these 12 poles are uniformly distributed in angle on a circlewith radius ωc = 0.7662

• the Butterworth transfer function uses the N = 6 poles inthe Lhp

.....

.....

.....

.....

...................................................................

............................

............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... .............. ..............................................................................................................

0.7662

× ×× ×

× ×

× ×

× ×× ×

.........................................................................

......................................................................... .........................................................

................

..............

..............................

π

6

s-plane

33 Iir Butterworth 41 2018

Page 44: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Analog Butterworth Transfer Function

• the Lhp poles are

p1 = −0.7401 + j · 0.1983 p∗1 = −0.7401− j · 0.1983

p2 = −0.5418 + j · 0.5418 p∗2 = −0.5418− j · 0.5418

p3 = −0.1983 + j · 0.7401 p∗3 = −0.1983− j · 0.7401

• the corresponding transfer function becomes

HCt(s) =p1p

1p2p∗

2p3p∗

3

(s− p1) (s− p∗1) (s− p2) (s− p∗2) (s− p3) (s− p∗3)

=0.2023

(s2 + 1.4802s + 0.5871) (s2 + 1.0836s + 0.5871)

· 1

(s2 + 0.3966s + 0.5871)

Again, we have normalized the above analog transfer func-tion HCt(s) such that it has a Dc gain of one.

33 Iir Butterworth 42 2018

Page 45: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Discrete-Time Butterworth Transfer Function

• apply the bilinear transformation

s =2

Ts

1− z−1

1 + z−1

• to the analog Butterworth transfer function HCt(s) to ob-tain

H(z) =7.3769 · 10−4

(1 + z−1

)6

(1.0000− 0.9044z−1 + 0.2155z−2)

· 1

(1.0000− 1.0106z−1 + 0.3583z−2)

· 1

(1.0000− 1.2687z−1 + 0.7051z−2)

33 Iir Butterworth 43 2018

Page 46: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Discrete-Time Butterworth Magnitude-Response

0.2π 0.3π π0

0.5

1.0 ...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

0.9372 =̂ −0.5634 dB

0.1778 =̂ −15 dB

ω

∣∣H(ejω̂)

∣∣

0.2π 0.3π π−80

−15

0 ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

0.9372 =̂ −0.5634 dB

0.1778 =̂ −15 dB

ω

∣∣H(ejω̂)

∣∣dB

33 Iir Butterworth 44 2018

Page 47: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

Discrete-Time Butterworth Phase-Response

0.2π 0.3π π

−π

0

π

....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

ω

arg(H(ejω̂))

Final Remarks to Our Bilinear-Transformation Design.We recall that we have designed the filter to exactly meet thestopband specifications, that is, in the Butterworth case, to havea −15 dB attenuation at the stopband-edge frequency ω̂s = 0.3π;the design exceeds the specification at the passband-edge fre-quency ω̂p = 0.2π. As we observe from the magnitude-responseplots on page 43, it is true that at the stopband edge the attenua-tion is at −15 dB, whereas at the passband edge the attenuationis only about −0.5634 dB, leaving a certain margin to the −1 dBrequired by the specifications.

Comparison of the two Designs. If we compare the bilinear-transformation based design on page 43 to the design basedon the impulse-invariance transformation on page 37, we see

33 Iir Butterworth 45 2018

Page 48: An Iir-Filter Example: A Butterworth Filter - BFH · An Iir-Filter Example: A Butterworth Filter Josef Goette Bern University of Applied Sciences, Biel ... and type fdatool in the

BioMedSigProcAna

that the magnitude function of the bilinear transformation de-sign falls off more rapidly than the magnitude function of theimpulse-invariance transformation design. This is because thebilinear transformation maps the entire jω axis of the s-planeonto the unit circle, and the continuous-time Butterworth filterof order 6 has a zero of multiplicity 6 at s → ∞; the resultingdiscrete-time filter then has a zero of multiplicity 6 at z = −1.

References

[Goe18] Josef Goette. Biomedical Signal Processing andAnalysis—On Fixed-Point Filter Realizations. BernUniversity of Applied Sciences, Script at the Bfh-ti

Biel/Bienne, HuCE-microLab, February 2018.

[Hen74] Peter Henrici. Applied and Computational Complex

Analysis, volume 1 of Pure and Applied Mathematics.John Wiley & Sons, New York, 1974.

[OS75] Alan W. Oppenheim and Ronald W. Schafer. Digital

Signal Processing. Prentice-Hall Inc., Englewood Cliffs,N.J., 1975.

[Ran02] Rangaraj M. Rangayyan. Biomedical Signal Analysis:

A Case-Study Approach. IEEE Press, New York, 2002.Bfh-ti Biel/Bienne Library 57.08 RANGA.

In our development, we have mainly followed [OS75, Chapter 5,Sections 5.1 and 5.2]; there you also find design examples forChebyshev and Cauer lowpass filters, as well as examples forusing frequency transformations to design filters with highpass,bandpass, and bandstop characteristics. On Butterworth filtersyou might also want to consult [Ran02, Chapter 3, pp. 118 ff.].

33 Iir Butterworth 46 2018