Documentation

evalRequirement

Class: sdo.requirements.StepResponseEnvelope
Package: sdo.requirements

Evaluate satisfaction of step response requirement

Syntax

evaluation = evalRequirement(requirement,signal)

Description

evaluation = evalRequirement(requirement,signal) evaluates whether signal satisfies requirement, the step response requirement.

Input Arguments

expand all

Step response requirement, specified as an sdo.requirements.StepResponseEnvelope object.

Signal to be evaluated, specified as one of the following:

  • timeseries object

  • Matrix of size nxm — Where n is the number of time points in the signal and m is the number of channels in the signal. The first column is time and subsequent columns are signal values.

  • Numeric or generalized linear time invariant (LTI) model — Available with Control System Toolbox™ software.

Output Arguments

expand all

Evaluation of the step response requirement, returned as a column vector. Negative values indicate that the requirement is satisfied, and positive values indicate that the requirement is violated. evaluation consists of the maximum distances between signal and step response bounds. The last entry in evaluation is a stability measure.

The maximum signal distances from upper bounds are returned before lower bounds. The step bounds are considered in the following order:

  • Upper bound for the overshoot — Signal between StepTime (time, t = 0) and SettlingTime  of the requirement is used.

  • Upper bound for the settling time — Signal between SettlingTime and 1.5*SettlingTime is used.

  • Additional upper bound for the settling time — If signal extends beyond 1.5*SettlingTime, there is an additional upper bound for the settling time. Maximum signal distance from this upper bound is also returned. The signal between 1.5*SettlingTime and end of signal is used.

  • Lower bound for the undershoot — Signal between StepTime and RiseTime is used.

  • Lower bound for the % rise — Signal between RiseTime and  SettlingTimeis used.

  • Lower bound for the settling time — Signal between SettlingTime and 1.5*SettlingTime is used.

  • Additional lower bound for the settling time — If signal extends beyond 1.5*SettlingTime, there is an additional  lower bound for the settling time. Maximum signal distance from this lower bound is also returned. The signal between 1.5*SettlingTime and end of signal is used.

The last value in evaluation is a measure of stability from the end of signal to infinity. Negative values indicate that the projected signal is not deviating from the step response after end of signal. A positive value indicates that the projected signal is deviating.

Examples

expand all

Create a step response requirement.

requirement = sdo.requirements.StepResponseEnvelope;

A requirement is created with the default settling time of 7 seconds.

Specify the signal to be evaluated.

signal = timeseries(1-exp(-(0:10)'));

The signal data extends to 10 seconds.

Evaluate the step response requirement.

evaluation = evalRequirement(requirement,signal)
evaluation =

   -0.0917
   -0.0099
   -1.0000
   -0.2416
   -0.0092
   -0.0299

The maximum distance of the signal from the step response bounds is returned in evaluation(1:5), followed by the stability value. Negative values indicate that the requirement is satisfied.

The maximum distance from the bounds are returned in the following order:

  1. Distance from upper bound for the overshoot

  2. Distance from upper bound for the settling time

  3. Distance from lower bound for the undershoot

  4. Distance from lower bound for the % rise

  5. Distance from lower bound for the settling time

evaluation does not include the distance of the signal from bounds beyond 1.5*settling time because the signal data does not extend beyond 1.5*settling time.

Related Examples

Was this topic helpful?