LTV parametric uncertainties (rate-bounded, diagonally repeated)

In this section it is demonstrated how to create an LTV parametric diagonally repeated and rate-bounded 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]
  • rate- bounds: \dot{\delta}_1\in[-0.1,0.1], \dot{\delta}_2\in[-0.5,0.5]
  • number of repetitions: 2 and 3 times for \delta_1 and \delta_2 respectively
  • Input channels of M connecting the uncertainty block: 1,2 for \delta_1 and 3:5 for the \delta_2
  • Outputs channels of M connecting the uncertainty block: 1,2 for \delta_1 and 3:5 for \delta_2
  • This uncertainty can be created as follows:
delta = iqcdelta('delta','TimeInvTimeVar','TV','InputChannel',{[1:2],[3:5]},'OutputChannel',{[1:2],[3:5]},'Bounds',{[-1,1],[-1,1]},'RateBounds',{[-0.1,0.1],[-0.5,0.5]});

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','TimeInvTimeVar','TV','InputChannel',1:2,'OutputChannel',1:2,'Bounds',[-1,1],'RateBounds',[-0.1,0.1]);

delta2 = iqcdelta('delta2','TimeInvTimeVar','TV','InputChannel',3:5,'OutputChannel',3:5,'Bounds',[-1,1],'RateBounds',[-0.5,0.5]);

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

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

For this multiplier you have to choose the properties related to the basis function as well as the type of relaxation. For example, let us choose:

  • Length: 3 (this corresponds to a McMillan degree of 2)
  • Pole location: -1
  • Relaxation type: ‘DG’
delta = iqcassign(delta,'ultv_rb','Length',3,'PoleLocation',-1,'RelaxationType','DG');

Previous page