IQClab also provides the option to perform LPV controller synthesis with full-block multipliers. This yields controllers that are gain-scheduled and depend on time varying parameters whose values are available via measurements or estimation algorithms.

*Note: It is assumed that the user is acquainted with the LPV controller synthesis literature. The reader is referred to [7] and references therein for further information.*

We consider the system interconnection shown in the following figure.

Here:

- is the generalized plant (i.e., it is assumed that the disturbance and performance weights are already incorporated in the plant)
- is the scheduling block, which depends on a time-varying parameter vector, which is further specified below
- is the to-be-designed LPV controller, where
- is the LTI part
- is the (nonlinear) scheduling function

- the in- and output channels are denoted by
- is the performance channel
- is the plant scheduling function
- is the controller scheduling channel
- is the control channel

Some characteristics of the algorithm are:

- The algorithms performs a synthesis with the aim to obtain a gain-scheduled controller,
- The block is a member of the uncertainty class
*ultv*(see details here). This class is defined by LTV parametric uncertainties of the form- , are some fixed matrices (having the same dimension as .
- is a piecewise continuous time-varying parameter vector that takes its values from the compact polytope
- is assumed to be star convex: .

- With the aim to trade-off computational complexity with performance, the algorithm allows to impose two different relaxation schemes:
*DG*-scalings- Convex Hull relaxation

- The algorithm imposes the following induced norm constraint on the performance channel :

Usage:

If feasible, the algorithms returns:

- The stabilizing controller with state space realization
- The (guaranteed) induced -gain on the performance channel of the closed-loop system .

The inputs should be provided as follows:

- The LTI plant is assumed to admit the following state space description
- and are the scheduling and disturbance inputs
- and are the scheduling and performance outputs

- is the control input
- is the measurement output
- is stabilizable and is detectable

- The scheduling block is an
*iqcdelta*object, which must be compatible with the uncertainty class*ultv*(see details here). - The plant input and output dimension data and must be specified as follows:
- The last input,
*options*, is a structure with various options as summarized in the following table.

Options | Description |

options.subopt | If chosen larger than 1, the algorithm computes a suboptimal solution , while minimizing the norms on the LMI variables , , , .The default value is 1.05. |

options.condnr | If chosen larger than 1, the algorithm computes a suboptimal solution , while improving the conditioning number of the coupling condition
by maximizing . The default value is 1. |

options.Lyapext | With this option you can specify how the Lyapunov function matrix is constructed. The options are .The default value is 5. |

options.Multiplext | With this option you can specify how the extended multiplier matrix is constructed. The options are .The default value is 3. |

options.constants | options.constants= is a vector of (small) nonnegative constants, which perturb the LMIs as , .The constants are associated with the following LMI constraints – , perturb the coupling condition as
– perturbs the primal solvability condition as – perturbs the dual solvability condition as – and perturb the multipliers as
The default value is . |

options.bounds | In case options.subopt>1, the algorithms miminizes the bounds , , , .In case also the option options.bounds= is specified, one can scale the bounds on the LMI variables as , , , , while minimizing .The matrices are empty by default. |

options.gmax | This option specifies the maximum induced -gain bound on the performance channel .The default value is 1000. |

options.Parser | The option options.Parser specifies which parser is used:– options.Parser=’LMIlab’– options.Parser=’Yalmip’The default options is ‘LMIlab’. |

options.Solver | The option options.Solver specifies which solver is used when considering Yalmip as parser. See https://yalmip.github.io/ for further info. The default solver is ‘mincx’. |

options.FeasbRad | This option allows setting the feasibility radius of the optimization problem (see MATLAB → help → mincx for further details). The default value is 1e9. |

options.Terminate | This option can be used to change the LMI solver options (see MATLAB → help → mincx for further details). The default value is 0. |

options.RelAcc | This option can be used to change the LMI solver options (see MATLAB → help → mincx for further details). The default value is 1e-4. |