TuningGoal.ConicSector class
Package: TuningGoal
Sector bound for control system tuning
Description
A conic sector bound is a restriction on the output trajectories of a system. If for all nonzero input trajectories u(t), the output trajectory z(t) = (Hu)(t) of a linear system H satisfies:
for all T ≥ 0, then the output trajectories of H lie in the conic sector described by the symmetric indefinite matrix Q. Selecting different Q matrices imposes different conditions on the system response.
When tuning a control system with systune
,
use TuningGoal.ConicSector
to restrict the output
trajectories of the response between specified inputs and outputs
to a specified sector. For more information about sector bounds, see About Sector Bounds and Sector Indices.
Construction
Req = TuningGoal.ConicSector(
creates
a tuning goal for restricting the response H(s)
from inputs inputname
,outputname
,Q
)inputname
to outputs outputname
to
the conic sector specified by the symmetric matrix Q
.
The tuning goal constrains H such that its trajectories z(t)
= (Hu)(t) satisfy:
for all T ≥ 0.
(See About Sector Bounds and Sector Indices.) The matrix Q
must
have as many negative eigenvalues as there are inputs in H.
To specify frequency-dependent sector bounds, set Q
to
an LTI model that satisfies Q(s)T = Q(–s).
Input Arguments
|
Input signals for the tuning goal, specified as a character vector or, for multiple-input tuning goals, a cell array of character vectors.
For more information about analysis points in control system models, see Mark Signals of Interest for Control System Analysis and Design. |
|
Output signals for the tuning goal, specified as a character vector or, for multiple-output tuning goals, a cell array of character vectors.
For more information about analysis points in control system models, see Mark Signals of Interest for Control System Analysis and Design. |
|
Sector geometry, specified as:
For more information, see About Sector Bounds and Sector Indices. |
Properties
|
Sector geometry, specified as a matrix or an LTI model. The |
|
Regularization parameter, specified as a real nonnegative scalar value. Given the indefinite factorization of the sector matrix, the sector bound is equivalent to where , , and (•)H denotes the Hermitian transpose. Enforcing this condition might become numerically challenging when other tuning goals drive both H1(jω) and H2(jω) to zero at some frequencies. This condition is equivalent to controlling the sign of a 0/0 expression, which is intractable in the presence of rounding errors. To avoid this condition, you can regularize the sector bound to or equivalently, This regularization prevents H2(jω) from
becoming singular, and helps keep evaluation of the tuning goal numerically
tractable. Use the Req.Regularization = 1e-3; Default: 0 |
|
Frequency band in which tuning goal is enforced, specified as
a row vector of the form Set the Req.Focus = [1,100]; Default: |
|
Input signal names, specified as a cell array of character vectors.
The input signal names specify the inputs of the constrained response,
initially populated by the |
|
Output signal names, specified as a cell array of character
vectors. The output signal names specify the outputs of the constrained
response, initially populated by the |
|
Models to which the tuning goal applies, specified as a vector of indices. Use the Req.Models = 2:4; When Default: |
|
Feedback loops to open when evaluating the tuning goal, specified as a cell array of character vectors that identify loop-opening locations. The tuning goal is evaluated against the open-loop configuration created by opening feedback loops at the locations you identify. If you are using the tuning goal to tune a Simulink model
of a control system, then If you are using the tuning goal to tune a generalized state-space
( For example, if Default: |
|
Name of the tuning goal, specified as a character vector. For example, if Req.Name = 'LoopReq'; Default: |
Examples
Tips
The conic sector tuning goal requires that be square and minimum phase, where H(s) is the transfer function between the specified inputs and outputs, and W2 spans the negative invariant subspace of the sector matrix, Q:
(See Algorithms.) This means that the stabilized dynamics for this goal are not the poles of H, but rather the transmission zeros of . The
MinDecay
andMaxRadius
options ofsystuneOptions
control the bounds on these implicitly constrained dynamics. If the optimization fails to meet the default bounds, or if the default bounds conflict with other requirements, usesystuneOptions
to change these defaults.
Algorithms
Let
be an indefinite factorization of Q. When is square and minimum phase, then the time-domain sector bound on trajectories z(t) = Hu(t),
is equivalent to the frequency-domain sector condition,
for all frequencies. The TuningGoal.ConicSector
goal
uses this equivalence to convert the time-domain characterization
into a frequency-domain condition that systune
can
handle in the same way it handles gain constraints. To secure this
equivalence, TuningGoal.ConicSector
also makes minimum
phase by making all its zeros stable.
For sector bounds, the R-index plays the same role as the peak gain does for gain constraints (see About Sector Bounds and Sector Indices). The condition
is satisfied at all frequencies if and only if the R-index
is less than one. The viewGoal
plot
for TuningGoal.ConicSector
shows the R-index
value as a function of frequency (see sectorplot
).
When you tune a control system using a TuningGoal
object
to specify a tuning goal, the software converts the tuning goal into
a normalized scalar value f(x),
where x is the vector of free (tunable) parameters
in the control system. The software then adjusts the parameter values
to minimize f(x) or to drive f(x)
below 1 if the tuning goal is a hard constraint.
For the sector bound
TuningGoal.ConicSector
uses the objective function
given by:
R is the sector-bound R-index
(see getSectorIndex
for details).
The dynamics of H affected by the minimum-phase
condition are the stabilized dynamics for this
tuning goal. The MinDecay
and MaxRadius
options
of systuneOptions
control the bounds on these
implicitly constrained dynamics. If the optimization fails to meet
the default bounds, or if the default bounds conflict with other requirements,
use systuneOptions
to change
these defaults.
Version History
Introduced in R2016b
See Also
systune
| systune
(for slTuner)
(Simulink Control Design) | getSectorIndex
| viewGoal
| evalGoal
| slTuner
(Simulink Control Design)