Main Content

sdo.requirements.ClosedLoopPeakGain class

Package: sdo.requirements

Closed loop peak gain bound


Specify lower or equality bounds on the closed loop peak gain of a linear system. The closed loop can be formed using negative, positive or no feedback. You can then optimize the model response to meet these bounds using sdo.optimize.

You must have Simulink® Control Design™ software to specify closed-loop peak gain bounds.


pkgain_req = sdo.requirements.ClosedLoopPeakGain creates a sdo.requirements.ClosedLoopPeakGain object and assigns default values to its properties.

pkgain_req = sdo.requirements.ClosedLoopPeakGain(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 Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Use Name,Value arguments to specify properties of the requirement object during object creation. For example, requirement = sdo.requirements.ClosedLoopPeakGain('Type','<=') creates an sdo.requirements.ClosedLoopPeakGain object and specifies the Type property as an upper bound.



Requirement description, specified as a character vector. For example, 'Requirement on signal 1'.

Default: ''


Feedback loop sign to determine the peak gain of the linear system.

Must be –1 or 1. Use –1 if the loop has negative feedback and 1 if the loop has positive feedback.

Default: –1


Magnitude units of the requirement.

Must be 'db' (decibels) or 'abs' (absolute units).

Default: 'abs'


Requirement name, specified as a character vector.

Default: ''


Peak gain bound.

Default: 2


Peak gain requirement type, specified as one of the following:

  • '<=' — Upper bound

  • '==' — Equality bound

  • 'min' — Minimization objective

Default: '<='


evalRequirementEvaluate peak gain bound for linear system

Copy Semantics

Handle. To learn how handle classes affect copy operations, see Copying Objects.


Construct a closed loop peak gain object and specify peak gain requirement.

r = sdo.requirements.ClosedLoopPeakGain;
r.PeakGain = 2;

Alternatively, you can specify the peak gain during construction:

r = sdo.requirements.ClosedLoopPeakGain('PeakGain',2);


Use getbounds to get the bounds specified in Check Nichols Characteristics (Simulink Control Design) block.