Main Content

sdo.requirements.SignalBound

Piecewise-linear amplitude bound

Description

Specify piecewise-linear upper or lower amplitude bounds on a time-domain signal. You can then optimize the model response to meet these bounds using sdo.optimize.

You can include multiple linear edges, and extend to + or – infinity.

Creation

Description

example

sig_req = sdo.requirements.SignalBound creates an sdo.requirements.SignalBound object and assigns default values to its properties.

example

sig_req = sdo.requirements.SignalBound(Name=Value) specifies one or more properties using name-value arguments. For example, sig_req = sdo.requirements.SignalBound(Type=">=") creates an sdo.requirements.SignalBound object and specifies the Type property as a lower bound.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes. For example, sig_req = sdo.requirements.SignalBound("Type",">=") creates an sdo.requirements.SignalBound object and specifies the Type property as a lower bound.

Properties

expand all

Magnitude values for the piecewise-linear bound, specified as an N-by-2 array of finite values, where N is the number of edges in the bound. Each row specifies the magnitudes at the start and end of an edge. The number of rows must match the number of rows of the BoundTimes property.

Use set to set the BoundMagnitudes and BoundTimes properties simultaneously.

Time values of the piecewise-linear bound., specified as an N-by-2 array of finite values, where N is the number of edges in the bound. Each row specifies the start and end times of an edge. The number of rows must match the number of rows of the BoundMagnitudes property.

Use set to set the BoundMagnitudes and BoundTimes properties simultaneously.

Requirement description, specified as a character vector.

Example: 'Requirement on signal 1'

Requirement name, specified as a character vector.

Option to extend bound in a negative or positive time direction, specified as a 1-by-2 logical array.

  • If the first element of the array is 1 or true, the first edge of the bound is extended to -Inf.

  • If the second element of the array is 1 or true, the last edge of the bound is extended to +Inf.

Time units of the requirement, specified as one of the following values. The sdo.requirements.SignalBound object stores the value as a character vector.

  • "nanoseconds"

  • "microseconds"

  • "milliseconds"

  • "seconds"

  • "minutes"

  • "hours"

  • "days"

  • "weeks"

  • "months"

  • "years"

Bound type, specified as one of the following values:

  • "<=" — Upper bound

  • ">=" — Lower bound

The sdo.requirements.SignalBound object stores the value as a character vector.

Object Functions

copyCopy design requirement
getGet design requirement property values
setSet design requirement property values
evalRequirementEvaluate design requirement

Examples

collapse all

Construct a signal bound object and specify piecewise-linear bounds.

r = sdo.requirements.SignalBound;
set(r,BoundTimes=[0 10; 10 20],...
      BoundMagnitudes=[1.1 1.1; 1.01 1.01])

Alternatively, you can specify the bounds when you create the object

r = sdo.requirements.SignalBound(...
    BoundTimes=[0 10; 10 20],...
    BoundMagnitudes=[1.1 1.1; 1.01 1.01]);

Alternatives

Use getbounds to get the bounds specified in a Check Custom Bounds block.

Version History

Introduced in R2010b