Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SYSTEM
PID Unfortunately, this method is unreliable. The problem is that when an added
zero does not exactly cancel the corresponding unstable pole (which is
ROOT LOCUS
always the case in real life), a part of the root locus will be trapped in the
FREQUENCY right-half plane. This causes the closed-loop response to be unstable. The
DIGITAL
Suppose we have the open-loop transfer function given below.
(1)
SIMULINK
MODELING
Create a new m-file, and enter following code. Running this m-file should
CONTROL generate the following root locus plot:.
s = tf('s');
P = 1/(3*s^2 + 2*s - 1);
rlocus(P)
http://ctms.engin.umich.edu/CTMS/index.php?aux=Extras_PZ 1/4
2/10/2018 Control Tutorials for MATLAB and Simulink - Extras: Pole-Zero Cancellation
We see that one of the open-loop poles is in the right-half plane. The
closed-loop response will then be unstable if the gain is selected such that
one of the closed-loop poles is in the right-half plane. We can make this
system stable by choosing the correct gain, but let's see if we can make the
locus above, we see that the unstable pole is in the vicinity of s = 0.3.
Delete the rlocus command, and add the following lines into your m-file to
rlocus((s - 0.3)*P)
From the new root locus you can see that the unstable pole has almost
been canceled. Now let's see what the closed-loop response looks like. Add
step(sys_cl,100)
http://ctms.engin.umich.edu/CTMS/index.php?aux=Extras_PZ 2/4
2/10/2018 Control Tutorials for MATLAB and Simulink - Extras: Pole-Zero Cancellation
The system is still unstable. The reason for this is that the zero does not
exactly cancel the unstable pole. Can we make the system stable by
moving the zero so that it's exactly on the pole? From the original transfer
function, you know that the open-loop pole is actually at 1/3. What if we put
our zero at exactly 1/3? Go back to the m-file and change the zero to 1/3 as
shown below. Rerunning the m-file will generate the root locus plot shown
below.
rlocus((s - (1/3))*P)
This time we see that the zero is right on the unstable pole (you may use
zoom command to zoom into the plot, to see that the zero is exactly on the
pole). What does the closed-loop response look like now, is it stable?
Change your m-file as shown below and run to generate the closed-loop
http://ctms.engin.umich.edu/CTMS/index.php?aux=Extras_PZ 3/4
2/10/2018 Control Tutorials for MATLAB and Simulink - Extras: Pole-Zero Cancellation
step(sys_cl,200)
It is still unstable! The response takes much longer to blow up, so we have
almost canceled the effect, but almost is not good enough when considering
stability. A system which is "almost stable" is still unstable, and its response
actuator would saturate or the plant could reach some physical limits.
Therefore, the linear model of the plant would no longer hold and you
wouldn't get the desired cancellation effect. A solution to this example can
http://ctms.engin.umich.edu/CTMS/index.php?aux=Extras_PZ 4/4