*H*_{∞} tuning of fixed-structure
controllers

tunes the free parameters of the tunable `CL`

= hinfstruct(`CL0`

)`genss`

model `CL0`

. This tuning minimizes the
*H*_{∞} norm of the closed-loop transfer
function modeled by `CL0`

. The model `CL0`

represents
a closed-loop control system that includes tunable components such as controllers or
filters. `CL0`

can also include weighting functions that capture design
requirements.

`[`

tunes the parametric controller blocks `C`

,`gamma`

,`info`

]
= hinfstruct(`P`

,`C0`

,`options`

)`C0`

. This tuning minimizes the
*H*_{∞} norm of the closed-loop system
`CL0 = lft(P,C0)`

. To use this syntax, express your control
system and design requirements as a Standard Form model, as in the following
illustration:

`P`

is a numeric LTI model that includes the fixed elements of the
control architecture. `P`

can also include weighting functions that
capture design requirements. `C0`

can be a single tunable component (for
example, a Control Design Block
or a `genss`

model) or a cell array of multiple
tunable components. `C`

is a parametric model or array of parametric
models of the same types as `C0`

.

`hinfstruct`

is related to`hinfsyn`

, which also uses*H*_{∞}techniques to design a controller for a MIMO plant. However, unlike`hinfstruct`

,`hinfsyn`

imposes no restriction on the structure and order of the controller. For that reason,`hinfsyn`

always returns a smaller`gamma`

than`hinfstruct`

. You can therefore use`hinfsyn`

to obtain a lower bound on the best achievable performance.Using

`hinfstruct`

requires some familiarity with*H*_{∞}techniques. It requires expressing your design requirements as frequency-weighting functions on plant inputs and outputs, as described in Formulating Design Requirements as H-Infinity Constraints. For a simpler approach to fixed-structure tuning, use`systune`

or`looptune`

.

`hinfstruct`

uses specialized nonsmooth optimization techniques to
enforce closed-loop stability and minimize the
*H*_{∞} norm as a function of the tunable
parameters. These techniques are based on the work in [1].

`hinfstruct`

computes the
*H _{∞}* norm using the algorithm of [2] and structure-preserving eigensolvers from the SLICOT library. For more information about
the SLICOT library, see http://slicot.org.

[1] P. Apkarian and D. Noll, "Nonsmooth H-infinity Synthesis,"
*IEEE Transactions on Automatic Control*, Vol. 51, Number 1, 2006, pp.
71-86.

[2] Bruisma, N.A. and M. Steinbuch, "A Fast Algorithm to Compute the
H_{∞}-Norm of a Transfer Function Matrix," *System
Control Letters*, 14 (1990), pp. 287-293.