Berkeley Notes
  • Introduction
  • EE120
    • Introduction to Signals and Systems
    • The Fourier Series
    • The Fourier Transform
    • Generalized transforms
    • Linear Time-Invariant Systems
    • Feedback Control
    • Sampling
    • Appendix
  • EE123
    • The DFT
    • Spectral Analysis
    • Sampling
    • Filtering
  • EECS126
    • Introduction to Probability
    • Random Variables and their Distributions
    • Concentration
    • Information Theory
    • Random Processes
    • Random Graphs
    • Statistical Inference
    • Estimation
  • EECS127
    • Linear Algebra
    • Fundamentals of Optimization
    • Linear Algebraic Optimization
    • Convex Optimization
    • Duality
  • EE128
    • Introduction to Control
    • Modeling Systems
    • System Performance
    • Design Tools
    • Cascade Compensation
    • State-Space Control
    • Digital Control Systems
    • Cayley-Hamilton
  • EECS225A
    • Hilbert Space Theory
    • Linear Estimation
    • Discrete Time Random Processes
    • Filtering
  • EE222
    • Real Analysis
    • Differential Geometry
    • Nonlinear System Dynamics
    • Stability of Nonlinear Systems
    • Nonlinear Feedback Control
Powered by GitBook
On this page
  • Root Locus
  • Root Locus Rules
  • Generalized Root Locus
  • Bode Plots
  • Nyquist Criteria

Was this helpful?

  1. EE128

Design Tools

PreviousSystem PerformanceNextCascade Compensation

Last updated 3 years ago

Was this helpful?

Root Locus

Suppose we choose to control the plant by scaling our error signal by KKK 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 KKK is varied over the range [0,∞)[0, \infty)[0,∞). First, suppose

G(s)=NGDGH(s)=NHDH.G(s) = \frac{N_G}{D_G} \qquad H(s) = \frac{N_H}{D_H}.G(s)=DG​NG​​H(s)=DH​NH​​.

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}.R(s)Y(s)​=1+kG(s)H(s)kG(s)​=DG​DH​+KNG​NH​KNG​DH​​.

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)Δ(s)=DG​DH​+KNG​NH​=1+KDG​DH​NG​NH​​=0(14)

Clearly, no matter what KKK is, the poles must satisfy two criteria.

∣kNGNHDGDH∣=1∠KNGNHDGDH=(2r+1)π,r∈Z(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)​kDG​DH​NG​NH​​​=1∠KDG​DH​NG​NH​​=(2r+1)π,r∈Z(15)

Definition 30

The root locus is the set of all s∈Cs\in\mathbb{C}s∈C such that ∃K\exists K∃K where Δ(s)=0\Delta(s) = 0Δ(s)=0.

All points on the root locus must satisfy Equation 15.

Root Locus Rules

First, notice that the roots of Δ(s)\Delta(s)Δ(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 KKKis 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

∠K∏i=1m(s−zi)∏i=1n(s−pi)=∑i=1m∠(s−zi)−∑i=1n∠(s−pi)\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)∠K∏i=1n​(s−pi​)∏i=1m​(s−zi​)​=∑i=1m​∠(s−zi​)−∑i=1n​∠(s−pi​)

where ziz_izi​ are open loop zeros and pip_ipi​ are open loop poles. If we restrict ourselves to the real axis, then given a closed loop pole sss, each zi>sz_i > szi​>s will contribute −180-180−180˚and each pi>sp_i > spi​>s will contribute 180180180˚while the zi,pi<sz_i, p_i < szi​,pi​<s will contribute 000˚.

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 KKK is small, then the poles look like the open loop poles. As KKK 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 (nnn) then zeros (mmm), then not all of the poles will end up at a zero in the limit. This means that n−mn-mn−m poles must branch off to infinity.

lim⁡∣s∣→∞kH(s)G(s)≈lim⁡∣s∣→∞ksmsn=(2l+1)π  ⟹  sn−m=rejθ(n−m)  ⟹  θ=(2l+1)πn−m\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}lim∣s∣→∞​kH(s)G(s)≈lim∣s∣→∞​ksnsm​=(2l+1)π⟹sn−m=rejθ(n−m)⟹θ=n−m(2l+1)π​

Theorem 10

In the limit, poles will asymptotically approach

θ=−(2l+1)πn−m,\theta = \frac{-(2l+1)\pi}{n-m},θ=n−m−(2l+1)π​,

and the real axis intercept of these asymptotes is

σ=∑i=1mpi−∑i=1nzin−m.\sigma = \frac{\sum_{i=1}^m p_i - \sum_{i=1}^n z_i}{n-m}.σ=n−m∑i=1m​pi​−∑i=1n​zi​​.

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}.∑i=1n​σ+pi​1​=∑i=1m​σ+zi​1​.

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.∑i=1m​∠(jω+zi​)−∑i=1n​∠(jω+pi​)=(2l+1)π.

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∑i=1m​(p+zi​)−∑i=1n​(p+pi​)=(2l+1)π

Finally, since ∣KG(s)H(s)∣=1|KG(s)H(s)|=1∣KG(s)H(s)∣=1, we can determine KKK if we know a particular pole location.

Theorem 14

Given a pole location ppp,

K=∣1G(p)H(p)∣.K = \left|\frac{1}{G(p)H(p)}\right|.K=​G(p)H(p)1​​.

Generalized Root Locus

Because the Root Locus rules are derived from the characteristic polynomial Δ(s)\Delta(s)Δ(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)}G(s)=(s+k)∏i​(s+pi​)NG​​ and H(s)=1H(s) = 1H(s)=1. Then

Δ(s)=(s+k)∏i(s+pi)+NG=1+k∏i(s+pi)NG+s∏i(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Δ(s)=(s+k)∏i​(s+pi​)+NG​=1+kNG​+s∏i​(s+pi​)∏i​(s+pi​)​=0

Thus if we apply the root locus rules to the open loop system

Y(s)=∏i(s+pi)NG+s∏i(s+pi)Y(s) = \frac{\prod_i (s+p_i) }{N_G + s\prod_i(s+p_i)}Y(s)=NG​+s∏i​(s+pi​)∏i​(s+pi​)​

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ω)Np0∏i=0n(1+jωωzi)∏k=0m(1+jωωpk)=Kejπ2(Nz0−Np0)∏i=0nrzi∏k=0mrpkej(∑i=0nzi−∑k=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})}.G(jω)=K(jω)Np0​(jω)Nz0​​∏k=0m​(1+ωpk​jω​)∏i=0n​(1+ωzi​jω​)​=Kej2π​(Nz0​−Np0​)∏k=0m​rpk​∏i=0n​rzi​​ej(∑i=0n​zi​−∑k=0m​pk​).

Each rrr is the magnitude of a factor 1+jωωn1 + \frac{j\omega}{\omega_n}1+ωn​jω​ where ωn\omega_nωn​ is either a zero or a pole, zi,pkz_i, p_kzi​,pk​ are the phases of each factor, and Nz0,Np0N_{z0}, N_{p0}Nz0​,Np0​ are the number of zeros and poles at 0. By writing G(ω)G(\omega)G(ω) this way, it is clear that

∣G(ω)∣=K∏i=0nrzi∏k=0mrpk.|G(\omega)| = K \frac{\prod_{i=0}^{n}{r_{zi}}}{\prod_{k=0}^{m}{r_{pk}}}.∣G(ω)∣=K∏k=0m​rpk​∏i=0n​rzi​​.

If we take the convert this to decibels, we get

20log⁡(∣G(ω)∣)=20log⁡(K)+20∑i=0nlog⁡(rzi)−20∑k=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})}20log(∣G(ω)∣)=20log(K)+20∑i=0n​log(rzi​)−20∑k=0m​log(rpk​)

Likewise, the exponential form of G(ω)G(\omega)G(ω) tells us that

∠G(ω)=π2(Nz0−Np0)+(∑i=0nzi−∑k=0mpk).\angle G(\omega) = \frac{\pi}{2}(N_{z0}-N_{p0})+ (\sum_{i=0}^{n}{z_i} - \sum_{k=0}^{m}{p_k}).∠G(ω)=2π​(Nz0​−Np0​)+(∑i=0n​zi​−∑k=0m​pk​).

Each pkp_kpk​ and ziz_izi​ are of the form 1+jωωn1 + \frac{j\omega}{\omega_n}1+ωn​jω​. If ω>10ωn\omega > 10\omega_nω>10ωn​, then pk,zi≈ωnp_k, z_i \approx \omega_npk​,zi​≈ωn​. Likewise, if ω<ωn10\omega < \frac{\omega_n}{10}ω<10ωn​​, pk,zi≈1p_k, z_i \approx 1pk​,zi​≈1. This means we can approximate bode plots using piece-wise linear segments using the following rules.

  1. Each zero ωz\omega_zωz​ contributes 20dB/dec20\text{dB/dec}20dB/dec to magnitude starting at ωz\omega_zωz​.

  2. Each pole ωp\omega_pωp​ contributes −20dB/dec-20\text{dB/dec}−20dB/dec to magnitude starting at ωp\omega_pωp​.

  3. Each zero ωz\omega_zωz​ contributes 45˚/dec45\text{˚/dec}45˚/dec to phase starting at ωz10\frac{\omega_z}{10}10ωz​​ and ending at 10ωz10\omega_z10ωz​.

  4. Each pole ωp\omega_pωp​ contributes −45˚/dec-45\text{˚/dec}−45˚/dec to phase starting at ωp10\frac{\omega_p}{10}10ωp​​ and ending at 10ωp10\omega_p10ω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

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}.G(s)=DG​NG​​H(s)=DH​NH​​.

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}.R(s)Y(s)​=1+G(s)H(s)G​=DG​DH​+NG​NH​NG​DH​​.

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}1+GH=1+DG​DH​NG​NH​​=DG​DH​NG​NH​+DG​DH​​

From here, we can see that the poles of 1+GH1+GH1+GH are the poles of the open loop system whereas the zeros of 1+GH1+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 NNN is the number of counter-clockwise encirclements of zero of a contour mapped by a transfer function F(s)F(s)F(s), PPP is the number of poles in the contour, and ZZZ is the number of zeros in the contour, then

N=P−Z.(16)N = P - Z. \qquad (16)N=P−Z.(16)

Thus, given an open loop transfer function GHGHGH, we can determine its stability. We already know PPP from the poles of the open loop system, and we can find NNN by defining a contour which encapsulates the right half plane and use Equation 16 to find ZZZ. However, remember that we need to find the RHP poles of 1+GH1+GH1+GH. This shifts our mapping to the right by 111, so we can instead just let NNN be the number of encirclements of −1-1−1. Once we have ZZZ, 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+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)kG(s)H(s) stable by looking for the encirclements of −1K\frac{-1}{K}K−1​.

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.

Figure 7: Feedback Controller
Figure 8: Feedback Controller