8: IIR Filter Transformations

advertisement
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
8: IIR Filter Transformations
DSP and Digital Filters (2015-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
• Constantinides
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 2 / 10
Continuous Time Filters
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
1
N=5
0.8
0.6
|H|
8: IIR Filter Transformations
0.4
2
e 2 (Ω) = H(jΩ)
e
Butterworth: G
=
DSP and Digital Filters (2015-6707)
0.2
1
1+Ω2N
0
0.1
0.2
0.5
1
2
Frequency (rad/s)
5
IIR Transformations: 8 – 2 / 10
10
Continuous Time Filters
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
1
N=5
0.8
0.6
|H|
8: IIR Filter Transformations
0.4
2
e 2 (Ω) = H(jΩ)
e
Butterworth: G
=
0.2
1
1+Ω2N
0
0.1
0.2
0.5
1
2
Frequency (rad/s)
5
• Monotonic ∀Ω
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 2 / 10
10
Continuous Time Filters
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
1
N=5
0.8
0.6
|H|
8: IIR Filter Transformations
0.4
2
e 2 (Ω) = H(jΩ)
e
Butterworth: G
=
0.2
1
1+Ω2N
0
0.1
0.2
0.5
1
2
Frequency (rad/s)
5
• Monotonic ∀Ω
e
• G(Ω)
= 1 − 12 Ω2N + 83 Ω4N + · · ·
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 2 / 10
10
Continuous Time Filters
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
1
N=5
0.8
0.6
|H|
8: IIR Filter Transformations
0.4
2
e 2 (Ω) = H(jΩ)
e
Butterworth: G
=
0.2
1
1+Ω2N
0
0.1
0.2
0.5
1
2
Frequency (rad/s)
5
• Monotonic ∀Ω
e
• G(Ω)
= 1 − 12 Ω2N + 83 Ω4N + · · ·
“Maximally flat”: 2N − 1 derivatives are zero
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 2 / 10
10
Continuous Time Filters
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
1
N=5
0.8
0.6
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
0.4
2
e 2 (Ω) = H(jΩ)
e
Butterworth: G
=
0.2
1
1+Ω2N
• Monotonic ∀Ω
e
• G(Ω)
= 1 − 12 Ω2N + 83 Ω4N + · · ·
“Maximally flat”: 2N − 1 derivatives are zero
e 2 (Ω) =
Chebyshev: G
1
2 (Ω)
1+ǫ2 TN
0
0.1
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
1
0.8
0.6
|H|
8: IIR Filter Transformations
0.4
0.2
0
0.1
where polynomial TN (cos x) = cos N x
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 2 / 10
Continuous Time Filters
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
1
N=5
0.8
0.6
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
0.4
2
e 2 (Ω) = H(jΩ)
e
Butterworth: G
=
0.2
1
1+Ω2N
• Monotonic ∀Ω
e
• G(Ω)
= 1 − 12 Ω2N + 83 Ω4N + · · ·
“Maximally flat”: 2N − 1 derivatives are zero
e 2 (Ω) =
Chebyshev: G
•
DSP and Digital Filters (2015-6707)
1
2 (Ω)
1+ǫ2 TN
0
0.1
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
1
0.8
0.6
|H|
8: IIR Filter Transformations
0.4
0.2
0
0.1
where polynomial TN (cos x) = cos N x
passband equiripple + very flat at ∞
IIR Transformations: 8 – 2 / 10
Continuous Time Filters
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
1
N=5
0.8
|H|
0.6
0.4
2
e 2 (Ω) = H(jΩ)
e
Butterworth: G
=
0.2
1
1+Ω2N
• Monotonic ∀Ω
e
• G(Ω)
= 1 − 12 Ω2N + 83 Ω4N + · · ·
“Maximally flat”: 2N − 1 derivatives are zero
e 2 (Ω) =
Chebyshev: G
•
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
1
0.8
0.6
0.4
0.2
0
0.1
1
2 (Ω)
1+ǫ2 TN
1
0.8
where polynomial TN (cos x) = cos N x
passband equiripple + very flat at ∞
e 2 (Ω) =
Inverse Chebyshev: G
DSP and Digital Filters (2015-6707)
0
0.1
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
−1
2
1+(ǫ2 TN (Ω−1 ))
0.6
|H|
8: IIR Filter Transformations
0.4
0.2
0
0.1
IIR Transformations: 8 – 2 / 10
Continuous Time Filters
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
1
N=5
0.8
|H|
0.6
0.4
2
e 2 (Ω) = H(jΩ)
e
Butterworth: G
=
0.2
1
1+Ω2N
• Monotonic ∀Ω
e
• G(Ω)
= 1 − 12 Ω2N + 83 Ω4N + · · ·
“Maximally flat”: 2N − 1 derivatives are zero
e 2 (Ω) =
Chebyshev: G
•
0
0.1
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
1
0.8
0.6
0.4
0.2
0
0.1
1
2 (Ω)
1+ǫ2 TN
1
0.8
where polynomial TN (cos x) = cos N x
passband equiripple + very flat at ∞
e 2 (Ω) =
Inverse Chebyshev: G
0.2
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
−1
2
1+(ǫ2 TN (Ω−1 ))
0.6
|H|
8: IIR Filter Transformations
0.4
0.2
0
0.1
• stopband equiripple + very flat at 0
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 2 / 10
Continuous Time Filters
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
1
N=5
0.8
|H|
0.6
0.4
2
e 2 (Ω) = H(jΩ)
e
Butterworth: G
=
0.2
1
1+Ω2N
• Monotonic ∀Ω
e
• G(Ω)
= 1 − 12 Ω2N + 83 Ω4N + · · ·
“Maximally flat”: 2N − 1 derivatives are zero
e 2 (Ω) =
Chebyshev: G
•
0
0.1
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
1
0.8
0.6
0.4
0.2
0
0.1
1
2 (Ω)
1+ǫ2 TN
1
0.8
where polynomial TN (cos x) = cos N x
passband equiripple + very flat at ∞
e 2 (Ω) =
Inverse Chebyshev: G
0.2
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
0.6
|H|
8: IIR Filter Transformations
0.4
0.2
1
−1
2
1+(ǫ2 TN (Ω−1 ))
0
0.1
1
0.8
• stopband equiripple + very flat at 0
|H|
0.6
0.4
Elliptic: [no nice formula]
0.2
0
0.1
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 2 / 10
Continuous Time Filters
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
1
N=5
0.8
|H|
0.6
0.4
2
e 2 (Ω) = H(jΩ)
e
Butterworth: G
=
0.2
1
1+Ω2N
• Monotonic ∀Ω
e
• G(Ω)
= 1 − 12 Ω2N + 83 Ω4N + · · ·
“Maximally flat”: 2N − 1 derivatives are zero
e 2 (Ω) =
Chebyshev: G
•
0
0.1
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
1
0.8
0.6
0.4
0.2
0
0.1
1
2 (Ω)
1+ǫ2 TN
1
0.8
where polynomial TN (cos x) = cos N x
passband equiripple + very flat at ∞
e 2 (Ω) =
Inverse Chebyshev: G
0.2
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
0.6
|H|
8: IIR Filter Transformations
0.4
0.2
1
−1
2
1+(ǫ2 TN (Ω−1 ))
0
0.1
1
0.8
• stopband equiripple + very flat at 0
|H|
0.6
0.4
Elliptic: [no nice formula]
• Very steep + equiripple in pass and stop bands
DSP and Digital Filters (2015-6707)
0.2
0
0.1
IIR Transformations: 8 – 2 / 10
Continuous Time Filters
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
2
e 2 (Ω) = H(jΩ)
e
Butterworth: G
=
•
0.6
0.4
1
1+Ω2N
0
0.1
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
0.2
0.5
1
2
Frequency (rad/s)
5
10
1
0.8
0.6
0.4
0.2
0
0.1
1
2 (Ω)
1+ǫ2 TN
1
0.8
where polynomial TN (cos x) = cos N x
passband equiripple + very flat at ∞
e 2 (Ω) =
Inverse Chebyshev: G
N=5
0.8
0.2
• Monotonic ∀Ω
e
• G(Ω)
= 1 − 12 Ω2N + 83 Ω4N + · · ·
“Maximally flat”: 2N − 1 derivatives are zero
e 2 (Ω) =
Chebyshev: G
1
|H|
Classical continuous-time filters optimize tradeoff:
passband ripple v stopband ripple v transition width
There are explicit formulae for pole/zero positions.
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
0.6
|H|
8: IIR Filter Transformations
0.4
0.2
1
−1
2
1+(ǫ2 TN (Ω−1 ))
0
0.1
1
0.8
• stopband equiripple + very flat at 0
|H|
0.6
0.4
Elliptic: [no nice formula]
• Very steep + equiripple in pass and stop bands
DSP and Digital Filters (2015-6707)
0.2
0
0.1
IIR Transformations: 8 – 2 / 10
Bilinear Mapping
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
α+s
Change variable: z = α−s
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
4
3
s-plane
α=1
2.5
2
z-plane
α=1
1.5
2
1
1
0.5
0
0
-1
-0.5
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
4
3
s-plane
α=1
2.5
2
z-plane
α=1
1.5
2
1
1
0.5
0
0
-1
-0.5
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
4
3
s-plane
α=1
2.5
2
z-plane
α=1
1.5
2
1
1
0.5
0
0
-1
-0.5
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
4
3
s-plane
α=1
2.5
2
z-plane
α=1
1.5
2
1
1
0.5
0
0
-1
-0.5
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
• ℑ axis (s) ↔ Unit circle (z )
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
4
3
s-plane
α=1
2.5
2
z-plane
α=1
1.5
2
1
1
0.5
0
0
-1
-0.5
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
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
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
• ℑ axis (s) ↔ Unit circle (z )
jω
Proof: z = ejω ⇔s = α eejω −1
+1
4
3
s-plane
α=1
2.5
2
z-plane
α=1
1.5
2
1
1
0.5
0
0
-1
-0.5
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
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
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
• ℑ axis (s) ↔ Unit circle (z )
ω
ω
ej 2 −e−j 2
ejω −1
jω
Proof: z = e ⇔s = α ejω +1 = α j ω −j ω
2
2
e
4
3
s-plane
α=1
2.5
2
+e
z-plane
α=1
1.5
2
1
1
0.5
0
0
-1
-0.5
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
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
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
• ℑ axis (s) ↔ Unit circle (z )
ω
ω
ej 2 −e−j 2
ejω −1
jω
Proof: z = e ⇔s = α ejω +1 = α j ω −j ω = jα tan ω
2 = jΩ
2
2
e
4
3
s-plane
α=1
2.5
2
+e
z-plane
α=1
1.5
2
1
1
0.5
0
0
-1
-0.5
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
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
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
• ℑ axis (s) ↔ Unit circle (z )
ω
ω
ej 2 −e−j 2
ejω −1
jω
Proof: z = e ⇔s = α ejω +1 = α j ω −j ω = jα tan ω
2 = jΩ
2
2
e
4
3
s-plane
α=1
2.5
2
+e
3
z-plane
α=1
2.5
1.5
2
1
1
2
0
0
-1
-0.5
ω
0.5
1
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
1.5
0.5
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
0
0
2
4
Ω/α
6
8
10
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
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
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
• ℑ axis (s) ↔ Unit circle (z )
ω
ω
ej 2 −e−j 2
ejω −1
jω
Proof: z = e ⇔s = α ejω +1 = α j ω −j ω = jα tan ω
2 = jΩ
2
2
e
+e
• Left half plane(s) ↔inside of unit circle (z )
4
3
s-plane
α=1
2.5
2
3
z-plane
α=1
2.5
1.5
2
1
1
2
0
0
-1
-0.5
ω
0.5
1
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
1.5
0.5
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
0
0
2
4
Ω/α
6
8
10
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
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
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
• ℑ axis (s) ↔ Unit circle (z )
ω
ω
ej 2 −e−j 2
ejω −1
jω
Proof: z = e ⇔s = α ejω +1 = α j ω −j ω = jα tan ω
2 = jΩ
2
2
e
+e
• Left half plane(s) ↔inside of unit circle (z )
2
|(α+x)+jy|2
Proof: s = x + jy ⇔ |z| = |(α−x)−jy|2
4
3
s-plane
α=1
2.5
2
3
z-plane
α=1
2.5
1.5
2
1
1
2
0
0
-1
-0.5
ω
0.5
1
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
1.5
0.5
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
0
0
2
4
Ω/α
6
8
10
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
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
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
• ℑ axis (s) ↔ Unit circle (z )
ω
ω
ej 2 −e−j 2
ejω −1
jω
Proof: z = e ⇔s = α ejω +1 = α j ω −j ω = jα tan ω
2 = jΩ
2
2
e
+e
• Left half plane(s) ↔inside of unit circle (z )
2
|(α+x)+jy|2
Proof: s = x + jy ⇔ |z| = |(α−x)−jy|2
=
4
3
s-plane
α=1
α2 +2αx+x2 +y 2
α2 −2αx+x2 +y 2
2.5
2
3
z-plane
α=1
2.5
1.5
2
1
1
2
0
0
-1
-0.5
ω
0.5
1
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
1.5
0.5
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
0
0
2
4
Ω/α
6
8
10
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
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
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
• ℑ axis (s) ↔ Unit circle (z )
ω
ω
ej 2 −e−j 2
ejω −1
jω
Proof: z = e ⇔s = α ejω +1 = α j ω −j ω = jα tan ω
2 = jΩ
2
2
e
+e
• Left half plane(s) ↔inside of unit circle (z )
2
|(α+x)+jy|2
Proof: s = x + jy ⇔ |z| = |(α−x)−jy|2
=
4
3
s-plane
α=1
α2 +2αx+x2 +y 2
α2 −2αx+x2 +y 2
2.5
2
2.5
1.5
2
1
1
2
0
0
-0.5
ω
0.5
-1
-1.5
-3
DSP and Digital Filters (2015-6707)
1.5
1
-1
-2
-4
-4
4αx
(α−x)2 +y 2
3
z-plane
α=1
=1+
0.5
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
0
0
2
4
Ω/α
6
8
10
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
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
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
• ℑ axis (s) ↔ Unit circle (z )
ω
ω
ej 2 −e−j 2
ejω −1
jω
Proof: z = e ⇔s = α ejω +1 = α j ω −j ω = jα tan ω
2 = jΩ
2
2
e
+e
• Left half plane(s) ↔inside of unit circle (z )
2
|(α+x)+jy|2
Proof: s = x + jy ⇔ |z| = |(α−x)−jy|2
=
α2 +2αx+x2 +y 2
α2 −2αx+x2 +y 2
=1+
4αx
(α−x)2 +y 2
x < 0 ⇔ |z| < 1
4
3
s-plane
α=1
2.5
2
3
z-plane
α=1
2.5
1.5
2
1
1
2
0
0
-1
-0.5
ω
0.5
1
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
1.5
0.5
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
0
0
2
4
Ω/α
6
8
10
IIR Transformations: 8 – 3 / 10
Bilinear Mapping
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
α+s
Change variable: z = α−s
⇔ s = α z−1
z+1 : a one-to-one invertible mapping
• ℜ axis (s) ↔ ℜ axis (z )
• ℑ axis (s) ↔ Unit circle (z )
ω
ω
ej 2 −e−j 2
ejω −1
jω
Proof: z = e ⇔s = α ejω +1 = α j ω −j ω = jα tan ω
2 = jΩ
2
2
e
+e
• Left half plane(s) ↔inside of unit circle (z )
2
|(α+x)+jy|2
Proof: s = x + jy ⇔ |z| = |(α−x)−jy|2
=
α2 +2αx+x2 +y 2
α2 −2αx+x2 +y 2
=1+
4αx
(α−x)2 +y 2
x < 0 ⇔ |z| < 1
• Unit circle (s) ↔ ℑ axis (z )
4
3
s-plane
α=1
2.5
2
3
z-plane
α=1
2.5
1.5
2
1
1
2
0
0
-1
-0.5
ω
0.5
1
-1
-2
-1.5
-3
-4
-4
DSP and Digital Filters (2015-6707)
1.5
0.5
-2
-2
0
2
4
-2.5
-2
-1
0
1
2
0
0
2
4
Ω/α
6
8
10
IIR Transformations: 8 – 3 / 10
Continuous Time Filters
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Transformations
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
1
2
3
4
Frequency (rad/s)
5
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 4 / 10
6
Continuous Time Filters
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Substitute: s = α z−1
z+1
Transformations
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
1
2
3
4
Frequency (rad/s)
5
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 4 / 10
6
Continuous Time Filters
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Substitute: s = α z−1
z+1
H(z) =
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
1
z−1 2
( z+1 ) +0.2 z−1
z+1 +4
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
1
2
3
4
Frequency (rad/s)
5
IIR Transformations: 8 – 4 / 10
6
Continuous Time Filters
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Substitute: s = α z−1
z+1
H(z) =
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
=
[extra zeros at z = −1]
1
z−1 2
( z+1 ) +0.2 z−1
z+1 +4
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
1
2
3
4
Frequency (rad/s)
5
(z+1)2
(z−1)2 +0.2(z−1)(z+1)+4(z+1)2
IIR Transformations: 8 – 4 / 10
6
Continuous Time Filters
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Substitute: s = α z−1
z+1
H(z) =
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
[extra zeros at z = −1]
1
z−1 2
( z+1 ) +0.2 z−1
z+1 +4
=
(z+1)2
(z−1)2 +0.2(z−1)(z+1)+4(z+1)2
=
z 2 +2z+1
5.2z 2 +6z+4.8
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
1
2
3
4
Frequency (rad/s)
5
IIR Transformations: 8 – 4 / 10
6
Continuous Time Filters
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Substitute: s = α z−1
z+1
H(z) =
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
[extra zeros at z = −1]
1
z−1 2
( z+1 ) +0.2 z−1
z+1 +4
=
(z+1)2
(z−1)2 +0.2(z−1)(z+1)+4(z+1)2
=
z 2 +2z+1
5.2z 2 +6z+4.8
=
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
1
2
3
4
Frequency (rad/s)
5
1+2z −1 +z −2
0.19 1+1.15z−1 +0.92z−2
IIR Transformations: 8 – 4 / 10
6
Continuous Time Filters
Transformations
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Substitute: s = α z−1
z+1
H(z) =
• Impulse Invariance
• Summary
• MATLAB routines
2.5
2
[extra zeros at z = −1]
1.5
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
0.5
1
z−1 2
( z+1 ) +0.2 z−1
z+1 +4
0
2.5
=
2
(z+1)
2
(z−1) +0.2(z−1)(z+1)+4(z+1)2
1
2
3
4
Frequency (rad/s)
5
6
α =1
2
1.5
|H|
8: IIR Filter Transformations
1
=
DSP and Digital Filters (2015-6707)
2
z +2z+1
5.2z 2 +6z+4.8
−1
−2
1+2z +z
= 0.19 1+1.15z
−1 +0.92z −2
0.5
0
0
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 4 / 10
Continuous Time Filters
Transformations
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Substitute: s = α z−1
z+1
H(z) =
• Impulse Invariance
• Summary
• MATLAB routines
2.5
2
[extra zeros at z = −1]
1.5
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
0.5
1
z−1 2
( z+1 ) +0.2 z−1
z+1 +4
0
2.5
=
2
(z+1)
2
(z−1) +0.2(z−1)(z+1)+4(z+1)2
1
2
3
4
Frequency (rad/s)
5
6
α =1
2
1.5
|H|
8: IIR Filter Transformations
1
=
2
z +2z+1
5.2z 2 +6z+4.8
−1
−2
1+2z +z
= 0.19 1+1.15z
−1 +0.92z −2
0.5
0
0
0.5
1
1.5
2
ω (rad/sample)
2.5
3
Frequency response is identical (both magnitude
and phase) but with a distorted frequency axis:
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 4 / 10
Continuous Time Filters
Transformations
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Substitute: s = α z−1
z+1
H(z) =
• Impulse Invariance
• Summary
• MATLAB routines
2.5
2
[extra zeros at z = −1]
1.5
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
0.5
1
z−1 2
( z+1 ) +0.2 z−1
z+1 +4
0
2.5
=
2
(z+1)
2
(z−1) +0.2(z−1)(z+1)+4(z+1)2
1
2
3
4
Frequency (rad/s)
5
6
α =1
2
1.5
|H|
8: IIR Filter Transformations
1
=
2
z +2z+1
5.2z 2 +6z+4.8
−1
−2
1+2z +z
= 0.19 1+1.15z
−1 +0.92z −2
0.5
0
0
Frequency response is identical (both magnitude
and phase) but with a distorted frequency axis:
1.5
2
ω (rad/sample)
2.5
3
3
2
1.5
1
0.5
0
0
DSP and Digital Filters (2015-6707)
1
2.5
ω
Frequency mapping: ω = 2 tan−1 Ω
α
0.5
2
4
Ω/α
6
8
IIR Transformations: 8 – 4 / 10
10
Continuous Time Filters
Transformations
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Substitute: s = α z−1
z+1
H(z) =
• Impulse Invariance
• Summary
• MATLAB routines
2.5
2
[extra zeros at z = −1]
1.5
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
0.5
1
z−1 2
( z+1 ) +0.2 z−1
z+1 +4
0
2.5
=
2
(z+1)
2
(z−1) +0.2(z−1)(z+1)+4(z+1)2
1
2
3
4
Frequency (rad/s)
5
6
α =1
2
1.5
|H|
8: IIR Filter Transformations
1
=
2
z +2z+1
5.2z 2 +6z+4.8
−1
−2
1+2z +z
= 0.19 1+1.15z
−1 +0.92z −2
0.5
0
0
Frequency response is identical (both magnitude
and phase) but with a distorted frequency axis:
1.5
2
ω (rad/sample)
2.5
3
3
2
1.5
1
Ω = α 2α
3α 4α 5α
→ ω = 1.6 2.2 2.5 2.65 2.75
DSP and Digital Filters (2015-6707)
1
2.5
ω
Frequency mapping: ω = 2 tan−1 Ω
α
0.5
0.5
0
0
2
4
Ω/α
6
8
IIR Transformations: 8 – 4 / 10
10
Continuous Time Filters
Transformations
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Substitute: s = α z−1
z+1
H(z) =
• Impulse Invariance
• Summary
• MATLAB routines
2.5
2
[extra zeros at z = −1]
1.5
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
0.5
1
z−1 2
( z+1 ) +0.2 z−1
z+1 +4
0
2.5
=
2
(z+1)
2
(z−1) +0.2(z−1)(z+1)+4(z+1)2
1
2
3
4
Frequency (rad/s)
5
6
α =1
2
1.5
|H|
8: IIR Filter Transformations
1
=
2
z +2z+1
5.2z 2 +6z+4.8
−1
−2
1+2z +z
= 0.19 1+1.15z
−1 +0.92z −2
0.5
0
0
Frequency response is identical (both magnitude
and phase) but with a distorted frequency axis:
1
1.5
2
ω (rad/sample)
2.5
3
3
2.5
2
ω
Frequency mapping: ω = 2 tan−1 Ω
α
0.5
1.5
1
Ω = α 2α
3α 4α 5α
→ ω = 1.6 2.2 2.5 2.65 2.75
0.5
0
0
2
4
Ω/α
6
8
Choosing α: Set α = tanΩ10 ω to map Ω0 → ω0
2 0
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 4 / 10
10
Continuous Time Filters
Transformations
1
e
Take H(s)
= s2 +0.2s+4
and choose α = 1
Substitute: s = α z−1
z+1
H(z) =
• Impulse Invariance
• Summary
• MATLAB routines
2.5
2
[extra zeros at z = −1]
1.5
|H|
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
0.5
1
z−1 2
( z+1 ) +0.2 z−1
z+1 +4
0
2.5
=
2
(z+1)
2
(z−1) +0.2(z−1)(z+1)+4(z+1)2
1
2
3
4
Frequency (rad/s)
5
6
α =1
2
1.5
|H|
8: IIR Filter Transformations
1
=
2
z +2z+1
5.2z 2 +6z+4.8
−1
−2
1+2z +z
= 0.19 1+1.15z
−1 +0.92z −2
0.5
0
0
Frequency response is identical (both magnitude
and phase) but with a distorted frequency axis:
1
1.5
2
ω (rad/sample)
2.5
3
3
2.5
2
ω
Frequency mapping: ω = 2 tan−1 Ω
α
0.5
1.5
1
Ω = α 2α
3α 4α 5α
→ ω = 1.6 2.2 2.5 2.65 2.75
0.5
0
0
2
4
Ω/α
6
8
Choosing α: Set α = tanΩ10 ω to map Ω0 → ω0
2 0
Set α = 2fs = T2 to map low frequencies to themselves
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 4 / 10
10
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
e
Alternative method: H(s)
= s2 +0.2s+4
Transformations
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
1
2
3
4
Frequency (rad/s)
5
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
1
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
2
3
4
Frequency (rad/s)
5
2
1
0
-1
-2
-3
DSP and Digital Filters (2015-6707)
-2
-1
0
s
1
2
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
1
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
2
3
4
Frequency (rad/s)
5
2
1
0
-1
-2
-3
DSP and Digital Filters (2015-6707)
-2
-1
0
s
1
2
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
1
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
2
3
4
Frequency (rad/s)
5
2
1
0
-1
-2
-3
1
-2
-1
0
s
1
2
α =1
0.5
0
-0.5
-1
-1
DSP and Digital Filters (2015-6707)
0
z
1
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
After the transformation we will always end up with
the same number of poles as zeros:
1
2
3
4
Frequency (rad/s)
5
2
1
0
-1
-2
-3
1
-2
-1
0
s
1
2
α =1
0.5
0
-0.5
-1
-1
DSP and Digital Filters (2015-6707)
0
z
1
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
After the transformation we will always end up with
the same number of poles as zeros:
Add extra poles or zeros at z = −1
1
2
3
4
Frequency (rad/s)
5
2
1
0
-1
-2
-3
1
-2
-1
0
s
1
2
α =1
0.5
0
-0.5
-1
-1
DSP and Digital Filters (2015-6707)
0
z
1
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
After the transformation we will always end up with
the same number of poles as zeros:
Add extra poles or zeros at z = −1
H(z) =
(1+z −1 )2
g× (1+(0.58−0.77j)z−1 )(1+(0.58+0.77j)z−1 )
1
2
3
4
Frequency (rad/s)
5
2
1
0
-1
-2
-3
1
-2
-1
0
s
1
2
α =1
0.5
0
-0.5
-1
-1
DSP and Digital Filters (2015-6707)
0
z
1
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
After the transformation we will always end up with
the same number of poles as zeros:
Add extra poles or zeros at z = −1
H(z)
(1+z −1 )2
= g× (1+(0.58−0.77j)z−1 )(1+(0.58+0.77j)z−1 )
1+2z −1 +z −2
= g × 1+1.15z
−1 +0.92z −2
1
2
3
4
Frequency (rad/s)
5
2
1
0
-1
-2
-3
1
-2
-1
0
s
1
2
α =1
0.5
0
-0.5
-1
-1
DSP and Digital Filters (2015-6707)
0
z
1
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
After the transformation we will always end up with
the same number of poles as zeros:
Add extra poles or zeros at z = −1
1
5
2
1
0
(1+z −1 )2
= g× (1+(0.58−0.77j)z−1 )(1+(0.58+0.77j)z−1 )
1+2z −1 +z −2
= g × 1+1.15z
−1 +0.92z −2
-1
Choose overall scale factor, g , to give the same gain
at any convenient pair of mapped frequencies:
0.5
H(z)
2
3
4
Frequency (rad/s)
-2
-3
1
-2
-1
0
s
1
2
α =1
0
-0.5
-1
-1
DSP and Digital Filters (2015-6707)
0
z
1
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
After the transformation we will always end up with
the same number of poles as zeros:
Add extra poles or zeros at z = −1
1
5
2
1
0
(1+z −1 )2
= g× (1+(0.58−0.77j)z−1 )(1+(0.58+0.77j)z−1 )
1+2z −1 +z −2
= g × 1+1.15z
−1 +0.92z −2
-1
Choose overall scale factor, g , to give the same gain
at any convenient pair of mapped frequencies:
0.5
H(z)
2
3
4
Frequency (rad/s)
-2
-3
1
-2
-1
0
s
1
2
α =1
0
-0.5
-1
At Ω0 = 0 ⇒ s0 = 0
DSP and Digital Filters (2015-6707)
-1
0
z
1
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
After the transformation we will always end up with
the same number of poles as zeros:
Add extra poles or zeros at z = −1
1
1
0
-1
Choose overall scale factor, g , to give the same gain
at any convenient pair of mapped
frequencies:
0.5
e
At Ω0 = 0 ⇒ s0 = 0 ⇒ H(s
)
0 = 0.25
DSP and Digital Filters (2015-6707)
5
2
(1+z −1 )2
= g× (1+(0.58−0.77j)z−1 )(1+(0.58+0.77j)z−1 )
1+2z −1 +z −2
= g × 1+1.15z
−1 +0.92z −2
H(z)
2
3
4
Frequency (rad/s)
-2
-3
1
-2
-1
0
s
1
2
α =1
0
-0.5
-1
-1
0
z
1
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
After the transformation we will always end up with
the same number of poles as zeros:
Add extra poles or zeros at z = −1
1
1
0
-1
Choose overall scale factor, g , to give the same gain
at any convenient pair of mapped
frequencies:
0.5
e
At Ω0 = 0 ⇒ s0 = 0 ⇒ H(s
)
0 = 0.25
⇒ ω0 = 2 tan−1
DSP and Digital Filters (2015-6707)
Ω0
α
5
2
(1+z −1 )2
= g× (1+(0.58−0.77j)z−1 )(1+(0.58+0.77j)z−1 )
1+2z −1 +z −2
= g × 1+1.15z
−1 +0.92z −2
H(z)
2
3
4
Frequency (rad/s)
-2
-3
1
-2
-1
0
s
1
2
α =1
0
-0.5
-1
-1
0
z
1
= 0 ⇒ z0 = ejω0 = 1
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
After the transformation we will always end up with
the same number of poles as zeros:
Add extra poles or zeros at z = −1
1
1
0
-1
Choose overall scale factor, g , to give the same gain
at any convenient pair of mapped
frequencies:
0.5
e
At Ω0 = 0 ⇒ s0 = 0 ⇒ H(s
)
0 = 0.25
5
2
(1+z −1 )2
= g× (1+(0.58−0.77j)z−1 )(1+(0.58+0.77j)z−1 )
1+2z −1 +z −2
= g × 1+1.15z
−1 +0.92z −2
H(z)
2
3
4
Frequency (rad/s)
-2
-3
1
-2
-1
0
s
1
2
α =1
0
-0.5
-1
-1
0
z
1
⇒ ω0 = 2 tan−1 Ωα0 = 0 ⇒ z0 = ejω0 = 1
4
= 0.25
⇒ |H(z0 )| = g × 3.08
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
After the transformation we will always end up with
the same number of poles as zeros:
Add extra poles or zeros at z = −1
1
1
0
-1
Choose overall scale factor, g , to give the same gain
at any convenient pair of mapped
frequencies:
0.5
e
At Ω0 = 0 ⇒ s0 = 0 ⇒ H(s
)
0 = 0.25
5
2
(1+z −1 )2
= g× (1+(0.58−0.77j)z−1 )(1+(0.58+0.77j)z−1 )
1+2z −1 +z −2
= g × 1+1.15z
−1 +0.92z −2
H(z)
2
3
4
Frequency (rad/s)
-2
-3
1
-2
-1
0
s
1
2
α =1
0
-0.5
-1
-1
0
z
1
⇒ ω0 = 2 tan−1 Ωα0 = 0 ⇒ z0 = ejω0 = 1
4
= 0.25 ⇒ g = 0.19
⇒ |H(z0 )| = g × 3.08
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 5 / 10
6
Mapping Poles and Zeros
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
1
e
Alternative method: H(s)
= s2 +0.2s+4
Find the poles and zeros: ps = −0.1 ± 2j
Map using z = α 1+s
1−s ⇒ pz = −0.58 ± 0.77j
2.5
2
1.5
|H|
8: IIR Filter Transformations
1
0.5
0
1
After the transformation we will always end up with
the same number of poles as zeros:
Add extra poles or zeros at z = −1
6
1
0
-1
Choose overall scale factor, g , to give the same gain
at any convenient pair of mapped
frequencies:
0.5
-2
-3
1
-2
-1
0
s
1
2
α =1
0
-0.5
e
At Ω0 = 0 ⇒ s0 = 0 ⇒ H(s
)
0 = 0.25
-1
-1
2.5
0
z
1
α =1
2
1.5
|H|
⇒ ω0 = 2 tan−1 Ωα0 = 0 ⇒ z0 = ejω0 = 1
4
= 0.25 ⇒ g = 0.19
⇒ |H(z0 )| = g × 3.08
5
2
(1+z −1 )2
= g× (1+(0.58−0.77j)z−1 )(1+(0.58+0.77j)z−1 )
1+2z −1 +z −2
= g × 1+1.15z
−1 +0.92z −2
H(z)
2
3
4
Frequency (rad/s)
1
−1
−2
1+2z +z
H(z) = 0.19 1+1.15z
−1 +0.92z −2
DSP and Digital Filters (2015-6707)
0.5
0
0
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 5 / 10
Spectral Transformations
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
We can transform the z-plane to change the cutoff
frequency by substituting
z=
ẑ−λ
1−λẑ
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 6 / 10
Spectral Transformations
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
We can transform the z-plane to change the cutoff
frequency by substituting
z=
ẑ−λ
1−λẑ
⇔ ẑ =
z+λ
1+λz
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 6 / 10
Spectral Transformations
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
We can transform the z-plane to change the cutoff
frequency by substituting
z=
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
ẑ−λ
1−λẑ
⇔ ẑ =
z+λ
1+λz
2
z
1
0
-1
-2
-2
-1
0
1
2
0
1
2
2
z^
λ = 0.6
1
0
-1
-2
-2
DSP and Digital Filters (2015-6707)
-1
IIR Transformations: 8 – 6 / 10
Spectral 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
We can transform the z-plane to change the cutoff
frequency by substituting
z=
ẑ−λ
1−λẑ
⇔ ẑ =
z+λ
1+λz
2
z
1
0
-1
Frequency Mapping:
jω
−1
z 1+λz
1+λz
If z = e , then ẑ =
has modulus 1
since the numerator and denominator are
complex conjugates.
-2
-2
-1
0
1
2
0
1
2
2
z^
λ = 0.6
1
0
-1
-2
-2
DSP and Digital Filters (2015-6707)
-1
IIR Transformations: 8 – 6 / 10
Spectral 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
We can transform the z-plane to change the cutoff
frequency by substituting
z=
ẑ−λ
1−λẑ
⇔ ẑ =
z+λ
1+λz
2
z
1
0
-1
Frequency Mapping:
jω
−1
z 1+λz
1+λz
If z = e , then ẑ =
has modulus 1
since the numerator and denominator are
complex conjugates.
Hence the unit circle is preserved.
⇒ ej ω̂ =
DSP and Digital Filters (2015-6707)
ejω +λ
1+λejω
-2
-2
-1
0
1
2
0
1
2
2
z^
λ = 0.6
1
0
-1
-2
-2
-1
IIR Transformations: 8 – 6 / 10
Spectral 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
We can transform the z-plane to change the cutoff
frequency by substituting
z=
ẑ−λ
1−λẑ
⇔ ẑ =
z+λ
1+λz
2
z
1
0
-1
Frequency Mapping:
jω
-2
-2
−1
z 1+λz
1+λz
If z = e , then ẑ =
has modulus 1
since the numerator and denominator are
complex conjugates.
Hence the unit circle is preserved.
⇒ ej ω̂ =
ejω +λ
1+λejω
Some algebra gives: tan ω
2 =
DSP and Digital Filters (2015-6707)
1+λ
1−λ
0
1
2
0
1
2
2
z^
λ = 0.6
1
0
-1
-2
-2
-1
-1
tan ω̂2
IIR Transformations: 8 – 6 / 10
Spectral 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
We can transform the z-plane to change the cutoff
frequency by substituting
z=
ẑ−λ
1−λẑ
⇔ ẑ =
z+λ
1+λz
2
z
1
0
-1
Frequency Mapping:
-2
-2
−1
z 1+λz
1+λz
jω
If z = e , then ẑ =
has modulus 1
since the numerator and denominator are
complex conjugates.
Hence the unit circle is preserved.
⇒ ej ω̂ =
ejω +λ
1+λejω
Some algebra gives: tan ω
2 =
1+λ
1−λ
0
1
2
0
1
2
2
z^
λ = 0.6
1
0
-1
-2
-2
-1
-1
tan ω̂2
Equivalent to:
z −→ s =
DSP and Digital Filters (2015-6707)
z−1
z+1
−→ ŝ =
1−λ
1+λ s
−→ ẑ =
1+ŝ
1−ŝ
IIR Transformations: 8 – 6 / 10
Spectral 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
We can transform the z-plane to change the cutoff
frequency by substituting
z=
ẑ−λ
1−λẑ
⇔ ẑ =
2
z
1
z+λ
1+λz
0
-1
Frequency Mapping:
-2
-2
−1
z 1+λz
1+λz
jω
If z = e , then ẑ =
has modulus 1
since the numerator and denominator are
complex conjugates.
Hence the unit circle is preserved.
⇒ ej ω̂ =
ejω +λ
1+λejω
=
1+λ
1−λ
tan
1
2
0
1
2
z^
λ = 0.6
1
0
-1
-1
1
ω̂
2
0.8
0.6
|H|
Some algebra gives: tan
ω
2
0
2
-2
-2
-1
0.4
Equivalent to:
z −→ s =
z−1
z+1
−→ ŝ =
1−λ
1+λ s
−→ ẑ =
1+ŝ
1−ŝ
0.2
0
0
0.5
1
1.5
2
ω (rad/s)
2.5
3
Lowpass Filter example:
Inverse Chebyshev
ω0 =
DSP and Digital Filters (2015-6707)
π
2
= 1.57
IIR Transformations: 8 – 6 / 10
Spectral 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
We can transform the z-plane to change the cutoff
frequency by substituting
z=
ẑ−λ
1−λẑ
⇔ ẑ =
2
z
1
z+λ
1+λz
0
-1
Frequency Mapping:
-2
-2
−1
z 1+λz
1+λz
jω
If z = e , then ẑ =
has modulus 1
since the numerator and denominator are
complex conjugates.
Hence the unit circle is preserved.
⇒ ej ω̂ =
ejω +λ
1+λejω
=
1+λ
1−λ
tan
1
2
0
1
2
z^
λ = 0.6
1
0
-1
-1
1
ω̂
2
0.8
0.6
|H|
Some algebra gives: tan
ω
2
0
2
-2
-2
-1
0.4
Equivalent to:
z −→ s =
z−1
z+1
−→ ŝ =
1−λ
1+λ s
−→ ẑ =
1+ŝ
1−ŝ
0.2
0
0
0.5
1
1.5
2
ω (rad/s)
2.5
3
Lowpass Filter example:
Inverse Chebyshev
ω0 =
DSP and Digital Filters (2015-6707)
π
2
λ=0.6
= 1.57 −→ ω̂0 = 0.49
IIR Transformations: 8 – 6 / 10
Spectral 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
We can transform the z-plane to change the cutoff
frequency by substituting
z=
ẑ−λ
1−λẑ
⇔ ẑ =
2
z
1
z+λ
1+λz
0
-1
Frequency Mapping:
-2
-2
−1
z 1+λz
1+λz
jω
If z = e , then ẑ =
has modulus 1
since the numerator and denominator are
complex conjugates.
Hence the unit circle is preserved.
⇒ ej ω̂ =
ejω +λ
1+λejω
=
1+λ
1−λ
tan
1
2
0
1
2
z^
λ = 0.6
1
0
-1
-1
1
ω̂
2
0.8
0.6
|H|
Some algebra gives: tan
ω
2
0
2
-2
-2
-1
0.4
Equivalent to:
z −→ s =
z−1
z+1
−→ ŝ =
1−λ
1+λ s
−→ ẑ =
0.2
1+ŝ
1−ŝ
0
0
Lowpass Filter example:
Inverse Chebyshev
π
2
λ=0.6
= 1.57 −→ ω̂0 = 0.49
1.5
2
ω (rad/s)
1
2.5
3
λ = 0.6
ω^ = 0.49
0.8
0.6
0.4
0.2
0
0
DSP and Digital Filters (2015-6707)
1
|H^|
ω0 =
0.5
0.5
1
1.5
2
ω^ (rad/s)
2.5
3
IIR Transformations: 8 – 6 / 10
Constantinides Transformations
Transform any lowpass filter with cutoff frequency ω0 to:
Target
Substitute
z
Lowpass
−1
=
ω̂ < ω̂1
z −1 =
Highpass
ω̂ > ω̂1
Bandpass
z
−1
=
ω̂1 < ω̂ < ω̂2
Bandstop
ω̂1 ≮ ω̂ ≮ ω̂2
DSP and Digital Filters (2015-6707)
z
−1
ẑ −1 −λ
1−λẑ −1
ẑ −1 +λ
− 1+λẑ
−1
(ρ−1)−2λρẑ −1 +(ρ+1)ẑ −2
− (ρ+1)−2λρẑ−1 +(ρ−1)ẑ−2
=
(1−ρ)−2λẑ −1 +(ρ+1)ẑ −2
(ρ+1)−2λẑ −1 +(1−ρ)ẑ −2
Parameters
λ=
λ=
sin(
sin(
cos(
cos(
ω0 −ω̂1
2
ω0 +ω̂1
2
)
)
ω0 +ω̂1
2
ω0 −ω̂1
2
)
)
ω̂2 +ω̂1
2
ω̂2 −ω̂1
2
)
cos(
)
1
ρ = cot ω̂2 −ω̂
tan
2
ω̂ +ω̂
cos( 2 2 1 )
λ=
ω̂ −ω̂
cos( 2 2 1 )
ω̂2 −ω̂1
ρ = tan
tan
2
λ=
cos(
ω0
2
ω0
2
IIR Transformations: 8 – 7 / 10
Constantinides Transformations
Transform any lowpass filter with cutoff frequency ω0 to:
Target
Substitute
z
Lowpass
−1
=
ω̂ < ω̂1
z −1 =
Highpass
ω̂ > ω̂1
z
Bandpass
−1
=
ω̂1 < ω̂ < ω̂2
z
Bandstop
−1
ẑ −1 −λ
1−λẑ −1
λ=
ẑ −1 +λ
− 1+λẑ
−1
λ=
(ρ−1)−2λρẑ −1 +(ρ+1)ẑ −2
− (ρ+1)−2λρẑ−1 +(ρ−1)ẑ−2
=
ω̂1 ≮ ω̂ ≮ ω̂2
Parameters
(1−ρ)−2λẑ −1 +(ρ+1)ẑ −2
(ρ+1)−2λẑ −1 +(1−ρ)ẑ −2
sin(
sin(
cos(
cos(
ω0 −ω̂1
2
ω0 +ω̂1
2
)
)
ω0 +ω̂1
2
ω0 −ω̂1
2
)
)
ω̂2 +ω̂1
2
ω̂2 −ω̂1
2
)
cos(
)
1
ρ = cot ω̂2 −ω̂
tan
2
ω̂ +ω̂
cos( 2 2 1 )
λ=
ω̂ −ω̂
cos( 2 2 1 )
ω̂2 −ω̂1
ρ = tan
tan
2
λ=
cos(
ω0
2
ω0
2
Bandpass and bandstop transformations are quadratic and so will double the order:
1
Lowpass
|H^|
|H|
1
0.5
0
-3
-2
-1
DSP and Digital Filters (2015-6707)
0
ω (rad/s)
1
2
3
Bandpass
0.5
0
-3
-2
-1
0
ω^ (rad/s)
1
2
3
IIR Transformations: 8 – 7 / 10
Impulse Invariance
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 8 / 10
Impulse Invariance
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Example: Standard telephone filter - 300 to 3400 Hz bandpass
|H|
1
0.5
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
IIR Transformations: 8 – 8 / 10
Impulse Invariance
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
Example: Standard telephone filter - 300 to 3400 Hz bandpass
1
|H|
|H|
1
0.5
0.5
Bilinear (f s = 8 kHz)
Matched at 3.4 kHz
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
0
0
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 8 / 10
Impulse Invariance
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
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Alternative method:
sample
L
Z
e
H(s)
−→ h(t) −→ h[n] = T × h(nT ) −→ H(z)
PN
e
e
Express H(s) as a sum of partial fractions H(s) =
i=1
−1
gi
s−e
pi
Example: Standard telephone filter - 300 to 3400 Hz bandpass
1
|H|
|H|
1
0.5
0.5
Bilinear (f s = 8 kHz)
Matched at 3.4 kHz
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
0
0
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 8 / 10
Impulse Invariance
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
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Alternative method:
sample
L
Z
e
H(s)
−→ h(t) −→ h[n] = T × h(nT ) −→ H(z)
PN
e
e
Express H(s) as a sum of partial fractions H(s) =
i=1
PN
Impulse response is h̃(t) = u(t) × i=1 gi ep̃i t
−1
gi
s−e
pi
Example: Standard telephone filter - 300 to 3400 Hz bandpass
1
|H|
|H|
1
0.5
0.5
Bilinear (f s = 8 kHz)
Matched at 3.4 kHz
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
0
0
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 8 / 10
Impulse Invariance
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
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Alternative method:
sample
L
Z
e
H(s)
−→ h(t) −→ h[n] = T × h(nT ) −→ H(z)
PN
gi
e
e
Express H(s) as a sum of partial fractions H(s) =
i=1 s−e
pi
PN
Impulse response is h̃(t) = u(t) × i=1 gi ep̃i t
PN
H(z)
gi
Digital filter T =
i=1 1−ep̃i T z −1 has identical impulse response
−1
Example: Standard telephone filter - 300 to 3400 Hz bandpass
1
|H|
|H|
1
0.5
0.5
Bilinear (f s = 8 kHz)
Matched at 3.4 kHz
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
0
0
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 8 / 10
Impulse Invariance
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
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Alternative method:
sample
L
Z
e
H(s)
−→ h(t) −→ h[n] = T × h(nT ) −→ H(z)
PN
gi
e
e
Express H(s) as a sum of partial fractions H(s) =
i=1 s−e
pi
PN
Impulse response is h̃(t) = u(t) × i=1 gi ep̃i t
PN
H(z)
gi
Digital filter T =
i=1 1−ep̃i T z −1 has identical impulse response
−1
Poles of H(z) are pi = ep̃i T (where T = f1 is sampling period)
s
Example: Standard telephone filter - 300 to 3400 Hz bandpass
1
|H|
|H|
1
0.5
0.5
Bilinear (f s = 8 kHz)
Matched at 3.4 kHz
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
0
0
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 8 / 10
Impulse Invariance
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
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Alternative method:
sample
L
Z
e
H(s)
−→ h(t) −→ h[n] = T × h(nT ) −→ H(z)
PN
gi
e
e
Express H(s) as a sum of partial fractions H(s) =
i=1 s−e
pi
PN
Impulse response is h̃(t) = u(t) × i=1 gi ep̃i t
PN
H(z)
gi
Digital filter T =
i=1 1−ep̃i T z −1 has identical impulse response
−1
Poles of H(z) are pi = ep̃i T (where T = f1 is sampling period)
s
Zeros do not map in a simple way
Example: Standard telephone filter - 300 to 3400 Hz bandpass
1
|H|
|H|
1
0.5
0.5
Bilinear (f s = 8 kHz)
Matched at 3.4 kHz
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
0
0
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 8 / 10
Impulse Invariance
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
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Alternative method:
sample
L
Z
e
H(s)
−→ h(t) −→ h[n] = T × h(nT ) −→ H(z)
PN
gi
e
e
Express H(s) as a sum of partial fractions H(s) =
i=1 s−e
pi
PN
Impulse response is h̃(t) = u(t) × i=1 gi ep̃i t
PN
H(z)
gi
Digital filter T =
i=1 1−ep̃i T z −1 has identical impulse response
−1
Poles of H(z) are pi = ep̃i T (where T = f1 is sampling period)
s
Zeros do not map in a simple way
Example: Standard telephone filter - 300 to 3400 Hz bandpass
1
1
1
0.5
0.5
Bilinear (f s = 8 kHz)
Matched at 3.4 kHz
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
0
0
|H|
|H|
|H|
0.8
0.5
1
1.5
2
ω (rad/sample)
0.6
0.4
0.2
2.5
3
0
Impulse Invariance (f s = 8 kHz)
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 8 / 10
Impulse Invariance
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
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Alternative method:
sample
L
Z
e
H(s)
−→ h(t) −→ h[n] = T × h(nT ) −→ H(z)
PN
gi
e
e
Express H(s) as a sum of partial fractions H(s) =
i=1 s−e
pi
PN
Impulse response is h̃(t) = u(t) × i=1 gi ep̃i t
PN
H(z)
gi
Digital filter T =
i=1 1−ep̃i T z −1 has identical impulse response
−1
Poles of H(z) are pi = ep̃i T (where T = f1 is sampling period)
s
Zeros do not map in a simple way
Properties:
Example: Standard telephone filter - 300 to 3400 Hz bandpass
1
1
1
0.5
0.5
Bilinear (f s = 8 kHz)
Matched at 3.4 kHz
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
0
0
|H|
|H|
|H|
0.8
0.5
1
1.5
2
ω (rad/sample)
0.6
0.4
0.2
2.5
3
0
Impulse Invariance (f s = 8 kHz)
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 8 / 10
Impulse Invariance
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
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Alternative method:
sample
L
Z
e
H(s)
−→ h(t) −→ h[n] = T × h(nT ) −→ H(z)
PN
gi
e
e
Express H(s) as a sum of partial fractions H(s) =
i=1 s−e
pi
PN
Impulse response is h̃(t) = u(t) × i=1 gi ep̃i t
PN
H(z)
gi
Digital filter T =
i=1 1−ep̃i T z −1 has identical impulse response
−1
Poles of H(z) are pi = ep̃i T (where T = f1 is sampling period)
s
Zeros do not map in a simple way
Properties:
, Impulse response correct.
Example: Standard telephone filter - 300 to 3400 Hz bandpass
1
1
1
0.5
0.5
Bilinear (f s = 8 kHz)
Matched at 3.4 kHz
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
0
0
|H|
|H|
|H|
0.8
0.5
1
1.5
2
ω (rad/sample)
0.6
0.4
0.2
2.5
3
0
Impulse Invariance (f s = 8 kHz)
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 8 / 10
Impulse Invariance
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
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Alternative method:
sample
L
Z
e
H(s)
−→ h(t) −→ h[n] = T × h(nT ) −→ H(z)
PN
gi
e
e
Express H(s) as a sum of partial fractions H(s) =
i=1 s−e
pi
PN
Impulse response is h̃(t) = u(t) × i=1 gi ep̃i t
PN
H(z)
gi
Digital filter T =
i=1 1−ep̃i T z −1 has identical impulse response
−1
Poles of H(z) are pi = ep̃i T (where T = f1 is sampling period)
s
Zeros do not map in a simple way
Properties:
, Impulse response correct.
, No distortion of frequency axis.
Example: Standard telephone filter - 300 to 3400 Hz bandpass
1
1
1
0.5
0.5
Bilinear (f s = 8 kHz)
Matched at 3.4 kHz
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
0
0
|H|
|H|
|H|
0.8
0.5
1
1.5
2
ω (rad/sample)
0.6
0.4
0.2
2.5
3
0
Impulse Invariance (f s = 8 kHz)
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 8 / 10
Impulse Invariance
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
Bilinear transform works well for a lowpass filter but the non-linear
compression of the frequency distorts any other response.
Alternative method:
sample
L
Z
e
H(s)
−→ h(t) −→ h[n] = T × h(nT ) −→ H(z)
PN
gi
e
e
Express H(s) as a sum of partial fractions H(s) =
i=1 s−e
pi
PN
Impulse response is h̃(t) = u(t) × i=1 gi ep̃i t
PN
H(z)
gi
Digital filter T =
i=1 1−ep̃i T z −1 has identical impulse response
−1
Poles of H(z) are pi = ep̃i T (where T = f1 is sampling period)
s
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
1
1
1
0.5
0.5
Bilinear (f s = 8 kHz)
Matched at 3.4 kHz
Analog Filter
0
0
DSP and Digital Filters (2015-6707)
5
10
15
Frequency (krad/s)
20
25
0
0
|H|
|H|
|H|
0.8
0.5
1
1.5
2
ω (rad/sample)
0.6
0.4
0.2
2.5
3
0
Impulse Invariance (f s = 8 kHz)
0.5
1
1.5
2
ω (rad/sample)
2.5
3
IIR Transformations: 8 – 8 / 10
Summary
8: IIR Filter Transformations
• Continuous Time Filters
• Bilinear Mapping
• Continuous Time Filters
• Mapping Poles and Zeros
• Spectral Transformations
• Constantinides
• Classical filters have optimal tradeoffs in continuous time domain
◦ Order ↔ transition width↔ pass ripple↔ stop ripple
◦ Monotonic passband and/or stopband
Transformations
• Impulse Invariance
• Summary
• MATLAB routines
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 9 / 10
Summary
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
• 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
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 9 / 10
Summary
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
• 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
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 9 / 10
Summary
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
• 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
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 9 / 10
Summary
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
• 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.
DSP and Digital Filters (2015-6707)
IIR Transformations: 8 – 9 / 10
MATLAB routines
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
bilinear
impinvar
butter
butterord
cheby1
cheby1ord
cheby2
cheby2ord
ellip
ellipord
DSP and Digital Filters (2015-6707)
Bilinear mapping
Impulse invariance
Analog or digital
Butterworth filter
Analog or digital
Chebyshev filter
Analog or digital
Inverse Chebyshev filter
Analog or digital
Elliptic filter
IIR Transformations: 8 – 10 / 10
Download