Signal Processing: Design of IIR Filters
Signal Processing: Design of IIR Filters
SIGNAL PROCESSING
s i tes.google.com/site/ncpdhbkhn 3
Introduction to IIR Filter Design
(1)
∑ −k
∏
M M
∞ b z (z − zk )
H ( z ) = ∑ h[n ] z −n = k =0 k =1
k
= b0
1+∑ a z− k ∏
N N
n=0 k =0 k k =1
( z − pk )
∑ ∏
M M
∞ β s k
(s − ζ k )
H c ( s ) = ∫ hc (t )e − st dt = k =0 k =1
k
β
= 0
1 + ∑ k =0 α k s k ∏ k =1 ( s − sk )
0 N N
s i tes.google.com/site/ncpdhbkhn 4
Introduction to IIR Filter Design
(2)
Given: IIR filter CT filter CT filter CT to DT IIR filter
specifications specifications design transformation
s i tes.google.com/site/ncpdhbkhn 5
Introduction to IIR Filter Design
(3)
FIR vs. IIR:
• Advantages:
– Exactly linear phase, always stable,
– Have design methods that are generally linear in filter
parameters,
– Can have great flexibility in choosing their frequency response,
– Can be realized efficiently in hardware,
– Have finite-duration transients.
• Disadvantages:
– Often require a much higher filter order than IIR filters to
achieve a given level of performance,
– The delay in the output response is often much greater than for
an equal performance IIR filter,
– The design methods often are iterative in nature requiring
computer-aided techniques.
s i tes.google.com/site/ncpdhbkhn 6
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass
Filters
3. Transformation of Continuous-Time Filters to
Discrete-Time IIR Filters
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass
Filters
6. Design Examples of IIR Filters using Matlab
s i tes.google.com/site/ncpdhbkhn 7
Design of Continuous-Time
Lowpass Filters (1)
2
H c ( jΩ) = H c ( s) H c (− s) s = jΩ
( s − sk )(− s − sk ) = sk2 − s 2
s = jΩ
→ ( s − sk )( − s − sk ) = ( sk2 + Ω 2 )
2 ( Ω2 + ζ 12 )(Ω 2 + ζ 22 )...(Ω2 + ζ M2 )
→ H c ( jΩ) = G 2
( Ω2 + s12 )( Ω2 + s22 )...( Ω2 + s2N )
s i tes.google.com/site/ncpdhbkhn 8
Design of Continuous-Time
Lowpass Filters (2)
1, 0 ≤ Ω ≤ Ωc
2
2 H c ( jΩ) =
0, Ω > Ωc
H ( jΩ)
dB
0 1
Ap
1 2 1
H c ( jΩ) =
1+ε 2 1 + V 2 (Ω)
As
V 2 (Ω) ≪ 1, 0 ≤ Ω ≤ Ωc
2
V (Ω) ≫ 1, Ω > Ωc
1
A2 Ω
−∞
0 Ω p Ωc Ω s π
s i tes.google.com/site/ncpdhbkhn 9
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass Filters
a) The Butterworth Approximation
b) The Chebyshev Approximation
c) The Inverse Chebyshev or Chebyshev II
Approximation
d) The Elliptic or Cauer Approximation
3. Transformation of Continuous-Time Filters to
Discrete-Time IIR Filters
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass Filters
6. Design Examples of IIR Filters using Matlab
s i tes.google.com/site/ncpdhbkhn 10
The Butterworth Approximation
(1)
1
N =1
N =2
0.8
N =3
N =5
2 1, 0 ≤ Ω ≤ Ω c 0.6 N = 10
Hc ( jΩ) = N = 100
0, Ω > Ω c
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3
2 1
H B ( jΩ) = , N = 1, 2,... / c
1 + (Ω / Ω c ) 2N
1
2
H B ( j 0) = 1 N =1
N =2
0.8
N =3
2 1 N =5
H B ( jΩ c ) = 0.6 N = 10
N = 100
2 0.4
2
H B ( j∞) = 0 0.2
0
0 0.5 1 1.5 2 2.5 3
/ c
s i tes.google.com/site/ncpdhbkhn 11
The Butterworth Approximation
(2)
1
N =1
N =2
0.8
N =3
N =5
0.6
2 1 N = 10
H B ( jΩ) = N = 100
1 + (Ω / Ω c )2 N 0.4
0.2
0
0 0.5 1 1.5 2 2.5 3
/ c
2 1
Ec2 ( jΩ ) = 1 − H B ( jΩ ) = (Ω / Ω c )2 N − (Ω / Ωc ) 4N + ..., 0 ≤ Ω ≤ Ω c NN == 12
0.8
N =3
N =5
0.6 N = 10
2 1 N = 100
H B ( j 0) ≃ , Ω ≫Ω
0.4
c
(Ω / Ωc ) 2N
0.2
0
0 0.5 1 1.5 2 2.5 3
/ c
s i tes.google.com/site/ncpdhbkhn 12
The Butterworth Approximation
π
(3) 2N π
N
2 1
H B ( jΩ) = s1
1 + (Ω / Ω c )2 N s2
1 + ( s / jΩ c )2N = 0 → (s / jΩ c )2 N = −1 = e j (2k −1)π s3
k = 1, 2, ..., 2 N s4
s5
→ sk = σ k + jΩ k s6
σ k = Ωc cosθk
Ωk = Ωc sin θk
s1
π
2k − 1 s2
θk = + π , k = 1, 2,..., 2 N
2 2N s3
s4
ΩN s5
H B ( s) = c
(s − s1)( s − s2 )...(s − sN )
s i tes.google.com/site/ncpdhbkhn 13
The Butterworth Approximation
(4)
1 1
≥
1 + (Ω / Ω ) 2N 1 + ε 2 2 1
p c H B ( jΩ) =
1 + ( Ω / Ωc ) 2 N
1 1
≤
1 + (Ω / Ω ) 2 N A2
s c 2
dB H ( jΩ )
(Ω p / Ωc )2 N ≤ ε 2 0 1
→ Ap
(Ω s / Ω c )2 N ≥ A2 − 1 1
1+ε 2
A2 − 1
→ ΩsN ≥ ΩcN 2
A − 1 ≥ Ω Np As
ε
ln β
→ N≥
ln α 1
Ω A2 − 1 10 As /10 − 1 A2 Ω
α= s, β= = −∞
π
Ωp ε 10
Ap /10
−1
0 Ω p Ωc Ωs
− 1 = 100.1×6 −1 = 1.7266
0.1 Ap
ε = 10
A = 100.05 As = 100.05×20 = 10
Ω 3
α = s = = 1.5
Ωp 2
A2 − 1 102 − 1
β= = = 5.7628
ε 1.7266
ln β ln(5.7628)
N= = = 4.32 = 5
α
ln ln(1.5)
− 1) −1/(2 N ) ≤ Ωc ≤ Ω s (10 As /10 − 1) −1/(2 N )
Ap /10
Ω p (10
Ω c = 1.8948 rad/s; N = 5
π 2k − 1
θk = + π , k = 1, 2,...,2 N
2 2N
π 2k − 1
= + π = 0, 4π + 0, 2kπ , k = 1,2,3, 4,5
2 2.5
sk = Ωc (cos θ k + j sin θ k )
= 1.8948[cos(0.4π + 0.2 kπ ) + j sin(0.4π + 0.2kπ )], k = 1,2,3, 4,5
ΩcN
H B (s) =
( s − s1 )( s − s2 )...( s − s N )
24.42
=
s 5 + 6.13s 4 + 18.80s 3 + 35.61s 2 + 41.71s + 24.42
s i tes.google.com/site/ncpdhbkhn 16
The Butterworth Approximation
Ex. 1 (7)
1
0.8
0.6
0.4
0.2
0
1 2 3 4 5 6 7 8 9 10
Frequency (rad/s)
200
100
-100
-200
1 2 3 4 5 6 7 8 9 10
Frequency (rad/s)
s i tes.google.com/site/ncpdhbkhn 17
The Butterworth Approximation
Ex. 2 (8)
Fp = 40 Hz; Ap = 1 dB; Fs = 50 Hz; As = 30 dB.
s i tes.google.com/site/ncpdhbkhn 18
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass Filters
a) The Butterworth Approximation
b) The Chebyshev Approximation
c) The Inverse Chebyshev or Chebyshev II
Approximation
d) The Elliptic or Cauer Approximation
3. Transformation of Continuous-Time Filters to
Discrete-Time IIR Filters
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass Filters
6. Design Examples of IIR Filters using Matlab
s i tes.google.com/site/ncpdhbkhn 19
The Chebyshev Approximation
(1)
1
, TN ( x ) = cos( N cos −1 x), x ≤ 1
2
H C ( j Ω) =
1 + ε 2TN2 ( Ω / Ωc )
1
ε ≪ 1 → EC2 (Ω / Ωc ) = 1 − ≈ ε 2TN2 (Ω / Ω c ), Ω ≤ Ωc
1 + ε 2TN2 (Ω / Ωc )
s i tes.google.com/site/ncpdhbkhn 20
The Chebyshev Approximation
(2)
1
, TN ( x ) = cos( N cos −1 x), x ≤ 1
2
H C ( j Ω) =
1 + ε 2TN2 ( Ω / Ωc )
EC2 ( Ω / Ωc ) ≈ ε 2TN2 (Ω / Ωc ), Ω ≤ Ωc
Ω c = 0.5; ε = 0.75
2 1, N even
HC ( j 0) =
1 / (1 + ε ), N odd
2
2 1
H C ( j Ωc ) =
|Hc (j )|
1+ε 2
−1
H C ( jΩ) ≃ ε 2 22(N −1) (Ω / Ω c )2 N
2
( Ω ≫ Ωc )
s i tes.google.com/site/ncpdhbkhn 22
The Chebyshev Approximation
(4)
2 1 TN ( x) = cos( N cos −1 x ), Ω ≤ Ωc
HC ( jΩ) = ,
1 + ε TN ( Ω / Ωc ) TN ( x) = cosh( N cosh −1 x), Ω > Ωc
2 2
sk = σ k + jΩk
σ k = Ωc a cos θk , Ω k = Ω cb sin θ k
π 2k − 1
θk = + π , k = 1,2,..., 2 N
2 2N
−1 −1 1/ N
γ −γ γ +γ 1 1
a= , b= γ
, = + 1 + 2
2 2 ε ε
G N 1/ 1 + ε 2 , N ch½n
Hc (s) = , G = ∏ (− sk ) ×
∏k =1 (s − sk )
N
k =1 1, N lÎ
s i tes.google.com/site/ncpdhbkhn 23
The Chebyshev Approximation
(5)
2 TN ( x) = cos( N cos −1 x ), Ω ≤ Ωc
1
HC ( jΩ) = ,
1 + ε TN ( Ω / Ωc ) TN ( x) = cosh( N cosh −1 x), Ω > Ωc
2 2
Ωc = Ω p
2
1 1 H ( jΩ )
≤ dB
1 + ε 2TN2 ( Ω s / Ω p) A 2 0 1
Ap
1
A −1
2
→ TN (Ωs / Ω p ) ≥ 1+ε 2
ε
As
A −1
2
→ cosh N cosh −1 (Ωs / Ω p ) ≥
ε
cosh −1 (β ) ln(β + β 2 −1) 1
→N≥ = ,
cosh −1 (α ) ln(α + α 2 − 1) −∞
A2 Ω
0
Ω p Ωc Ωs
π
Ωs A −1
2
10 As /10
−1
α= , β= =
Ωp ε 10
A p /10
−1
s i tes.google.com/site/ncpdhbkhn 24
The Chebyshev Approximation
Ex. 1 (6)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞
− 1 = 100.1×6 −1 = 1.7266
0.1 Ap
ε = 10
A = 100.05 As = 100.05×20 = 10
Ωs 3
α= = = 1.5
Ωp 2
A2 − 1 102 − 1
β= = = 5.7628
ε 1.7266
s i tes.google.com/site/ncpdhbkhn 25
The Chebyshev Approximation
Ex. 1 (7)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞
ε = 1.7266; N = 3
sk = Ωc a cos θk + j Ωcb sin θ k = Ω p a cos θ k + j Ω pb sin θ k = 2(a cosθ k + jb sin θ k )
π 2k − 1 π 2k − 1
θk = + π= + π , k = 1, 2,..., 2.3
2 2N 2 2.3
1/ N 1/3
1 1 1 1
γ = + 1 + 2 = + 1+ 2
= 1.2016
ε ε 1.7266 1.7266
γ − γ −1 1.2016 − 1/ 1.2016
a= = = 0.1847
2 2
γ + γ −1 1.2016 + 1/ 1.2016
b= = = 1.0169
2 2
s i tes.google.com/site/ncpdhbkhn 26
The Chebyshev Approximation
Ex. 1 (8)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞
π 2k −1
ε = 1.7266; N = 3; a = 0.1847; b = 1.0169; θk = + π
2 6
π π π π
s1 = 2 × 0.1847cos + + j 2 × 1.0169sin + = −0.1847 − j1.7613
2 6 2 6
π 3π π 3π
s2 = 2 × 0.1847 cos + + j 2 × 1.0169sin + = −0.3693
2 6 2 6
π 5π π 5π
s3 = 2 × 0.1847 cos + + j 2 × 1.0169 sin 2 + 6 = −0.1847 + j1.7613
2 6
s i tes.google.com/site/ncpdhbkhn 27
The Chebyshev Approximation
Ex. 1 (9)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞
ε = 1.7266; N = 3
G N 1/ 1 + ε 2 , N even
Hc (s) = , G = ∏ (− sk ) ×
∏k =1 (s − sk )
N
k =1 1, N odd
1.1584
Hc (s) =
( s + 0.1847 + j1.7613)( s + 0.3693)(s + 0.1847 − j1.7613)
1.1584
=
s 3 + 0.7387 s 2 + 3.2728s + 1.1584
s i tes.google.com/site/ncpdhbkhn 28
The Chebyshev Approximation
Ex. 1 (10)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s 1.1584
Hc ( s) =
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞ s3 + 0.7387s 2 + 3.2728s + 1.1584
s i tes.google.com/site/ncpdhbkhn 29
The Chebyshev Approximation
Ex. 2 (11)
Fp = 40 Hz; Ap = 1 dB; Fs = 50 Hz; As = 30 dB.
s i tes.google.com/site/ncpdhbkhn 30
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass Filters
a) The Butterworth Approximation
b) The Chebyshev Approximation
c) The Inverse Chebyshev or Chebyshev II
Approximation
d) The Elliptic or Cauer Approximation
3. Transformation of Continuous-Time Filters to
Discrete-Time IIR Filters
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass Filters
6. Design Examples of IIR Filters using Matlab
s i tes.google.com/site/ncpdhbkhn 31
The Inverse Chebyshev/Chebyshev II
Approximation (1)
2
A −1
A2
1
2
A
2 1 1 1
HC ( jΩ ) = 1−
1 + ε 2TN2 ( Ω / Ωc ) 1 + ε 2TN2 (Ω C / Ω) 1 + ε 2TN2 ( ΩC / Ω)
s i tes.google.com/site/ncpdhbkhn 32
The Inverse Chebyshev/Chebyshev II
Approximation (2)
2 1 ε 2TN2 (ΩC / Ω)
Hc (Ω ) = 1 − =
1 + ε TN (Ω C / Ω ) 1 + ε 2TN2 ( ΩC / Ω)
2 2
Ωc
ε TN ( jΩC / s ) = 0 → ζ k = j
cos uk
2k − 1 π
uk = , k = 1, 2,..., 2 N
N 2 1
2
A
Ω2c
1 + ε 2TN2 (ΩC / Ω) = 0 → sk =
σ k + j Ωk
σ k = Ωc a cos θk , Ωk = Ωc b sin θk
π 2k −1
θk = + π , k = 1, 2,..., 2 N
2 2N
γ − γ −1 γ + γ −1
( )
1/ N 1
a= , b= , γ = A + A −1 2 1−
2 2 1 + ε 2TN2 ( ΩC / Ω)
s i tes.google.com/site/ncpdhbkhn 33
The Inverse Chebyshev/Chebyshev II
Approximation (3)
ε 2TN2 ( Ω / Ωc )
2
HC ( jΩ) =
1 + ε 2TN2 ( Ω / Ωc )
Ωc = Ωs 2
dB H ( jΩ)
1 A −12 0 1
≤ Ap
1 + ε 2TN2 ( Ωs / Ω p ) A2 A2 − 1
A2
A2 − 1
→ TN (Ω s / Ω p ) ≥ As
ε
A2 − 1
→ cosh N cosh −1 ( Ω s / Ω p ) ≥
ε
1
cosh −1 ( β ) ln( β + β 2 −1) −∞
A2 Ω
→N≥ = , π
cosh −1 (α ) ln(α + α 2 − 1)
0 Ω p Ωc Ωs
Ω A2 −1 10 As /10 −1
α= s , β= =
Ωp ε 10
A p /10
−1
s i tes.google.com/site/ncpdhbkhn 34
The Inverse Chebyshev/Chebyshev II
Approximation (4)
ε 2TN2 ( Ω / Ωc )
2
HC ( jΩ) =
1 + ε 2TN2 ( Ω / Ωc )
Ωc = Ωs 2
dB H ( jΩ)
−1
0 1
cosh ( β ) ln( β + β −1)
2
Ap
→N≥ −1
= , A2 − 1
cosh (α ) ln(α + α − 1)
2
A2
Ω A2 −1 10 As /10 −1 As
α= s , β= =
Ωp ε 10
A p /10
−1
ln( β + β 2 − 1)
N= 1
ln(α + α 2 − 1) A2 Ω
−∞
π
0 Ω p Ωc Ωs
cosh −1 ( β )
→ Ω′c = Ω p cosh
N
s i tes.google.com/site/ncpdhbkhn 35
The Inverse Chebyshev/Chebyshev II
Ex. 1 Approximation (5)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞
ε = 10 − 1 = 100.1×6 − 1 = 1.7266
0.1Ap
A = 100.05 As = 100.05× 20 = 10
Ωs 3
α= = = 1.5
Ωp 2
A2 − 1 10 2 − 1
β= = = 5.7628
ε 1.7266
ln( β + β 2 − 1) ln(5.7628 + 5.76282 − 1)
N= = = 2.53 = 3
ln(α + α − 1)
2
ln(1.5 + 1.5 − 1)
2
cosh −1 ( β ) cosh −1 (5.7628)
Ω′c = Ω p cosh = 2cosh = 2.6970 = Ωc
N 3
s i tes.google.com/site/ncpdhbkhn 36
The Inverse Chebyshev/Chebyshev II
Ex. 1 Approximation (6)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞
( ) = (10 + )
1/ N 1/3
γ = A + A −1 2
10 − 1
2
= 2.7121
γ − γ −1 2.7121 − 2.7121−1
a= = = 1.1717
2 2
γ + γ −1 2.7121 + 2.7121−1
b= = = 1.5404
2 2
2k − 1 π 2k − 1 π π
uk = = = (2k −1)
N 2 3 2 6
s i tes.google.com/site/ncpdhbkhn 37
The Inverse Chebyshev/Chebyshev II
Ex. 1 Approximation (7)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞
Ω′c = 2.6970; γ = 2.7121; a = 1.1717; b = 1.5404; uk = (2 k − 1)π / 6
Ωc Ω′c 2.6970
ζk = j = j =j
cos uk cos uk (2k −1)π / 6
2.6970
ζ1 = j = j3.1141
(2 × 1 − 1)π / 6
2.6970
ζ2 = j = j∞
(2 × 2 −1)π / 6
2.6970
ζ3 = j = − j3.1141
(2 × 3 − 1)π / 6
s i tes.google.com/site/ncpdhbkhn 38
The Inverse Chebyshev/Chebyshev II
Ex. 1 Approximation (8)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞
Ω′c = 2.6970; γ = 2.7121; a = 1.1717; b = 1.5404; uk = (2 k − 1)π / 6
Ω2c π 2k −1
sk = , σ k = Ωc a cos θk , Ω k = Ωc b sin θk , θk = + π
σ k + jΩk 2 2N
2.67902
s1 = = −0.7443 − j1.6948
2.6790[1.17 cos(π / 2 + π / 6) + j1.5404 sin(π / 2 + π / 6)]
2.6790 2
s2 = = −2.3017
2.6790[1.17 cos(π / 2 + 3π / 6) + j1,5404sin(π / 2 + 3π / 6)]
2.67902
s3 = = −0.7443 + j1.6948
2.6790[1.17 cos(π / 2 + 5π / 6) + j1.5404 sin(π / 2 + 5π / 6)]
s i tes.google.com/site/ncpdhbkhn 39
The Inverse Chebyshev/Chebyshev II
Ex. 1 Approximation (9)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞
ζ1,3 = ± j 3.1141; ζ 2 = j∞; s1,3 = −0.7443 ± j1.6948; s2 = −2.3017
( s − ζ 1)( s − ζ 3 )
H IC ( s) =
( s − s1)( s − s2 )( s − s3 )
( s − j 3.1141)(s + j 3.1141)
=
(s + 0.7443 + j1.6948)( s + 2.3017)(s + 0.7443 − j1.6948)
s 2 + 9.6981
=
s3 + 3.7903s 2 + 6.8524 s + 7.8861
s i tes.google.com/site/ncpdhbkhn 40
The Inverse Chebyshev/Chebyshev II
Ex. 1 Approximation (10)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s 0.8132 s2 + 7.8861
H c ( s) = 3
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞ s + 3.7903s 2 + 6.8524 s + 7.8861
s i tes.google.com/site/ncpdhbkhn 41
The Inverse Chebyshev/Chebyshev II
Ex. 2 Approximation (11)
Fp = 40 Hz; Ap = 1 dB; Fs = 50 Hz; As = 30 dB.
s i tes.google.com/site/ncpdhbkhn 42
Butterworth & Chebyshev
s i tes.google.com/site/ncpdhbkhn 43
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass Filters
a) The Butterworth Approximation
b) The Chebyshev Approximation
c) The Inverse Chebyshev or Chebyshev II
Approximation
d) The Elliptic or Cauer Approximation
3. Transformation of Continuous-Time Filters to
Discrete-Time IIR Filters
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass Filters
6. Design Examples of IIR Filters using Matlab
s i tes.google.com/site/ncpdhbkhn 44
The Elliptic/Cauer
Approximation (1)
2 1
H E ( j Ω) =
1 + ε 2 RN2 (Ω / Ωc )
2 Ω12 − Ω 2 Ω32 − Ω2 Ω 22 N −1 − Ω2
v ... , N ch½n
1 − Ω 1Ω
2 2
1 − Ω32Ω 2 1 − Ω 22 N −1Ω 2
RN (Ω) =
2 Ω2 − Ω Ω 24 − Ω2 Ω 22 N − Ω2
2 2
v ... , N lÎ
1 − Ω 2Ω
2 2
1 − Ω 4Ω 1 − Ω 2 N Ω
2 2 2 2
s i tes.google.com/site/ncpdhbkhn 45
The Elliptic/Cauer
Ex. 1 Approximation (2)
−6 dB ≤ 20 log10 H ( jΩ) ≤ 0, 0 ≤ Ω ≤ 2 rad/s
20 log10 H ( jΩ) ≤ −20dB, 3 rad/s ≤ Ω < ∞
[N,Wc]=ellipord(2,3,6,20,’s’);
[C,D]=ellip(N,6,20,Wc,’s’);
s i tes.google.com/site/ncpdhbkhn 46
The Elliptic/Cauer
Ex. 2 Approximation (3)
Fp = 40 Hz; Ap = 1 dB; Fs = 50 Hz; As = 30 dB.
s i tes.google.com/site/ncpdhbkhn 47
The Elliptic/Cauer
Ex. 3 Approximation (4)
Fp = 40 Hz; Ap = 0.1 dB; Fs = 50 Hz; As = 50 dB.
s i tes.google.com/site/ncpdhbkhn 48
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass Filters
3. Transformation of Continuous-Time
Filters to Discrete-Time IIR Filters
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass
Filters
6. Design Examples of IIR Filters using Matlab
s i tes.google.com/site/ncpdhbkhn 49
Transformation of Continuous-Time Filters
to Discrete-Time IIR Filters (1)
s = f ( z)
s-plane z-plane
jΩ
H c ( s) → H ( z ) Im{z}
z = e jω
σ ω 1
0 0 Re{ z}
h[n] = Td hc (nTd )
∞ ω
jω 2π
H (e )= ∑ c T T
H j + j k
k =−∞ d d
H c ( jΩ ) = 0, Ω ≥ π / Td
jω ω
→ H (e ) = H c j , ω ≤ π
Td
s i tes.google.com/site/ncpdhbkhn 52
Impulse-Invariance
Transformation (2)
h[n] = Td hc (nTd )
N
Ak
H c (s ) = ∑
k =1 s − sk
N
→ hc (t ) = ∑ Ak e k u (t )
st
k =1
( )
N
skTd n
→ h[n] = ∑ Td Ak e u[ n]
k =1
∞ ∞ N
→ H ( z) = ∑ h[n]z −n
= ∑ ∑ Td Ak ( e )
skTd n
n =0 n= 0 k =1
N
Td Ak
=∑ skTd −1
k =1 1 − e z
s i tes.google.com/site/ncpdhbkhn 53
Impulse-Invariance
Transformation (3) s-plane
jΩ
N
Ak
H c (s ) = ∑
k =1 s − sk
N σ
Td Ak
H (z ) = ∑
0
skTd −1
k =1 1 − e z
1 Td Td skTd
→ = −1
, p = e
1 − e k d z −1 1 − pk z
k
s − sk sT
s = f (z)
ln z
→ z = e sTd → s = = f (z) z-plane
Td Im{ z}
jω z = e jω
s = σ + jΩ, z = re
ω 1
r = eσ Td 0 Re{ z}
→
ω = ΩTd
s i tes.google.com/site/ncpdhbkhn 54
Impulse-Invariance
Ex. 3 Transformation (4)
ωp = 0.25π rad; Ap = 1 dB; ωs = 0.4π rad; As = 30 dB, Td = 0.1s.
ωp 0.25π ω 0.4π
Ωp = = = 7.8540; Ω s = s = = 12.5664
Td 0.1 Td 0.1
[N,Wc]=buttord(7.854,12.5664,1,30,’s’);
[C,D]=butter(N,Wc,’s’);
[B,A]=impinvar(C,D,1/Td);
s i tes.google.com/site/ncpdhbkhn 55
Impulse-Invariance
Ex. 3 Transformation (5)
ωp = 0.25π rad; Ap = 1 dB; ωs = 0.4π rad; As = 30 dB, Td = 0.1s.
1 0
Butterworth, N = 9
0.8
-20
0.6
-40
0.4
-60
0.2
0 -80
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
/ /
0.3
150 Continuous
Discrete
100 0.2
50
0 0.1
-50
0
-100
-150
-0.1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 10 20 30 40 50
/ Time (s)
s i tes.google.com/site/ncpdhbkhn 56
Impulse-Invariance
Ex. 3 Transformation (6)
ωp = 0.25π rad; Ap = 1 dB; ωs = 0.4π rad; As = 30 dB, Td = 0.1s.
ωp 0.25π ω 0.4π
Ωp = = = 7.8540; Ω s = s = = 12.5664
Td 0.1 Td 0.1
[N,Wc]=cheb1ord(7.854,12.5664,1,30,’s’);
[C,D]=cheby1(N,1,Wc,’s’);
[B,A]=impinvar(C,D,1/Td);
s i tes.google.com/site/ncpdhbkhn 57
Impulse-Invariance
Ex. 3 Transformation (7)
ωp = 0.25π rad; Ap = 1 dB; ωs = 0.4π rad; As = 30 dB, Td = 0.1s.
1 0
Butterworth, N = 9 Butterworth
Chebyshev I, N = 5 Chebyshev I
0.8
-20
0.6
-40
0.4
-60
0.2
0 -80
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
/ /
0.3
150 Butterworth Chebyshev I, continuous
Chebyshev I Chebyshev I, discrete
100 0.2 Butterworth, continuous
50
0 0.1
-50
0
-100
-150
-0.1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 10 20 30 40 50
/ Time (s)
s i tes.google.com/site/ncpdhbkhn 58
Impulse-Invariance
Ex. 3 Transformation (8)
ωp = 0.25π rad; Ap = 1 dB; ωs = 0.4π rad; As = 30 dB, Td = 0.1s.
1.2 0
Butterworth, N = 9
1 Chebyshev I, N = 5
Chebyshev II, N = 5 -20
0.8
Butterworth
0.6 -40 Chebyshev I
Chebyshev II
0.4
-60
0.2
0 -80
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
/ /
0.3
150 Butterworth Chebyshev II, continuous
Chebyshev I Chebyshev II, discrete
100 Chebyshev II 0.2 Chebyshev I, continuous
Butterworth, continuous
50
0 0.1
-50
0
-100
-150
-0.1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0 10 20 30 40 50
/ Time (s)
s i tes.google.com/site/ncpdhbkhn 59
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass Filters
3. Transformation of Continuous-Time
Filters to Discrete-Time IIR Filters
a) Impulse-Invariance Transformation
b) Bilinear Transformation
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass
Filters
6. Design Examples of IIR Filters using Matlab
s i tes.google.com/site/ncpdhbkhn 60
Bilinear Transformation (1)
s = f ( z)
s-plane z-plane
jΩ
Im{z}
z = e jω
σ ω 1
0 0 Re{ z}
ln z
s= = f (z)
Td
2 1 − z −1
s=
Td 1 + z −1
s i tes.google.com/site/ncpdhbkhn 61
Bilinear Transformation (2)
2 1 − z −1
s=
Td 1 + z −1
H ( z ) = H c ( s) s = 2 1− z −1
Td 1+ z −1
∏
M
(s − ζ k )
k =1
H c ( s ) = β0
∏k =1 (s − sk )
N
s i tes.google.com/site/ncpdhbkhn 63
Bilinear Transformation (4)
Ex. 4
5 s + 10 5(s + 2)
Hc (s) = = z1 = −1 / 3; z2 = −1; p1 = −1/ 2; p2 = −3 / 5; G = 3 / 4
s2 + 7s + 12 ( s + 3)( s + 4)
−1 −1
(1 + z − 1) N − M ∏ k =1(1 − zk z −1 ) 3 1 − (−1 / 3) z 1 − (−1) z
M
H (z) = G =
4 1 − ( −1 / 2) z −1 1 − ( −3 / 5) z −1
∏ pk z −1 )
N
(1 −
k =1
0,75 + z −1 + 0, 25 z −2
=
1 + 1,1z − 1 + 0,3z −2
[B,A] = bilinear([5,10],[1,7,12],1/Td)
s i tes.google.com/site/ncpdhbkhn 64
Bilinear Transformation (5)
s = f ( z)
s-plane z-plane
jΩ
Im{z}
z = e jω
σ ω 1
0 0 Re{z}
2 1 − z −1
s=
Td 1 + z −1 (2 / Td + σ )2 + Ω 2
r = z =
2 / Td + s 2 / Td + σ + j Ω (2 / Td − σ ) 2 + Ω 2
→z= = = re jω →
2 / Td − s 2 / Td − σ − j Ω −1 Ω −1 Ω
ω = tan + tan
2 / Td + σ 2 / Td − σ
s i tes.google.com/site/ncpdhbkhn 65
Bilinear Transformation (6)
s-plane
jΩ
(2 / Td + σ ) 2 + Ω2
r = z =
(2 / Td − σ ) 2 + Ω2
−1 Ω −1 Ω σ
ω = tan + tan 0
2 / Td + σ 2 / Td − σ
σ < 0 → r < 1
σ = 0 → r = 1
σ > 0 → r > 1 s = f (z)
z-plane
ΩTd 2 ω
σ = 0 → ω = 2 tan −1
Im{ z}
→ Ω = tan
2 Td 2 z = e jω
Ω = 0 ⇒ ω = 0 ω 1
0 Re{ z}
Ω → ∞ ⇒ ω → π
Ω → −∞ ⇒ ω → −π
s i tes.google.com/site/ncpdhbkhn 66
Bilinear Transformation (7)
ΩTd 2 ω
σ = 0 → ω = 2 tan −1 → Ω = tan
2 Td 2
π
3
-1
-2
-3
−π
-10 -8 -6 -4 -2 0 2 4 6 8 10
s i tes.google.com/site/ncpdhbkhn 67
Bilinear Transformation (8)
10 10
Ω Ω
9 9
8 8
7 7
6 6
5 5
4 4
3 3
2 2
1 1
0 0 ω/π
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
H ( jΩ)
H (e jω )
ω /π
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
s i tes.google.com/site/ncpdhbkhn 68
Bilinear Transformation (9)
Ex. 3
ωp = 0.25π rad; Ap = 1 dB; ωs = 0.4π rad; As = 30 dB.
2 ωp 2 0.25π
Ωp = tan = tan 2 = 0.4142
Td 2 2
2 ω 2 0.4π
Ωs = tan s = tan = 0.7265
Td 2 2 2
[N,Ωc] = buttord(Ωp,Ωs,Ap,As,’s’)
[C,D] = butter(N,Ωc,’s’)
[B,A] = bilinear(C,D,1/Td)
s i tes.google.com/site/ncpdhbkhn 69
Bilinear Transformation (10)
Ex. 3
ωp = 0.25π rad; Ap = 1 dB; ωs = 0.4π rad; As = 30 dB.
s i tes.google.com/site/ncpdhbkhn 70
Bilinear Transformation (11)
Ex. 3
ωp = 0.25π rad; Ap = 1 dB; ωs = 0.4π rad; As = 30 dB.
s i tes.google.com/site/ncpdhbkhn 71
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass Filters
3. Transformation of Continuous-Time Filters to
Discrete-Time IIR Filters
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass
Filters
6. Design Examples of IIR Filters using Matlab
s i tes.google.com/site/ncpdhbkhn 72
Design Examples for Lowpass
Ex. 5 IIR Filters (1)
ωp = 0.2π rad; Ap = 0.1 dB; ωs = 0.3π rad; As = 50 dB.
[N,Ωc] = buttord(0.2,0.3,0.1,50)
[B,A] = butter(N,Ωc)
s i tes.google.com/site/ncpdhbkhn 73
Design Examples for Lowpass
Ex. 6 IIR Filters (2)
ωp = 0.3π rad; Ap = 0.5 dB; ωs = 0.4π rad; As = 60 dB.
[N,Ωc] = cheb1ord(0.3,0.4,0.5,60)
[B,A] = cheby1(N,0.5,Ωc)
s i tes.google.com/site/ncpdhbkhn 74
Design Examples for Lowpass
Ex. 7 IIR Filters (3)
ωp = 0.35π rad; Ap = 0.1 dB; ωs = 0.45π rad; As = 60 dB.
[N,Ωc] = cheb2ord(0.35,0.45,0.15,60)
[B,A] = cheby2(N,60,Ωc)
s i tes.google.com/site/ncpdhbkhn 75
Design Examples for Lowpass
Ex. 8 IIR Filters (4)
ωp = 0.4π rad; Ap = 1 dB; ωs = 0.55π rad; As = 80 dB.
[N,Ωc] = ellipord(0.4,0.55,1,80)
[B,A] = ellip(N,1,80,Ωc)
s i tes.google.com/site/ncpdhbkhn 76
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass Filters
3. Transformation of Continuous-Time Filters to
Discrete-Time IIR Filters
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass
Filters
6. Design Examples of IIR Filters using Matlab
s i tes.google.com/site/ncpdhbkhn 77
Frequency Transformation of
Lowpass Filters
Given: IIR filter CT filter CT filter CT to DT IIR filter
specifications specifications design transformation
s i tes.google.com/site/ncpdhbkhn 78
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass Filters
3. Transformation of Continuous-Time Filters to
Discrete-Time IIR Filters
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass
Filters
a) Continuous-Time Frequency Transformations
b) Discrete-Time Frequency Transformations
6. Design Examples of IIR Filters using Matlab
s i tes.google.com/site/ncpdhbkhn 79
Continous-Time Frequency
Transformation (1)
Apply CT CT IIR filter
Design CT CT to DT
frequency band
lowpass filter transformation
transformation
Ωc
Highpass s→ Ωc: cutoff frequency
s
s 2 + Ω1Ω2 Ω1: lower cutoff frequency
Bandpass s→
s(Ω 2 − Ω1) Ω2: upper cutoff frequency
s i tes.google.com/site/ncpdhbkhn 80
Continous-Time Frequency
Ex. 9 Transformation (2)
A bandpass filter with Fp1 = 20 Hz; Fp2 = 60 Hz; Ap = 1 dB; As = 40 dB.
Omegap=1; Omegas=1.5;
[N,Omegac]=ellipord(Omegap,Omegas,Ap,As,’s’);
[C,D]=ellip(N,Ap,As,Omegac,’s’);
Omega0=sqrt(Omegap1*Omegap2);
BW=Omegap2-Omegap1;
[B,A]=lp2bp(C,D,Omega0,BW);
0 0
-10 -10
-20 -20
-30 -30
-40 -40
-50 -50
-60 -60
0 1 2 3 4 5 0 20 40 60 80 100
(rad/s) s i tes.google.com/site/ncpdhbkhn F (Hz) 81
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass Filters
3. Transformation of Continuous-Time Filters to
Discrete-Time IIR Filters
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass
Filters
a) Continuous-Time Frequency Transformations
b) Discrete-Time Frequency Transformations
6. Design Examples of IIR Filters using Matlab
s i tes.google.com/site/ncpdhbkhn 82
Frequency Transformation of
Lowpass Filters
Given: IIR filter CT filter CT filter CT to DT IIR filter
specifications specifications design transformation
s i tes.google.com/site/ncpdhbkhn 83
Discrete-Time Frequency
Transformation (1)
Apply DT DT IIR filter
Design CT CT to DT
frequency band
lowpass filter transformation
transformation
s i tes.google.com/site/ncpdhbkhn 84
Discrete-Time Frequency
Transformation (2)
Filter type Transformation Design parameters
s i tes.google.com/site/ncpdhbkhn 85
Discrete-Time Frequency
Transformation (3)
−1 z −1 + α
z →
1 + α z −1
− jθ e− jω + α
e →
1 + α e − jω
−1 (1 − α 2 ) sin θ
ω = tan −
2α + (1 + α ) cos θ
2
→
−1 (1 − α 2 ) sin ω
θ = tan −
2α + (1 + α ) cos ω
2
s i tes.google.com/site/ncpdhbkhn 86
Discrete-Time Frequency
Ex. 9 Transformation (4)
Highpass filter with ωs = 0.45π rad; Ap = 15 dB; ωp = 0.6π rad; As = 1 dB.
θp =1
cos[(θ c + ωc ) / 2] cos[(1 + 0, 6π ) / 2]
α =− =− = −0.1416
cos[(θc − ωc ) / 2] cos[(1 − 0, 6π ) / 2]
−1
(1 − α 2 ) sin ω s
θ s = tan −
2α + (1 + α 2
) cos ω s
−1 (1 − ( −0.1416)2 )sin(0.45π )
= tan − = 1.4437 rad
2(−0.1416) + (1 + ( −0.1416) ) cos(0.45π )
2
θp=1; θs=1.4437;
[N,ωc]=cheb1ord(θp/π,θs/π,Ap,As);
[Bp,Ap]=cheby1(N,Ap,ωc)
B p ( z − 1)
0.0403 + 0.1208 z − 1 + 0.1208 z −2 + 0.0403z − 3
H LP ( z ) = −1
=
Ap ( z ) 1 − 1.4726 z −1 + 1.1715z −2 − 0.3767 z −3
s i tes.google.com/site/ncpdhbkhn 87
Discrete-Time Frequency
Ex. 9 Transformation (4)
Highpass filter with ωs = 0.45π rad; Ap = 15 dB; ωp = 0.6π rad; As = 1 dB.
s i tes.google.com/site/ncpdhbkhn 88
Discrete-Time Frequency
Ex. 9 Transformation (5)
Highpass filter with ωs = 0.45π rad; Ap = 15 dB; ωp = 0.6π rad; As = 1 dB.
s i tes.google.com/site/ncpdhbkhn 89
Design of IIR Filter
1. Introduction to IIR Filter Design
2. Design of Continuous-Time Lowpass Filters
3. Transformation of Continuous-Time Filters to
Discrete-Time IIR Filters
4. Design Examples for Lowpass IIR Filters
5. Frequency Transformations of Lowpass
Filters
6. Design Examples of IIR Filters using
Matlab
s i tes.google.com/site/ncpdhbkhn 90
Design Examples of IIR Filters
Ex. 1 using Matlab (1)
Highpass, ωs = 0.5π rad; Ap = 1 dB; ωp = 0.7π rad; As = 40 dB.
[N,Ωc] = buttord(0.7,0.5,1,40)
[B,A] = butter(N,Ωc,’high’)
s i tes.google.com/site/ncpdhbkhn 91
Design Examples of IIR Filters
Ex. 2 using Matlab (2)
Lower stopband: [0; 0.25π]; Asl = 40 dB
Bandpass, Passband: [0.3π; 0.5π]; Ap = 0.5 dB
Upper stopband: [0.6π; π]; Asu = 50 dB
[N,Ωc] = cheb1ord([0.3,0.5],[0.25,0.6],0.5,50)
[B,A] = cheby1(N,0.5,Ωc)
s i tes.google.com/site/ncpdhbkhn 92
Design Examples of IIR Filters
Ex. 3 using Matlab (3)
Lower passband: [0; 0.2π]; Apl = 0.5 dB
Bandstop, Stopband: [0.3π; 0.6π]; As = 40 dB
Upper passband: [0.75π; π]; Apu = 0.5 dB
[N,Ωc] = cheb2ord([0.2,0.75],[0.3,0.6],0.5,40)
[B,A] = cheby2(N,40,Ωc,’stop’)
s i tes.google.com/site/ncpdhbkhn 93
Design Examples of IIR Filters
Ex. 4 using Matlab (4)
Lower stopband: [0; 0.2π]; Asl = 60 dB
Bandpass, Passband: [0.3π; 0.6π]; Ap = 0.1 dB
Upper stopband: [0.7π; π]; Asu = 60 dB
[N,Ωc] = ellipord([0.3,0.6],[0.2,0.7],0.1,60)
[B,A] = ellip(N,0.1,60,Ωc)
s i tes.google.com/site/ncpdhbkhn 94