Passive uncertainties

In this section it is demonstrated how to create a passive nonlinearity block. To do so, suppose that this nonlinearity has the following properties:

  • Name: ‘Delta’
  • Passivity constraint: \langle q,\Delta(q)\rangle\geq0, q=\mathrm{col}(q_1,q_2)\in L_2
  • Size: 2\times 2
  • Input channels of M connecting the uncertainty block: 1:2
  • Outputs channels of M connecting the uncertainty block: 1:2

This uncertainty can be created as follows:

delta = iqcdelta('delta','LinNonlin','NL','InputChannel', 1:2,'OutputChannel',1:2,'Passive','Passive');

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

This can be specified as:

delta = iqcassign(delta,'ups');

Note: In general, for passive nonlinearities, you can only consider static multipliers. However, in case your integrand of the IQC-multiplier is non-negative for all frequencies \omega\in\mathbb{R}\cup\{\infty\}, you can also allow for dynamics in the multiplier, and, hence, set the length of the basis function to values larger than 1 (see [1] for further details). This can be specified as:

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

Previous page