73 lines
2.2 KiB
Markdown
73 lines
2.2 KiB
Markdown
+++
|
|
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>
|