Nyquist Stability Criterion
Nyquist stability criterion is a graphical method to check the stability of a feedback control system. Consider the following closed loop transfer function
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
- \(T(s)\) has no poles in the ORHP
- Or equivalently, \(1 + GH\) has no zeros in the ORHP.
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}. \]
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
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.
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.
We can understand what is happening using the 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.
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:
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
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.
\[ 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:
- Count the number of poles of \(GH\) in the ORHP (e.g., using Routh-Hurwitz). This gives the value of \(P\)
- Draw the Nyquist plot of \(GH\) and count the number of clockwise encirclements of \(-1\). This gives the value of \(N\).
- \(Z = N + P\) gives the number of poles of \(T\) in the ORHP
- 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.
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\).
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\).
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.
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\)
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.
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
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.
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.
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\).
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.