LTI parametric uncertainties

In this section it is demonstrated how to create a static diagonally repeated LTI uncertainty block. To do so, suppose that this uncertainty has the following properties:

  • name: ‘delta’
  • Uncertainty block consisting of two parametric uncertainties \delta_1 and \delta_2
  • bounds: \delta_1\in[-1,1], \delta_2\in[-1,1]
  • number of repetitions: 2 and 6 times for \delta_1 and \delta_2 respectively
  • Input channels of M connecting the uncertainty block: 1,2 for \delta_1 and 3:8 for the \delta_2
  • Outputs channels of M connecting the uncertainty block: 1,2 for \delta_1 and 3:8 for \delta_2

This uncertainty can be created as follows:

delta = iqcdelta('delta','InputChannel',{[1:2],[3:8]},'OutputChannel',{[1:2],[3:8]},'Bounds',{[-1,1],[-1,1]});

Alternatively, though in a bit more cumbersome way, you can also specify each block independently and then combine them with blkdiag as follows:

delta1 = iqcdelta('delta1','InputChannel',1:2,'OutputChannel',1:2,'Bounds',[-1,1]);

delta2 = iqcdelta('delta2','InputChannel',3:8,'OutputChannel',3:8,'Bounds',[-1,1]);

delta  = blkdiag('delta',delta1,delta2);

In a next step, you have to assign an IQC-multiplier. The appropriate class for this is called ultis (for details see here).

Now suppose you want the basis function have the following properties:

  • Length: 2 (this corresponds to a McMillan degree of 1)
  • Pole location: -10

This can be specified as:

delta = iqcassign(delta,'ultis','Length',2,'PoleLocation',-10);

If you want to trade of computational complexity versus performance, it is also possible to specify the length and the pole location for each parametric uncertainty separately as:

This can be specified as:

delta = iqcassign(delta,'ultis','Length',[2,1],'PoleLocation',[-10,-1]);

Previous page