The Nyquist Stability Criterion is a unique method for determining stability
of a closed loop system. A closed loop system is stable if all of the closed
loop poles are in the left half of the s-plane. That's a very basic fact
about a system. What's peculiar is that Nyquist showed that it is possible
to get information about closed loop pole location by plotting open loop
frequency response data. Now, if you think about it, it might seem peculiar
that open loop frequency response behavior would let you glean that kind
of information about closed loop time response behavior. Yet, peculiar
as it might seem, that's the way it is, and Nyquist's result - the Nyquist
Stability Criterion - is widely used in the design and analysis of control
systems everywhere.
Here's a first goal for this lesson.
Given a feedback
control system and the Nyquist plot for the open loop system,
Determine the gain range
for which the system is stable.
Later, in other lessons, we will examine some
other questions, like this one.
Given a feedback
control system and the Nyquist plot for the open loop system,
Determine the level of
stability for a given gain. This second goal will require that we be very
good with the first goal.
Be warned, getting to the first goal will take
us a while, but the result is very powerful!
In this lesson we are going to take the following approach.
We will give an explanation
- a short derivation - of why the Nyquist stability criterion works. We'll
need that to understand some of the more peculiar cases, like poles at
the origin.
We will look at some examples
of systems of varying order, and learn how to apply the Nyquist stability
criterion.
We will learn to interpret
Bode' plots to determine how the Nyquist criterion applies.
We'll consider the question
of how stable a system is, and try to give an answer couched in terms of
the Nyquist stability criterion, and how closely it comes to not being
satisfied.
You're
going to need some understanding of why the Nyquist stability criterion
works.
There are systems that
are unstable without a control loop. Think of a rocket just after lift-off.
Without a control system the rocket would tilt and fall. Those systems
have open-loop poles in the right half of the s-plane, and controlling
them gets interesting and challenging, but by understanding Nyquist you'll
have what you need.
There are some systems
that have open-loop zeroes in the right half of the s-plane. Controlling
them is also interesting, and the Nyquist criterion is very useful there
also.
Regular old systems with
left-half plane poles also need good understanding when you control them
to tight specs.
Reflecting
on Nyquist Plots
In order
to understand the Nyquist stability criterion you need to understand what
a Nyquist plot is in as many different senses as may be possible. We already
know that a Nyquist plot is the following.
A Nyquist plot is a plot
of the magnitude of the amplitude gain and phase shift of a system for
sinusoidal inputs. Now, that definition of a Nyquist plot seems simple
enough. It's straight forward, and it tells you exactly what a Nyquist
plot is. Yet, there are other ways to look at a Nyquist plot.
A Nyquist plot is a map
of the jw-axis
in the s-plane using a transfer function, G(s), as the mapping function.
If you don't think this last sentence is in English, bear with us, because
the concept is important, and we'll try to convince you.
Let's
stop to consider this new - and different - way of looking at a frequency
response function.
Consider a transfer function,
G(s). It's a function that is defined for complex values of s, and we think
of it as defined for any s in an infinite, complex plane.
In a Nyquist plot, we
consider G(jw).
That means that a Nyquist plot is a plot that only considers those values
of s that are on the imaginary axis, that is when: s = jw.
We can think of a Nyquist
plot as a mathematical map of the imaginary axis in the s-plane. In other
words, we take values of s along the imaginary axis, plug them into G(s),
and plot the resulting values in another complex plane - the G(jw)
plane - with frequency as a parameter.
These considerations give us a different way of looking at a frequency
response function.
For almost all of the
work we will do, G(s) is a ratio of polynomials.
G(jw)
can be written as a ratio of polynomials in (jw)
or it can be written in factored form.
The factored form leads
to a unique way of viewing the frequency response function.
The
Nyquist plot can be viewed as a complex number - or vector - multiplication.
The complex numbers or vectors can be viewed in the s-plane for each factor
in the frequency response function. An individual term, (jw
- pi) can be viewed as a vector that starts at pi
and ends at s = jw.
Here's an example plot in the s-plane.
The system shown has two poles and one zero.
If the pole farthest from the origin is pn, then (jw
- pn) is the vector that starts at pn
and ends at jw.
The angle of this vector contributes negatively to G(jw) because it represents
a pole factor so it is in the denominator of the transfer function. Vectors
from zero factors - like the one shown - would contribute a positive angle
to G(jw).
In one sense, the plot of G(jw)
maps the imaginary axis into a new plane, the G(jw)
plane. You need to consider that concept, and we will start you off with
a simple map.
We're going to consider
a very simple transfer function, 1/(s + 1). Later, We'll generalize to
more complex transfer functions, but we'll use 1/(s + 1) for this example.
We're going to consider
a different contour in the s-plane - not the jw-axis,
but another, finite contour. That contour is shown below.We choose this
contour because it is finite. The jw-axis
is more difficult to start with because it is infinite in both directions.
Here's
the contour we want to start with. It's just a set of points in the s-plane,
and we're going to look at how certain things change in the s-plane as
s takes on values along this contour.
Play the clip to see how
s is going to vary.
Note - and this will be
important - there is a part of the jw-axis that is included in the set
of points.
Now,
we are going to examine a transfer function plot.
The transfer function is G(s) = 1/(s + 1).
The transfer function has a single pole at s
= -1. The pole is marked with an x.
There's a line drawn from the pole to the point
- s - on the contour.
That line is a vector representing (s + 1),
the term in the denominator of G(s).
The angle of G(s) - a complex number! - is the
negative of the angle of (s + 1). The angle of G(s) is displayed on the
clip. Check the angular change for a complete trip around.
Now, we have a question for you to answer.
For the system above how
many degree change did the angle of the transfer function undergo as s
went completely around the contour.
Make sure you have the
correct sign!
Now,
we are going to change the transfer function.
The new transfer function
is G(s) = 1/(s + 4.5).
The transfer function
has a single pole at s = -4.5. The pole is marked with an x.
For this system, try to
visualize what will happen before you play the clip.
We're going to ask you
about total angular change again, so check that now.
Now, we have a question for you to answer.
For the system above,
how many degree change did the angle of the transfer function undergo as
s went completely around the contour.
Make sure you have the
correct sign!
Now,
how about a transfer function with two poles?
The new transfer function
is G(s) = 1/(s + 1)(s + 4.5).
The transfer function
has a two poles at s = -4.5 and s = -1. The poles are marked with x's.
Visualize, then play.
Then we have the usual
question about total angular change.
Now, we have the usual question for you to answer.
For the system above,
how many degree change did the angle of the transfer function undergo as
s went completely around the contour?
Make sure you have the
correct sign!
Now,
here are some points for you to ponder.
For a single pole inside
the contour, the total angular change was -360o.
For a single pole outside
the contour, the total angular change was 0o.
For a single pole inside
the contour with another pole outside the contour, the total angular change
was -360o.
Think about why that occurs,
and to understand it better, play the last clip again.
Pick a point and measure
angles by hand to be sure you understand.
The important
observation here is the following.
The total angular change
depends upon the number of poles
the contour, -360o.
Total angular change does
not depend upon the poles outside of the contour.
We need to check the generality
of the first claim above. If we have two poles, do we get 2 x (-360o)?
Reflect on that, and we
will look at an example below.
Here's
a system with two pole inside the contour.
Do the results here confirm what you expected? Yes!
Except for the last frame
where it should be -720o, (where 0o
is repeated in the movie) the total angle goes through a change of-720o.
OK!
The system with two poles works as predicted.
How about a pole and a
zero inside the contour?
Before you go on think
about that, and make a mental prediction.
Here's
a system with one pole and one zero inside the contour.
Do the results here confirm
what you expected? We hope so!
Remember, the zero is
in the numerator of the transfer function - frequency response function
- and pole angles contribute negatively while zero angles contribute positively,
so there's some cancellation.
It's
time to summarize our conclusions to this point.
If a point, s, traverses
a closed contour, the total angular change in G(s) depends upon the number
of poles and zeroes within the contour, and does not depend upon poles
and zeros outside the contour
The examples we have used
to illustrate this point have all involved contours in which the point,
s, traversed the contour in a clockwise direction. Clearly, going counter-clockwise
would change the sign of the net angular change.
We can draw some conclusions
about the net angular change.
The net angular change
in G(s) traversing a contour in the clockwise direction is given by:
The sum is taken over
poles and zeroes enclosed within the contour, and poles and zeroes outside
the contour are ignored.
Poles and zeroes on the
contour are a subject for later discussion.
Now,
we are finally going to start moving toward the contour we really want.
We really want a contour
that encircles the entire right half of the s-plane.
We really want the contour
to include the jw-axis.
Here's a contour that
includes part of the jw-axis, and part of the right half of the s-plane.
This contour is really
a straight line and a semicircle.
Whoops! This thing encircles
the right half plane counter-clockwise
One thing we can do is to take our contour and make it bigger and bigger,
until it encloses - in the limit - the entire right half of the s-plane
(RHP). In the limit, we have the jw-axis, and an infinite radius
semicircle. When we're all done, if we evaluate G(s) along this contour,
and count total angular change, we get the number of poles in the RHP -
the number of zeroes in the RHP. Play the clip below to see how that
occurs. There's a question here as the semi-circle gets to a large
radius. Is the clip still playing? How do you know?
What
does this mean? Consider evaluating G(s) along a contour that includes
part of the jw-axis and an infinite radius semicircle.
The portion of the jw-axis
that is included in the contour produces a protion of the Nyquist plot
(or maybe a Bode' plot) if you plot the data that way.
G(s) will usually get
very small along the semicircle for typical transfer functions - as the
radius gets larger and larger. Typically, G(s) will have more poles than
zeroes, or at worst the same number of poles as zeroes.
Here's
a typical transfer function/frequency response function.
This transfer function has a pole at the
origin.
As the frequency gets large - as wgets
large - the frequency response function will approach the form: G(jw)
-> K/(wn+1-m)
for this transfer function
This is either very small
- going to zero as the frequency gets large, or:
It approaches a constant
when n + 1 = m. If there are more zeroes than poles, it's an unusual system
and we're not going to worry about it.
The constant is the same
for any angle of s, as long as s gets very large. Think about this claim!
So,
we come to this conclusion. If we plot G(s) along the jw-axis
and the radius of the semi-circle become very large, then, the resultant
plot is composed of two parts.
The Nyquist plot of G(jw)
and
A constant, probably zero.
We get this same constant for all infinite values of s, in any direction,
so we should get this constant for infinite values of frequency - w.
So, the plot of G(s) becomes
just the Nyquist plot - for all practical purposes.
Now,
we can say the following:
Plot the Nyquist
plot of G(jw).
Count the total angular
change. It will be an integral multiple of 360o. Call
that number NENC,
for number of encirclements.
Then, NENC
= #PolesRHP - #ZeroesRHP,
where #PolesRHP = the number of poles in the right half
of the s-plane (RHP), and #ZeroesRHP = the number of
zeroes in the RHP, and
You have to remember that
going around the contour in the Nyquist plot direction is traversing the
contour in a counter-clockwise direction, so zeroes will contribute negatively
to total angular change, and poles will contribute positively.
Now,
consider the transfer function of a closed loop system.
Poles of the closed loop
transfer function, Gcl(s), are solutions of: 1 + KG(s)H(s)
= 0.
In other words, closed
loop poles are zeroes of 1 + KG(s)H(s).
Poles of 1 + KG(s)H(s)
are poles of KG(s)H(s), i.e. open loop poles.
Conclusion, if you want
to determine closed loop poles in the RHP, plot 1 + KG(jw)H(jw)
and count encirclements, NENC
= #PolesRHP - #ZeroesRHP
The number of encirclements
is the difference between the number of closed loop poles and open loop
poles in the RHP.
There's
still a problem. You have to plot (1 + KG(jw)H(jw)).
There's a way to solve that problem.
Below is a plot of a transfer function which
might be KG(jw)H(jw)
for some system.
Below is a plot of (1 + KG(jw)H(jw))
for the same system.
There's a simple, expedient way of looking at this.
The second plot is the
one we care about.
We can get the second
plot just shifting the entire plot right by 1.
Alternatively, we can
imagine shifting the axes to the left by -1.
In other words:
Just plot KG(jw)H(jw).
Then look at encirclements
of -1.
Then, we can restate the Nyquist stability criterion.
Plot KG(jw)H(jw).
Note that you need to do this for all w, positive and negative!
Let NENC=
# Clockwise Encirclements of -1. Note - Clockwise!
NENC=
# Closed Loop PolesRHP- # Open Loop PolesRHP
That's it!
Applying
The Nyquist Stability Criterion
In this section, we are going to learn how to use the Nyquist stability
criterion.
We'll do that by giving
you several examples.
Some of the examples will
require us to think more deeply about the Nyquist stability criterion.
Here's one goal for this section.
Given a feedback
control system and the Nyquist plot for the open loop system,
Determine the gain range
for which the system is stable.
Here's the Nyquist plot for a system.
When we examine these systems:
We will assume that the
plot is for KG(jw)H(jw).
Do we have enough information
to apply the Nyquist criterion?
There is one thing that should bother you about
this plot and one other thing you should note.
You can't really see the
detail you need to see for high frequency. The -1 point is not apparent!
This is a complete Nyquist
plot for the Nyquist criterion. It wouldn't be complete without the
plot for negative frequency.
Here's the plot with the scale changed. Now
you can't see the entire plot, but you can see the detail you need to count
encirclements.
Now, apply the Nyquist criterion.
NENC
= # Clockwise Encirclements of -1 = 2 for this case, so there are 2 more
closed loop poles than open loop poles in the RHP.
How many open loop poles
are in the RHP?
You need to know the number
of RHP poles beforehand.
In this case, the plot
is for a system with the transfer function below, and K = H = 1. There
are zero open loop poles in the RHP.
Is the system - as described - stable?
At this point, you can see that applying the Nyquist Criterion is pretty
simple, as long as you know two items.
How many open loop poles
are in the right half of the s-plane?
How many times does the
plot encircle the -1 point?
Systems
With One or More Poles at the Origin
There are some complications that can arise with the Nyquist stability
criterion. For example, an important special case occurs when there is
a pole on the imaginary axis. Then, there is a frequency, which may be
zero frequency if the pole is at s = 0, at which the frequency response
function becomes infinite. Poles at the origin - at s = 0 - present
a problem. It's not a unique problem because the same kind of thing
happens with poles on the imaginary axis. The problem can be summarized
as follows.
A frequency response plot
- the Nyquist plot in particular - is a map of a function, G(s), for s
values that lie on the imaginary axis in the s-plane.
When there is a pole on
the imaginary axis - including a pole at s = 0 - then, G(s) becomes infinite
at that value of s.
Next,
you'll start examining how to handle that situation. We need to be able
to work with systems with poles on the imaginary axis. We may even want
to add a pole at s = 0 in order to get good SSE behavior.
Since the function G(s) goes to infinity for s = 0, we're going to rephrase
things in terms of a contour that doesn't go through the problem point,
i.e. s = 0. Here's the contour we will use.
If we have a pole at s = 0, then we will follow the contour shown above.
Play this clip to see how s moves along
the contour.
Note the direction we
have chosen for the detour around the origin.
We'll look at a particular
plot for a system with a transfer function that has one pole at s = -1,
and a pole at s = 0.
If we have a pole at s = 0, then we will follow
the contour shown above.
Play this clip to see
how G(s) changes as s moves along the contour.
For s along the semi-circular
detour, the G(s) plot moves along a circle at a large radius.
Next we'll look at the
implications of this.
This clip that show s moving along the contour,
along with the extended Nyquist plot.
Think about what happens
as the little semi-circle on the contour gets smaller.
As the radius gets smaller,
the radius on the G(s) plot gets larger, but the move always is from the
top, clockwise to the bottom.
Higher order systems will
still have a plot that moves clockwise at infinity for s = 0.
Here's a Nyquist plot
for an open-loop system (above). Is it stable? Before you answer, note
that it looks like the plot crosses the negative real axis at about -1.5.
However, we could use more detail here. (Actually, you can get a
great deal of insight and information about this system. Click
here.)
You also need to know
the number of poles in the RHP open loop to compute NENC = #
Clockwise Encirclements of -1 = # Closed Loop PolesRHP - # Open Loop PolesRHP.
Before you go on, was
the pole at s = 0 within the contour? If it was, count that as a RHP open
loop pole.
OK,
you should have figured out that the pole at s =
0 was not within the contour. The number of open loop poles
in the RHP is zero because the pole at s = 0 is counted as not being in
the RHP - i.e. within the contour enclosing the RHP.
Now, we can compute NENC
:
NENC
= # Clockwise Encirclements of -1
= # Closed Loop PolesRHP
- # Open Loop PolesRHP
= # Closed Loop PolesRHP
- 0
So, if there is an encirclement of -1, the system
is unstable.
Is the system above stable? Click on
the buttons to give your answer.
All right! The system is unstable.
Now, here is another problem for you. In this problem assume that
you have the closed loop system below, and that the frequency response
given is for G(s).
Here's the transfer function, G(s).
Determine values of Kp
for which the system is stable. Here is the Nyquist plot for the
system.
A
Short Summary
We can summarize how to apply the Nyquist stability criterion as follows.
We will modify the steps above to account for the possibility of poles
at s = 0 in the open-loop transfer function.
Plot KG(jw)H(jw).
Note that you need to do this for all w, positive and negative!
Let NENC
= # Clockwise Encirclements of -1. Note - Clockwise!
If there is a pole at
s = 0 and the plot goes to infinity for low frequencies, close the plot
by going clockwise at infinity to form a continuous plot. If there
is one pole at s = 0, then the point at infinity moves 180o
clockwise. If there are two poles, the angular change is twice that
- always clockwise.