Limitations for MIMO systems

Multiple-input-multiple-output (MIMO) systems are subject to limitations of the same origin as single-input-single-output (SISO) systems: unstable poles, “unstable” zeros, delays, disturbances, saturation, etc. However, the vector character of inputs and outputs introduces both opportunities to mitigate those limitations, and… new limitations.

Directions in MIMO systems

With vector inputs and vector outputs, the input-output model of an LTI MIMO system is a matrix (of transfer functions). As such, it can be characterized not only by various scalar quantities (like poles, zeros, etc.), but also by the associated directions in the input and output spaces.

Example 1 (Direction associated with a RHP zero) Consider the transfer function matrix (or matrix of transfer functions) \mathbf G(s) = \frac{1}{(0.2s+1)(s+1)}\begin{bmatrix}1 & 1\\ 1+2s& 2\end{bmatrix}.

Recall that a complex number z\in\mathbb C is a zero of \mathbf G if the rank of \mathbf G(z) is less than the rank of \mathbf G(s) for most s. While reliable numerical algorithms for computing zeros of MIMO systems work with state-space realizations, in this simple case we can easily verify that there is only one zero z=1/2. But we can verify this numerically anyway:

using ControlSystems
s = tf("s")
G = [1 1; 1+2*s 2].*(1/((0.2*s+1)*(s+1)))     # Cannot do just N/d. Must do N*(1/d).
z = tzeros(G) 
z = z[1]
0.5000000000000006

The transfer function matrix, when evaluated at z=1/2, obviously looses the rank:

Gz = evalfr(G,z)
using LinearAlgebra
rank(Gz)
1

The input direction, in which this zero exhibit itself can be obtain as the right singular vector:

F = svd(Gz)
U,S,V = F
v2 = V[:,end]
2-element Vector{Float64}:
  0.7071067811865474
 -0.7071067811865476

We now demonstrate that indeed, the RHP zero exhibits in the response of the system through the undershoot if the step input is applied in the direction of the given right singular vector \begin{bmatrix}1\\-1\end{bmatrix}, which is to say that the vector input signal is given by \bm u(t) = \begin{bmatrix}1\\-1\end{bmatrix}\underline{1}(t), where \underline{1}(t) is the (Heaviside) unit step function. The response is in Fig. 1. The second output y_2 exhibits the undershoot, which is an indicator that there is a RHP zero in the system.

Show the code
using Plots
step_response = step(G*tf([1,-1])) # Cannot just multiply a matrix of tf's by a vector.
plot(step_response, title="", xlabel="Time (s)", ylabel=["y₁" "y₂"], lw=2, label="", legend=:topright)
Figure 1: Response of a MIMO system with an RHP zero to a (vector) unit step input in the direction [1; -1]

If the step input is applied in some other direction, say, the direction of \begin{bmatrix}1\\0\end{bmatrix}, the undershoot associated with a RHP zero is not observed, see Fig. 2.

Show the code
step_response = step(G*tf([1,0])) # Cannot just multiply a matrix of tf's by a vector.
plot(step_response, title="", xlabel="Time (s)", ylabel=["y₁" "y₂"], lw=2, label="", legend=:topright)
Figure 2: Response of a MIMO system with an RHP zero to a (vector) unit step input in the direction [1; 0]

Similarly for the direction of \begin{bmatrix}0\\1\end{bmatrix} – the undershoot associated with a RHP zero is also not observed, see Fig. 3.

Show the code
step_response = step(G*tf([0,1])) # Cannot just multiply a matrix of tf's by a vector.
plot(step_response, title="", xlabel="Time (s)", ylabel=["y₁" "y₂"], lw=2, label="", legend=:topright)
Figure 3: Response of a MIMO system with an RHP zero to a (vector) unit step input in the direction [0; 1]

We have just learnt by means of an example that the phenomenon of a RHP zero in a MIMO system can be observed only if the input is applied in a certain direction. This is an encouraging result, because have seen previously, that the RHP zero imposes a limitation on the achievable closed-loop bandwidth. We now have hope that perhaps this limitation is only restricted to some direction in the input space. Let’s see if this is indeed the case. And we do it through an example again.

Example 2 (Shifting the effect of RHP zero to one direction) We consider the mixed-sensitivity problem \operatorname*{minimize}_{\mathbf K}\left\|\begin{bmatrix}\mathbf W_1\mathbf S\\ \mathbf W_2 \mathbf K\mathbf S\\ \mathbf W_3 \mathbf T\end{bmatrix}\right\|_{\infty}, in which we choose the weighting filter \mathbf W_1 as a scalar one, or, equivalently as as a diagonal one with identical elements on the diagonal, that is, \mathbf W_1(s) = W_1(s) \mathbf I. We choose the popular parameterization

W_1(s) = \frac{s/M+\omega_\mathrm{B}}{s+\omega_\mathrm{B}A}, where we set M=1.5, \; \omega_{B}=z/2=0.25, \; A=10^{-3}.

We set the second weighting filter \mathbf W_2 to be a scalar too, but even frequency-independent, that is, \mathbf W_2(s) = W_2(s) \mathbf I, with W_2(s) set to some small constant, say, W_2(s) = 0.05 (later we can tune it).

The third weighting filter \mathbf W_3 we decide to set to zero, that is, \mathbf W_3(s) = 0.

The mixed-sensitivity problem is then solved using the \mathcal H_\infty synthesis algorithm. The frequency response of the resulting sensitivity function and the weighting filter are shown in Fig. 4.

M = 1.5 
A = 1e-3 
ω = z/2

W₁=tf([1/M,ω],[1,A*ω])

W₂ = 0.05;

W₃ = []

using RobustAndOptimalControl

P = hinfpartition(G, W₁, W₂, W₃);
hinfassumptions(P, verbose=false)

K, γ = hinfsynthesize(P, γrel=1.05);
Pcl1, S1, KS1, T1 = hinfsignals(P, G, K);
Show the code
using Plots
ω_range = logrange(1e-5, 1e3, length=100)
sigmaplot(S1, ω_range, title="", lw=2, label="σ₁(S), σ₂(S)", xticks=10.0.^[-5:3...])
bodeplot!/W₁, ω_range, title="", lw=2, plotphase=false, label="γ/|W₁|")
Figure 4: Singular values of the sensitivity function and the inverse of the corresponding weighting filter (scaled by γ) as functions of frequency

We can see that both singular values are below the given bound on the bandwidth imposed by the RHP zero. But knowing that this restriction is only restricted to some direction, we can now try to increase our requirements on the bandwidth for one of the two output channels. Say, we set it two orders of magnitude higher. In SISO systems this would be a no-go, but here we can try our luck. Maybe the optimization algorithm will find a controller that exploits the directionality of the RHP zero.

M = 1.5 
A = 1e-3 
ω₁ = z/2 
ω₂ = 25

W₁=[tf([1/M,ω₁],[1,A*ω₁]) 0; 0 tf([1/M,ω₂],[1,A*ω₂])]

W₂ = 0.05;

W₃ = []

using RobustAndOptimalControl

P = hinfpartition(G, W₁, W₂, W₃);
hinfassumptions(P, verbose=false)

K, γ = hinfsynthesize(P, γrel=1.05);
Pcl2, S2, KS2, T2 = hinfsignals(P, G, K);
Show the code
using Plots
ω_range = logrange(1e-5, 1e3, length=100)
sigmaplot(S2, ω_range, title="", lw=2, label="σ₁(S), σ₂(S)", xticks=10.0.^[-5:3...])
#bodeplot!(γ/W₁, ω_range, title="", lw=2, plotphase=false, label="γ/|W₁|")
Figure 5: Singular values of the sensitivity function as functions of frequency. The bandwidth of them is well above the bound imposed by the RHP zero.

From Fig. 5 we can see that one of the two singular values stays below 0 dB up to well above the the upper bound of 0.25 rad/s imposed by the RHP zero. Obviously the MIMO controller succeeded in isolating the impact of the RHP zero to just one output channel. We can also see this in the time domain in Fig. 6.

Show the code
using Plots
step_response_1 = step(T1*tf([1,-1]))
step_response_2 = step(T2*tf([1,-1]))
plot(step_response_1, title="", xlabel="Time (s)", ylabel=["y₁" "y₂"], lw=2, label="Design 1", legend=:topright)
plot!(step_response_2, title="", xlabel="Time (s)", ylabel=["y₁" "y₂"], lw=2, label="Design 2", legend=:topright)
Figure 6: Response of a closed feedback loop containing a MIMO plant with an RHP zero to a (vector) unit step input in the direction of a RHP zero

In the step responses in Fig. 6 we can see that in the second design the second output not only does not exhibit the undershoot, but also its response is much faster that the all the other responses.

Input and output directions, directions of poles and zeros

It is not only the RHP zeros with which directions are associated. Directions can also be associated with unstable poles, and also with disturbances (we will explain this later). Furthermore, we can consider input and output directions (we will explain this later too); the output variants being a bit more useful. To summarize, we are going to talk about:

  • output direction \bm y_z of an RHP zero z (constant),
  • output direction \bm y_p of an unstable pole p (constant),
  • output direction \bm y_d(s) of a disturbance d (frequency dependent),
  • the i-th output direction (left singular vector) \bm u_i(s) of the system (frequency dependent).

Interpolation conditions for MIMO systems

We will now find use for the first two types of directions.

Interpolation conditions: RHP zeros and unstable poles and their output directions

The sensitivity \mathbf S and complementary sensitivity functions \mathbf T of a stable closed feedback loop are constrained not only by poles and zeros of the MIMO plant \mathbf G (as they are in the SISO case), but also by their directions. Namely, if the plant \mathbf G has a RHP zero z, then the sensitivity and complementary sensitivity functions satisfy the interpolation conditions \boxed{ \bm y_z^*\mathbf T(z)=0, \qquad \bm y_z^*\mathbf S(z)=\bm y_z^*.}

If the plant \mathbf G has an unstable pole p, then the sensitivity and complementary sensitivity functions satisfy the interpolation conditions \boxed{ \mathbf S(p)\bm y_p = 0, \qquad \mathbf T(p)\bm y_p = \bm y_p.}

Note that here we used the output sensitivity and output complementary sensitivity functions.

ImportantInput and output variants of sensitivity and complementary sensitivity functions

Depending on where we cut the feedback loop open, we define the input and output open-loop transfer functions. If we cut the loop at the plant input, the input open-loop transfer function is \mathbf L_\mathrm{i}(s) = \mathbf K(s)\mathbf G(s), and if we cut the loop at the plant output, the output open-loop transfer function is \mathbf L_\mathrm{o}(s) = \mathbf G(s)\mathbf K(s).

The input and output variants of sensitivity and complementary sensitivity functions are defined as \mathbf S_\mathrm{i}(s) = (1+\mathbf L_\mathrm{i}(s))^{-1}, \qquad \mathbf T_\mathrm{i}(s) = \mathbf L_\mathrm{i}(s)(1+\mathbf L_\mathrm{i}(s))^{-1}, and \mathbf S_\mathrm{o}(s) = (1+\mathbf L_\mathrm{o}(s))^{-1}, \qquad \mathbf T_\mathrm{o}(s) = \mathbf L_\mathrm{o}(s)(1+\mathbf L_\mathrm{o}(s))^{-1}.

As we mostly work with the output variants, we typically drop the subscript \mathrm o and write \mathbf S and \mathbf T instead of \mathbf S_\mathrm{o} and \mathbf T_\mathrm{o}.

Bandwidth limitations due to unstable poles and zeros

Similarly as for SISO systems we have the constraint (and in the following we consider scalar weights) \|W_\mathrm{p}\mathbf S\|_{\infty} = \sup_{\omega} |W_\mathrm{p}(j\omega)|\bar{\sigma}(\mathbf S(j\omega))\geq |W_\mathrm{p}(z)|, from which the limitation on the achievable bandwidth \omega_\mathrm{B}<z/2 (or \omega_\mathrm{B}>2z) follows. But this constraint only holds for the worst direction, which corresponds to the largest singular value of \mathbf S.

The same holds for the complementary sensitivity function \|W\mathbf T\|_{\infty} = \sup_{\omega} |W(j\omega)|\bar{\sigma}(\mathbf T(j\omega))\geq |W(p)|, implying that \omega_\mathrm{B}>2|p|, but once again, this only holds for the worst direction.

In the case of one unstable pole p and one RHP zero z, the combined constraint is \|\mathbf S\|_{\infty} \geq c,\qquad \|\mathbf T\|_{\infty} \geq c,\quad c = \sqrt{\sin^2\phi+\frac{|z+p|^2}{|z-p|^2}\cos^2\phi}, where \phi=\arccos|\bm y_z^*\bm y_p| is the angle between the directions of the pole and the zero.

Limitations given by presence of disturbance and/or reference

Disturbance rejection by a plant with RHP zero

Limitations given by the input constraints (saturation)

Conditioning of MIMO systems

We have just seen that the fact that (linear) models of MIMO systems can be viewed as matrices of transfer functions can be exploited to isolate certain upleasant phenomena to certain directions. Unfortunately, besides such opportunities, some challenges arise as well.

We are now going to discuss the phenomenon of conditioning of MIMO systems. Recall that the condition number of a matrix \mathbf G is defined as \boxed{ \gamma (\mathbf G) = \frac{\bar{\sigma}(\mathbf G)}{\underline{\sigma}(\mathbf G)}. }

A matrix is regarded as ill-conditioned for \gamma>10.

If \mathbf G is a transfer function matrix of a MIMO system, its conditioning obviously depend on scaling! Just imagine that one of the inputs is expressed in centimeters instead of meters. The corresponding entries in \mathbf G must change accordingly and so does the condition number. If scaling helps improve the condition number, it is a good idea to find the best scaling – we define the minimized condition number \boxed{ \gamma^\star(\mathbf G) = \min_{\mathbf D_1, \mathbf D_2}\gamma(\mathbf D_1\mathbf G\mathbf D_2). }

However, computing this is computationally difficult (it can be computed using the same ideas as those used for computing the upper bound on the structured singular value \mu).

A practically useful approximation is called relative gain array (RGA).

Relative gain array (RGA)

Relative gain array (RGA) is a very useful matrix that, among other purposes, can be used as an indicator of difficulties with control \boxed{\Lambda(\mathbf G) = \mathbf G \circ (\mathbf G^{-1})^\top,} where \circ denotes the Hadamard product, that is, a matrix formed by the products of corresponding elements.

RGA enjoys a number of properties:

  • it is independent of scaling,
  • the sum of elements in rows and columns is 1,
  • the sum of absolute values of elements of RGA is very close to the minimized sensitivity number \gamma^\star, hence a system with large RGA entries is always ill-conditioned (but system with large \gamma can have small RGA),
  • the RGA for a triangular system is an identity matrix,
  • the relative uncertainty of an element of a transfer function matrix equal to (negative) inverse of the corresponding RGA entry makes the system singular.

Example 3 (Relative gain array (RGA) and conditioning) Consider the matrix that models a MIMO system at steady state \mathbf G = \begin{bmatrix} 1 & 0.1 \\ 0.1 & 1 \end{bmatrix}.

The condition number of this matrix can be computed as

G = [1 0.1; 0.1 1]
γ = cond(G)
1.2222222222222225

which is small and perfectly acceptable. The system is well-conditioned. Anyway, we also compute the relative gain array (RGA)

G = [1 0.1; 0.1 1]
G_inv = inv(G)
RGA = G.*G_inv'
2×2 Matrix{Float64}:
  1.0101    -0.010101
 -0.010101   1.0101

The sum of the absolute values of the entries

sum(abs.(RGA))
2.0404040404040407

is close to the condition number that we computed above, both are low, which confirms that the system is well-conditioned.

Example 4 (Another RGA and conditioning) Consider the diagonal matrix that models a MIMO system at steady state \mathbf G = \begin{bmatrix} 100 & 0 \\ 0 & 1 \end{bmatrix}.

The matrix is obviously ill-conditioned, with \gamma(\mathbf G) = 100. The relative gain array can be computed as

G = [100 0; 0 1]
G_inv = inv(G)
RGA = G.*G_inv'
2×2 Matrix{Float64}:
 1.0  0.0
 0.0  1.0

Apparently, from the small entries in the RGA, we can conclude that the optimized condition number \gamma^\star(\mathbf G) is also small, which means that the system is well-conditioned (the ill-conditioning of the original matrix can be mitigated by scaling).

Functional controllability

A transfer function matrix as an LTI model of a MIMO system is evaluated at some given point along the imaginary axis, that is, at some given frequency, the model is just a matrix of complex numbers. As such it can be regarded as a linear map from the space of inputs to the space of outputs. If it is required that the output should be controllable in an arbitrary direction, it requires that the matrix should be full row rank at that frequency. If the matrix has some zero singular values at that frequency, the corresponding output singular vector gives the direction in which the output is not controllable.

Example 5 Consider the MIMO LTI system \mathbf G(s) = \begin{bmatrix} \frac{1}{s+1} & \frac{2}{s+1}\\ \frac{2}{s+2} & \frac{4}{s+2} \end{bmatrix}

using ControlSystems
G11 = tf([1],[1, 1])
G12 = tf([2],[1, 1])
G21 = tf([2],[1, 2])
G22 = tf([4],[1, 2])
G = [G11 G12; G21 G22]

We now compute the singular value decomposition of the transfer function matrix at zero frequency:

U0,S0,V0 = svd(evalfr(G, 0))
SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}
U factor:
2×2 Matrix{Float64}:
 -0.707107  -0.707107
 -0.707107   0.707107
singular values:
2-element Vector{Float64}:
 3.162277660168379
 0.0
Vt factor:
2×2 Matrix{Float64}:
 -0.447214  -0.894427
 -0.894427   0.447214

We can see that of the two singular values, one is effectively zero, which means that the system is not controllable in the direction of the corresponding (normalized) output singular vector y_o(0) = \frac{1}{\sqrt{2}}\begin{bmatrix}1\\-1\end{bmatrix}.

And now at very high frequency (as an approximation of the behavior at infinity):

Uinf,Sinf,Vinf = svd(evalfr(G, 1e6))
SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}
U factor:
2×2 Matrix{Float64}:
 -0.447214  -0.894427
 -0.894427   0.447214
singular values:
2-element Vector{Float64}:
 4.9999910000174005e-6
 0.0
Vt factor:
2×2 Matrix{Float64}:
 -0.447214  -0.894427
 -0.894427   0.447214

Once again, the matrix does not have a full (row) rank, but the direction in which the system is not controllable is different from the one at zero frequency, it is given by the corresponding (normalized) output singular vector y_o(\infty) = \frac{1}{\sqrt{5}}\begin{bmatrix}2\\-1\end{bmatrix}

NoteFunctional controllability vs “placeability” of poles

Some practically oriented control systems researchers (Skogestad, for example) are apparently not quite happy about the common usage of the term “controllability” in the control theory community. Traditional definition is that a system is controllable if it is possible to steer the state of the system from any initial state to any final state in finite time, which in the case of an LTI system is equivalent to the posibility to find a matrix \mathbf K of state feedback gains such that the eigenvalues of \mathbf A-\mathbf B\mathbf K are placed at any desired locations in the complex plane.

Limitations given by uncertainty in the model: in open loop

With MIMO systems, even when restricting the model of uncertainty to the multiplicative form, we need to distinguish between the uncertainty at the input and at the output, that is, we need to distinguish between the input multiplicative uncertainty

\mathbf G = \mathbf G_0(\mathbf I+\mathbf E_\mathrm{I}) \tag{1} and and the output multiplicative uncertainty \mathbf G = (\mathbf I+\mathbf E_\mathrm{O})\mathbf G_0. \tag{2}

In the above two models, we used \mathbf E_\mathrm{I} and \mathbf E_\mathrm{O} to stand for the uncertain parts. We can restrict ourselves to scalar weighting filters, in which case we can write \mathbf E_\mathrm{I} = W\mathbf \Delta (and similarly for \mathbf E_\mathrm{O}), or for more generality, we can consider full matrix weighting filters, in which case we write \mathbf E_\mathrm{I} = \mathbf W_{2}\mathbf \Delta \mathbf W_{1} (and similarly for \mathbf E_\mathrm{O}). Anyway, from Eq. 1, we can write \mathbf E_\mathrm{I} = \mathbf G_0^{-1}(\mathbf G-\mathbf G_0) \tag{3} and from Eq. 2, we can write \mathbf E_\mathrm{O} = (\mathbf G-\mathbf G_0)\mathbf G_0^{-1}. \tag{4}

These are the two matrix extensions of the relative error of the model, which we discussed in the context of uncertain SISO systems.

In open loop

If an feedforward controller K is to be used, the best possible candidate for such a controller is the inverse of the nominal model \mathbf G_0, that is, \mathbf K = \mathbf G_0^{-1}. The control is then \bm u = \mathbf G_0^{-1}\mathbf r and the tracking error is then given by \begin{aligned} \bm e_0 &= \bm y_0 - \mathbf r\\ &= \mathbf G_0 \bm u-\mathbf r\\ &= \mathbf G_0\mathbf G_0^{-1}\mathbf r-\mathbf r, \end{aligned} which is zero. But for an uncertain system to be controlled, with the uncertainty modelled as the output multiplicative uncertainty, the tracking error is \begin{aligned} \bm e &= \bm y - \mathbf r\\ &= \mathbf G \bm u-\mathbf r\\ &= \mathbf G\mathbf G_0^{-1}\mathbf r-\mathbf r\\ &= (\mathbf G\mathbf G_0^{-1}-\mathbf I)\mathbf r\\ &= \mathbf E_\mathrm{O}\mathbf r. \end{aligned}

If the uncertainty is modelled at the input instead, the tracking error is \begin{aligned} \bm e &= \bm y - \mathbf r\\ &= \mathbf G_0(\mathbf I+\mathbf E_\mathrm{I}) \bm u-\mathbf r\\ &= \mathbf G_0(\mathbf I+\mathbf E_\mathrm{I})\mathbf G_0^{-1}\mathbf r-\mathbf r\\ &= (\mathbf I + \mathbf G_0\mathbf E_\mathrm{I}\mathbf G_0^{-1})\mathbf r-\mathbf r\\ &= \mathbf G_0\mathbf E_\mathrm{I}\mathbf G_0^{-1}\mathbf r. \end{aligned}

Clearly, if the control requirement is formulated such that |\bm e| \leq 1, it must hold that \bar\sigma (\mathbf E_\mathrm{O}(j\omega)) \leq 1 \; \forall \omega, and \bar\sigma (\mathbf G_0(j\omega)\mathbf E_\mathrm{I}(j\omega)\mathbf G_0^{-1}(j\omega)) \leq 1 \; \forall \omega, for the two respective models of uncertainty.

While the implication of the former condition is straightforward, the implication of the latter condition is a bit more intricate. In the following we omit the explicit dependence on the frequency variable \omega. We first state without a proof that \bar\sigma (\mathbf G_0\mathbf E_\mathrm{I}\mathbf G_0^{-1}) \leq \bar \sigma (\mathbf E_\mathrm{I})\gamma(\mathbf G_0).

This bound is tight (the equality can always be achieved for some \mathbf E_\mathrm{I}). The implication is that for an ill-conditioned system, for which \gamma(\mathbf G_0) is large, the uncertainty at the input can be amplified significantly. In turn, the practically useful control requirements may lead to unrealistically small bounds on the uncertainty at the input. Ill-conditioned systems are very difficult to control when uncerainty is present at the input, which it always is (typically at least some 10 % relative error is a reasonable lower estimate).

In closed loop

What changes by introduction of feedback? \begin{aligned} \mathbf S &= (\mathbf I+\mathbf G\mathbf K)^{-1}\\ &= (\mathbf I + (\mathbf I + \mathbf E_\mathrm{O})\mathbf G_0\mathbf K)^{-1}\\ &= \left((\mathbf I+ \mathbf E_\mathrm{O}\underbrace{\mathbf G_0\mathbf K(I+\mathbf G_0\mathbf K)^{-1}}_{\mathbf T_0})(\mathbf I+\mathbf G_0\mathbf K)\right)^{-1}\\ &= \mathbf S_0(\mathbf I+\mathbf E_\mathrm{O}\mathbf T_0)^{-1}. \end{aligned}

The difference between the nominal and the uncertain sensitivity and complementary sensitivity functions is \mathbf S_0-\mathbf S = \mathbf T-\mathbf T_0 = \mathbf S\mathbf E_\mathrm{O}\mathbf T_0, hence the deviation of regulation error \bm e-\bm e_0 = -\bm Sr - (-\bm S_0r) = (\bm S_0-\bm S)r = \bm S\mathbf E_\mathrm{O}\mathbf T_0r.

Upper bound on \bar{\sigma}(S) for uncertainty at the output

\bar{\sigma}(\mathbf S) \leq \bar{\sigma}(\mathbf S_0)\bar{\sigma}((\mathbf I+\mathbf E_\mathrm{O}\mathbf T_0)^{-1}) \leq \frac{\bar{\sigma}(\mathbf S_0)}{1-|W_\mathrm{O}|\bar{\sigma}(\mathbf T_0)}

Upper bound on \bar{\sigma}(S) for uncertainty at the input

First \begin{aligned} \mathbf S &= \mathbf S_0(\mathbf I+\mathbf G_0\mathbf E_\mathrm{I}\mathbf G_0^{-1}\mathbf T_{0\mathrm{I}})^{-1}\\ &= \mathbf S_0\mathbf G_0(\mathbf I+\mathbf E_\mathrm{I}\mathbf T_{0\mathrm{I}})^{-1}\mathbf G_0^{-1}\\ &= (\mathbf I+\mathbf T_0\mathbf K^{-1}\mathbf E_\mathrm{I}\mathbf K)^{-1}\mathbf S_0\\ &= \mathbf K^{-1}(\mathbf I+\mathbf T_{0\mathrm{I}}\mathbf E_\mathrm{I})^{-1}\mathbf K\mathbf S. \end{aligned} where \mathbf T_{0\mathrm{I}} is input complementary sensitivity for the nominal system \mathbf G_0 \mathbf T_{0{\mathrm{I}}}= \mathbf K\mathbf G_0(\mathbf I+\mathbf K\mathbf G_0)^{-1}.

For arbitrary or diagonal uncertainty and arbitrary controller \begin{aligned} \bar{\sigma}(\mathbf S) &\leq \gamma(\mathbf G_0)\bar{\sigma}(\mathbf S_0)\bar{\sigma}((\mathbf I+\mathbf E_\mathrm{I}\mathbf T_{0\mathrm{I}})^{-1}) \leq \gamma(\mathbf G_0)\frac{\bar{\sigma}(\mathbf S_0)}{1-|\mathbf W_\mathrm{I}|\bar{\sigma}(\mathbf T_{0\mathrm{I}})}\\ \bar{\sigma}(\mathbf S) &\leq \gamma(\mathbf K)\bar{\sigma}(\mathbf S_0)\bar{\sigma}((\mathbf I+\mathbf T_{0\mathrm{I}}\mathbf E_\mathrm{I})^{-1}) \leq \gamma(\mathbf K)\frac{\bar{\sigma}(\mathbf S_0)}{1-|\mathbf W_\mathrm{I}|\bar{\sigma}(\mathbf T_{0\mathrm{I}})} \end{aligned}

Findings: ill-conditioned system can be very nonrobust for uncertainty at the input. But can be conservative.

Decoupling controllers

Considering controllers \mathbf K(s) = l(s) \mathbf G^{-1}(s). Then \mathbf S = s\mathbf I and \mathbf T=t\mathbf I and input uncertainty at each input w_\mathrm{I}. Then there is a model from the full family such that \bar{\sigma}(\mathbf S) \geq \bar{\sigma}(\mathbf S_0) \left(1+\frac{|w_\mathrm{I}t_0|}{1+|w_\mathrm{I}t_0|}\|\Lambda(\mathbf G_0)\|_{i\infty}\right), where \|\Lambda(\mathbf G_0)\|_{i\infty} is row-sum-abs norm and \bar{\sigma}(\mathbf S_0) is |s_0|. (For proof see the book, page 249)

Back to top