LTI dynamic uncertainties

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

  • name: ‘delta’
  • size: 2\times 3
  • norm-bound: 1
  • number of repetitions: 2
  • Input channels of M connecting the uncertainty block: 1,2 for the first block and 3,4 for the second block
  • Outputs channels of M connecting the uncertainty block: 1:3 for the first block and 4:6 for the second block

This uncertainty can be created as follows:

delta = iqcdelta('delta','StaticDynamic','D', 'Structure','FB','InputChannel',[1,2;3,4],'OutputChannel',[1:3;4:6],'NormBounds',1);

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

delta1 = iqcdelta('delta1','StaticDynamic','D','Structure', 'FB','InputChannel',[1,2],'OutputChannel',[1:3],'NormBounds',1);

delta2 = iqcdelta('delta1','StaticDynamic','D','Structure', 'FB','InputChannel',[3,4],'OutputChannel',[4:6],'NormBounds',1);

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

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

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

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

This can be specified as:

delta = iqcassign(delta,'ultid','Length',2, 'PoleLocation',-1);

Previous page