iqc_polytope_stvp

Purpose

Defines IQCs for a slowly time-varying polytopic uncertainty, i.e., \(w(t) = \Delta(t)v(t)\), where \(\Delta(t)\) takes values in the polytope \(C_{1} = \bar{co}\{ \Delta_{1},\cdots,\Delta_{N}\}\) and \(\frac{d}{dt}\Delta(t)\) takes values in the polytope \(C_{2} = \bar{co}\{\Omega_{1},\cdots,\Omega_{N}\}\). We assume that \(0 \in C_{1}\) and \(0 \in C_{2}\).

Synopsis

w==iqc_polytope_stvp(v,C1,C2,Lambdastruc);

[w,X,Y,Z,Lambda]=iqc_polytope_stvp(v,C1,C2,Lambdastruc);

Description

The IQCs have the form

$$\left\langle \begin{bmatrix} v\\w \end{bmatrix}, \begin{bmatrix} Z & Y\\ Y^{T} & -X \end{bmatrix} \begin{bmatrix} v\\w \end{bmatrix} \right\rangle +2 \left\langle w,\wedge \dot{v}\right\rangle \geq 0,$$

where \(X=X^{T} \geq 0,\ Z=Z^{T},\ \wedge \in \wedge_{stuc}=\{ \wedge : \Delta_{i}^{T} \wedge = \wedge^{T}\Delta_{i},\ i=1,\cdots,N\}\), and

$$\begin{bmatrix} I\\ \Delta_{i} \end{bmatrix}^{T} \begin{bmatrix} Z & Y\\ Y^{T} & -X \end{bmatrix} \begin{bmatrix} I\\ \Delta_{i}\end{bmatrix} -1/2(\wedge^{T}\Omega_{j}+\Omega_{j}^{T}\wedge) \geq 0$$

for \( i,\ j \in \{ 1,\cdots, N\}\).

Inputs/Outputs

Inputs:

v Input to the uncertainty.

C1 Cell array containing the vertices \(\Delta_{i}\).

C2 Cell array containing the vertices \(\Omega_{i}\).

Lambdastruc (LMI-Lab) structure matrix such that

$$ \Delta_{i}^{T} \wedge = \wedge^{T}\Delta_{i},\quad i=1,\cdots,N$$

for all \(\wedge \in \wedge_{struc}\). See examples below for further description.

Outputs:

w Output from uncertainty.

X The parameter X (optional).

Y The parameter Y (optional).

Z The parameter Z (optional).

Lambda The parameter Λ (optional).

Example 1

Let

$$ \Delta(t)=\begin{bmatrix} \delta_{1}(t)I_{1} & 0\\ 0 & \delta_{2}(t)I_{2} \end{bmatrix},$$

where \( \delta_{1}(t),\ \delta_{2} \in [-k,k],\ \dot{\delta}_{1} \in [-b_{1},b_{1}],\ \dot{\delta}_{2} \in [-b_{2},b_{2}]\). We use

$$ C_{1} = \{ \textrm{diag}(\pm kI_{2}, \pm kI_{2})\},$$

$$ C_{2} = \{ \textrm{diag}(\pm b_{1}I_{2}, \pm b_{2}I_{2})\}$$

and

$$ \wedge_{struc}=\left\{ \begin{bmatrix} \wedge_{1} & 0\\ 0 & \wedge_{2} \end{bmatrix} : \wedge_{1}=\wedge_{1}^{T}, \ \wedge_{2}=\wedge_{2}^{T}\right\} = \begin{bmatrix} 1 & 2 & 0 & 0\\ 2 & 3 & 0 & 0\\ 0 & 0 & 4 & 5\\0 & 0 & 5 & 6 \end{bmatrix}$$

where the last matrix is the structure matrix in LMI-Lab notation. The integers 1, . . . , 6 refer to six different decision variables that will be optimized.

Example 2

Let \(\Delta(t)=[\delta_{1}(t) \ \delta_{2}(t)]^{T}\), where \(\delta_{i}(t) \in [-1,1]\) and \(\dot{\delta}_{i}(t) \in [-b,b]\). We use

$$ C_{1}= \left\{\begin{bmatrix} \pm 1\\ \pm 1 \end{bmatrix} \right\},\quad C_{2}= \left\{ \begin{bmatrix} \pm b\\ \pm b \end{bmatrix} \right\},$$

and

$$ \wedge_{struc}=\textbf{R}^{2 \times 1} = \begin{bmatrix} 1\\2 \end{bmatrix},$$

where the integers 1 and 2 refer to two different decision variables that will be optimized.

Example 3

Let us consider a numerical example. We let the system be

$$ \dot{x}=(A+B\Delta(t)C)x,\quad x(0)=x_{0},$$

where

$$ \Delta(t)=\begin{bmatrix} \delta_{1}(t) & 0\\0 & \delta_{2}(t) \end{bmatrix},$$

where \(\delta_{i}(t) \in [-1,1],\ \dot{\delta}_{i}(t) \in [-0.1,0.1]\). The system is (exponentially) stable if \(\forall \omega \in [0,\infty]\)

$$ \begin{bmatrix} C(j\omega I -A)^{-1}B\\ I \end{bmatrix}^{*}\begin{bmatrix} Z & Y^{T}-j\omega \wedge^{T}\\ Y+ j\omega \wedge & X \end{bmatrix} \begin{bmatrix} C(j\omega I - A)^{-1}B\\ I \end{bmatrix} < 0$$

for some X, Y, Z, and \(\wedge_{struc}\) that satsifies the above conditions. The command sequence below proves stability of the above system for a particular state space realization. The gain is computed to be gain=84.4853.

>>A=[-3 0 0 0;0 -0.01 1 0;0 -1 -0.01 0;0 0 0 -1];

>>B=0.002*[0 4;-1 3;4 5;8 14];

>>C=0.1*[-3 15 5 -5;

>> 15 20 5 -5];

>>G=ss(A,B,C,zeros(2,2));

>>Delta{1}=[1 0;0 1];

>>Delta{2}=[1 0;0 -1];

>>Delta{3}=[-1 0;0 0];

>>Delta{4}=[-1 0;0 -1];

>>Omega{1}=[0.1 0;0 0.1];

>>Omega{2}=[0.1 0;0 -0.1];

>>Omega{3}=[-0.1 0;0 0.1];

>>Omega{4}=[-0.1 0;0 -0.1];

>>Lambdastruc=[1 0;0 2];

>>abst_init_iqc;

>>w=signal(2);

>>f=signal(2);

>>v=G*(w+f);

>>w==iqc_polytope_stvp(v,Delta,Omega,Lambdastruc);

>>gain=iqc_gain_tbx(f,v)

See also

iqc_polytope, iqc_slowtv

References

U. Jönsson. A Popov criterion for systems with slowly time-varying parameters. In Proceedings of the American Control Conference, Albuquerque, New Mexico, 1997.