Stability in Classical Control

We recently encountered some exam problems where the Bode plot of the system looked normal, but the root locus plot was telling us that the system was actually unstable. I wanted to understand in more detail what a stable system was, and why the Bode plot and the root locus plot could tell us two very different things. First I will describe some of the basic concepts of stability, and then I will introduce a new tool, the Nyquist plot, which helps us address the mismatch between Bode and root locus plots.

There are many different definitions of stability. One term I hear frequently and wanted to quickly define was BIBO stability: bounded input, bounded output stability. Bounded input bounded output stability literally means that neither the input nor the output goes to infinity [1]. You can think of stability as meaning that your system’s response decays over time - instability implies the opposite is true, that a finite input will cause your system to respond with increasing energy over time, leading to an unstable, uncontrollable system. Note that it is possible to be neutrally stable, where your system has an infinite, unchanging response (imagine a sinusoid at constant frequency and amplitude). Generally control engineers don’t like to be neutrally stable, because any small perturbation in the plant could drive the system into an unstable regime.

This brings us to the concept of stability margins. Even if your system is stable (not neutrally stable), it can still be possible for it to become unstable if you have not modeled your system correctly and there are unforeseen variations in parameters [1]. To avoid this, control engineers like to build in a safety margin - they like to show that the system will respond in a stable manner even if the model of the plant is not accurate to some degree. Stability margins ensure that if there are small (and unavoidable) variations in your system, you will still be able to operate in the stable regime because you have margins built in. But too much stability can be bad, because it will mean that you cannot get the system to respond to command inputs, just as it won’t respond to disturbance inputs [1]. I will write a more detailed post on stability margins, but for now I just want to say that there are rules of thumb that engineers use to design in a certain amount of stability margin into their controller designs.

Let’s switch gears and talk about some of our classical control analysis tools for a minute. The root locus plot and Bode plot are both based on the open loop poles and zeros of the system [2]. Why do we do that? After all, the closed loop transfer function includes the system error signal; the open loop transfer function does not, it only considers the forward path. We check the stability of the open loop by looking at the roots of the characteristic equation and checking that they are in the left half plane. (The characteristic equation is the denominator of the transfer function.) We could do the same thing for a closed loop system by rewriting the transfer function to include the feedback loop. Then we could be sure that our closed loop system is stable.

But we never actually check the closed loop for stability [2]! Why is this? It’s because checking the closed loop poles would require finding the roots of 1 + C(s)G(s), instead of checking C(s)G(s), and it is very difficult to find these roots without a computer [2]! (Remember, classical control theory was mainly developed in the 1930s, before computers were commonly in use.) Also, it is hard to figure out how to design your controller C(s) to make 1 + C(s)G(s) stable - it is much preferable to look at C(s)G(s) instead [2]. So all of our classical control stability tools (Bode, root locus, Routh-Hurwitz) are designed to work with the open loop transfer function.

There’s another useful classical control tool that we use to check stability, which I haven’t mentioned yet. The Nyquist plot is useful when you have a high order system and you don’t want to calculate all of your poles and zeros [2]. Presumably you could experimentally obtain the Bode plot and then use it to produce the Nyquist plot from which you could determine the stability of the system, but you can also mathematically derive the Nyquist plot and draw conclusions about your system stability from that plot alone. Today I will give an overview of the theory behind the Nyquist plot, and in a future post I will go into the details of drawing it.

Cauchy’s argument principle says the transfer function is a mapping from one plane to another [2]. And if you encircle a pole or zero with your contour, it results in a 360 rotation in your destination plane [2]. So if we draw a contour about the right half plane (RHP) and see a 360 degree rotation in the destination plane, it indicates that there is one more pole than zeros or one more zero than poles in the RHP [2].

The Nyquist contour is a specific contour in the s-plane which encircles the entire right half plane (excluding any poles or zeros lying on the imaginary axis). The Nyquist contour produces the Nyquist plot in a different plane, sometimes called the w-plane or the GH-plane [2],[5]. If we wanted to check the stability of the closed loop system, we would need to calculate the Nyquist plot for 1 + GH which is hard [2]. But it is easy to draw the Nyquist plot for GH and then shift the plot over by -1 and look for encirclements of -1 [2]. We check for encirclements of -1 and check the directions of those encirclements. The number and direction of encirclements tells us how many MORE poles or zeros are in the RHP [2]. We can then figure out how many poles are in the RHP because the poles of the open loop and closed loop transfer functions are the same. Then we use Z = N + P to get the number of RHP zeros [2],[3]. A stable system will have no unstable closed loop zeros [4].

Nyquist plots are more reliable for determining stability of an open loop unstable system than Bode plots, which will never show instability for those types of systems. The math for a Bode plot will always work, and will allow you to draw a perfectly reasonable, stable-looking plot for an unstable system. You need to cross-check the Bode plot with the Nyquist plot to check for stability. Note that if you are obtaining your Bode plot experimentally, it will become obvious if your system is unstable because the system response will go to instability.


[1] Douglas, Brian. “Introduction to System Stability and Control.” Visited 08/15/2019.

[2] Douglas, Brian. “Nyquist Stability Criterion, Part 1.” Visited 08/15/2019.

[3] Douglas, Brian. “Nyquist Stability Criterion, Part 2.” Visited 08/15/2019.

[4] Nise, Norman S. Control Systems Engineering, 4th Ed. John Wiley & Sons, Inc. 2004.

[5] Franklin, G., Powell, J.D., Emami-Naeini, A. Feedback Control of Dynamic Systems, 6th ed. Pearson. 2009.

Written on September 9, 2019