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