Digital Control System
Digital Control System
■ Digital:
w(t)
A2D D2A
e(t) e[k] u[k] zoh
u(t)
r (t) Q D(z) G(s) y(t)
v(t)
“Digitization”
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–3
■ If T is small,
x((k + 1)T ) − x(kT ) x[k + 1] − x[k]
ẋ(kT ) ≈ i.e., ẋ[k] ≈ .
T T
■ To use this approximation, we set T = t
k+1 − tk = sampling interval.
Define constants:
α1 = 1 − bT .
α2 = k0 (aT − 1).
u[k] = x + k0 e[k].
x = α1 u[k] + α2 e[k].
R = read. W = write.
C = compute. I = idle.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–5
(Note,
] BW of analog system is ≈ 1 Hz or so).
1
➠ Use formula from before to digitize D(s).
■ 20 Hz: u[k + 1] = 0.5u[k] + 70e[k + 1] − 63e[k].
■ 40 Hz: u[k + 1] = 0.75u[k] + 70e[k + 1] − 66.5e[k].
Sampled at 20Hz Sampled at 40Hz
1.5 1.5
analog analog
digital digital
Plant output
Plant output
1 1
0.5 0.5
0 0
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–6
2.2: The importance of the D2A “hold” operation
u u(kT )
u(t)
avg. u(t)
0
10
−1
10 −1 0 1 2
10 10 10 10
Phase (Deg)
−100
−120
−140
−160
−180 −1 0 1 2
10 10 10 10
Frequency (rad/sec)
■ The PM has changed from ≈ 50◦ to ≈ 30◦.
PM
■ ζ ≈ . . . ζ changed from 0.5 to 0.3 . . . much less damping.
100
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–7
1.5
Nominal
■ M p from about 20% to about
Plant output
1
30% . . .
■ Faster sampling. . . smaller T . . . 0.5
Time (sec)
I(s)
As T → 0, delay dynamics → ∞.
4 4 R(s)
−
T T
1
■ Impact of delay: Suppose D(s)G(s) = .
s+a
I(s) I(s)
With
delay
−a R(s) ➠ 4 −a 4 R(s)
−
T T
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–8
■ Does the delayed locus make sense?
1 − sT /4 (sT /4 − 1)
=− .
1 + sT /4 (sT /4 + 1)
■ Gain is negative! We need to draw a 0◦ root locus, not the 180◦ locus
we are more familiar with.
■ Conclusion: Delay destabilizes the system.
10 × BW ➠ T = 0.3 ms.
■ From above,
$ %
u[k] = u[k − 1] + 5 3.7667e[k] − 6.333e[k − 1] + 2.6667e[k − 2] .
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–9
1.4
continuous
■ Performance not great, so tried 1.2 digital: T=0.3msec
Speed (rads/sec)
digital: T=0.1msec
again with T = 0.1 ms. Much 1
better. 0.8
0.6
■ Note, however, that the error is 0.4
Time (msec)
THE z-TRANSFORM!
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–10
2.3: Definition of the z-transform
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–11
= x[0] = 1.
−4 −2 0 2 4 6 8
x[k] = δ[k − kd ]
∞
!
X (z) = x[k]z −k
k=0
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–12
=z if |z| > 1.
z
so 1(z) = , ROC = {|z| > 1}.
z−1
EXAMPLE : Let x[k] = a k 1[k] where a is a complex number.
∞
!
X (z) = a k z −k
k=0
= 1 + az −1 + a 2 z −2 + · · · −4−2 0 2 4 6 8
■ Multiply both sides of this equation by (z − a).
(z − a)X (z) = (z + a + a 2 z −1 + · · · ) − (a + a 2 z −1 + a 3 z −2 + · · · )
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–13
2.4: Delay properties of the z-transform
Linearity:
■ The standard linearity rule:
• If x[k] ↔ X (z) and v[k] ↔ V (z),
• Then ax[k] + bv[k] ↔ a X (z) + bV (z). (prove for yourself)
EXAMPLE : Let y[k] = 1[k] + a k 1[k].
■ Then,
z z 2z 2 − (1 + a)z
Y (z) = + = .
z−1 z−a (z − 1)(z − a)
Right shift in time (delay); Theorem 1:
■ Suppose x[k] ↔ X (z), and q is a positive integer.
y[k] = x[k − q]1[k − q]
∞
!
Y (z) = x[k − q]1[k − q]z −k let k̄ = k − q
k=0
∞
!
= x[k̄]1[k̄]z −(k̄+q)
k̄=−q
∞
!
−q
=z x[k̄]z −k̄
k̄=0
= z −q X (z).
■ So, a delay of q samples multiplies the z-transform by z −q .
EXAMPLE : +
1, k = 0, 1, . . . N − 1;
p[k] =
0, otherwise.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–14
■ Note that p[k] = 1[k] − 1[k − N ].
■ By linearity and by the right-shift theorem,
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–15
∞
!
= x[−1] + x[k̄]z −(k̄+1)
k̄=0
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–17
2.5: Time multiplication and the z-transform
Multiplication by k and k 2.
■ Thus,
d
kx[k] ⇐⇒ −z X (z).
dz
■ Also
2
d 2 2 d
k x[k] ⇐⇒ z X (z) + z 2 X (z).
dz dz
k z
EXAMPLE : Recall that a 1[k] ↔ .
z−a
" # $ %
d z −z 1 −a
= + =
dz z − a (z − a)2 z − a (z − a)2
az
so, ka k 1[k] ↔
(z − a)2
z
and, k1[k] ↔ . (ramp)
(z − 1)2
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–18
Multiplication by a k :
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–19
" #
1 z 2 − e j ω z + z 2 − e− j ω z
=
2 z 2 − (e j ω + e− j ω)z + 1
z 2 − cos[ω]z
cos[ωk]1[k] ⇐⇒ 2 .
z − (2 cos[ω])z + 1
■ Also,
z sin[ω]
sin[ωk]1[k] ⇐⇒ .
z 2 − (2 cos[ω])z + 1
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–20
2.6: Convolution, initial/final value and the z-transform
Convolution
■ Discrete-time convolution is analogous to continuous-time
convolution:
!k
(x ∗ v)[k] = x[i]v[k − i] k≥0
i =0
k
!
or, = v[i]x[k − i]. k ≥ 0.
i =0
= X (z)V (z).
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–21
Initial-value theorem
■ If x[k] ⇐⇒ X (z), x[0] = lim X (z).
z→∞
■ Proof:
∞
!
X (z) = x[k]z −k
k=0
= x[0].
■ Also,
x[1] = lim (z X (z) − zx[0])
z→∞
5 6
x[2] = lim z 2 X (z) − z 2 x[0] − zx[1]
z→∞
...
assuming the limit on the left exists! Conditions for existence: All
poles of X (z) must be inside unit circle | pi | < 1 ∀ i, except possibly a
single pole on the unit circle at z = 1. The residue of the pole at z = 1
is the final value and is found from above.
EXAMPLE :
3z 2 − 2z + 4
■ Suppose X (z) = .
z 3 − 2z 2 + 1.5z − 0.5
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–22
■ Factoring the denominator:
3z 2 − 2z + 4
X (z) =
(z − 1)(z 2 − z + 0.5)
=
3z 2 − 2z + 4 ==
x ss = 2
(z − z + 0.5) = z=1
5
= = 10.
0.5
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–23
2.7: The inverse z-transform
■ So, X (z) = z −1 − 3z −3 − 4z −4 · · · .
■ and x[0] = 0, x[1] = 1, x[2] = 0, x[3] = −3, x[4] = −4, . . .
if r1 and p1 complex.
EXAMPLE :
■ Suppose
z3 + 1
X (z) = 3
z − z2 − z − 2
z3 + 1
= 3 √ 43 √ 4
1 3
(z − 2) z + 2 + j 2 z + 2 − j 23
1
X (z) r0 r1 r̄1 r2
= + √ + √ + .
z z 1
z+2+ j 23 1
z+2− j 2 3 z − 2
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–25
■ Find the residues:
−1
r0 = X (0) =
2
⎡ ⎤
3
√
⎢ z +1 1⎥ 3 3
r1 = ⎣ 3 √ 4 ⎦ = +j
(z − 2) z + 12 − j 23 z √
7 21
z=− 12 − j 2
3
$ %
X (z) 9
r2 = (z − 2) = .
z z=2 14
■ So,
@ √ Ak @ √ Ak
1 1 3 1 3 9
x[k] = − δ[k]+r1 − −j 1[k]+r̄1 − + j 1[k]+ 2k 1[k].
2 2 2 2 2 14
■ Note: | p1| = 1, ̸ p1 = 4π/3. |r1| = 0.436, ̸ r1 = 10.89◦.
■ So,
" #
1 4π 9
x[k] = − δ[k] + 0.873 cos k + 10.89◦ 1[k] + (2)k 1[k].
2 3 14
Repeated poles:
■ There is a special rule for repeated poles, just as with
Laplace-transform partial-fraction expansion.
■ Suppose p1 is repeated “n” times.
X (z) r0 r1,1 r1,2 r1,n
= + + + · · · + + other poles
z z z − p1 (z − p1)2 (z − p1)n
■ Then, the residues are calculated as
$ %
X (z)
r1,n = (z − p1)n
z z= p1
$ " #%
1 d X (z)
r1,n−1 = (z − p1)n
1! dz z z= p1
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–26
$ " #%
1 d2 n X (z)
r1,n−2 = (z − p 1 )
2! dz 2 z z= p1
...
$ n−1 " #%
1 d n X (z)
r1,1 = (z − p 1 ) .
(n − 1)! dz n−1 z z= p1
■ MATLAB’s residue command automates partial-fraction expansion:
num=[ ] % coefficients of numerator.
den=[] % coefficients of denominator.
[r,p,k]=residue(num,[den 0]) % don't forget '1/z'!
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–27
EXAMPLE :
z
X (z) = .
(z − 1)2
$ $ % %
1 d2−1 z
x[k] = 2−1
(z − 1)2 2
z k−1 1[k]
(2 − 1)! dz (z − 1) z=1
$ = %
d k ==
= z 1[k]
dz =z=1
=
= kz k−1=z=1 1[k]
= k1[k].
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–29
2.8: Time responses versus pole locations
■ x[k] = 1[k].
z
■ X (z) = , |z| > 1.
z−1
−4−2 0 2 4 6 8
Exponential (geometric):
General cosinusoid:
a ≈ duration N
0.9 43
0.8 21
0.6 9
0.4 5
N =3 N =8
N = 10
N = 20
N =2
I(z)
R(z)
z = esT .
π
j
T
π
−j
T
s-plane z-plane
■ jω-axis maps to unit circle.
■ Constant damping ratio ζ maps to strange spiral.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–33
■ Higher-order systems:
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–34
2.9: Emulation in frequency domain
• Qualified “yes”.
EXAMPLE : Consider
U (s) a
= D(s) = ,
E(s) s+a
or
u̇(t) + au(t) = ae(t).
■ Rewrite as
& t
u(t) = (−au(τ ) + ae(τ )) dτ
0
& (k−1)T & kT
u(kT ) = (−au(τ ) + ae(τ )) dτ + (−au(τ ) + ae(τ )) dτ
0 (k−1)T
& kT
= u ((k − 1)T ) + (−au(τ ) + ae(τ )) dτ .
/ (k−1)T 01 2
area of −au(τ )+ae(τ ) over kT −T ≤τ ≤kT
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–35
f (t)
U (z) [z − 1 + aT ] = aT E(z)
U (z) a
= z−1 .
E(z) T
+ a
z−1
• “s” has been replaced by “ ”. Seen already as Euler’s rule.
T
Method 2: Use the backward-rectangular rule
■ Using the backward rectangular rule, we get a different result:
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–36
u(kT ) ≈ u ((k − 1)T ) + T [−au(kT ) + ae(kT )]
−au(kT ) + ae(kT )]
$ % $ %
aT aT aT
u(kT ) 1 + = u((k − 1)T ) 1 − + [e ((k − 1)T ) + e(kT )] .
2 2 2
■ Finding the transfer function:
$ % $ %
aT aT aT - .
U (z) 1 + = z −1U (z) 1 − + E(z) z −1 + 1
2 2 2
U (z) aT (z + 1) a
= = 2
- z−1 . .
E(z) (2 + aT )z + aT − 2 T z+1
+a
" #
2 z−1
• “s” has been replaced by “ ”.
T z+1
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–37
2.10: Stability and prewarping
= 1 + T jω.
2. Backward rectangular rule:
z−1
s= ➠ z(T s − 1) = −1
Tz
1 1
z= =
1 − Ts 1 − T jω
" # " #
1 1 1 1 1 1 + T jω
= + − = + .
2 1 − T jω 2 2 2 1 − T jω
• The term in the parenthesis has magnitude 1 for all ω.
3. Bilinear rule:
" #
2 z−1
s=
T z+1
zT s + T s = 2z − 2
z(T s − 2) = −2 − T s
2 + Ts 2 + T jω
z= = .
2 − Ts 2 − T jω
• Constant magnitude 1 for all ω.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–38
COMMENTS :
■ Rule (1) may possibly map a stable D(s) into an unstable D(z) (!!)
■ Rule (2) always maintains stability (can even map an unstable D(s)
into a stable D(z) (!) but does not do a good job of mapping
frequency response, especially at high frequencies.
■ Rule (3) maps stability information EXACTLY (important later in the
course). The jω-axis in the s-plane mapped directly to the unit circle
in the z-plane. ω from 0 . . . ∞ mapped to an angle 0 . . . π. Frequency
compression/warping.
■ Since the bilinear/Tustin rule is by far the most used, let us examine
the frequency warping some more.
■ Let frequency in the digital domain be ωz , and corresponding
frequency in the analog domain be ωs .
■ Convert H (s) to H (z).
= H (s)|s= j 2 tan3 ωz T 4
T 2
" # " #
2 ωz T 2 ω s T
■ So, ω =
s tan and ωz = tan−1 .
T 2 T 2
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–39
■ Near ωz = 0, ωs ≈ ωz , but wz T
frequencies do not match π
= H (s)|s= j α tan3 ωz T 4 .
2
ω1
■ So, ωs = α tan(ωz T /2). Let α = .
tan(ω1 T /2)
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–40
■ Then, at frequency ωz = ω1,
ω1
ωs = tan(ω1 T /2) = ω1.
tan(ω1 T /2)
■ A match! Drawback: Can match at only one frequency.
■ In MATLAB:
sysd=c2d(sys,T,'tustin'); % bilinear
sysd=c2d(sys,T,'prewarp',w1); % w/ freq. match.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–41
2.11: Examples and hold-based methods
1
EXAMPLE : Convert H (s) = to digital.
3 2
s + 2s + 2s + 1
z−1
Method 1) s = .
T
1
H (z) = (z−1)3 2
T3
+ 2 (z−1)
T2
+ 2 (z−1)
T
+1
T3
= 3
(z − 3z 2 + 3z 1 − 1) + 2T (z 2 − 2z + 1) + 2T 2(z − 1) + T 3
T3
= 3 .
z + z 2(2T − 3) + z 1(3 − 4T + 2T 2) + (2T − 2T 2 + T 3 − 1)
z−1 1
Method 2) s = . Gives: H (z) = (z−1)3 2
.
Tz
(T z)3
+ 2 (z−1)
(T z)2 + 2 (z−1)
Tz
+1
■ The rest of the math is up to you...
2z−1 1
Method 3) s = . Gives: H (z) = 8 (z−1)3 (z−1)2
.
T z+1
T 3 (z+1)3
+ 2 T42 (z+1)2 + 2 T2 (z−1)
(z+1)
+1
■ Again, the rest of the math is up to you.
■ For a fast sampling rate, these compare as:
T = 0.1, ωs = 2π/0.1 = 20π , ωs = 63ω p
1.5
cts
1 bilinr
warp
backwd
0.5 fwd
0 ωp
0 0.5ω p 1.5ω p 2ω p 2.5ω p
0
−100
−200
−300 ωp
0 0.5ω p 1.5ω p 2ω p 2.5ω p
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–42
■ For a medium sampling rate, these compare as:
(system T = 1, ωs = 2π/1 = 2π , ωs = 6.3ω p
1 cts
bilinr
warp
0.5 backwd
fwd
0 ωp
0 0.5ω p 1.5ω p 2ω p 2.5ω p
0
−50
−100
−150
−200
−250 ωp
0 0.5ω p 1.5ω p 2ω p 2.5ω p
0 ωp
0 0.5ω p 1.5ω p 2ω p 2.5ω p
0
−50
−100
−150
−200
−250 ωp
0 0.5ω p 1.5ω p 2ω p 2.5ω p
Zero-pole matching
sysd=c2d(sys,T,'matched');
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–44
Hold equivalents
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–45
2.12: Design by emulation
v(t)
EXAMPLE :
1
G(s) = .
s(10s + 1)
■ Specifications for the design:
1. M p < 16%.
2. ts < 10 s to 1%.
3. ess for ramp input < 0.01, slope of ramp = 0.01.
4. Sampling time to give ≥ 10 samples in rise time.
■ Step 1: Design D(s).
“1” ➠ ζ ≥ 0.5.
“2” ➠ σ ≥ 0.46.
0.01
“3” ➠ K v = = 1.0.
0.01
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–46
10s + 1
D(s) = .
s+1
−2 −1.5 −1 −0.5
−1
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, EMULATION OF ANALOG CONTROLLERS 2–47
10s+1 1
(system dela Step s+1 10s 2+s
ycont
udisc
To Workspace1
9.15(z−0.9802) 1
ydisc
(z−0.8187) 10s 2+s
Sum1 D(z) Zero−Order Plant2 To Workspace2
Hold
Disc. Disc.
1 1
Cont. Cont.
Output
Output
0.5 0.5
0
u/10 0
u/10
−0.5 −0.5
0 5 10 15 20 0 5 10 15 20
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540: Digital Control Systems 3–1
u
DISCRETE AND HYBRID SYSTEMS
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–2
x(2T ) [1(t − 2T ) − 1(t − 3T )] + · · ·
! " ! −T s "
1 e−T s e e−2T s
X̄(s) = x(0) − + x(T ) − +
s s s s
! −2T s "
e e−3T s
x(2T ) − +···
s s
! "
1 − e−T s # $
= x(0) + x(T )e−T s + x(2T )e−2T s + · · ·
s
%∞ '!
−T s "
& 1 − e
= x(kT )e−kT s .
k=0
s
• First factor is function of input x(t) and sampling period T .
• Second factor is independent of x(t), so can be considered a
transfer function.
DEFINE : %∞ '
&
X ∗(s) = x(kT )e−kT s .
k=0
■ This is a representation of the A2D/sampling operation. X ∗(s) is not a
physical signal, but results from factoring X̄ (s) into two parts. Then:
X ∗ (s) zoh
X (s) X̄ (s)
T ( )
1 − e−T s
s
■ Note, the operation converting X (s) → X ∗(s) is not LTI. (why?) So, it
cannot be represented by a transfer function.
Ideal sampling
■ Take the inverse-Laplace transform of X ∗(s) to view sampling in the
time-domain.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–3
* +
x ∗(t) = L −1
X ∗(s) = x(0)δ(t) + x(T )δ(t − T ) + x(2T )δ(t − 2T ) + · · ·
■ So, x ∗(t) is an impulse train, with impulse values weighted (multiplied)
by the value of x(t) at the sampling instants. That is,
x(t) and x ∗ (t)
∞
&
∗
x (t) = x(t) δ(t − kT )
,k=0 -. /
δT (t)
= x(t)δT (t).
∗
EXAMPLE : Find X (s) for x(t) = 1(t).
&∞
∗
X (s) = x(kT )e−kT s
k=0
= 1 + e−T s + e−2T s + · · ·
■ Multiply both sides by (1 − e−T s )
(1 − e−T s )X ∗(s) = 1
1 0 −T s 0
∗
X (s) = −T s
0e 0 < 1.
1−e
■ Hmmm. Does this look familiar? Consider z-transform of 1[k] with
z = eT s .
z
1[k] ↔
z−1
Ts eT s 1
let z = e → T s = .
e − 1 1 − e−T s
EXAMPLE : Find X ∗(s) when x(t) = e−t 1(t).
∞
&
X ∗ (s) = x(kT )e−kT s
k=0
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–4
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–5
3.2: Properties of X ∗ (s) and data reconstruction
■ What these two properties MEAN is that two different signals X 1(s)
and X 2(s) may have the SAME starred transform X 1∗ (s) = X 2∗(s).
Why?
■ One signal is said to alias as the other.
■ This is very easy to see in the time domain.
■ The (blue) solid line is the
analog signal cos(2π(5)t)
drawn over one second.
■ The (blue) squares show
sampling points for a rate of
f s = 14 Hz.
■ The (green) dots show sampling times for a rate of f s = 7 Hz.
■ The dashed (green) curve is a cos(2π(2)t) signal.
• Both the cos(2π(5)t) and cos(2π(2)t) curves pass through all the
dots so the signal may be assumed to be a 2 Hz sinusoid
(aliasing!).
• Only the cos(2π(5)t) curve passes through all the squares, so the
signal must be assumed to be a 5 Hz sinusoid (no aliasing).
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–7
■ The solution to the problem is easiest to see in the Fourier domain.
F[x(t)] = L[x(t)]|s= j ω. Since X ∗ (s) is periodic, X ∗( jω) is also periodic.
■ For X ( jω) having a spectral bandwidth W < 2 f s the sampled signal
spectrum is the following
X ( jω)
1
ω
Passband of the −W ∗ W
reconstruction filter X ( jω)
1
ω
−ωs −ωs /2 ωs /2 ωs
■ If the sampling rate f s < 2W , then spectral overlap called ALIASING
occurs.
X ( jω)
1
ω
−W W
Aliasing X ∗ ( jω)
1
ω
−2ωs −ωs ωs 2ωs
■ When aliasing is present, it is impossible to recover the original
analog signal from the sampled signal.
■ Nyquist/Shannon said that if a signal is sampled at a rate ω N there
will be no aliasing if ω N ≥ 2 times the highest frequency in the signal.
KEY POINT: Our digital control system will need to sample at least twice
as fast as the closed-loop bandwidth. Four to six times faster is safer.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–8
Data deconstruction
■ If the signal x(t) has been sampled at or above the Nyquist rate ω N , it
is mathematically possible to recover x(t) from x(kT ). Surprise?
Magic?
■ Process X ∗( jω) by passing it through an ideal low-pass filter with
bandwidth ω N /2.
Passband of the
reconstruction filter X ∗ ( jω)
1
ω
−ω N −ω N /2 ω N /2 ωN
■ The filter must have gain T to recover the magnitude lost by sampling.
sin(πt/T )
h(t) = = sinc(t/T ).
πt/T
PROBLEM: h(t) is non-causal.
■ Solution: “Approximate” h(t) very crudely with a causal filter—the
hold circuit.
■ The impulse response of the hold
= + delay.
circuit is:
t t
T −T /2 T /2
■ So, H ( jω) is
( ) T
sin(ωT /2) − j ωT /2
H ( jω) = T e
ωT /2
( )
ω
= T sinc e− j π ω/ωs . ωs
ωs 0 2ωs 3ωs
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–9
EXAMPLE : Let x(t) = 2 sin(ω1t) with ω1 < ωs /2.
X ( jω)
1
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–10
3.3: Open-loop discrete-time systems
■ X ∗(s) has ∞ poles and zeros in the s-plane because of its periodic
nature.
■ X (z) has a single zero at z = 0, and two poles at z = e−T and
z = e−2T .
■ Pole-zero analysis is going to be easier in the z-domain.
versus
t k
0 0
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–12
■ We are interested in systems that look like:
X ∗ (s) 1 − e−T s Y (s)
X (s) G p (s) Y ∗ (s)
T s T
PLANT
, HOLD -. /
( G(s)
−sT )
1−e
■ Define G(s) = G p (s) to “hide” the mess introduced by the
s
hold operation.
X ∗(s) Y (s)
X (s) G(s) Y ∗ (s)
T T
EXAMPLE : At sample points, left plot looks better than right plot, but
in-between sample points, left plot looks worse than right plot.
Bad Step Response Good Step Response
60 60
Output Temperature ◦ C
Output Temperature ◦ C
58 58
56 56
54 54
52 52
50 50
48 48
46 46
44 44
42 42
40 40
0 5 10 15 20 25 30 35 40 45 50 0 5 10 15 20 25 30 35 40 45 50
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–14
3.4: Finding G(z) from G p (s)
■ Recall that
( )
1 − e−sT
• G(s) = G p (s),
s
∗
• G (s) is a sampled Laplace transform of G(s), and
∗
0
• G(z) = G (s)0 sT . z=e
■ We calculate
!( ) "
1 − e−sT
G(z) = Z G p (s)
s
! "
# $ G p (s)
= Z 1 − e−sT
s
!( )" ! "
G p (s) G p (s)
=Z − Z e−sT .
s s
■ But: e−sT is the cts-time transfer function of a delay of T seconds.
■ In disc-time, z −1 is the transfer function of a unit delay, (T seconds).
! " ! "
G p (s) z − 1 G p (s)
G(z) = (1 − z −1)Z = Z .
s z s
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–15
■ This last term may often be looked up in a table.
1
■ In MATLAB: Let G (s) = .
p
s+1
numc=1;
denc=[1 1];
sysc=tf(numc,denc);
sysd=c2d(sysc,T);% = sampling period.
[numd,dend,T]=tfdata(sysd);
sys=tf(num,den);
set(sys,'ioDelay',tau); % tau is total delay, in seconds
sysd=c2d(sys,T);
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–17
( )( )
1 − e−T z 1
Y (z) =
z − e−T z−1
z z
= −
z − 1 z − e−T
# $ 0 T 2T 3T 4T 5T
y[k] = 1 − e−kT 1[k].
NOTE : A shortcut for this particular example would have been to notice
that the sample-and-hold does nothing to the unit-step input!
■ This example is also a good one to illustrate dc gain:
yss = lim (z − 1)Y (z)
z→1
(1 − e−T )z
= lim
z→1 (z − e −T )
1 − e−T
= = 1.
1 − e−T
■ Equivalently, we can find in general
= lim (z − 1)G(z)1(z)
z→1
■ Our digital controllers will not simply sample and hold their input
value. They will perform some mathematical operations on the
sampled input. “FILTER”
■ So, we expand our system of interest:
x[k] u[k] 1 − e−T s ū(t) y(t)
X (s) D(z) G p (s) Y ∗ (s)
T s T
FILTER HOLD PLANT
■ Suppose our digital filter has transfer function D(z).
■ Then,
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–20
■ We can determine y [k] by partial-fraction expansion and inversion of
Y (z):
Y (z) (2z − 1)(1 − e−T ) 1 − e T 1 eT − 2
= = + + .
z z(z − 1)(z − e−T ) z z − 1 z − e−T
z T z(e T − 2)
Y (z) = (1 − e ) + +
z−1 z − e−T
⇕ ⇕ ⇕
(1 − e T )δ[k] 1[k] (e T − 2)e−kT 1[k]
y[k] = (1 − e T )δ[k] + 1[k] + (e T − 2)e−kT 1[k].
NOTE : At k = 0,
y[0] = (1 − e T ) + 1 + (e T − 2) = 0.
■ This could also be observed by noting that Y (z) has higher-order
denominator than numerator.
➠ The delay in the HOLD means that the output is not instantaneous.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–22
3.6: Some more challenging examples
Y ∗(s) = [G ∗
-. 1(s)/ X (s)]
, 2(s)G
∗
G(s)
= [G(s)X ∗(s)]∗
= G ∗(s)X ∗(s)
e2sT T esT
G ∗1 (s)G ∗2(s) = sT ̸= sT .
(e − 1)2 (e − 1)2
KEY CONCLUSION : [G 1(s)G 2(s)]∗ ̸= G ∗1 (s)G ∗2(s) in general.
REASON : Sampling is time-varying, so system is not LTI. In fact, in some
cases we may not even be able to find transfer functions. . .
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–23
EXAMPLE :
G(s)
. /, -
∗
E(s) E (s)
R(s) HOLD G p (s) Y (s)
T
H (s)
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DISCRETE AND HYBRID SYSTEMS 3–24
E(s) = R(s) − H (s)Y (s)
H (s)
Y (z) D(z)G(z)
= .
R(z) 1 + D(z)G H(z)
The problem of disturbance
W (s)
A(s) A∗ (s)
R(s) HOLD G p (s) Y (s)
T
■ Solution (?)
W (s) G p (s)
W1 (s)
A(s) A∗ (s)
R(s) HOLD G p (s) Y (s)
T
! " ! "
G(z) 1
Y (z) = R(z) + W1(z).
1 + G(z) 1 + G(z)
Where to from here?
■ We now understand the hybrid nature of digital control systems and
are able to analyze such hybrid systems.
■ We’re almost ready for controller design—but first, we look at stability
analysis for discrete-time systems.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540: Digital Control Systems 4–1
Bilinear transformation
■ The stability criteria for a discrete-time system is that all its poles lie
within the unit circle on the z-plane.
■ Stability criteria for cts.-time systems is that the poles be in the LHP.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–3
■ Since only stability properties are maintained by the transform, it is
not accurate to label the destination plane the s-plane. It is often
called the w-plane, and the transformation between the z-plane and
the w-plane is called the w-Transform.
■ A transform that satisfies these requirements is the bilinear transform.
Recall:
z = re j ωT
(
2 z − 1 (( 2 re j ωT − 1
w= = .
T z + 1 (z=r e j ωT T re j ωT + 1
■ Expand e j ωT = cos(ωT ) + j sin(ωT ) and use the shorthand
" "
c = cos(ωT ) and s = sin(ωT ). Also note that s 2 + c2 = 1.
& '
2 rc + jrs − 1
w=
T rc + jrs + 1
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
+
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–4
+ & '& '
2 (rc − 1) + jrs (rc + 1) − jrs
+1 =
T (rc + 1) + jrs (rc + 1) − jrs
& 2 2 2 2'
2 (r c − 1) + j (rs)(rc + 1) − j (rs)(rc − 1) + r s
=
T (rc + 1)2 + (rs)2
& ' & '
2 r2 − 1 2 2rs
= +j .
T r 2 + 2rc + 1 T r 2 + 2rc + 1
Notice that the real part of w is 0 when r = 1 (w is on the imaginary
axis), the real part of w is negative when |r| < 1 (w in LHP), and that
the real part of w is positive when |r| > 1 (w in RHP). Therefore, the
bilinear transformation does exactly what we want.
■ When r = 1,
) *
2 2 sin(ωT ) 2 ωT
w= j = j tan ,
T 2 + 2 cos(ωT ) T 2
which will be useful to know.
■ The following diagram summarizes the relationship between the
s-plane, z-plane, and w-plane:
s-plane z-plane w-plane
➃ ωs ➂
j
2 ➁ ➂ R=∞
ωs ➁ ➁
j ➂ ➃ ➃
4 ➀ 2
➀ R=1 j
T
ωs ➆ 2 ➀
−j ➅ ➄ ➄ −T ➆
4
➄ ωs ➅
−j
2
➆ ➅
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–5
4.2: Discrete-time stability via Routh–Hurwitz test
■ Review of Routh test.
b(w)
Let H (w) = . . . a(w) is the characteristic polynomial.
a(w)
a(w) = an wn + an−1wn−1 + · · · + a1w + a0.
Case 0: If any of the an are negative then the system is unstable
(unless ALL are negative).
Case 1: Form Routh array:
wn an an−2 an−4 · · ·
wn−1 an−1 an−3 an−5 · · ·
wn−2 b1 b2 · · ·
wn−3 c1 c2 · · ·
...
w1 j1
w0 k1
( ( ( (
(
−1 ( an an−2 ( ( −1 (( an an−4 (
(
b1 = ( ( b2 = ( ( ···
an−1 ( an−1 an−3 ( an−1 ( an−1 an−5 (
( ( ( (
−1 (( an−1 an−3 (
( −1 (( an−1 an−5 (
(
c1 = ( ( c2 = ( ( ···
b1 ( b1 b2 ( b1 ( b1 b3 (
TEST : Number of RHP roots = number of sign changes in left column.
Case 2: If one of the left column entries is zero, replace it with ϵ
as ϵ → 0.
Case 3: Suppose an entire row of the Routh array is zero, the
wi −1th row. The wi th row, right above it, has coefficients
α1 , α2 , . . .
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–6
EXAMPLE : Consider:
1 − e−sT 1
r (t) K y(t)
T s s(s + 1)
) *) *
1 − e−T s 1
G(s) = .
s s(s + 1)
■ From z-transform tables:
) * & '
z−1 1
G(z) = Z 2
z s (s + 1)
) * ) −T *
z−1 (e + T − 1)z 2 + (1 − e−T − T e−T )z
= .
z (z − 1)2(z − e−T )
Let T = 0.1 s.
0.00484z + 0.00468
= .
(z − 1)(z − 0.905)
■ Perform the bilinear transform
= G(z)|z= 1+0.05w
1−0.05w
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–7
0 = 1 + K G(w)
(system
= (3.81 − 0.00016K )w2 + (3.80 − 0.1872K )w + 3.81K .
K G(s)
T (s) =
.
1 + K G(s)
■ Characteristic equation: s(s + 1) + K = 0.
s2 1 K
s1 1
s0 K
■ Stable for all K > 0 ➠ sample and hold destabilizes the system.
EXAMPLE : Let’s do the same example, but with T = 1 s (not 0.1 s).
■ (math happens)
0 = 1 + K G(w)
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–9
4.3: Jury’s stability test
■ H (z) #→ H (w) #→ Routh is complicated and error-prone.
■ Jury made a direct test on H (z) for stability.
■ Disadvantage (?) . . . another test to learn.
b(z)
■ Let T (z) = , a(z) =“characteristic polynomial.”
a(z)
■ a(z) = an z n + an−1 z n−1 + · · · + a1 z + a0 = 0, an > 0.
■ Form Jury array:
a(z)|z=1 > 0
|a0| < an
|m 0| > |m 2| .
n
• First, check that a(1) > 0, (−1) a(−1) > 0 and |a0 | < an . (relatively
few calculations). If not satisfied, stop.
• Next, construct array. Stop if any condition not satisfied.
EXAMPLE :
1 − e−sT K
r (t) y(t)
T = 1s s s(s + 1)
0.368z + 0.264
r [k] K y[k]
z 2 − 1.368z + 0.368
■ Characteristic equation:
(0.368z + 0.264)
0 = 1 + K G(z) = 1 + K
z 2 − 1.368z + 0.368
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–11
z0 z1 z2
0.368 + 0.264K 0.368K − 1.368 1
■ The constraint a(1) > 0 yields
1 + 0.368K − 1.368 + 0.368 + 0.264K = 0.632K > 0 ➠ K > 0.
■ The constraint (−1)2a(−1) > 0 yields
1−0.368K +1.368+0.368+0.264K = −0.104K +2.736 > 0 ➠ K < 26.3.
■ The constraint |a0| < a2 yields
0.632
0.368 + 0.264K < 1 ➠ = 2.39. K <
0.264
■ So, 0 < K < 2.39. (Same result as on pg. 4–8 using bilinear rule.)
z0 z1 z2 z3
−0.2 1.05 −1.8 1
1 −1.8 1.05 −0.2
−0.96 1.59 −0.69
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–12
( ( ( (
( −0.2 1 ( ( −0.2 −1.8 (
( ( ( (
b0 = ( ( = −0.96 b1 = ( ( = 1.59
( 1 −0.2 ( ( 1 1.05 (
( (
( −0.2 1.05 (
( (
b2 = ( ( = −0.69
( 1 −1.8 (
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–13
4.4: +
Root-locus and Nyquist tests
+
y
■ For cts.-time control, we examined the locations of the roots of the
closed-loop system as a function of the loop gain K ➠ Root locus.
r (t) K D(s) G(s) y(t)
H (s)
K D(s)G(s)
T (s) = .
1 + K D(s)G(s)H (s)
■ Let L(s) = D(s)G(s)H (s). (The “loop transfer function”).
■ Developed rules for plotting the roots of the equation
b(s)
1+ K = 0.
a(s)
“Root Locus Drawing Rules.”
■ Applied them to plotting roots of
1 + K L(s) = 0.
H (s)
K D(z)G(z)
T (z) = ,
1 + K D(z)G H(z)
■ So, we let L(z) = D(z)G H (z).
■ Poles are roots of 1 + K L(z) = 0.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–14
■ This is exactly the same form as the Laplace-transform root locus.
Plot roots in exactly the same way.
EXAMPLE :
0.368(z + 0.717)
G H (z) = D(z) = 1.
(z − 1)(z − 0.368)
K = 2.39
numd=0.368*[1 0.717];
dend=conv([1 -1],[1 -0.368]);
d=tf(numd,dend,-1);
rlocus(d);
III
II ρ→0
θ
R(s) R(s)
I
IV
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–15
■ The Nyquist test evaluated stability by looking at the Nyquist plot.
• N =No. of CW encirclements of −1 in Nyquist plot.
• P=No. of open-loop unstable poles (poles inside “D” shape).
• Z =No. of closed-loop unstable poles.
• Z = N + P, Z = 0 for stable closed-loop system.
EXAMPLE :
■ This gives:
K
r (t) y(t) 1
s(s + 1) L(s) =
s(s + 1)
■ Note that increasing the gain “K ” only magnifies the entire plot. The
−1 point is not encircled for K > 0 (infinite gain margin).
1. 1 + L ∗(s) = 0.
ωs I(s)
■ We know that L ∗(s) is periodic in jωs . j
2
Therefore, the “D” curve does not need
to encircle the entire RHP to encircle
all unstable poles. [If there were any, R(s)
there would be an infinite number.]
■ Modify “D” curve to be: −j
ωs
2
■ Evaluate L ∗(s) on new contour and plot polar plot. Same Nyquist
test as before.
2. 1 + L(z) = 0.
■ We can do the Nyquist test directly using z-transforms. The stable
region is the unit circle. The z-domain Nyquist plot is done using a
Nyquist curve which is the unit circle.
■ Nyquist test changes because we are now encircling the STABLE
region (albeit CCW).
I(z)
• Z = # closed-loop unstable poles.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–17
3. 1 + L(w) = 0.
■ Now, we convert L(z) #→ L(w) I(w)
G H (w) w = j ωw , −∞ ≤ ωw ≤ ∞ Z = P + Ncw
a
system does not have ∞
gain margin (a = 0.418, PM
GM = 2.39) and has smaller
PM than cts.-time system.
Real Axis
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–18
4.5: Bode methods
PROCEDURE:
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–19
0.368z + 0.264
Let G(z) = .
z 2 − 1.368z + 0.368
(1,2)
, 1+0.5w -
0.368 1−0.5w + 0.264
G(w) = , - , 1+0.5w -
1+0.5w 2
1−0.5w
− 1.368 1−0.5w
+ 0.368
0.368(1 + 0.5w)(1 − 0.5w) + 0.264(1 − 0.5w)2
=
(1 + 0.5w)2 − 1.368(1 + 0.5w)(1 − 0.5w) + 0.368(1 − 0.5w)2
−0.0381(w − 2)(w + 12.14)
= .
w(w + 0.924)
(3)
. / . ωw /
− j ω2w − 1 j 12.14 +1
G( jωw ) = . ωw / .
jωw j 0.924 + 1
(4)
Bode Plots
40
Magnitude (dB)
20
−20
−40 −1 0 1 2 3
10 10 10 10 10
180
Phase (deg)
90
−90
−180
−270
−1 0 1 2 3
10 10 10 10 10
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–20
WAIT!
■ We have discussed frequency-response methods without verifying
that discrete-time frequency response means the same thing as
continuous-time frequency response.
■ Verify
X (z) −→ G(z) −→ Y (z)
z sin ωT
■ Let x[k] = sin(ωkT ) . . . X (z) = .
(z − e j ωT )(z − e− j ωT )
Y (z) = G(z)X (z)
G(z)z sin ωT
= .
(z − e j ωT )(z − e− j ωT )
■ Do partial-fraction expansion
Y (z) k1 k2
= + + Yg (z).
z z − e j ωT z − e− j ωT
■ Yg (z) is the response due to the poles of G(z). IF the system is
stable, the response due to Yg (z) → 0 as t → ∞.
■ So, as t → ∞ we say
Yss (z) k1 k2
= +
z z − e j ωT z − e− j ωT
(
G(z) sin ωT ((
k1 =
z − e− j ωT (z=e j ωT
G(e j ωT ) sin ωT
= j ωT
e − e− j ωT
G(e j ωT )
=
2j
̸ G(e j ωT )
|G(e j ωT )|e j
= .
2j
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, STABILITY ANALYSIS TECHNIQUES 4–21
■ Similarly,
̸ G(e j ωT ) ̸ G(e j ωT )
|G(e j ωT )|e− j |G(e j ωT )|e− j
k2 = =− .
2(− j) 2j
■ Combining and solving for yss [k]
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540: Digital Control Systems 5–1
Specifications:
■ Steady-state accuracy,
■ Transient response
■ Absolute/ relative stability,
■ Sensitivity,
■ Disturbance rejection,
■ Control effort.
Steady-state accuracy
■ How well does a control system track step/ramp/. . . inputs?
■ General formulation: Y (z) = T (z)R(z).
■ The error is: e[k] = r[k] − y[k]. In Laplace domain:
E(z) = R(z) − T (z)R(z)
= [1 − T (z)]R(z).
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–2
■ Use the final-value theorem to find ess.
ess = lim (z − 1)[1 − T (z)]R(z).
z→1
Unity-feedback systems:
■ If the system is of the form (unity-feedback)
■ Then,
D(z)G(z)
T (z) =
1 + D(z)G(z)
1
1 − T (z) = .
1 + D(z)G(z)
■ Let !
K im=1(z − zi )
D(z)G(z) = !p , zi ̸= 1, pi ̸= 1.
(z − 1) N i =1(z − pi )
■ Also, define the “Bode Gain”
!m "
(z − z )
i ""
K dc = K ! ip=1
i =1 (z − pi ) z=1
"
1
• If K p = lim D(z)G(z) then ess = .
z→1 1 + Kp
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–3
1
• If N = 0 then ess = .
1 + K dc
• If N > 0 then ess = 0.
1 1 T
• If K v = lim (z − 1)D(z)G(z) then ess = = .
z→1 T Kv K dc
T
• If N = 1 then ess = .
K dc
• If N > 1 then ess = 0 (and so forth).
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–4
5.2: Direct digital design: Other requirements
Transient response
tp Mp
1
ωn ≥ 1.8/tr 0.9
σ ≥ 4.6/ts
√
−π ζ / 1−ζ 2 0.1
Mp ≈ e . tr t
ts
• r = e−σ T .
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–5
■ For dominant second-order systems, transient-response design can
also be done using frequency-response information.
■ M p (percent overshoot) and Mr (resonant peak) are related through ζ :
√
−ζ / 1−ζ 2
Mp = 1 + e
1
Mr = %
2ζ 1 − ζ 2
• Use Mr < 2 dB.
■ Settling time,
&
4 %
ts ≈ (1 − 2ζ 2) + 4ζ 4 − 4ζ 2 + 2,
ωb ζ
where ωb is the closed-loop bandwidth.
■ Also, tr ωb ≈ 2.
Relative stability
■ Want GM ≫ 1 and PM ≫ 0.
■ PM ≈ 100ζ (especially for second-order systems).
■ Only sure way to measure GM and PM is Nyquist plot.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–6
sensitivity boundary
■ Want sensitivity small for
Error Boundary
good disturbance rejection
Steady−state
and tracking, but large for
sensor-noise rejection and
robustness.
■ This typically places
constraints on the “loop gain”
L(z) = D(z)G H (z).
−180 Phase Margin
Boundary
Control effort
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–7
5.3: Phase-lag compensation
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–8
Phase-lag compensation
■ A phase-lag compensator has its pole closer to the origin (of the
w-plane) than its zero (closer to 1 in the z-plane).
■ The Bode plot of a typical lag compensator is
ωw p ωw0
20 log10 (a0)
( )1
a0ωw p ωw p ωw0
20 log10
ωw0 −90◦
( )
a 0 ωw p
■ Low-frequency gain is a0, high-frequency gain is 20 log10 dB.
ωw0
■ We consider designing a compensator for the system
1 − e−sT
r (t) D(z) G p (s) y(t)
T s
) (
1 − e−sT
■ Let G(s) = G p (s), G(z) = Z[G(s)], G(w) = G(z)|z= 1+(T/2)w .
s 1−(T/2)w
■ Lag controller adds phase. Must be careful NOT to add phase near
crossover of G( jωw ).
■ Therefore, keep both the pole and zero at low frequency.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–9
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–10
Blue: Plant; Red: Lag; Green: Compensated
60
Magnitude (dB)
40
20
−20
−40
−60 −3 −2 −1 0 1
10 10 10 10 10
0
Phase (deg)
−90
−120
−180
−270 −3 −2 −1 0 1
10 10 10 10 10
40
20
−20
−40
−60 −3 −2 −1 0 1
10 10 10 10 10
0
Phase (deg)
−90
−120
−180
−270 −3 −2 −1 0 1
10 10 10 10 10
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–12
5.4: ]Phase-lead compensation
θm
20 log10(a0 )
At this location, ,
ωw p
|D( jωwm )| = a0 .
ωw0
■ Note that lead controller decreases phase near crossover.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–13
Phase-lead design method (Bode)
D(w) = 40
b1 w + 1 20
1.701w + 1 0
= −20
0.2387w + 1 −40
D(z) = . 10 10 10 10
z − 0.8106
90
■
0
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–15
Blue: Plant; Red: Lead; Green: Lag
60
Magnitude (dB)
40
20
−40
examples from an −60 −3 −2 −1 0 1
10 10 10 10 10
open-loop perspective.
−90
■ Phase-lead has larger
Phase (deg)
−120
bandwidth.
−180
−270 −3 −2 −1 0 1
10 10 10 10 10
−60 −1
Again, phase-lead has
0 1
■ 10 10 10
bandwidth or large 1
high-frequency gain.
0.5
0
0 2 4 6 8 10 12 14 16 18
Time (sec.)
■ This may magnify effects due to sensor noise, and accentuate
unmodeled high-frequency dynamics.
■ One possible solution is to add a pole to D(w) at high frequency (so
not to change PM, but to reduce high-frequency gain).
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–16
5.5: Lead/lag tradeoffs; other compensators
■ In summary, some possible advantages of phase-lag compensation
are:
1. The low-frequency characteristics are maintained or improved.
2. The stability margins are improved.
3. The bandwidth is reduced, which is an advantage if high-frequency noise is a
problem. Also, for other reasons, reduced bandwidth may be an advantage.
Lag-Lead Compensation
■ System specifications cannot always be achieved using a first-order
(lead or lag) compensator.
■ For example, low steady-state error may give very large bandwidth if
a lead compensator is used.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–17
■ One option is to cascade lag and lead filters.
Mag Phase
PID compensation
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–18
■ Integrator term improves steady-state performance.
■ Derivative term improves stability and PM.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–19
5.6: Root-locus design
Phase-lag controller
■ Note D(z) has unity dc-gain and K d < 1. We place the pole near
(very near) z = 1 and the zero a little to the left of the pole.
■ Add the lag pole and zero very close to z = 1. The two poles and zero
are so close together, they behave almost like a single pole. The
locus is unchanged, except around z = 1.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–20
z0
z a′
z3
z1 z2
z̄ a′
zp
0 12 3
Expanded scale
■ But, consider the gain K c to get poles at z a′ and z ′a . The compensator
1 − zp
gain K d = < 1.
1 − z0
■ The uncompensated gain is the gain to put poles at z and z without
a a
D(z).
|z a − z 2||z a − z 3|
Ku = .
|z a − z 1|
■ The compensated gain is
|z a′ − z p ||z a′ − z 2||z a′ − z 3 |
Kc =
K d |z a′ − z 0||z a′ − z 1|
|z a − z 2||z a − z 3|
≈
K d |z a − z 1|
Ku
= > Ku.
Kd
■ Therefore, the lag compensator allows us to use larger gain for the
same transient response and hence steady-state error is improved.
3. Compute K d = K u /K c .
4. Choose compensator pole location close to z = 1.
5. The compensator zero is
1 − zp
z0 = 1 − .
Kd
6. Iterate (if necessary) to perfection (choosing slightly different pole
location).
Phase-lead controller
K c D(z)G(z)|z=zb = −1
zb za
z3
z1 zp
z̄ b z̄ a
z0 = z2
Pole-zero Cancellation
■ Can it occur?
If our zero is too far left If our zero is too far right
z3 z3
zp z0 z2 zp z2 z0
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–23
5.7: Numeric design of PID controllers
u[k] = u[k − 1] +
#( ) ( ) $
T TD 2TD TD
K 1+ + e[k] − 1 + e[k − 1] + e[k − 2]
TI T T T
or,
u[k] = u[k − 1] + q0 e[k] + q1 e[k − 1] + q2 e[k − 2]
where q0 , q1, and q2 are constants.
■ Different sets of {q0 , q1 , q2 } give different performance.
■ Can select a set of parameters to satisfy some design specifications.
■ Some types of design spec:
4 4
IAE : J = |e[k]| ISE : J= |e[k]|2.
k k
4
ITAE : J= k|e[k]|
k
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–24
∂J J (q + δq) − J (q)
3. Estimate the slope: ≈ .
∂q δq
( )
∂J
4. Update parameters: q ← q − γ .
∂q
5. Repeat from (3) until convergence.
■ Note that update is in negative direction of gradient.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–26
for i=1:maxiter,
d=tf([q0+dq q1 q2],[1 -1 0],-1);
t=feedback(d*g,1); s=step(t,T+1); J1=wgtfn*abs(1-s);
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–27
p1=(J1-J(i))/dq; p2=(J2-J(i))/dq; p3=(J3-J(i))/dq;
]
Delta=sqrt(p1*p1+p2*p2+p3*p3);
■ Optimization progressing:
PID Step Responses Learning Curve
300
1.2
250
Amplitude
1
200
0.8
J
150
0.6
100
0.4
50
0.2
0 0
0 2 4 6 8 10 12 14 16 18 20 0 50 100 150 200 250 300 350 400
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–28
■ Don’t need complex model!
■ Tuning criteria: Ripple in impulse response decays to 25% of its value
in one period of ripple
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–29
5.8: Direct design method of Ragazzini
■ An interesting design method computes D(z) directly.
■ Note: The closed-loop transfer function is
D(z)G(z)
T (z) =
1 + D(z)G(z)
(1 + D(z)G(z))T (z) = D(z)G(z)
Causality:
■ If D(z) is causal, then it has no poles at ∞. D(∞) must be finite or
zero. Therefore, T (z) must have enough zeros at ∞ to cancel out
1
poles at ∞ from .
G(z)
• T (z) must have a zero at infinity of the same order as the order of
the zero of G(z) at infinity.
■ Put another way, the delay in T (z) must be at least as long as the
delay in G(z).
Stability:
■ If G(z) has unstable poles, they cannot be canceled directly by D(z)
or there will be trouble!
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–30
■ The characteristic equation of the closed-loop system is
1 + D(z)G(z) = 0
c(z) b(z)
Let D(z) = and G(z) = . Then
d(z) a(z)
c(z) b(z)
1+ = 0.
d(z) a(z)
■ Let the unstable pole in G(z) be at α, so a(z) = (z − α)a(z). To cancel
(z − α)[a(z)d(z) + c(z)b(z)] = 0.
■ The unstable root is still a factor of the characteristic equation! (oops).
■ Unstable poles must be canceled via the feedback mechanism. This
imposes constraints on T (z).
• [1 − T (z)] must contain as zeros all the poles of G(z) outside the
unit circle.
• T (z) must contain as zeros all the zeros of G(z) outside the unit
circle.
Steady-state accuracy:
■ Assume that the system is to be of type-I with velocity constant K v .
■ Note:
E(z) = [1 − T (z)]R(z).
■ We must have zero steady-state error to a step. Therefore
z
lim (z − 1)[1 − T (z)] =0
z→1 (z − 1)
or T (1) = 1.
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–31
■ Must have 1/K v error to a unit ramp. Therefore
Tz 1
lim (z − 1)[1 − T (z)] = .
z→1 (z − 1)2 Kv
Use l’hôpital’s rule to evaluate:
■
"
dT (z) "" 1
−T = .
dz "z=1 K v
# $
z + 0.9672
EXAMPLE : Consider T = 1 s, G(z) = 0.0484 .
(z − 1)(z − 0.9048)
■ Want T (z) to approximate s 2 + s + 1 = 0, or, converting to z-plane,
z 2 − 0.7859z + 0.3679 = 0.
■ So,
b0 + b1 z −1 + b2 z −2 + · · ·
T (z) = .
1 − 0.7859z −1 + 0.3679z −2
■ Causality requires T (z)|
z=∞ = 0 because G(∞) = 0, so b0 = 0.
■ Note that G(z) has no poles outside the unit circle, so don’t need to
worry about that.
■ Zero steady-state error to a step requires
b1 + b2 + · · ·
T (1) = = 1.
1 − 0.7859 + 0.3679
Therefore,
b1 + b2 + · · · = 0.5820.
■ Steady-state error of 1/K v to a unit ramp (let K v = 1)
"
1 dT (z) ""
=−
Kv dz "z=1
"
dT (z) ""
1=+
dz −1 "z=1
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett
ECE4540/5540, DIGITAL CONTROLLER DESIGN 5–32
(0.5820)[b1 + 2b2 + 3b3 + · · · ] − (0.5820)[−0.7859 + 0.3679(2)]
= ,
(0.5820)2
or, b1 + 2b2 + 3b3 + · · · = 0.5318.
■ So, we have two constraints. We can satisfy these constraints with
just b1 and b2:
Step Response
1.5
b1 = 0.6321
0.5
b2 = −0.0501.
0
■ Then,
−0.5
0.6321z − 0.0501
T (z) = 2 . −1
z − 0.7859z + 0.3679 0 2 4 6 8 10 12 14 16 18
Lecture notes prepared by Dr. Gregory L. Plett. Copyright © 2017, 2009, 2004, 2002, 2001, 1999, Gregory L. Plett