TuningGoal.Sensitivity
Sensitivity requirement for control system tuning
Description
Use TuningGoal.Sensitivity
to limit the
sensitivity of a feedback loop to disturbances. Constrain the sensitivity to be smaller than one
at frequencies where you need good disturbance rejection. Use this tuning goal for control system
tuning with tuning commands such as systune
or
looptune
.
Creation
Description
creates a tuning goal for limiting the sensitivity to disturbances entering a feedback loop at
the specified location. Req
= TuningGoal.Sensitivity(location
,maxsens
)maxsens
specifies the maximum sensitivity as a
function of frequency. You can specify the maximum sensitivity profile as a smooth transfer
function or sketch a piecewise error profile using an frd
model or the
makeweight
(Robust Control Toolbox) command.
See getSensitivity
(Simulink Control Design) for more information about
sensitivity functions.
Input Arguments
Properties
Examples
Tips
This tuning goal imposes an implicit stability constraint on the closed-loop sensitivity function measured at
Location
, evaluated with loops opened at the points identified inOpenings
. The dynamics affected by this implicit constraint are the stabilized dynamics for this tuning goal. TheMinDecay
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
When you tune a control system using a TuningGoal
, 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 TuningGoal.Sensitivity
, f(x) is
given by:
or its discrete-time equivalent. Here,
S(s,x) is the closed-loop sensitivity
function measured at the location specified in the tuning goal.
WS is a frequency weighting function derived from the
specified sensitivity profile. The gains of WS and
1/MaxSensitivity
roughly match for gain values ranging from –20 dB to 60 dB.
For numerical reasons, the weighting function levels off outside this range, unless the specified
sensitivity profile changes slope outside this range. This adjustment is called
regularization. Because poles of
WS close to s = 0 or
s = Inf
might lead to poor numeric conditioning of the
systune
optimization problem, it is not recommended to specify sensitivity
profiles with very low-frequency or very high-frequency dynamics.
To obtain WS, use:
WS = getWeight(Req,Ts)
where Req
is the tuning goal, and Ts
is the sample
time at which you are tuning (Ts = 0
for continuous time). For more
information about regularization and its effects, see Visualize Tuning Goals.
Version History
Introduced in R2016aSee Also
looptune
| systune
| looptune (for slTuner)
(Simulink Control Design) | systune (for slTuner)
(Simulink Control Design) | viewGoal
| evalGoal
| TuningGoal.Gain
| TuningGoal.LoopShape
| TuningGoal.Rejection
| TuningGoal.MinLoopGain
| TuningGoal.MaxLoopGain
| slTuner
(Simulink Control Design)