8: iir filter transformations8: iir filter transformations 8: iir filter transformations...

86
8: IIR Filter Transformations 8: IIR Filter Transformations Continuous Time Filters Bilinear Mapping Continuous Time Filters Mapping Poles and Zeros Spectral Transformations Constantinides Transformations Impulse Invariance Summary MATLAB routines DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 1 / 10

Upload: others

Post on 18-Jun-2020

46 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

8: IIR Filter Transformations

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 1 / 10

Page 2: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition width

There are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω• G(Ω) = 1− 1

2Ω2N + 3

8Ω4N + · · ·

“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]• Very steep + equiripple in pass and stop bands

Page 3: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition width

There are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω• G(Ω) = 1− 1

2Ω2N + 3

8Ω4N + · · ·

“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]• Very steep + equiripple in pass and stop bands

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1N=5

Frequency (rad/s)

|H|

Page 4: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition width

There are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω

• G(Ω) = 1− 12Ω

2N + 38Ω

4N + · · ·“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]• Very steep + equiripple in pass and stop bands

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1N=5

Frequency (rad/s)

|H|

Page 5: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition width

There are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω• G(Ω) = 1− 1

2Ω2N + 3

8Ω4N + · · ·

“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]• Very steep + equiripple in pass and stop bands

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1N=5

Frequency (rad/s)

|H|

Page 6: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition width

There are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω• G(Ω) = 1− 1

2Ω2N + 3

8Ω4N + · · ·

“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]• Very steep + equiripple in pass and stop bands

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1N=5

Frequency (rad/s)

|H|

Page 7: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition width

There are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω• G(Ω) = 1− 1

2Ω2N + 3

8Ω4N + · · ·

“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]• Very steep + equiripple in pass and stop bands

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1N=5

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

Page 8: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition width

There are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω• G(Ω) = 1− 1

2Ω2N + 3

8Ω4N + · · ·

“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]• Very steep + equiripple in pass and stop bands

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1N=5

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

Page 9: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition width

There are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω• G(Ω) = 1− 1

2Ω2N + 3

8Ω4N + · · ·

“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]• Very steep + equiripple in pass and stop bands

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1N=5

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

Page 10: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition width

There are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω• G(Ω) = 1− 1

2Ω2N + 3

8Ω4N + · · ·

“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]• Very steep + equiripple in pass and stop bands

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1N=5

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

Page 11: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition width

There are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω• G(Ω) = 1− 1

2Ω2N + 3

8Ω4N + · · ·

“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]

• Very steep + equiripple in pass and stop bands

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1N=5

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

Page 12: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition width

There are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω• G(Ω) = 1− 1

2Ω2N + 3

8Ω4N + · · ·

“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]• Very steep + equiripple in pass and stop bands

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1N=5

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

Page 13: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 2 / 10

Classical continuous-time filters optimize tradeoff:passband ripple v stopband ripple v transition widthThere are explicit formulae for pole/zero positions.

Butterworth: G2(Ω) =∣∣∣H(jΩ)

∣∣∣2

= 11+Ω2N

• Monotonic ∀Ω• G(Ω) = 1− 1

2Ω2N + 3

8Ω4N + · · ·

“Maximally flat”: 2N − 1 derivatives are zero

Chebyshev: G2(Ω) = 11+ǫ2T 2

N(Ω)

where polynomial TN (cosx) = cosNx

• passband equiripple + very flat at ∞

Inverse Chebyshev: G2(Ω) = 1

1+(ǫ2T 2N(Ω−1))

−1

• stopband equiripple + very flat at 0

Elliptic: [no nice formula]• Very steep + equiripple in pass and stop bands

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1N=5

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

0.1 0.2 0.5 1 2 5 100

0.2

0.4

0.6

0.8

1

Frequency (rad/s)

|H|

Page 14: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

-

0

0.5

1

1.5

2

2.5z-plane

α = 1

Page 15: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1

: a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

0

0.5

1

1.5

2

2.5z-plane

α = 1

Page 16: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

! "# $

% & ' () *

+ , . /

0

0.5

1

1.5

2

2.5z-plane

α = 1

Page 17: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

0 1 2 34 5

6 7 8 9: ;

< = > ?

0

0.5

1

1.5

2

2.5z-plane

α = 1

Page 18: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

@ A B CD E

F G H IJ K

L M N O

0

0.5

1

1.5

2

2.5z-plane

α = 1

Page 19: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1

= α ej ω

2 −e−j ω

2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

P Q R ST U

V W X YZ [

\ ] ^ _

0

0.5

1

1.5

2

2.5z-plane

α = 1

Page 20: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2

= jα tan ω2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

` a b cd e

f g h ij k

l m n o

0

0.5

1

1.5

2

2.5z-plane

α = 1

Page 21: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

p q r st u

v w x yz

| ~

0

0.5

1

1.5

2

2.5z-plane

α = 1

Page 22: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

0

0.5

1

1.5

2

2.5z-plane

α = 1

0 2 4 6 8 100

0.5

1

1.5

2

2.5

3

Ω/αω

Page 23: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

0

0.5

1

1.5

2

2.5z-plane

α = 1

0 2 4 6 8 100

0.5

1

1.5

2

2.5

3

Ω/αω

Page 24: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

¡ ¢ £¤ ¥

¦ § ¨ ©ª «

¬ ­ ® ¯

0

0.5

1

1.5

2

2.5z-plane

α = 1

0 2 4 6 8 100

0.5

1

1.5

2

2.5

3

Ω/αω

Page 25: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2

= 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

° ± ² ³´ µ

¶ · ¸ ¹º »

¼ ½ ¾ ¿

0

0.5

1

1.5

2

2.5z-plane

α = 1

0 2 4 6 8 100

0.5

1

1.5

2

2.5

3

Ω/αω

Page 26: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

À Á Â ÃÄ Å

Æ Ç È ÉÊ Ë

Ì Í Î Ï

0

0.5

1

1.5

2

2.5z-plane

α = 1

0 2 4 6 8 100

0.5

1

1.5

2

2.5

3

Ω/αω

Page 27: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

Ð Ñ Ò ÓÔ Õ

Ö × Ø ÙÚ Û

Ü Ý Þ ß

0

0.5

1

1.5

2

2.5z-plane

α = 1

0 2 4 6 8 100

0.5

1

1.5

2

2.5

3

Ω/αω

Page 28: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Bilinear Mapping

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 3 / 10

Change variable: z = α+sα−s

⇔ s = α z−1z+1 : a one-to-one invertible mapping

• ℜ axis (s) ↔ℜ axis (z)

• ℑ axis (s) ↔ Unit circle (z)

Proof: z = ejω⇔s = α ejω−1ejω+1 = α e

j ω2 −e

−j ω2

ej ω

2 +e−j ω

2= jα tan ω

2= jΩ

• Left half plane(s) ↔inside of unit circle (z)

Proof: s = x+ jy ⇔ |z|2= |(α+x)+jy|2

|(α−x)−jy|2

= α2+2αx+x2+y2

α2−2αx+x2+y2 = 1 + 4αx(α−x)2+y2

x < 0 ⇔ |z| < 1

• Unit circle (s) ↔ℑ axis (z)

-4 -2 0 2 4-4

-3

-2

-1

0

1

2

3

4s-plane

α = 1

-2 -1 0 1 2

à á â ãä å

æ ç è éê ë

ì í î ï

0

0.5

1

1.5

2

2.5z-plane

α = 1

0 2 4 6 8 100

0.5

1

1.5

2

2.5

3

Ω/αω

Page 29: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1 [extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8 = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 30: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1

[extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8 = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 31: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1

[extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8 = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 32: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1 [extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8 = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 33: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1 [extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8

= 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 34: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1 [extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8 = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 35: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1 [extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8 = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

2

2.5

ω (rad/sample)

|H|

α=1

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 36: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1 [extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8 = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

2

2.5

ω (rad/sample)

|H|

α=1

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 37: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1 [extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8 = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

2

2.5

ω (rad/sample)

|H|

α=1

0 2 4 6 8 100

0.5

1

1.5

2

2.5

3

Ω/α

ω

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 38: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1 [extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8 = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

2

2.5

ω (rad/sample)

|H|

α=1

0 2 4 6 8 100

0.5

1

1.5

2

2.5

3

Ω/α

ω

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 39: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1 [extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8 = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

2

2.5

ω (rad/sample)

|H|

α=1

0 2 4 6 8 100

0.5

1

1.5

2

2.5

3

Ω/α

ω

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 40: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Continuous Time Filters

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 4 / 10

Take H(s) = 1s2+0.2s+4 and choose α = 1

Substitute: s = α z−1z+1 [extra zeros at z = −1]

H(z) = 1

( z−1

z+1 )2+0.2 z−1

z+1+4

= (z+1)2

(z−1)2+0.2(z−1)(z+1)+4(z+1)2

= z2+2z+15.2z2+6z+4.8 = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

Frequency response is identical (both magnitudeand phase) but with a distorted frequency axis:

Frequency mapping: ω = 2 tan−1 Ωα

Ω =[α 2α 3α 4α 5α

]

→ ω =[1.6 2.2 2.5 2.65 2.75

]

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

2

2.5

ω (rad/sample)

|H|

α=1

0 2 4 6 8 100

0.5

1

1.5

2

2.5

3

Ω/α

ω

Choosing α: Set α = Ω0

tan 12ω0

to map Ω0 → ω0

Set α = 2fs =2T

to map low frequencies to themselves

Page 41: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

Page 42: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2j

Map using z = α+sα−s

⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

Page 43: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s

⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

Page 44: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

ð ñ ò ó

0

0.5

1

z

α=1

Page 45: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

ô õ ö ÷

0

0.5

1

z

α=1

Page 46: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

ø ù ú û

0

0.5

1

z

α=1

Page 47: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

ü ý þ ÿ

0

0.5

1

z

α=1

Page 48: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

-

0

0.5

1

z

α=1

Page 49: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

0

0.5

1

z

α=1

Page 50: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0

⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

0

0.5

1

z

α=1

Page 51: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

0

0.5

1

z

α=1

Page 52: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

0

0.5

1

z

α=1

Page 53: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25

⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

0

0.5

1

z

α=1

Page 54: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

0

0.5

1

z

α=1

Page 55: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Mapping Poles and Zeros

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 5 / 10

Alternative method: H(s) = 1s2+0.2s+4

Find the poles and zeros: ps = −0.1± 2jMap using z = α+s

α−s⇒ pz = −0.58± 0.77j

After the transformation we will always end up withthe same number of poles as zeros:

Add extra poles or zeros at z = −1

H(z) = g× (1+z−1)2

(1+(0.58−0.77j)z−1)(1+(0.58+0.77j)z−1)

= g × 1+2z−1+z−2

1+1.15z−1+0.92z−2

Choose overall scale factor, g, to give the same gainat any convenient pair of mapped frequencies:

At Ω0 = 0⇒ s0 = 0⇒∣∣∣H(s0)

∣∣∣ = 0.25

⇒ ω0 = 2 tan−1 Ω0

α= 0⇒ z0 = ejω0 = 1

⇒ |H(z0)| = g × 43.08 = 0.25⇒ g = 0.19

H(z) = 0.19 1+2z−1+z−2

1+1.15z−1+0.92z−2

1 2 3 4 5 60

0.5

1

1.5

2

2.5

Frequency (rad/s)

|H|

-3 -2 -1 0 1 2

-2

-1

0

1

2

s

-1 0 1

-1

0

0.5

1

z

α=1

0 0.5 1 1.5 2 2.5 30

0.5

1

1.5

2

2.5

ω (rad/sample)

|H|

α=1

Page 56: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Spectral Transformations

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 6 / 10

We can transform the z-plane to change the cutofffrequency by substituting

z = z−λ1−λz

⇔ z = z+λ1+λz

Frequency Mapping:

If z = ejω , then z = z 1+λz−1

1+λzhas modulus 1

since the numerator and denominator arecomplex conjugates.Hence the unit circle is preserved.

⇒ ejω = ejω+λ1+λejω

Some algebra gives: tan ω2 =

(1+λ1−λ

)tan ω

2

Equivalent to:z −→ s = z−1

z+1 −→ s = 1−λ1+λ

s −→ z = 1+s1−s

Lowpass Filter example:Inverse Chebyshev

ω0 = π2 = 1.57

λ=0.6−→ ω0 = 0.49

Page 57: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Spectral Transformations

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 6 / 10

We can transform the z-plane to change the cutofffrequency by substituting

z = z−λ1−λz

⇔ z = z+λ1+λz

Frequency Mapping:

If z = ejω , then z = z 1+λz−1

1+λzhas modulus 1

since the numerator and denominator arecomplex conjugates.Hence the unit circle is preserved.

⇒ ejω = ejω+λ1+λejω

Some algebra gives: tan ω2 =

(1+λ1−λ

)tan ω

2

Equivalent to:z −→ s = z−1

z+1 −→ s = 1−λ1+λ

s −→ z = 1+s1−s

Lowpass Filter example:Inverse Chebyshev

ω0 = π2 = 1.57

λ=0.6−→ ω0 = 0.49

Page 58: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Spectral Transformations

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 6 / 10

We can transform the z-plane to change the cutofffrequency by substituting

z = z−λ1−λz

⇔ z = z+λ1+λz

Frequency Mapping:

If z = ejω , then z = z 1+λz−1

1+λzhas modulus 1

since the numerator and denominator arecomplex conjugates.Hence the unit circle is preserved.

⇒ ejω = ejω+λ1+λejω

Some algebra gives: tan ω2 =

(1+λ1−λ

)tan ω

2

Equivalent to:z −→ s = z−1

z+1 −→ s = 1−λ1+λ

s −→ z = 1+s1−s

Lowpass Filter example:Inverse Chebyshev

ω0 = π2 = 1.57

λ=0.6−→ ω0 = 0.49

-2 -1 0 1 2-2

-1

0

1

2

z

-2 -1 0 1 2-2

-1

0

1

2

z

λ ! " #

Page 59: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Spectral Transformations

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 6 / 10

We can transform the z-plane to change the cutofffrequency by substituting

z = z−λ1−λz

⇔ z = z+λ1+λz

Frequency Mapping:

If z = ejω , then z = z 1+λz−1

1+λzhas modulus 1

since the numerator and denominator arecomplex conjugates.

Hence the unit circle is preserved.

⇒ ejω = ejω+λ1+λejω

Some algebra gives: tan ω2 =

(1+λ1−λ

)tan ω

2

Equivalent to:z −→ s = z−1

z+1 −→ s = 1−λ1+λ

s −→ z = 1+s1−s

Lowpass Filter example:Inverse Chebyshev

ω0 = π2 = 1.57

λ=0.6−→ ω0 = 0.49

-2 -1 0 1 2-2

-1

0

1

2

z

-2 -1 0 1 2-2

-1

0

1

2

$ %

λ & ' ( )

Page 60: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Spectral Transformations

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 6 / 10

We can transform the z-plane to change the cutofffrequency by substituting

z = z−λ1−λz

⇔ z = z+λ1+λz

Frequency Mapping:

If z = ejω , then z = z 1+λz−1

1+λzhas modulus 1

since the numerator and denominator arecomplex conjugates.Hence the unit circle is preserved.

⇒ ejω = ejω+λ1+λejω

Some algebra gives: tan ω2 =

(1+λ1−λ

)tan ω

2

Equivalent to:z −→ s = z−1

z+1 −→ s = 1−λ1+λ

s −→ z = 1+s1−s

Lowpass Filter example:Inverse Chebyshev

ω0 = π2 = 1.57

λ=0.6−→ ω0 = 0.49

-2 -1 0 1 2-2

-1

0

1

2

z

-2 -1 0 1 2-2

-1

0

1

2

* +

λ , . / 0

Page 61: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Spectral Transformations

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 6 / 10

We can transform the z-plane to change the cutofffrequency by substituting

z = z−λ1−λz

⇔ z = z+λ1+λz

Frequency Mapping:

If z = ejω , then z = z 1+λz−1

1+λzhas modulus 1

since the numerator and denominator arecomplex conjugates.Hence the unit circle is preserved.

⇒ ejω = ejω+λ1+λejω

Some algebra gives: tan ω2 =

(1+λ1−λ

)tan ω

2

Equivalent to:z −→ s = z−1

z+1 −→ s = 1−λ1+λ

s −→ z = 1+s1−s

Lowpass Filter example:Inverse Chebyshev

ω0 = π2 = 1.57

λ=0.6−→ ω0 = 0.49

-2 -1 0 1 2-2

-1

0

1

2

z

-2 -1 0 1 2-2

-1

0

1

2

1 2

λ 3 4 5 6

Page 62: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Spectral Transformations

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 6 / 10

We can transform the z-plane to change the cutofffrequency by substituting

z = z−λ1−λz

⇔ z = z+λ1+λz

Frequency Mapping:

If z = ejω , then z = z 1+λz−1

1+λzhas modulus 1

since the numerator and denominator arecomplex conjugates.Hence the unit circle is preserved.

⇒ ejω = ejω+λ1+λejω

Some algebra gives: tan ω2 =

(1+λ1−λ

)tan ω

2

Equivalent to:z −→ s = z−1

z+1 −→ s = 1−λ1+λ

s −→ z = 1+s1−s

Lowpass Filter example:Inverse Chebyshev

ω0 = π2 = 1.57

λ=0.6−→ ω0 = 0.49

-2 -1 0 1 2-2

-1

0

1

2

z

-2 -1 0 1 2-2

-1

0

1

2

7 8

λ 9 : ; <

Page 63: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Spectral Transformations

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 6 / 10

We can transform the z-plane to change the cutofffrequency by substituting

z = z−λ1−λz

⇔ z = z+λ1+λz

Frequency Mapping:

If z = ejω , then z = z 1+λz−1

1+λzhas modulus 1

since the numerator and denominator arecomplex conjugates.Hence the unit circle is preserved.

⇒ ejω = ejω+λ1+λejω

Some algebra gives: tan ω2 =

(1+λ1−λ

)tan ω

2

Equivalent to:z −→ s = z−1

z+1 −→ s = 1−λ1+λ

s −→ z = 1+s1−s

Lowpass Filter example:Inverse Chebyshev

ω0 = π2 = 1.57

λ=0.6−→ ω0 = 0.49

-2 -1 0 1 2-2

-1

0

1

2

z

-2 -1 0 1 2-2

-1

0

1

2

= >

λ ? @ A B

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

ω (rad/s)

|H|

Page 64: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Spectral Transformations

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 6 / 10

We can transform the z-plane to change the cutofffrequency by substituting

z = z−λ1−λz

⇔ z = z+λ1+λz

Frequency Mapping:

If z = ejω , then z = z 1+λz−1

1+λzhas modulus 1

since the numerator and denominator arecomplex conjugates.Hence the unit circle is preserved.

⇒ ejω = ejω+λ1+λejω

Some algebra gives: tan ω2 =

(1+λ1−λ

)tan ω

2

Equivalent to:z −→ s = z−1

z+1 −→ s = 1−λ1+λ

s −→ z = 1+s1−s

Lowpass Filter example:Inverse Chebyshev

ω0 = π2 = 1.57

λ=0.6−→ ω0 = 0.49

-2 -1 0 1 2-2

-1

0

1

2

z

-2 -1 0 1 2-2

-1

0

1

2

C D

λ E F G H

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

ω (rad/s)

|H|

Page 65: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Spectral Transformations

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 6 / 10

We can transform the z-plane to change the cutofffrequency by substituting

z = z−λ1−λz

⇔ z = z+λ1+λz

Frequency Mapping:

If z = ejω , then z = z 1+λz−1

1+λzhas modulus 1

since the numerator and denominator arecomplex conjugates.Hence the unit circle is preserved.

⇒ ejω = ejω+λ1+λejω

Some algebra gives: tan ω2 =

(1+λ1−λ

)tan ω

2

Equivalent to:z −→ s = z−1

z+1 −→ s = 1−λ1+λ

s −→ z = 1+s1−s

Lowpass Filter example:Inverse Chebyshev

ω0 = π2 = 1.57

λ=0.6−→ ω0 = 0.49

-2 -1 0 1 2-2

-1

0

1

2

z

-2 -1 0 1 2-2

-1

0

1

2

I J

λ K L M N

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

ω (rad/s)

|H|

0 0.5 1 1.5 2 2.5 30

0.2

0.4

0.6

0.8

1

ω ^ O P ad/s)

|QRS

T U V W X

ω Y Z [ \ ] _

Page 66: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Constantinides Transformations

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 7 / 10

Transform any lowpass filter with cutoff frequency ω0 to:

Target Substitute Parameters

Lowpassω < ω1

z−1 = z−1−λ1−λz−1 λ =

sin(ω0−ω12 )

sin(ω0+ω12 )

Highpassω > ω1

z−1 = − z−1+λ1+λz−1 λ =

cos(ω0+ω12 )

cos(ω0−ω12 )

Bandpassω1 < ω < ω2

z−1 = − (ρ−1)−2λρz−1+(ρ+1)z−2

(ρ+1)−2λρz−1+(ρ−1)z−2 λ =cos( ω2+ω1

2 )cos( ω2−ω1

2 )

ρ = cot(ω2−ω1

2

)tan

(ω0

2

)

Bandstopω1 ≮ ω ≮ ω2

z−1 = (1−ρ)−2λz−1+(ρ+1)z−2

(ρ+1)−2λz−1+(1−ρ)z−2 λ =cos( ω2+ω1

2 )cos( ω2−ω1

2 )ρ = tan

(ω2−ω1

2

)tan

(ω0

2

)

Bandpass and bandstop transformations are quadratic and so will double the order:

Page 67: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Constantinides Transformations

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 7 / 10

Transform any lowpass filter with cutoff frequency ω0 to:

Target Substitute Parameters

Lowpassω < ω1

z−1 = z−1−λ1−λz−1 λ =

sin(ω0−ω12 )

sin(ω0+ω12 )

Highpassω > ω1

z−1 = − z−1+λ1+λz−1 λ =

cos(ω0+ω12 )

cos(ω0−ω12 )

Bandpassω1 < ω < ω2

z−1 = − (ρ−1)−2λρz−1+(ρ+1)z−2

(ρ+1)−2λρz−1+(ρ−1)z−2 λ =cos( ω2+ω1

2 )cos( ω2−ω1

2 )

ρ = cot(ω2−ω1

2

)tan

(ω0

2

)

Bandstopω1 ≮ ω ≮ ω2

z−1 = (1−ρ)−2λz−1+(ρ+1)z−2

(ρ+1)−2λz−1+(1−ρ)z−2 λ =cos( ω2+ω1

2 )cos( ω2−ω1

2 )ρ = tan

(ω2−ω1

2

)tan

(ω0

2

)

Bandpass and bandstop transformations are quadratic and so will double the order:

-3 -2 -1 0 1 2 30

0.5

1

ω (rad/s)

|H|

` a b p c d e

-3 -2 -1 0 1 2 30

0.5

1

ω f g h ad/s)

ijk

l

m n o q r ass

Page 68: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.

Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:, Impulse response correct. , No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

Page 69: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.

Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:, Impulse response correct. , No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

Frequs t u v w x y ~

Page 70: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.

Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:, Impulse response correct. , No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

Frequ

¡ ¢ £ ¤ ¥ ¦ § ¨ © ª

0 0.5 1 1.5 2 2.5 30

0.5

1

ω (rad/sample)

|H|

« ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º »

Matched at 3.4 kHz

Page 71: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:, Impulse response correct. , No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

Frequ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç

ÈÉÊ

Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö

0 0.5 1 1.5 2 2.5 30

0.5

1

ω (rad/sample)

|H|

× Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç

Matched at 3.4 kHz

Page 72: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:, Impulse response correct. , No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

Frequè é ê ë ì í î ï ð ñ ò ó

ôõö

÷ ø ù ú û ü ý þ ÿ g

0 0.5 1 1.5 2 2.5 30

0.5

1

ω (rad/sample)

|H|

B e s

Matched at 3.4 kHz

Page 73: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:, Impulse response correct. , No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

Frequ d

|

A ! " # $ % & '

0 0.5 1 1.5 2 2.5 30

0.5

1

ω (rad/sample)

|H|

( ) * + , - . / 0 12

3 4 5 6 7 8

Matched at 3.4 kHz

Page 74: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)

Zeros do not map in a simple way

Properties:, Impulse response correct. , No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

Frequ9 : ; < = > ? @ C D E F

GHI

J K L M N O P Q R S T U

0 0.5 1 1.5 2 2.5 30

0.5

1

ω (rad/sample)

|H|

V W X Y Z [ \ ] ^ _`

a b c f h i

Matched at 3.4 kHz

Page 75: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:, Impulse response correct. , No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

Frequj k l m n o p q r t u v

wxy

z ~

0 0.5 1 1.5 2 2.5 30

0.5

1

ω (rad/sample)

|H|

Matched at 3.4 kHz

Page 76: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:, Impulse response correct. , No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

Frequ ¡ ¢ £

¤¥¦

§ ¨ © ª « ¬ ­ ® ¯ ° ± ²

0 0.5 1 1.5 2 2.5 30

0.5

1

ω (rad/sample)

|H|

³ ´ µ ¶ · ¸ ¹ º » ¼½

¾ ¿ À Á Â Ã

Matched at 3.4 kHz

0 0.5 1 1.5 2 2.5 3

0.2

0.4

0.6

0.8

1

ω (rad/sample)

|H|

Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö×

Ø Ù Ú Û Ü Ý

Page 77: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:

, Impulse response correct. , No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

FrequÞ ß à á â ã ä å æ ç è é

êëì

í î ï ð ñ ò ó ô õ ö ÷ ø

0 0.5 1 1.5 2 2.5 30

0.5

1

ω (rad/sample)

|H|

ù ú û ü ý þ ÿ e s

Matched at 3.4 kHz

0 0.5 1 1.5 2 2.5 3

0.2

0.4

0.6

0.8

1

ω (rad/sample)

|H|

I u a c

Page 78: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:, Impulse response correct.

, No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

Frequ ! " # $ % d & ' (

|)*

A + , - . g / 0 1 2 3 4

0 0.5 1 1.5 2 2.5 30

0.5

1

ω (rad/sample)

|H|

B 5 6 7 8 9 : ; < =>

? @ C D E F

Matched at 3.4 kHz

0 0.5 1 1.5 2 2.5 3

0.2

0.4

0.6

0.8

1

ω (rad/sample)

|H|

G H J K L M N O P Q R S T U V W X Y Z[

\ ] ^ _ ` b

Page 79: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:, Impulse response correct. , No distortion of frequency axis.

/ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

Frequf h i j k l m n o p q r

tvw

x y z ~

0 0.5 1 1.5 2 2.5 30

0.5

1

ω (rad/sample)

|H|

Matched at 3.4 kHz

0 0.5 1 1.5 2 2.5 3

0.2

0.4

0.6

0.8

1

ω (rad/sample)

|H|

¡ ¢ £ ¤ ¥ ¦ § ¨©

ª « ¬ ­ ® ¯

Page 80: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Impulse Invariance

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 8 / 10

Bilinear transform works well for a lowpass filter but the non-linearcompression of the frequency distorts any other response.Alternative method:

H(s)L

−1

−→ h(t)sample−→ h[n] = T × h(nT )

Z−→ H(z)

Express H(s) as a sum of partial fractions H(s) =∑N

i=1gi

s−pi

Impulse response is h(t) = u(t)×∑N

i=1 giepit

Digital filter H(z)T

=∑N

i=1gi

1−epiT z−1 has identical impulse response

Poles of H(z) are pi = epiT (where T = 1fs

is sampling period)Zeros do not map in a simple way

Properties:, Impulse response correct. , No distortion of frequency axis./ Frequency response is aliased.

Example: Standard telephone filter - 300 to 3400 Hz bandpass

0 5 10 15 20 250

0.5

1

Frequ° ± ² ³ ´ µ ¶ · ¸ ¹ º »

¼½¾

¿ À Á Â Ã Ä Å Æ Ç È É Ê

0 0.5 1 1.5 2 2.5 30

0.5

1

ω (rad/sample)

|H|

Ë Ì Í Î Ï Ð Ñ Ò Ó ÔÕ

Ö × Ø Ù Ú Û

Matched at 3.4 kHz

0 0.5 1 1.5 2 2.5 3

0.2

0.4

0.6

0.8

1

ω (rad/sample)

|H|

Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í îï

ð ñ ò ó ô õ

Page 81: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Summary

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 9 / 10

• Classical filters have optimal tradeoffs in continuous time domain Order ↔ transition width↔ pass ripple↔ stop ripple Monotonic passband and/or stopband

• Bilinear mapping Exact preservation of frequency response (mag + phase) non-linear frequency axis distortion can choose α to map Ω0 → ω0 for one specific frequency

• Spectral transformations lowpass → lowpass, highpass, bandpass or bandstop bandpass and bandstop double the filter order

• Impulse Invariance Aliassing distortion of frequency response preserves frequency axis and impulse response

For further details see Mitra: 9.

Page 82: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Summary

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 9 / 10

• Classical filters have optimal tradeoffs in continuous time domain Order ↔ transition width↔ pass ripple↔ stop ripple Monotonic passband and/or stopband

• Bilinear mapping Exact preservation of frequency response (mag + phase) non-linear frequency axis distortion can choose α to map Ω0 → ω0 for one specific frequency

• Spectral transformations lowpass → lowpass, highpass, bandpass or bandstop bandpass and bandstop double the filter order

• Impulse Invariance Aliassing distortion of frequency response preserves frequency axis and impulse response

For further details see Mitra: 9.

Page 83: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Summary

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 9 / 10

• Classical filters have optimal tradeoffs in continuous time domain Order ↔ transition width↔ pass ripple↔ stop ripple Monotonic passband and/or stopband

• Bilinear mapping Exact preservation of frequency response (mag + phase) non-linear frequency axis distortion can choose α to map Ω0 → ω0 for one specific frequency

• Spectral transformations lowpass → lowpass, highpass, bandpass or bandstop bandpass and bandstop double the filter order

• Impulse Invariance Aliassing distortion of frequency response preserves frequency axis and impulse response

For further details see Mitra: 9.

Page 84: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Summary

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 9 / 10

• Classical filters have optimal tradeoffs in continuous time domain Order ↔ transition width↔ pass ripple↔ stop ripple Monotonic passband and/or stopband

• Bilinear mapping Exact preservation of frequency response (mag + phase) non-linear frequency axis distortion can choose α to map Ω0 → ω0 for one specific frequency

• Spectral transformations lowpass → lowpass, highpass, bandpass or bandstop bandpass and bandstop double the filter order

• Impulse Invariance Aliassing distortion of frequency response preserves frequency axis and impulse response

For further details see Mitra: 9.

Page 85: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

Summary

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 9 / 10

• Classical filters have optimal tradeoffs in continuous time domain Order ↔ transition width↔ pass ripple↔ stop ripple Monotonic passband and/or stopband

• Bilinear mapping Exact preservation of frequency response (mag + phase) non-linear frequency axis distortion can choose α to map Ω0 → ω0 for one specific frequency

• Spectral transformations lowpass → lowpass, highpass, bandpass or bandstop bandpass and bandstop double the filter order

• Impulse Invariance Aliassing distortion of frequency response preserves frequency axis and impulse response

For further details see Mitra: 9.

Page 86: 8: IIR Filter Transformations8: IIR Filter Transformations 8: IIR Filter Transformations •Continuous Time Filters •Bilinear Mapping •Continuous Time Filters •Mapping Poles

MATLAB routines

8: IIR Filter Transformations

• Continuous Time Filters

• Bilinear Mapping

• Continuous Time Filters

• Mapping Poles and Zeros

• Spectral Transformations

• ConstantinidesTransformations

• Impulse Invariance

• Summary

• MATLAB routines

DSP and Digital Filters (2019-6707) IIR Transformations: 8 – 10 / 10

bilinear Bilinear mappingimpinvar Impulse invariance

butterbutterord

Analog or digitalButterworth filter

cheby1cheby1ord

Analog or digitalChebyshev filter

cheby2cheby2ord

Analog or digitalInverse Chebyshev filter

ellipellipord

Analog or digitalElliptic filter