Nyquist Stability Criterion

Updated

November 19, 2024

Nyquist stability criterion is a graphical method to check the stability of a feedback control system. Consider the following closed loop transfer function

Figure 1: A feedback control system

For simplicity, we do not write the argument \((s)\) in the discussion below and write the closed loop TF as \[ T(s) = \frac{G}{1 + GH}. \]

Observe that \(T(s)\) is stable if

Thus, we can determine the stability of \(T(s)\) if we know the number of zeros of \(1 + GH\) in the ORHP.

Now suppose \[ G(s) = \frac{N_G(s)}{D_G(s)} \quad\text{and}\quad H(s) = \frac{N_H(s)}{D_H(s)} \] Then, \[ GH = \frac{N_G N_H}{D_G D_H}. \] Hence, \[ 1 + GH = \frac{D_G D_H + N_G N_H}{D_G D_H}. \] Thus, \(1 + GH\) and \(GH\) have the same poles.

Hence, \(1 + GH\) and \(GH\) have the same number of poles in the ORHP.

We now ask the following question: If we know the number of poles of \(1 + GH\) in ORHP (e.g., by knowing the number of poles of GH in ORHP), can we fine the number of zeros of \(1 + GH\) in ORHP? If so, we can determine the stability of \(T(s)\).

It turns our that there is an answer to this question using what is called Cauchy’s Argument Principle, which we explain below.

1 Cauchy’s Argument Principle

We can think of any transfer function \(G\) as a mapping from \(\mathbb{C}\) (the set of complex numbers) to \(\mathbb{C}\).

Example 1 Consider the transfer function \[ G(s) = \frac{s+1}{s+2}. \] This is a function from \(\mathbb{C}\) to \(\mathbb{C}\) that maps every point in the “\(s\)-plane” to a point in the “\(G\)-plane”. For instance, \[ G \colon -1 + j \mapsto \frac{j}{1 + j} = \frac{j+1}{2}. \]

(a) \(s\)-plane
(b) \(G\)-plane
Figure 2: A transfer function maps every point in the \(s\)-plane to a point in the \(G\)-plane

If we exclude the poles of \(G\), then \(G\) is a continuous function. Thus, if we take any curve in the \(s\)-plane that doesn’t pass through a pole of \(G\), then \(G\) will map that to a curve in the \(G\)-plane. As an instance, Figure 3 shows how a curve in \(s\)-plane gets mapped to a curve in the \(G\)-plane for Example 1

Figure 3: A curve in \(s\)-plane for Example 1

A curve which starts and ends at the same point is called a contour. So if we take a contour in \(s\)-plane that doesn’t pass through a pole of \(G\), then \(G\) will map that contour to a countor in the \(G\)-plane. As an instance, Figure 4 shows how a contour in \(s\)-plane gets mapped to a countour in the \(G\)-plane for Example 1.

Figure 4: A contour in \(s\)-plane for Example 1 that does not encircle any poles or zeros

We will think of contours as having a direction and, by convention, assume that the contour in the \(s\)-plane is clockwise. Then, depending on the TF \(G\), the contour in the \(G\)-plane may be clockwise or counter-clockwise. As can be seen in Figure 4, a clockwise contour in \(s\)-plane gets mapped to a clockwise contour in the \(G\)-plane.

Another important aspect is whether the contour in the \(G\)-plane encircles the origin. Let’s consider a few other contours in the \(s\)-plane and their mappings in the \(G\)-plane in Figure 5, Figure 6, and Figure 7.

Figure 5: A contour in \(s\)-plane for Example 1 that encircles a zero
Figure 6: A contour in \(s\)-plane for Example 1 that encircles a poles and a zero
Figure 7: A contour in \(s\)-plane for Example 1 that encircles a pole

We can understand what is happening using the Cauchy’s Argument Principle.

Cauchy’s Argument Principle

\[ N = Z - P \]

where

  • \(N\): number of encirclements of origin in the \(G\)-plane in clockwise direction (encirclements in the counter-clockwise direction are counted with negative signs)

  • \(Z\): number of zeros inside the contour in the \(s\)-plane

  • \(P\): number of poles inside the contour in the \(s\)-plane

We check Cauchy’s Argument principle for the examples presented earlier.

Contour \(N\) \(Z\) \(P\)
Figure 4 0 0 0
Figure 5 1 1 0
Figure 6 0 1 1
Figure 7 -1 0 1

2 Nyquist Stability Criterion

Now suppose that we start with the contour in \(s\)-plane shown in Figure 8 and the limit as \(R \to ∞\). Then, the contour encloses the entire \(s\)-plane.

Figure 8: A contour in \(s\)-plane

The \(G\)-map of this contour traces the function \(G(s)\) for \(s\) ranging from \(0 - j ∞\) to \(0 + j ∞\) (and then a circle at infinity). This is precisely the Nyquist plot of \(G\)!

Now let’s go back to our feedback control system:

Figure 9: A feedback control system

Consider the TF \(1 + GH\). For example, for \(G(s) 1/(s+2)\) and \(H(s) = 1\), the map of \(1 + GH = 1 + 1/(s+2)\) is shown in Figure 10

Figure 10: Mapping of the contour in \(s\)-plane to the \(1 + GH\)-plane. Note that there is slight “kink” in the curve in the \(1+GH\) plane near \(1 + j0\) which corresponds to the semi-circle of radius \(R\) in the \(s\)-plane. This kink will collapse to a point as \(R \to ∞\).

Then by Cauchy’s argument principle, we have \[ \bbox[5pt,border: 1px solid] {\begin{array}{@{}c@{}} \text{Zeros of $1 + GH$} \\ \text{in ORHP} \end{array}} = \bbox[5pt,border: 1px solid] {\begin{array}{c} \text{Number of clockwise} \\ \text{encirclements of origin}\\ \text{in NP of $1 + GH$} \end{array}} + \bbox[5pt,border: 1px solid] {\begin{array}{c} \text{Number of poles} \\ \text{of $1+GH$}\\ \text{in the ORHP} \end{array}} \]

Thus, we have answered our original question. The only catch is that we need to draw the Nyquist plot of \(1 + GH\) (rather than \(GH\)). But this can be remidied easily by the observation that the Nyquist plot of \(1 + GH\) is the Nyquist plot of \(GH\) shifted by \(1\). Therefore, \[ \bbox[5pt,border: 1px solid] {\begin{array}{@{}c@{}} \text{Number of clockwise encirclements}\\ \text{of \textbf{origin} in the} \\ \text{Nyquist plot of $1 + GH$} \end{array}} = \bbox[5pt,border: 1px solid] {\begin{array}{@{}c@{}} \text{Number of clockwise encirclements}\\ \text{of \textbf{$-1 + j0$} in the} \\ \text{Nyquist plot of $GH$} \end{array}} \]

Moreover, we have already shown that \[ \bbox[5pt,border: 1px solid] {\begin{array}{@{}c@{}} \text{Zeros of $1 + GH$} \\ \text{in ORHP} \end{array}} = \bbox[5pt,border: 1px solid] {\begin{array}{@{}c@{}} \text{Number of poles} \\ \text{of $T$ in ORHP} \end{array}} \] and \[ \bbox[5pt,border: 1px solid] {\begin{array}{c} \text{Number of poles} \\ \text{of $1+GH$}\\ \text{in the ORHP} \end{array}} = \bbox[5pt,border: 1px solid] {\begin{array}{@{}c@{}} \text{Number of poles}\\ \text{of $GH$ in ORHP} \end{array}} \]

This gives us the Nyquist formula.

Nyquist formula

\[ Z = N + P \] where

  • $Z = $ number of zeros of \(1 + GH\) in ORHP (which equals poles of \(T\) in ORHP)
  • $N = $ number of clockwise encirclements of \(-1\) in the Nyquist plot of \(GH\)
  • $P = $ number of poles of \(1 + GH\) in ORHP (which equals number of poles of \(GH\) in ORHP)

Thus, we can proceed as follows:

  1. Count the number of poles of \(GH\) in the ORHP (e.g., using Routh-Hurwitz). This gives the value of \(P\)
  2. Draw the Nyquist plot of \(GH\) and count the number of clockwise encirclements of \(-1\). This gives the value of \(N\).
  3. \(Z = N + P\) gives the number of poles of \(T\) in the ORHP
  4. System is stable if and only if \(Z = 0\).

3 Examples

Example 2 Consider \[ GH(s) = \dfrac{K}{(s-2)(s+6)(s+8)} \] for different values of \(K\).

From observation we know that system \(GH\) is not stable and \(P = 1\). Thus, for stability (i.e., \(Z = 0\)), we want \(N = -1\), i.e., the Nyquist plot should have one counter-clockwise encirclements of \(-1\).

Mapping of the contour in \(s\)-plane to \(GH\) plane.

Mapping of the contour in \(s\)-plane to \(GH\) plane.

Mapping of the contour in \(s\)-plane to \(GH\) plane.

Mapping of the contour in \(s\)-plane to \(GH\) plane.

Example 3 Consider \[ GH(s) = K \dfrac{(s+1)(s+2)}{(s-3)(s-4)} \] for different values of \(K\).

From observation we not that system \(GH\) is unstable and \(P = 2\). Thus, for stability (i.e., \(Z = 0\)), we want \(N = -2\), i.e., the Nyquist plot should have two (counter-clockwise) encirclements of \(-1\).

Mapping of the contour in \(s\)-plane to \(GH\) plane. The kink around \(10+j\) in the \(GH\)-plane will become a point as \(R \to ∞\) in the \(s\)-plane.

Mapping of the contour in \(s\)-plane to \(GH\) plane. The kink around \(10+j\) in the \(GH\)-plane will become a point as \(R \to ∞\) in the \(s\)-plane.

4 Values of gain \(K\) for stability

Rather than redrawing the Nyquist plot for different values of \(K\), we can draw the Nyquist plot for \(K=1\) and count the encirclements of \(-1/K\). This also enables us to find the values of \(K\) for which the system is stable.

We illustrate this via some examples.

Example 4 Find the values of \(K\) for which the following system is stable. \[ GH(s) = \dfrac{K}{(s+1)(s+2)}. \] The Nyquist plot for \(K=1\) is shown in Figure 11.

Figure 11: Mapping of the contour in \(s\)-plane to \(GH\) plane.

First observe that \(P=0\). Therefore, for stability (i.e., for \(Z=0\)), we need \(N=0\). The Nyquist plot intersets the \(σ\)-axis at \(0\) and \(0.5\). So, we have the following cases.

Case Range for \(K\) \(N\) Stable?
\(-∞ < -\dfrac 1K < 0\) \((0, ∞)\) \(0\) Yes
\(0 < -\dfrac 1K < \dfrac 12\) \((-∞,-2)\) \(1\) No
\(\dfrac 12 < -\dfrac 1K < ∞\) \((-2,0)\) \(0\) Yes

Thus, the system is stable for \(K > 0\) or \(K \in (-2,0)\).

Example 5 Find the values of \(K\) for which the following system is stable. \[ GH(s) = \dfrac{6K}{(s+1)(s+2)(s+3)}. \] The Nyquist plot for \(K=1\) is shown in Figure 12, which intersets the \(σ\)-axis at \(-0.1\), \(0\), \(1\).

Figure 12: Mapping of the contour in \(s\)-plane to \(GH\) plane.

First observe that \(P=0\). Therefore, for stability (i.e., for \(Z=0\)), we need \(N=0\). The Nyquist plot intersets the \(σ\)-axis at \(-0.1\), \(0\), \(1\). So, we have the following cases.

Case Range for \(K\) \(N\) Stable?
\(-∞ < -\dfrac 1K < -\dfrac 1{10}\) \((0, 10)\) \(0\) Yes
\(-\dfrac{1}{10} < -\dfrac 1K < 0\) \((10, ∞)\) \(2\) No
\(0 < -\dfrac 1K < 1\) \((-∞,-1)\) \(1\) No
\(1 < -\dfrac 1K < ∞\) \((-1,0)\) \(0\) Yes

Thus, the system is stable for \(K > 10\) or \(K \in (-1,0)\).

Example 6 Find the values of \(K\) for which the following system is stable. \[ GH(s) = \dfrac{K(s-1)}{s^3 + s^2 - s + 2} = \dfrac{K(s-1)}{(s+2)(s^2-s+1)} \] The Nyquist plot for \(K=1\) is shown in Figure 12, which intersets the \(σ\)-axis at \(-2/3\), \(-1/2\), \(0\).

Figure 13: Mapping of the contour in \(s\)-plane to \(GH\) plane.

First observe that \(s^2 - s + 1\) has two ORHP. Thus, \(P=0\) and for stability (i.e., for \(Z=0\)), we need \(N=-2\). The Nyquist plot intersets the \(σ\)-axis at \(-2/3\), \(-1/2\), \(0\). So, we have the following cases.

Case Range for \(K\) \(N\) Stable?
\(-∞ < -\dfrac 1K < -\dfrac 2{3}\) \((0, 1.5)\) \(0\) No
\(-\dfrac{2}{3} < -\dfrac 1K < -\dfrac{1}{2}\) \((1.5, 2)\) \(-2\) Yes
\(-\dfrac{1}{2} < -\dfrac 1K < 0\) \((2,∞)\) \(-1\) No
\(0 < -\dfrac 1K < ∞\) \((-∞,0)\) \(0\) No

Thus, the system is stable for \(K \in (1.5, 2)\).

5 Poles on the \(j ω\)-axis

Recall that the Nyquist stability criterion relies on Cauchy’s argument principle, which is valid when the contour in the \(s\)-plane doesn’t pass through a pole. This assumption is violated if there is a pole on the \(jω\)-axis, as illustrated in Figure 14 which shows the Nyquist plot of \(GH(s) = 1/(s(s+1))\).

The TF has no poles in the ORHP, so \(P = 0\). For stability (i.e., \(Z=0\)), we need \(N = 0\), i.e., there should be zero encirclements of \(-1\) in the \(GH\)-plane.

Figure 14: Mapping of the contour in \(s\)-plane to \(GH\) plane.

In this case, the Nyquist plot is not a closed curve so we cannot count the number of encirclements of \(-1\). We need to fix this manually. Consider the contour shown in Figure 15, which skips the pole at origin by travesing a small semi-circle \(r e^{j θ}\), \(θ \in [-π/2, π/2]\), and then take \(r \to 0\)

Figure 15: Mapping of the contour in \(s\)-plane to \(GH\) plane. Although it is not visitble at this scale, the contour skips the pole at origin by going around a semi-circle of radius \(0.2\).

However, standard software for drawing Nyquist plot does not circumvent the poles. In this section, we will learn how to determine how to close the contour of Figure 14.

Recall that the transfer function is \[ GH(s) = \dfrac{1}{s(s+1)}. \] For any point along the small circle around the pole, we have \(s = r e^{j θ}\). Thus, \[ GH(r e^{j θ}) = \dfrac{1}{r e^{j θ}(1 + re^{j θ})} \approx \dfrac{1}{r e^{j θ}} \] Thus, we have the following:

\(θ\) \(\lvert GH(re^{j θ}) \rvert\) \(\angle GH(r e^{j θ})\)
\(-90^∘\) \(\dfrac 1r\) \(90^∘\)
\(-45^∘\) \(\dfrac 1r\) \(45^∘\)
\(0^∘\) \(\dfrac 1r\) \(0^∘\)
\(45^∘\) \(\dfrac 1r\) \(-45^∘\)
\(90^∘\) \(\dfrac 1r\) \(-90^∘\)

This is consistent with the contour in Figure 15. Thus, there are no encirclements of \(-1\) in the \(GH\)-plane. Hence, \(N = 0\), which implies, \(Z = 0\). Hence, the system is stable.

We now do a few practise exercises.

Exercise 1 Consider \(GH = \dfrac{K}{s(s+1)(2s+1)}\). The Nyquist plot for \(K=1\) is shown in Figure 16. Find the values of \(K\) for which the closed loop system is stable.

Figure 16: Mapping of the contour in \(s\)-plane to \(GH\) plane.

Note that the Nyquist plot interests the \(σ\)-axis at two points: \(s = 0\) and \(s = -2/3\).

We simplify \(GH(s)\) along the contour \(s = re^{j θ}\): \[ GH(re^{j θ}) = \dfrac{K}{re^{j θ}(re^{j θ} + 1)(2re^{j θ} + 1)} \approx \dfrac{K}{re^{j θ}}. \] Thus, we have the following

\(θ\) \(\lvert GH(re^{j θ}) \rvert\) \(\angle GH(r e^{j θ})\)
\(-90^∘\) \(\dfrac Kr\) \(90^∘\)
\(-45^∘\) \(\dfrac Kr\) \(45^∘\)
\(0^∘\) \(\dfrac Kr\) \(0^∘\)
\(45^∘\) \(\dfrac Kr\) \(-45^∘\)
\(90^∘\) \(\dfrac Kr\) \(-90^∘\)

The the two arms of the Nyquist plot in Figure 16 are connected via a semi-circle in closewise direction, as shown in Figure 17

Figure 17: Mapping of the contour in \(s\)-plane to \(GH\) plane. Although it is not visitble at this scale, the contour skips the pole at origin by going around a semi-circle of radius \(0.2\).

First observe that \(P = 0\). Therefore, for stability (i.e. \(Z = 0\)), we need \(N = 0\). The Nyquist plot intersects the \(σ\)-axis at \(0\) and \(-2/3\). So, we have the following cases.

Case Range for \(K\) \(N\) Stable?
\(-∞ < -\dfrac 1K < -\dfrac{2}{3}\) \((0, 1.5)\) \(0\) Yes
\(-\dfrac{2}{3} < -\dfrac 1K < 0\) \((1.5, ∞)\) \(2\) No
\(0 < -\dfrac 1K < ∞\) \((-∞,0)\) \(1\) No

Thus, the system is stable for \(K \in (0, 1.5)\).

Exercise 2 Consider \(GH = \dfrac{K}{s^2(s+1)}\). Find the values of \(K\) for which the closed loop system is stable.

Figure 18: Mapping of the contour in \(s\)-plane to \(GH\) plane.

We simplify \(GH(s)\) along the contour \(s = re^{j θ}\): \[ GH(re^{j θ}) = \dfrac{K}{r^2e^{j 2θ}(re^{j θ} + 1)} \approx \dfrac{K}{r^2e^{j 2θ}}. \] Thus, we have the following

\(θ\) \(\lvert GH(re^{j θ}) \rvert\) \(\angle GH(r e^{j θ})\)
\(-90^∘\) \(\dfrac K{2r^2}\) \(180^∘\)
\(-45^∘\) \(\dfrac K{2r^2}\) \(90^∘\)
\(0^∘\) \(\dfrac K{2r^2}\) \(0^∘\)
\(45^∘\) \(\dfrac K{2r^2}\) \(-90^∘\)
\(90^∘\) \(\dfrac K{2r^2}\) \(-180^∘\)

The the two arms of the Nyquist plot in Figure 18 are connected via a circle in closewise direction, as shown in Figure 19.

Figure 19: Mapping of the contour in \(s\)-plane to \(GH\) plane. Although it is not visitble at this scale, the contour skips the pole at origin by going around a semi-circle of radius \(0.2\).

Thus, irrespective of the value of \(K\), \(N=2\). Since \(P = 0\), we have \(Z = 0\). Thus, the system is not stable for any values of \(K\).

What about other poles on the \(j ω\) axis

Consider the TF \[ GH(s) = \dfrac{1}{(s^2 + 1)(s+1)}. \]

In this case, there are two poles on the \(j ω\) axis. We can follow the same idea as before and circumvent them via small semi-circles of radius \(r\) at \(\pm j\). However, we will not study this case in detail in class.