Upload
others
View
40
Download
0
Embed Size (px)
Citation preview
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
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
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|
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|
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|
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|
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|
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|
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|
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|
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|
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|
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|
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
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
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
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
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
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
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
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
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
Ω/αω
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
Ω/αω
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
Ω/αω
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
Ω/αω
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
Ω/αω
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
Ω/αω
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
Ω/αω
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
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
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
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
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
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
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
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
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
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
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
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
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|
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
λ ! " #
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
$ %
λ & ' ( )
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
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
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 : ; <
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|
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|
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 [ \ ] _
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:
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
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
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 ~
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
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
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
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
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
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
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|
Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö×
Ø Ù Ú Û Ü Ý
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
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
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|
¡ ¢ £ ¤ ¥ ¦ § ¨©
ª « ¬ ® ¯
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|
Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í îï
ð ñ ò ó ô õ
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.
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.
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.
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.
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.
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