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: ,
- Size:
- Input channels of connecting the uncertainty block:
- Outputs channels of connecting the uncertainty block:
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 , 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);