H∞ tuning of fixed-structure controllers
CL = hinfstruct(CL0)
[CL,gamma,info]
= hinfstruct(CL0)
[CL,gamma,info]
= hinfstruct(CL0,options)
[C,gamma,info]
= hinfstruct(P,C0,options)
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.
[
returns CL
,gamma
,info
]
= hinfstruct(CL0
)gamma
(the
minimum H∞ norm)
and a data structure info
with additional information
about each optimization run.
[
allows
you to specify additional options for the optimizer using CL
,gamma
,info
]
= hinfstruct(CL0
,options
)hinfstructOptions
.
[
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 (Control System Toolbox) 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
.
|
Generalized state-space (
|
|
Numeric LTI model representing the fixed elements of the control
architecture to be tuned.
|
|
Single tunable component or cell array of tunable components of the control structure. Each entry in For more information and examples of creating tunable models, see Models with Tunable Coefficients (Control System Toolbox) in the Control System Toolbox™ User's Guide.
|
|
Set of options for |
|
Tuned version of the generalized state-space ( The To access the tuned parameter values, use |
|
Tuned versions of the parametric models When When |
|
Best achieved value for the closed-loop H∞ norm. In some cases, |
|
Data structure array containing results from each optimization
run. The fields of
|
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.