Rise time, settling time, and other step-response characteristics

`S = stepinfo(sys)`

`S = stepinfo(y,t)`

`S = stepinfo(y,t,yfinal)`

`S = stepinfo(___,'SettlingTimeThreshold',ST)`

`S = stepinfo(___,'RiseTimeLimits',RT)`

computes
the step-response characteristics for a dynamic system model
`S`

= stepinfo(`sys`

)`sys`

. The function returns the characteristics in a
structure containing the fields:

`RiseTime`

— Time it takes for the response to rise from 10% to 90% of the steady-state response.`SettlingTime`

— Time it takes for the error |*y*(*t*) -*y*| between the response_{final}*y*(*t*) and the steady-state response*y*to fall to within 2% of_{final}*y*._{final}`SettlingMin`

— Minimum value of*y*(*t*) once the response has risen.`SettlingMax`

— Maximum value of*y*(*t*) once the response has risen.`Overshoot`

— Percentage overshoot, relative to*y*)._{final}`Undershoot`

— Percentage undershoot.`Peak`

— Peak absolute value of*y*(*t*)`PeakTime`

— Time at which the peak value occurs.

The following figure illustrates some of these quantities on a typical second-order response.

Using this syntax requires a Control System Toolbox™ license.

computes step-response characteristics from an array of step-response data
`S`

= stepinfo(`y`

,`t`

)`y`

and corresponding time vector `t`

.
For SISO system responses, `y`

is a vector with the same
number of entries as `t`

. For MIMO response data,
`y`

is an array containing the responses of each I/O
channel. This syntax uses the last value in `y`

(or the last
value in each channel's corresponding response data) as the steady-state value
for computing characteristics that depend on that value.

computes step-response characteristics relative to the steady-state value
`S`

= stepinfo(`y`

,`t`

,`yfinal`

)`yfinal`

. This syntax is useful when you know that the
expected steady-state system response differs from the last value in
`y`

for reasons such as measurement noise.

For SISO responses, `t`

and `y`

are vectors
with the same length NS. For systems with NU inputs and NY outputs, you can
specify `y`

as an NS-by-NY-by-NU array (see `step`

) and
`yfinal`

as an NY-by-NU array. `stepinfo`

then returns a NY-by-NU structure array `S`

of performance
metrics for each I/O pair.

lets you specify the threshold `S`

= stepinfo(___,'SettlingTimeThreshold',`ST`

)`ST`

used in the definition of
settling time. The response has settled when the error ```
|y(t) -
yfinal|
```

becomes smaller than a fraction `ST`

of
its peak value. The default value is `ST = 0.02`

(2%). You can
use this syntax with any of the previous input-argument combinations.

lets you specify the lower and upper thresholds used in the definition of rise
time. By default, the rise time is defined as the time the response takes to
rise from 10 to 90% of the steady-state value (`S`

= stepinfo(___,'RiseTimeLimits',`RT`

)```
RT = [0.1
0.9]
```

). The upper threshold `RT(2)`

is also used to
calculate `SettlingMin`

and `SettlingMax`

.
These values are the minimum and maximum values of the response occurring after
the response has reached the upper threshold. You can use this syntax with any
of the previous input-argument combinations.