Robustness analysis with LTI parametric uncertainties

The file Demo_001.m is found in IQClab’s folder demos. This demo performs a \mu– and IQC-robustness analysis for an uncertain plant that is affected by LTI parametric uncertainties. Here it is possible to vary several inputs:

  1. The uncertainty block:
    1. One parametric uncertainty that is repeated twice, or
    2. Two different parametric uncertainties that are repeated once
  2. Relaxation type:
    1. DG-scalings
    2. Convex hull relaxation
    3. Partial convexity
    4. Zeroth order Poyla relaxation
  3. Performance metric:
    1. Induced L_2-gain
    2. H_2-norm
    3. Robust stability test

The uncertain system is given by \Delta\star M with the open-loop LTI plant M=ss(A,B,C,D), where

A=\left(\begin{array}{cc}-2&-3\\1&1\end{array}\right), B=\left(\begin{array}{ccc}1&0&1\\0&0&0\end{array}\right), C=\left(\begin{array}{cc}1&0\\0&0\\1&0\end{array}\right), D=\left(\begin{array}{ccc}1&-2&0\\1&-1&d_{23}\\0&1&0\end{array}\right),

while:

  • d_{23}=1 for Option 3.1 and Option 3.3,
  • d_{23}=0 for Option 3.2.

On the other hand, the uncertainty block is defined by:

  • \Delta=\Delta_1=\delta I_2 with \delta\in[-\alpha,\alpha], for Option 1.1, or
  • \Delta=\Delta_2=\mathrm{diag}(\delta_1,\delta_2) with \delta_1\in[-\alpha_1,\alpha_1], \delta_2\in[-\alpha_2,\alpha_2] for Option 1.2.

The demo file Demo_001.m allows to run an IQC-analysis for various values of \alpha\in[0,1] and within the file one can change the inputs mentioned above. For illustration purposes, the following 5 lines of code specify an IQC-analysis for the uncertain plant \Delta_1(\delta)\star M, \delta\in[-\alpha,\alpha] for \alpha=0.5 and the induced L_2-gain as performance metric. In addition, the following parameters are considered:

  • Relaxation type: ‘CH’ (Option 2.2)
  • Length of the basis function: 2
  • Solution check: ‘on’
  • Enforce strictness of the LMIs: \epsilon=1e-8
% Define uncertain plant
M = ss([-2,-3;1,1],[1,0,1;0,0,0],[1,0;0,0;1,0],[1,-2,0;1,-1,1;0,1,0]);

% Define uncertainty block
de = iqcdelta('de','InputChannel',1:2,'OutputChannel',1:2,'Bounds',[-0.5,0.5]);

% Assign IQC-multiplier to uncertainty block
de = iqcassign(de,'ultis','Length',3,'RelaxationType','CH');

% Define performance block
pe = iqcdelta('pe','ChannelClass','P','InputChannel',3, 'OutputChannel',3,'PerfMetric','L2');

% Perform IQC-analysis
prob = iqcanalysis(M,{de,pe},'SolChk','on','eps',1e-8);

To continue, if running the IQC analysis in Demo_001.m for

  1. \Delta_1 (Option 1.1)
  2. Convex hull relaxation (Option 2.2)
  3. Induced L_2-gain performance (Option 3.1)

you obtain as output the worst-case induced L_2-gain for increasing values of \alpha\in[0,1] computed by the \mu-tools (command: wcgain) and the IQC-tools for different lengths of the basis function. This yields the results shown in the following figure. As can be seen, the IQC-analysis produces worst-case induced L_2-gains (i.e. H_\infty-norms in this example), which are consisted with the \mu-analysis. For static multipliers (case: l=1, red dashed-line) the \gamma-level increases faster than the others, at the benefit of a lower computational load. On the other hand, for basis-lengths larger than 1, the results coincide the \mu-analysis up to values of \alpha=0.85. Choosing higher basis-lengths would allow to converge even further.

Worst-case induced L_2-gain for increasing values of \alpha and different lengths of the basis function

Previous page