Update Content - 2024-12-13
This commit is contained in:
72
content/zettels/nyquist_stability_criterion.md
Normal file
72
content/zettels/nyquist_stability_criterion.md
Normal file
@@ -0,0 +1,72 @@
|
||||
+++
|
||||
title = "Nyquist stability criterion"
|
||||
author = ["Dehaeze Thomas"]
|
||||
draft = false
|
||||
+++
|
||||
|
||||
Tags
|
||||
:
|
||||
|
||||
|
||||
## Theory {#theory}
|
||||
|
||||
The main reason why the Nyquist plot is used it that it can be used with the experimental FRF data!
|
||||
|
||||
The zeros and pole of a MIMO system are the zeros and pole of the determinant of \\(G(s)\\).
|
||||
\\[ \det(G(s)) = \frac{z\_G(s)}{p\_G(s)} \\]
|
||||
The polynomial \\(p\_G(s)\\) is normally called the **open-loop characteristic** polynomial.
|
||||
|
||||
In a MIMO feedback system:
|
||||
|
||||
- The transfer function matrix open-loop is:
|
||||
\\[ L(s) = G(s) K(s) \neq K(s) G(s) \\]
|
||||
- The transfer function matrix closed-loop is:
|
||||
\\[ T(s) = [I + L(s)]^{-1} L(s) \\]
|
||||
- **Return difference matrix**:
|
||||
\\[ F(s) = [I + L(s)] \\]
|
||||
|
||||
The closed-loop system is stable if the zeros of the closed-loop characteristic polynomial lie in the complex open left half plane.
|
||||
There are the zeros of:
|
||||
\\[ \det(I + GK) \\]
|
||||
|
||||
<div class="important">
|
||||
|
||||
**MIMO Nyquist stability criteria**:
|
||||
\\[ \det(I + G(s)K(s)) = 0 \quad \text{for} \quad \text{Re}(s)<0 \\]
|
||||
To check the closed-loop stability graphically, plot the Nyquist of \\(\det(I + GK)\\) and evaluate the encirclement with respect to the point \\((0,0)\\).
|
||||
The Nyquist plot is the image of the imaginary axis (\\(j\omega\\)) under \\(\det(I + GK)\\), i.e. it is the evolution of \\(\det(I + G(j\omega)K(j\omega))\\) in the complex plane.
|
||||
Note that there is a single plot, even in the MIMO case.
|
||||
|
||||
</div>
|
||||
|
||||
<div class="important">
|
||||
|
||||
**Eigenvalue loci**:
|
||||
The eigenvalue loci (sometimes called the characteristic loci) are defined as the eigenvalues of the frequency response function of the open-loop transfer function matrix \\(G(s)K(s)\\).
|
||||
This time, there are \\(n\\) plots, where \\(n\\) is the size of the system.
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
## Matlab Example {#matlab-example}
|
||||
|
||||
Sure we have identified a system with 6 inputs and 6 outputs.
|
||||
The Matlab object has dimension `6 x 6 x n` with `n` is the number of frequency points.
|
||||
|
||||
First, compute the open-loop gain:
|
||||
|
||||
```matlab
|
||||
L = zeros(6, 6, length(f));
|
||||
|
||||
for i_f = 1:length(f)
|
||||
L(:,:,i_f) = squeeze(G(:,:,i_f))*freqresp(K, f(i_f), 'Hz');
|
||||
end
|
||||
```
|
||||
|
||||
Then, compute the eigenvalues of this open-loop gain:
|
||||
Finally, plot the (complex) eigenvalues in the complex plane:
|
||||
|
||||
|
||||
## Bibliography {#bibliography}
|
||||
|
||||
<./biblio/references.bib>
|
Reference in New Issue
Block a user