IQC-invariance analysis

Next to performing the more “conventional” IQC-based analyses with the function iqcanalysis, it is also possible to perform invariance analyses with dynamic IQCs as was recently pointed out in, for example, [21], [22], among others.

Along the lines of [21], IQClab now includes various tests that can be performed by means of the new function iqcinvariance.

There are several options that can be considered as further discussed next.

Energy to State (option e2x)
As a first application, we consider one of the most common examples for regional analysis, namely the computation of invariant sets in the state-space under the assumption that the external disturbances w are bounded in energy.

Given the uncertain plant

    \[q=M_{11}p+M_{12}w,\ \ p=\Delta(q),\]

with realization

    \[\begin{array}{l}\dot{x}=Ax+B_1p+B_2w,\ \ \ \ x(0)=0\\q = C_1x+D_{11}p+D_{12}w\end{array}\]

this option computes the smallest hyper ellipsoidal region

    \[x(t)\in\left\{x\in\mathbb{R}^{n_x}: x^THx\leq\alpha^2\|w\|_2^2\right\}\ \mathrm{for\ all}\ t\geq0,\]

by minimizing the trace of H^{-1} for a given \alpha>0 (default is 1).

This option can be selected by specifying the performance metric option ‘e2x’ (energy to state) to the performance block.

As output you obtain:
H
gamma=\mathrm{trace}(H^{-1})

Energy to Output (option e2z)
Similarly, one might wish to compute invariant sets for the output z, again under the assumption that the external disturbances w are bounded in energy.

Given the uncertain plant

    \[\begin{array}{l}q=M_{11}p+M_{12}w,\ \ p=\Delta(q),\\z=M_{21}p+M_{22}w\end{array}\]

with realization

    \[\begin{array}{l}\dot{x}=Ax+B_1p+B_2w,\ \ \ \ x(0)=0\\q = C_1x+D_{11}p+D_{12}w\\z = C_2x\end{array}\]

and M_{21}(\infty)=M_{22}(\infty)=0 is strictly proper, this option computes the smallest hyper ellipsoidal region

    \[z(t)\in\left\{z\in\mathbb{R}^n_z: z^TH z\leq\alpha^2\|w\|_2^2\right\}\ \mathrm{for\ all}\ t\geq0,\]

by minimizing the trace of H^{-1} for a given \alpha>0 (default is 1).

This option can be selected by specifying the performance metric option ‘e2z’ (energy to output) to the performance block.

As output you obtain:
H
gamma=\mathrm{trace}(H^{-1})

Energy to Peak (option e2p)
In practical applications, one might also be interested in bounds on the individual components of z_j, j\in\{1,\cdots,k\}, which can be interpreted as providing guaranteed bounds on the energy to-peak gain for the performance channels w\rightarrow z_j, j\in\{1,\cdots,k\}. This leads to the third test.

Given the uncertain plant

    \[\begin{array}{l}q=M_{11}p+M_{12}w,\ \ p=\Delta(q),\\z=M_{21}p+M_{22}w\end{array}\]

with realization

    \[\begin{array}{l}\dot{x}=Ax+B_1p+B_2w,\ \ \ \ x(0)=0\\q = C_1x+D_{11}p+D_{12}w\\z = C_2x\end{array}\]

and M_{21}(\infty)=M_{22}(\infty)=0 is strictly proper, this option computes the peak gains \gamma_j on the performance output channels z_j, j\in\{1,\cdots,k\} such that

    \[|z_j(t)|\leq\sqrt{\gamma_j}\alpha\|w\|_2\ \ \forall t\geq0,\ j\in\{1,\cdots,k\},\]

by minimizing \sum_{j=1}^k\gamma_j for a given value of \alpha (default is 1).

This option can be selected by specifying the performance metric option ‘e2p’ (energy to peak) to the performance block.

As output you obtain the peak gain (PeakGain):
\mathrm{PeakGain}= \mathrm{col}\left(\sqrt{\gamma_1},\cdots,\sqrt{\gamma_{n_z}}\right)\alpha

State to Output (option e2z)
Another useful test is the possibility to compute invariant sets for the output z for a given non-zero initial condition x(0)=x_0\neq0 that may have both zero as well as non-zero elements

For example, x_0 might be a unit vector x_0=\mathrm{col}(0,...,1,...,0)) with the non-zero element being an initial position or velocity. More than one non-zero element is also possible.

Consider the uncertain plant

    \[\begin{array}{l}q=M_{11}p,\ \ p=\Delta(q),\\z=M_{21}p\end{array}\]

with realization

    \[\begin{array}{l}\dot{x}=Ax+B_1p,\ \ \ \ x(0)=x_0\\q = C_1x+D_{11}p\\z = C_2x\end{array}\]

and M_{21}(\infty)=0 is strictly proper.

Inputs to be provided:
T_{x0} is a row/column selection matrix with n_x rows and no more than n_x columns consisting of unit-vectors such that T_{x0}=\mathrm{im}(x_0). For example for x_0=\mathrm{col}(0,x_{0,12},0) we would have T_{x0}=\mathrm{col}(0,1,0) (default is T_{x0}=I).
W_{x0}\succ0 is a weighting matrix with as many rows/colums as x_0 has non-zero elements (default is W_{x0}=I).

Note: These two matrices enforce the constraint T_{x0}^TX_{22}T_{x0}\prec W_{x0} on the Lyapunov matrix (i.e., the part associated with the system state).

Given the plant and the matrices T_{x0} and W_{x0}, this options computes the smallest hyper ellipsoidal region

    \[z(t)\in\left\{z\in\mathbb{R}^n_z: z^TH z\leq \hat{x}_0^TW_{x0}\hat{x}_0\right\}\ \mathrm{for\ all}\ t\geq0,\]

by minimizing the trace of H^{-1} for a given W_{x0}\succ0. Here \hat{x}_0 denotes the non-zero part of x_0 (in the same order).

This option can be selected by specifying the performance metric option ‘x2z’ (state to output) to the performance block.

As output you obtain:
H
gamma=\mathrm{trace}(H^{-1})

State to Peak (option e2p)
Next, we bound the individual components of z_j, j\in\{1,\cdots,k\} for a given non-zero initial condition x(0)=x_0\neq0 that may have (as above) both zero as well as non-zero elements.

Consider the uncertain plant

    \[\begin{array}{l}q=M_{11}p,\ \ p=\Delta(q),\\z=M_{21}p\end{array}\]

with realization

    \[\begin{array}{l}\dot{x}=Ax+B_1p,\ \ \ \ x(0)=x_0\\q = C_1x+D_{11}p\\z = C_2x\end{array}\]

and M_{21}(\infty)=0 is strictly proper.

Inputs to be provided: T_{x0}, W_{x0}\succ0 (see option x2z for details).

Given the plant and the matrices T_{x0} and W_{x0}, this options computes
the peak gains \gamma_j on the performance output channels z_j, j\in\{1,\cdots,k\} such that

    \[|z_j(t)|\leq\sqrt{\gamma_j\hat{x}_0^TW_{x0}\hat{x}_0}\ \ \forall t\geq0,\ j\in\{1,\cdots,k\},\]

by minimizing \sum_{j=1}^k\gamma_j. Here \hat{x}_0 denotes the non-zero part of x_0 (in the same order).

This option can be selected by specifying the performance metric option ‘x2p’ (state to peak) to the performance block.

As output you obtain:
\mathrm{PeakGain}= \mathrm{col}\left(\sqrt{\gamma_1},\cdots,\sqrt{\gamma_{n_z}}\right)

Application
The application proceeds in exactly the same fashion as the function iqcanalysis. Once all uncertainty blocks have been defined and all IQC-multipliers have been assigned, one can proceed by performing the invariance analysis by means of the function iqcinvariance:

    \[prob=iqcinvariance(M,\Delta,varargin).\]

For the options e2x, e2z, and e2p, the value of \alpha (default is 1.) can be specified as follows:

    \[prob=iqcinvariance(M,\Delta,'alp','value'),\]

For the options x2z and x2p the matrices T_{x0} (default is I.), and W_{x0} (default is I.) can be specified as follows:

    \[prob=iqcinvariance(M,\Delta,'Tx0','value','Wx0','value').\]

Previous page