Design Tools

Root Locus

Figure 7: Feedback Controller
Suppose we choose to control the plant by scaling our error signal by
KK
and then put the controller on the feedback path like in Figure 7. It would be helpful for us to understand how the closed loop poles of the feedback system change as
KK
is varied over the range
[0,)[0, \infty)
. First, suppose
G(s)=NGDGH(s)=NHDH.G(s) = \frac{N_G}{D_G} \qquad H(s) = \frac{N_H}{D_H}.
Then the transfer function of the overall system is
Y(s)R(s)=kG(s)1+kG(s)H(s)=KNGDHDGDH+KNGNH.\frac{Y(s)}{R(s)} = \frac{kG(s)}{1+kG(s)H(s)} = \frac{KN_GD_H}{D_GD_H+KN_GN_H}.
The closed loop poles are the roots of the denominator polynomial (called the characteristic polynomial).
Δ(s)=DGDH+KNGNH=1+KNGNHDGDH=0(14)\Delta(s) = D_GD_H+KN_GN_H = 1 + K\frac{N_GN_H}{D_GD_H} = 0 \qquad (14)
Clearly, no matter what
KK
is, the poles must satisfy two criteria.
kNGNHDGDH=1KNGNHDGDH=(2r+1)π,rZ(15)\left|k\frac{N_GN_H}{D_GD_H}\right| = 1 \qquad \angle K\frac{N_GN_H}{D_GD_H} = (2r+1)\pi,\quad r\in\mathbb{Z} \qquad (15)

Definition 30

The root locus is the set of all
sCs\in\mathbb{C}
such that
K\exists K
where
Δ(s)=0\Delta(s) = 0
.
All points on the root locus must satisfy Equation 15.

Root Locus Rules

First, notice that the roots of
Δ(s)\Delta(s)
are the closed loop poles of the system.

Theorem 6

The number of branches in the root locus is equal to the number of closed loop poles where a branch is the path traveled by a single pole as
KK
is varied.
Next, because we are dealing with real systems, complex poles must have a corresponding conjugate pole.

Theorem 7

The root locus is symmetric about the real axis.
Going back to Equation 15, we can alternatively express the angle criteria as
Ki=1m(szi)i=1n(spi)=i=1m(szi)i=1n(spi)\angle K \frac{\prod_{i=1}^m (s-z_i)}{\prod_{i=1}^n (s-p_i)} = \sum_{i=1}^m \angle (s-z_i) - \sum_{i=1}^n \angle (s-p_i)
where
ziz_i
are open loop zeros and
pip_i
are open loop poles. If we restrict ourselves to the real axis, then given a closed loop pole
ss
, each
zi>sz_i > s
will contribute
180-180
˚and each
pi>sp_i > s
will contribute
180180
˚while the
zi,pi<sz_i, p_i < s
will contribute
00
˚.

Theorem 8

The real axis segments of the root locus are to the left of an odd number of open loop poles and zeros.
When
KK
is small, then the poles look like the open loop poles. As
KK
grows very large, then the poles look like the open loop zeros.

Theorem 9

The root locus begins at the open loop poles and ends at the open loop zeros
If there are more poles (
nn
) then zeros (
mm
), then not all of the poles will end up at a zero in the limit. This means that
nmn-m
poles must branch off to infinity.
limskH(s)G(s)limsksmsn=(2l+1)π    snm=rejθ(nm)    θ=(2l+1)πnm\lim_{|s|\to\infty} kH(s)G(s) \approx \lim_{|s|\to\infty}k\frac{s^m}{s^n} = (2l+1)\pi \implies s^{n-m} = re^{j\theta(n-m)} \implies \theta = \frac{(2l+1)\pi}{n-m}

Theorem 10

In the limit, poles will asymptotically approach
θ=(2l+1)πnm,\theta = \frac{-(2l+1)\pi}{n-m},
and the real axis intercept of these asymptotes is
σ=i=1mpii=1nzinm.\sigma = \frac{\sum_{i=1}^m p_i - \sum_{i=1}^n z_i}{n-m}.
If there is a gap between real-axis segments, in order to end at an open loop zero, poles must sometimes break away from the real axis and then re-enter.

Theorem 11

The break-in and break-away points satisfy the equation
i=1n1σ+pi=i=1m1σ+zi.\sum_{i=1}^n \frac{1}{\sigma + p_i} = \sum_{i=1}^m \frac{1}{\sigma+z_i}.
Since the angles can travel asymptotically, they sometimes cross the imaginary axis.

Theorem 12

The root locus intersects the imaginary axis at points where
i=1m(jω+zi)i=1n(jω+pi)=(2l+1)π.\sum_{i=1}^m \angle (j\omega + z_i) - \sum_{i=1}^n \angle (j\omega + p_i) = (2l+1)\pi.
Similarly, if the poles begin at complex locations, then we can find their angle of departure.

Theorem 13

Poles beginning at complex locations will depart at an angle
θ\theta
where
i=1m(p+zi)i=1n(p+pi)=(2l+1)π\sum_{i=1}^m (p + z_i) - \sum_{i=1}^n (p + p_i) = (2l+1)\pi
Finally, since
KG(s)H(s)=1|KG(s)H(s)|=1
, we can determine
KK
if we know a particular pole location.

Theorem 14

Given a pole location
pp
,
K=1G(p)H(p).K = \left|\frac{1}{G(p)H(p)}\right|.

Generalized Root Locus

Because the Root Locus rules are derived from the characteristic polynomial
Δ(s)\Delta(s)
of the closed-loop system, they can be used not just to find how the closed loop poles vary with a gain, but also to find how the closed loop poles vary with an open loop pole. Suppose that
G(s)=NG(s+k)i(s+pi)G(s) = \frac{N_G}{(s+k)\prod_i(s+p_i)}
and
H(s)=1H(s) = 1
. Then
Δ(s)=(s+k)i(s+pi)+NG=1+ki(s+pi)NG+si(s+pi)=0\Delta(s) = (s+k)\prod_i(s+p_i) + N_G = 1 + k\frac{\prod_i (s+p_i) }{N_G + s\prod_i(s+p_i)} = 0
Thus if we apply the root locus rules to the open loop system
Y(s)=i(s+pi)NG+si(s+pi)Y(s) = \frac{\prod_i (s+p_i) }{N_G + s\prod_i(s+p_i)}
then we can capture the behavior of the closed loop poles of the original system as we vary the location of the open loop pole we control.

Bode Plots

Definition 31

A Bode plot is a plot of the magnitude and phase of the frequency response with the magnitude on a log-log scale and the phase on a semi-log scale.
If we write the frequency response in polar form,
G(jω)=K(jω)Nz0(jω)Np0i=0n(1+jωωzi)k=0m(1+jωωpk)=Kejπ2(Nz0Np0)i=0nrzik=0mrpkej(i=0nzik=0mpk).G(j\omega) = K \frac{(j\omega)^{N_{z0}}}{(j\omega)^{N_{p0}}}\frac{\prod_{i=0}^{n}{(1+\frac{j\omega}{\omega_{zi}})}}{\prod_{k=0}^{m}{(1+\frac{j\omega}{\omega_{pk}})}} = Ke^{j\frac{\pi}{2}(N_{z0}-N_{p0})} \frac{\prod_{i=0}^{n}{r_{zi}}}{\prod_{k=0}^{m}{r_{pk}}} e^{j(\sum_{i=0}^{n}{z_i} - \sum_{k=0}^{m}{p_k})}.
Each
rr
is the magnitude of a factor
1+jωωn1 + \frac{j\omega}{\omega_n}
where
ωn\omega_n
is either a zero or a pole,
zi,pkz_i, p_k
are the phases of each factor, and
Nz0,Np0N_{z0}, N_{p0}
are the number of zeros and poles at 0. By writing
G(ω)G(\omega)
this way, it is clear that
G(ω)=Ki=0nrzik=0mrpk.|G(\omega)| = K \frac{\prod_{i=0}^{n}{r_{zi}}}{\prod_{k=0}^{m}{r_{pk}}}.
If we take the convert this to decibels, we get
20log(G(ω))=20log(K)+20i=0nlog(rzi)20k=0mlog(rpk)20\log(|G(\omega)|) = 20\log(K) + 20\sum_{i=0}^{n}{\log(r_{zi})} - 20\sum_{k=0}^{m}{\log(r_{pk})}
Likewise, the exponential form of
G(ω)G(\omega)
tells us that
G(ω)=π2(Nz0Np0)+(i=0nzik=0mpk).\angle G(\omega) = \frac{\pi}{2}(N_{z0}-N_{p0})+ (\sum_{i=0}^{n}{z_i} - \sum_{k=0}^{m}{p_k}).
Each
pkp_k
and
ziz_i
are of the form
1+jωωn1 + \frac{j\omega}{\omega_n}
. If
ω>10ωn\omega > 10\omega_n
, then
pk,ziωnp_k, z_i \approx \omega_n
. Likewise, if
ω<ωn10\omega < \frac{\omega_n}{10}
,
pk,zi1p_k, z_i \approx 1
. This means we can approximate bode plots using piece-wise linear segments using the following rules.
  1. 1.
    Each zero
    ωz\omega_z
    contributes
    20dB/dec20\text{dB/dec}
    to magnitude starting at
    ωz\omega_z
    .
  2. 2.
    Each pole
    ωp\omega_p
    contributes
    20dB/dec-20\text{dB/dec}
    to magnitude starting at
    ωp\omega_p
    .
  3. 3.
    Each zero
    ωz\omega_z
    contributes
    45˚/dec45\text{˚/dec}
    to phase starting at
    ωz10\frac{\omega_z}{10}
    and ending at
    10ωz10\omega_z
    .
  4. 4.
    Each pole
    ωp\omega_p
    contributes
    45˚/dec-45\text{˚/dec}
    to phase starting at
    ωp10\frac{\omega_p}{10}
    and ending at
    10ωp10\omega_p
    .
One useful way to use bode plots is to approximate the gain and phase margin because they can easily be seen visually from the plots themselves.

Nyquist Criteria

Figure 8: Feedback Controller
Consider the basic feedback system in Figure 8 and suppose that
G(s)=NGDGH(s)=NHDH.G(s) = \frac{N_G}{D_G} \qquad H(s) = \frac{N_H}{D_H}.
Then the feedback transfer function is
Y(s)R(s)=G1+G(s)H(s)=NGDHDGDH+NGNH.\frac{Y(s)}{R(s)} = \frac{G}{1+G(s)H(s)} = \frac{N_GD_H}{D_GD_H + N_GN_H}.
If we focus specifically on the poles of the system, then we see
1+GH=1+NGNHDGDH=NGNH+DGDHDGDH1+GH = 1 + \frac{N_GN_H}{D_GD_H} = \frac{N_GN_H+D_GD_H}{D_GD_H}
From here, we can see that the poles of
1+GH1+GH
are the poles of the open loop system whereas the zeros of
1+GH1+GH
are the poles of the closed loop system.

Definition 32

A contour is a closed loop set of points in the complex plane.

Definition 33

A mapping is a function that takes a point in the complex plane and transforms it into another point in the complex plane.

Definition 34

The Nyquist Criterion says that if
NN
is the number of counter-clockwise encirclements of zero of a contour mapped by a transfer function
F(s)F(s)
,
PP
is the number of poles in the contour, and
ZZ
is the number of zeros in the contour, then
N=PZ.(16)N = P - Z. \qquad (16)
Thus, given an open loop transfer function
GHGH
, we can determine its stability. We already know
PP
from the poles of the open loop system, and we can find
NN
by defining a contour which encapsulates the right half plane and use Equation 16 to find
ZZ
. However, remember that we need to find the RHP poles of
1+GH1+GH
. This shifts our mapping to the right by
11
, so we can instead just let
NN
be the number of encirclements of
1-1
. Once we have
ZZ
, we know how many RHP poles the closed loop transfer function will have because they are the same as the RHP zeros of the
1+GH1+GH
. We can extend the Nyquist Criterion to finding a range of gains that would make the open-loop system
kG(s)H(s)kG(s)H(s)
stable by looking for the encirclements of
1K\frac{-1}{K}
.
The contour which is easiest to find the mapping for is the one which starts at the origin, travels up the imaginary axis, encapsulates the right half plane, and then travels back up the imaginary axis back to the origin in a counter-clockwise fasion. This is the easiest because while the contour is on the imaginary axis, the mapping is just the frequency response of the system, and we can use the Bode plot of the system in order to draw the contour because each point on the mapping is a complex vector, and the bode plot can give us both the magnitude and angle of that vector.