Documentation Center

  • Trial Software
  • Product Updates

sdo.requirements.OpenLoopGainPhase class

Package: sdo.requirements

Nichols response bound

Description

Specify piecewise-linear bounds on the Nichols (gain-phase) response of a linear system. You can then optimize the model response to meet these bounds using sdo.optimize.

You can specify an upper or lower bound, include multiple linear edges, and extend the bounds to + or –inf.

You must have Simulink® Control Design™ software to specify open-loop gain and phase requirements.

Construction

olgainphase_req = sdo.requirements.OpenLoopGainPhase creates a sdo.requirements.OpenLoopGainPhase object and assigns default values to its properties.

gainphase_req = sdo.requirements.OpenLoopGainPhase(Name,Value) uses additional options specified by one or more Name,Value pair arguments. Name is a property name and Value is the corresponding value. Name must appear inside single quotes (''). You can specify several name-value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Input Arguments

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

'BoundGains'

Gain values for a piecewise linear bound.

Specify the start and end values in decibles for all the edges in the piecewise-linear bound. The property must be a nx2 array of finite doubles, where each row specifies the start and end gain values of an edge. The number of rows must match the number of rows of the BoundPhases property.

Use set to set this and the BoundPhases properties simultaneously.

Default: [-10 -10]

'BoundPhases'

Phase values for a piecewise-linear bound.

Specify the start and end values in degrees for all the edges in the piecewise-linear bound. The property must be a nx2 array of finite doubles, where each row specifies the start and end phase values of an edge. The number of rows must match the number of rows of the BoundGains property.

Use set to set this and the BoundGains properties simultaneously.

Default: [-180 -90]

'Description'

Requirement description. Must be a string.

Default: ''

'MagnitudeUnits'

Magnitude units of the requirement. Must be:

  • 'db' (decibels)

  • 'abs' (absolute units)

Default: 'db'

'Name'

Requirement name. Must be a string.

Default: ''

'OpenEnd'

Extend bound in a negative or positive time direction.

Use to bound signals that extend beyond the coordinates specified by the BoundPhases and BoundGains properties.

Must be a 1x2 logical array. If true, the first or last edge of the bound is extended to infinity.

Default: [0 0]

'PhaseUnits'

Phase units of the requirement. Must be one of the following strings:

  • 'deg' (degrees)

  • 'rad' (radians)

Default: 'deg'

'Type'

Gain and phase requirement type. Must be one of the following strings:

  • '>=' — Lower bound

  • '<=' — Upper bound

Default: '>='

Properties

BoundGains

Gain values for a piecewise linear bound.

Specify the start and end values in decibles for all the edges in the piecewise-linear bound. The property must be a nx2 array of finite doubles, where each row specifies the start and end gain values of an edge. The number of rows must match the number of rows of the BoundPhases property.

Use set to set this and the BoundPhases properties simultaneously.

Default: [-10 -10]

BoundPhases

Phase values for a piecewise-linear bound.

Specify the start and end values in degrees for all the edges in the piecewise-linear bound. The property must be a nx2 array of finite doubles, where each row specifies the start and end phase values of an edge. The number of rows must match the number of rows of the BoundGains property.

Use set to set this and the BoundGains properties simultaneously.

Default: [-180 -90]

Description

Requirement description. Must be a string.

Default: ''

MagnitudeUnits

Magnitude units of the requirement. Must be:

  • 'db' (decibels)

  • 'abs' (absolute units)

Default: 'db'

Name

Requirement name. Must be a string.

Default: ''

OpenEnd

Extend bound in a negative or positive time direction.

Use to bound signals that extend beyond the coordinates specified by the BoundPhases and BoundGains properties.

Must be a 1x2 logical array. If true, the first or last edge of the bound is extended to infinity.

Default: [0 0]

PhaseUnits

Phase units of the requirement. Must be one of the following strings:

  • 'deg' (degrees)

  • 'rad' (radians)

Default: 'deg'

Type

Gain and phase requirement type. Must be one of the following strings:

  • '>=' — Lower bound

  • '<=' — Upper bound

Default: '>='

Methods

evalRequirementEvaluate gain and phase bounds on Nichols response of linear system

Copy Semantics

Handle. To learn how handle classes affect copy operations, see Copying Objects in the MATLAB® documentation.

Examples

Construct an open-loop gain and phase object, and specify gain and phase requirements.

r = sdo.requirements.OpenLoopGainPhase;
set(r,'BoundPhases',[-120 -120; -120 -150; -150 -180],...
      'BoundGains',[20 0; 0 -20; -20 -20]);

Alternatively, you can specify the gain and phase requirements during construction:

r = sdo.requirements.OpenLoopGainPhase('BoundPhases',...
		[-120 -120; -120 -150; -150 -180],'BoundGains',...
		[20 0; 0 -20; -20 -20]);

Alternatives

Use getbounds to get the bounds specified in a Check Nichols Characteristics block.

See Also

| |

How To

Was this topic helpful?