EE352 Spring 2025
3 Steady-state compensation
Problem: Assuming the transient performance is satisfactory, Determine the compensator Gc (s)
such that the control system satisfies the steady-state performance specification without worsening the
transient performance substantially.
As previously seen, the steady-state performance is expressed as a constraint on the steady-state
error ess for some input signal type (step, ramps, ...). Designing es s involves either:
1. designing a finite (not zero) steady-state error( increase the error constant by a finite amount)
2. designing a zero steady-state error (increase the system type number N)
Example 1: A unity feedback CS has a plant Gs:
2
G(s) =
s(s + 2)
Problem: Without affecting the transient performance substantially (P.O < 15%). design a
cascade compensator Gc (s) such that ess to a ramp inputs is no more than 10%
1- Analyze the uncompensated system :
G(s) 2
Tu (s) = = 2
1 + G(s) s + 2s + 2
The system is 2nd order,closed-loop poles are pd , p∗d = −1 ± j(under-damped) ⇒:
√
ζ = 2/2 ⇒ P.O = 4.32% < 15% ✓ , Ts ≃ 4s
The system is Unity-feedback, so the steady-state error for a ramp input is:
A
kv = lim sG(s) = 1 ⇒ es s = = A(100%) ✗
s→0 kv
.
To achieve the desired steady-state error, the new velocity constant kv′ must be:
ess ≤ 0.1A ⇒ kv′ ≥ 10 ⇒ The system needs compensation
2- Select compensator type :
The Proportional compensator :
As a 1st attempt, we select the simple proportional (gain or static) compensator:
Gc (s) = Kc = KP
kv′ = 10 = lim sGc (s)G(s) = KP kv = KP = 10
s→0
However, we can see from the root locus of the system (K = KP , F(s) = G(s)) that as K increase the
closed-loop poles moves along the vertical asymptotes which substantially increase the overshoot.
At KP = 10;
20
T (s) = ⇒ the closed loop poles are − 1 ± 4.36j ⇒ P.O = 48.5%
s2 + 2s + 20
Dr.Guernane 74
EE352 Spring 2025
rs
jω
σ
−2
rs
The (static) proportional controller does not solve this problem, we need a dynamic com-
pensator.
The Phase Lag compensator :
Consider the following dynamic compensator:
s − zc
Gc (s) = Kc zc < pc < 0
s − pc
Because zc < pc the phase of the compensator θLag (s) :
θLag (s) = ∠Gc (s) = ∠(s − zc ) − ∠(z − pc ) = θz − θp ≤ 0 ∀s ∈ C
The phase Lag name is due to the fact that this system has negative phase at all frequencies
thus, its output will always lag it input.
Idea: Since zc < pc < 0 ⇒ |zc | > |pc | and assuming Kc ≥ 1:
zc
Gc (0) = Kc > 1 ⇒ The Lag will always improve the error constant
pc
3- Tuning the compensator (Kc , zc , pc ) :
Tuning to not reshape the RL
1. Select Kc
Since, the current CL dominant pair(−1 ± j) already satisfies the desired TP, We should not
change it (move it up the RL) substantially ⇒ Kc = 1 ⇒
zc
Gc (0) = ≥ 10
pc
Dr.Guernane 75
EE352 Spring 2025
2. Select zc
For instance, for kv′ = 10 ⇒ zc /pc = 10. Using the RL phase formula, in order for pd =
1 − j to remain(approximately) –after adding the Lag– a closed loop pole ⇒ ∠F(pd ) =
∠Gc (pd )G(pd ) ≃ (2k + 1)180
∠Gc (pd )G(pd ) = θLag (pd ) + ∠G(pd ) = θLag (pd ) − 180 ⇒ θLag (pd ) ≃ 0
If θLag (pd ) is very small then the new closed loop pole will be very close to pd ⇒ Should not
reshape the RL
Question how to select pc , zc such that their ratio is 10 and the angle θLag (pd ) is very small.
As a rule of thumb θLag (pd ) > −5
Answer they should be placed closer to the origin s = 0. see figure below:
jω
θz
θp
θ2 θ1
−1 z c pc σ
−2
Notice: Because of this, the general effect of the Lag is to push the RL slightly to the right.
This can be seen from the new asymptotes crossing point σa′
pc − zc
σa′ = σa + > σa
n−m
Let zc = −0.1
3. Compute pc
zc
pc = = −0.01
10
θLag (pd ) = ∠(1 − j + 0.1) − ∠(−1 + j + 0.01) = −2.7◦
Dr.Guernane 76
EE352 Spring 2025
s + 0.1
Gc (s) =
s + 0.01
The compensated RL is shown below. To the right the RL is unchanged from the CL dominant
poles pair(−1 ± j) perspective. These are shown as blue squares. Zooming in toward the
origin reveals the tiny change in the RL due to the lag, the third (very slow and most
dominant) CL pole is shown, fortunately it is very close the zc (also very slow), Which should
cancel a great deal of its effect.
jω jω
rs j
0.1j
Zoom-in
rs
σ σ
−2 −0.1 pc
rs
−0.1j
−j
4- Simulate the compensated system and fix if needed :
The closed-loop TF is now third order.
Gc (s)G(s) 2(s + 0.1)
Tc (s) = =
1 + Gc (s)G(s) (s + 0.1105)(s2 + 1.9s + 1.81)
Using Matlab: P.O = 13.1% < 15% ✓
Notice:
1. The CL complex pair pole −0.95 ± 0.95j is very close the original one −1 ± j, However PO is
substantially higher due to the slow zero at −0.1
2. The unit-ramp responses are shown below (right). To the Left is the unit-step response of the
Lag-compensated system. It reveals that the settling time is negatively affected(Ts = 16sec),
this "slow tail" response is due to the third (very slow) CL pole not completely eliminated.
Dr.Guernane 77
EE352 Spring 2025
20 unit-ramp input
Tu (s) ramp response
Tc (s) ramp response
15
1
10
0
0 0 5 10 15 20
0 5 10 15 20 25
Example 2: Rework the previous problem, but now it is desirable that (ramp) ess = 0.
2- Select the compensator type :
In order to achieve 0 ess for a ramp, the finite velocity error constant must become infinity, (or
we need to raise the system type from 1 to 2).
The Proportional and Lag compensators cannot be used because they do not increase the system
type number. In other words, they only increase the error constant (here kv ) by a finite amount
while we need it to be infinity ⇒ need an integrator or pc = 0.
The Proportional plus Integral (PI) compensator :
In the Lag compensator if (pc = 0)
s − zc KI 1
Gc (s) = Kc = KP + = KP 1 +
s s τi s
Is called PI controller. Unlike the Lag:
1. it raises the system type number N by one which also means:
2. The finite error constant is increase by an infinite amount.
3- Tuning the compensator (Kc and zc ) :
Tuning to not reshape the RL
1. Select Kc = KP : same as for Lag
Kc = 1
2. Select zc : same as before
zc = −0.1
θPI (pd ) = θzc − θ0 (pd ) = −3◦
s + 0.1 0.1
Gc (s) = =1+
s s
The RL of the PI-compensated system is similar to that of the Lag-compensated
Dr.Guernane 78
EE352 Spring 2025
4- Simulate the compensated system and fix if needed :
The compensated system will also be third order:
s + 0.1
Tc (s) = 2
(s + 0.112)(s2 + 1.888s + 1.789)
The complex poles are −0.94 ± 0.95j, and the third pole −0.112 is almost canceled by the zero at
−0.1
Using Matlab: PO = 14.2% < 15% ✓
3.0.1 Physical realization of the LAG/PI compensators
Here are Two implementation of the Lag: up(passive), bottom(active with R1 C1 < R2 C2 ):
R1
+ +
R2
vi (t) vo (t)
C
−.. −
1. Determine the TF in each one.
2. Can you implement the active Lag with one Op-amp?
An example op-amp circuit realization of the PI is given below:
1. Determine the TF?
2. Can you implement it with one Op-amp?
Dr.Guernane 79
EE352 Spring 2025
Summary:
• The proportional, Lag and PI compensator always improve the steady-state error (assuming
Kc ≥ 1.)
• The proportional compensator improves ess by a finite amount by increasing the correspond-
ing error constant but at the same time changing the Dominant CL poles.
• The Lag compensator improves ess by a finite amount by increasing the corresponding error
constant Without necessarily changing the dominant CL poles.
• The PI compensator improves ess by an infinite amount by increasing the corresponding
error constant to infinity, Without necessarily changing the dominant CL poles.
• Both P and Lag do not change the system type number N, while the PI increases it by 1.
• For type 0 systems, the Lag/PI zero should be selected as high (fast) from 0 as possible, even
if this reshapes RL to the right. If the TP cannot be achieved then PD/Lead should be added
(or simply combine them for PID).
• Lag/PI are not practically used for type 2 or higher.
• The Lag is not practically used for type 0 systems.
Dr.Guernane 80