Update content - 2026-10-08
Deploy / deploy (push) Successful in 6s

This commit is contained in:
tdehaeze committed 2026-10-08 09:13:42 +02:00
1 parent 03b428836b
commit 5e566f95c1
25 files changed
+386 -23

No files matched your search

+53 -2
View File
@@ -11,8 +11,59 @@ Tags
Two main ways to evaluate the interaction:
- [Relative Gain Array]({{< relref "relative_gain_array.md" >}})
- [Structured Singular Value]({{< relref "structured_singular_value.md" >}})
- Relative Gain Array
- Structured Singular Value
## Relative Gain Array {#relative-gain-array}
Imagine a 2x2 plant:
\\[ G(s) = \begin{bmatrix} g\_{11}(s) & g\_{12}(s)\\\ g\_{21}(s) & g\_{22}(s) \end{bmatrix} \\]
Now suppose a controller \\(k\_{1}(s)\\) is closed on the first loop.
The new transfer function from \\(u\_2\\) to \\(y\_2\\) (while the first loop is closed) is :
\begin{equation}
y\_2 = g\_{22} \left[ 1 - \underbrace{\frac{g\_{21}g\_{12}}{g\_{11}g\_{22}}}\_{\phi} \underbrace{\frac{g\_{11} k\_{11}}{1 + g\_{11}k\_{11}}}\_{T\_{11}} \right]
\end{equation}
\\(\phi\\) is called the **interaction index**.
\\(T\_{11}\\) is the complementary sensitivity of the first loop (equal to 1 in the bandwidth of the first controller).
Therefore, we want \\(\phi \approx 0\\) to have no interaction.
Similarly, the **relative gain** is defined as:
\\[ \Lambda = \frac{1}{1 - \phi} \\]
And we want \\(\Lambda \approx 1\\) to have no interaction.
Note that the scaling of inputs or outputs of the MIMO plant has no effect on \\(\phi\\) or \\(\Lambda\\).
The **relative gain array** is defined as:
\\[ \Lambda(G) = G \star (G^{-1})^{T} \\]
where \\(\star\\) means element wise multiplication.
```matlab
RGA = G.*pinv(G.')
```
## RGA-number {#rga-number}
The RGA-number is a scalar measure of how far the RGA is from the identity matrix (i.e. from a plant without interaction):
\begin{equation}
\text{RGA-number} = \\| \Lambda(G) - I \\|\_{\text{sum}} = \sum\_{i,j} \left| \Lambda\_{ij} - \delta\_{ij} \right|
\end{equation}
with \\(\delta\_{ij}\\) the Kronecker delta, and \\(\\|\cdot\\|\_{\text{sum}}\\) the sum of the absolute values of all the elements.
The RGA-number should be small around the crossover frequency of the decentralized controller, as this is where the interaction matters most.
```matlab
RGA = G.*pinv(G.');
RGA_number = sum(sum(abs(RGA - eye(size(RGA)))));
```
For a plant evaluated over frequency, this is computed at each frequency point of the frequency response.
## Bibliography {#bibliography}