# TuningGoal.StepTracking

Step response requirement for control system tuning

## Description

Use `TuningGoal.StepTracking`

to specify a target
step response from specified inputs to specified outputs of a control system. Use this tuning
goal with control system tuning commands such as `systune`

or
`looptune`

.

## Creation

### Syntax

### Description

creates a tuning goal that constrains the step response between the specified signal locations
to match the step response of a stable reference system, `Req`

= TuningGoal.StepTracking(`inputname`

,`outputname`

,`refsys`

)`refsys`

. The
constraint is satisfied when the relative difference between the tuned and target responses
falls within a tolerance specified by the `RelGap`

property of the tuning
goal (see Properties). `inputname`

and `outputname`

can
describe a SISO or MIMO response of your control system. For MIMO responses, the number of
inputs must equal the number of outputs.

specifies the desired step response as a first-order response with time constant
`Req`

= TuningGoal.StepTracking(`inputname`

,`outputname`

,`tau`

)`tau`

:

$$\text{Req}\text{.ReferenceModel}=\frac{1/\text{tau}}{s+1/\text{tau}}.$$

specifies the desired step response as a second-order response with natural period
`Req`

= TuningGoal.StepTracking(`inputname`

,`outputname`

,`tau`

,`overshoot`

)`tau`

, natural frequency 1/`tau`

, and percent overshoot
`overshoot`

:

$$\text{Req}\text{.ReferenceModel}=\frac{{\left(1/\text{tau}\right)}^{2}}{{s}^{2}+2\left(\text{zeta}/\text{tau}\right)s+{\left(1/\text{tau}\right)}^{2}}.$$

The damping is given by ```
zeta =
cos(atan2(pi,-log(overshoot/100)))
```

.

### Input Arguments

## Properties

## Examples

## Tips

This tuning goal imposes an implicit stability constraint on the closed-loop transfer function from

`Input`

to`Output`

, 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*). Here,
*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.StepTracking`

, *f*(*x*)
is given by:

$$f\left(x\right)=\frac{{\Vert \frac{1}{s}\left(T\left(s,x\right)-{T}_{ref}\left(s\right)\right)\Vert}_{2}}{\text{RelGap}{\Vert \frac{1}{s}\left({T}_{ref}\left(s\right)-I\right)\Vert}_{2}}.$$

*T*(*s*,*x*) is the closed-loop transfer
function from `Input`

to `Output`

with parameter values
*x*, and *T _{ref}*(

*s*) is the reference model specified in the

`ReferenceModel`

property. $${\Vert \text{\hspace{0.17em}}\cdot \text{\hspace{0.17em}}\Vert}_{2}$$ denotes the *H*

_{2}norm (see

`norm`

).## Version History

**Introduced in R2016a**

## See Also

`looptune`

| `systune`

| `looptune (for slTuner)`

(Simulink Control Design) | `systune (for slTuner)`

(Simulink Control Design) | `viewGoal`

| `evalGoal`

| `TuningGoal.Tracking`

| `TuningGoal.Overshoot`