# 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 in`Openings`

. The dynamics affected by this implicit constraint 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.

## 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:

$$f\left(x\right)={\Vert {W}_{S}\left(s\right)S\left(s,x\right)\Vert}_{\infty},$$

or its discrete-time equivalent. Here,
*S*(*s*,*x*) is the closed-loop sensitivity
function measured at the location specified in the tuning goal.
*W _{S}* is a frequency weighting function derived from the
specified sensitivity profile. The gains of

*W*and

_{S}`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

*W*close to

_{S}*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 *W _{S}*, 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 R2016a**

## See 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)