Accelerating the pace of engineering and science

# Documentation

## Specify Time-Domain Design Requirements

### Specify Piecewise-Linear Lower and Upper Bounds

To specify upper and lower bounds on a signal:

1. In the Design Optimization tool, select Signal Bound in the New drop-down list. A window opens where you specify upper or lower bounds on a signal.

2. Specify a requirement name in the Name box.

3. Select the requirement type using the Type list.

4. Specify the edge start and end times and corresponding amplitude in the Time (s) and Amplitude columns.

5. Click to specify additional bound edges.

Select a row and click to delete a bound edge.

6. In the Select Signals to Bound area, select a logged signal to apply the requirement to.

If you have already selected signals, as described in Specify Signals to Log, they appear in the list. Select the corresponding check-box.

If you haven't selected a signal to log:

1. Click . A window opens where you specify the logged signal.

2. In the Simulink® model window, click the signal to which you want to add a requirement.

The window updates and displays the name of the block and the port number where the selected signal is located.

3. Select the signal and click to add it to the signal set.

4. In the Signal set box, enter a name for the selected signal set.

Click OK. A new variable, with the specified name, appears in the Design Optimization Workspace of the Design Optimization tool window.

7. Click OK.

A variable with the specified requirement name appears in the Design Optimization Workspace. A graphical display of the requirement also appears in the Design Optimization tool window.

8. (Optional) In the graphical display, you can:

Alternatively, you can add a Check Custom Bounds block to your model to specify piecewise-linear bounds.

### Specify Signal Property Requirements

To specify signal property requirements:

1. In the Design Optimization tool, select Signal Property in the New drop-down list. The Create Requirement window opens where you specify signal property requirements.

2. In the Name box, specify a requirement name.

3. In the Specify Property area, specify a signal property requirement using the Property and Type lists and the Bound box.

4. In the Select Signals to Bound area, select the logged signal to which you want to apply the requirement.

If you have already selected a signal, as described in Specify Signals to Log, the signal appears in the list. Select the corresponding check box for that signal.

If you have not selected a signal to log:

1. Click . The Create Signal Set window opens where you specify the logged signal.

2. In the Simulink model window, click the signal to which you want to add a requirement.

The window updates and displays the name of the block and the port number where the selected signal is located.

3. Select the signal and click to add it to the signal set.

4. In the Signal set box, enter a name for the selected signal set.

Click OK. A new variable, with the specified name, appears in the Design Optimization Workspace of the Design Optimization tool window.

5. Click OK.

A variable with the specified requirement name appears in the Design Optimization Workspace. An iteration plot depicting the signal property for each iteration also appears in the Design Optimization tool window.

### Specify Step Response Characteristics

To specify step response characteristics:

1. You can apply this requirement to either a signal or a linearization of your model.

In the Design Optimization Tool, click New. To apply this requirement to a signal, select the Step Response Envelope entry in the New Time Domain Requirement section of the New list. To apply this requirement to a linearization of your model, select the Step Response Envelope entry in the New Frequency Domain Requirement section of the New list. The latter option requires Simulink Control Design™ software.

A window opens where you specify the step response requirements on a signal, or system.

2. Specify a requirement name in the Name box.

3. Specify the step response characteristics:

• Initial value: Input level before the step occurs

• Step time: Time at which the step takes place

• Final value: Input level after the step occurs

• Rise time: The time taken for the response signal to reach a specified percentage of the step's range. The step's range is the difference between the final and initial values.

• % Rise: The percentage used in the rise time.

• Settling time: The time taken until the response signal settles within a specified region around the final value. This settling region is defined as the final step value plus or minus the specified percentage of the final value.

• % Settling: The percentage used in the settling time.

• % Overshoot: The amount by which the response signal can exceed the final value. This amount is specified as a percentage of the step's range. The step's range is the difference between the final and initial values.

• % Undershoot: The amount by which the response signal can undershoot the initial value. This amount is specified as a percentage of the step's range. The step's range is the difference between the final and initial values.

4. Specify the signals or systems to be bound.

You can apply this requirement to a model signal or to a linearization of your Simulink model (requires Simulink Control Design software).

• Apply this requirement to a model signal:

In the Select Signals to Bound area, select a logged signal to which you will apply the requirement.

If you have already selected a signal to log, as described in Specify Signals to Log, it appears in the list. Select the corresponding check-box.

If you haven't selected a signal to log:

1. Click . A window opens where you specify the logged signal.

2. In the Simulink model window, click the signal to which you want to add a requirement.

The window updates and displays the name of the block and the port number where the selected signal is located.

3. Select the signal and click to add it to the signal set.

4. In the Signal set box, enter a name for the selected signal set.

Click OK. A new variable, with the specified name, appears in the Design Optimization Workspace of the Design Optimization tool window.

• Apply this requirement to a linear system.

Linear systems are defined by snapshot times at which the model is linearized and sets of linearization I/O points defining the system inputs and outputs.

1. Specify the simulation time at which the model is linearized using the Snapshot Times box. For multiple simulation snapshot times, specify a vector.

2. Select the linearization input/output set from the Linearization I/O area.

If you have already created a linearization input/output set, it will appear in the list. Select the corresponding check box.

If you have not created a linearization input/output set, click to open the Create linearization I/O set dialog box.

For more information on using this dialog box, see Create Linearization I/O Sets.

5. Click OK.

A variable with the specified requirement name appears in the Design Optimization Workspace. A graphical display of the requirement also appears in the Design Optimization tool window.

Alternatively, you can use the Check Step Response Characteristics block to specify step response bounds for a signal.

### Track Reference Signals

Use reference tracking to force a model signal to match a desired signal.

To track a reference signal:

1. In the Design Optimization tool, select Signal Tracking in the New drop-down list. A window opens where you specify the reference signal to track.

2. Specify a requirement name in the Name box.

3. Define the reference signal by entering vectors, or variables from the workspace, in the Time vector and Amplitude fields.

Click Update reference signal data to use the new amplitude and time vector as the reference signal.

4. Specify how the optimization solver minimizes the error between the reference and model signals using the Tracking Method list:

• SSE — Reduces the sum of squared errors

• SAE — Reduces the sum of absolute errors

5. In the Specify Signal to Track Reference Signal area, select a logged signal to apply the requirement to.

If you already selected a signal to log, as described in Specify Signals to Log, they appear in the list. Select the corresponding check-box.

If you haven't selected a signal to log:

1. Click . A window opens where you specify the logged signal.

2. In the Simulink model window, click the signal to which you want to add a requirement.

The window updates and displays the name of the block and the port number where the selected signal is located.

3. Select the signal and click to add it to the signal set.

4. In the Signal set box, enter a name for the selected signal set.

Click OK. A new variable, with the specified name, appears in the Design Optimization Workspace of the Design Optimization tool window.

5. Select the check-box corresponding to the signal and click OK.

A variable with the specified requirement name appears in the Design Optimization Workspace. A graphical display of the signal bound also appears in the Design Optimization tool window.

 Note:   When tracking a reference signal, the software ignores the maximally feasible solution option. For more information on this option, see Selecting Optimization Termination Options.

Alternatively, you can use the Check Against Reference block to specify a reference signal to track.

### Specify Custom Requirements

To specify custom requirements, such as minimizing system energy:

1. In the Design Optimization tool, select Custom Requirement in the New list. A window opens where you specify the custom requirement.

2. Specify a requirement name in the Name box.

3. Specify the requirement type using the Type list.

4. Specify the name of the function that contains the custom requirement in the Function box. The field must be specified as a function handle using @. The function must be on the MATLAB path. Click to review or edit the function.

If the function does not exist, clicking opens a template MATLAB file. Use this file to implement the custom requirement. The default function name is myCustomRequirement.

5. (Optional) If you want to prevent the solver from considering specific parameter combinations, select the Error if constraint is violated check box. Use this option for parameter-only constraints.

During an optimization iteration, the solver evaluates requirements with this option selected first.

• If the constraint is violated, the solver skips evaluating any remaining requirements and proceeds to the next iterate.

• If the constraint is not violated, the solver evaluates the remaining requirements for the current iterate. If any of the remaining requirements bound signals or systems, then the solver simulates the model .

For more information, see Skip Model Simulation Based on Parameter Constraint Violation (GUI).

 Note:   If you select this check box, then do not specify signals or systems to bound. If you do specify signals or systems, then this check box is ignored.
6. (Optional) Specify the signal or system, or both, to be bound.

You can apply this requirement to model signals, or a linearization of your Simulink model (requires Simulink Control Design software), or both.

Click Select Signals and Systems to Bound (Optional) to view the signal and linearization I/O selection area.

• Apply this requirement to a model signal:

In the Signal area, select a logged signal to which you will apply the requirement.

If you have already selected a signal to log, as described in Specify Signals to Log, it appears in the list. Select the corresponding check box.

If you have not selected a signal to log:

1. Click . A window opens where you specify the logged signal.

2. In the Simulink model window, click the signal to which you want to add a requirement.

The window updates and displays the name of the block and the port number where the selected signal is located.

3. Select the signal and click to add it to the signal set.

4. In the Signal set box, enter a name for the selected signal set.

Click OK. A new variable, with the specified name, appears in the Design Optimization Workspace of the Design Optimization tool window.

• Apply this requirement to a linear system.

Linear systems are defined by snapshot times at which the model is linearized and sets of linearization I/O points defining the system inputs and outputs.

1. Specify the simulation time at which the model is linearized using the Snapshot Times box. For multiple simulation snapshot times, specify a vector.

2. Select the linearization input/output set from the Linearization I/O area.

If you have already created a linearization input/output set, it will appear in the list. Select the corresponding check box.

If you have not created a linearization input/output set, click to open the Create linearization I/O set dialog box. For more information on using this dialog box, see Create Linearization I/O Sets.

7. Click OK.

A new variable, with the specified name, appears in the Design Optimization Workspace of the Design Optimization tool. A graphical display of the requirement also appears in the Design Optimization tool window.

### Edit Design Requirements

The Edit Design Requirement dialog box allows you to exactly position constraint segments and to edit other properties of these constraints. The dialog box has two main components:

• An upper panel to specify the constraint you are editing

• A lower panel to edit the constraint parameters

The upper panel of the Edit Design Requirement dialog box resembles the image in the following figure.

In the context of the SISO Tool in Control System Toolbox™ software, Design requirement refers to both the particular editor within the SISO Tool that contains the requirement and the particular requirement within that editor. To edit other constraints within the SISO Tool, select another design requirement from the drop-down menu.

#### Edit Design Requirement Dialog Box Parameters

The particular parameters shown within the lower panel of the Edit Design Requirement dialog box depend on the type of constraint/requirement. In some cases, the lower panel contains a grid with one row for each segment and one column for each constraint parameter. The following table summarizes the various constraint parameters.

Edit Design Requirement Dialog Box Parameters

ParameterFound inDescription
TimeUpper and lower time response bounds on step and impulse response plotsDefines the time range of a segment within a constraint/requirement.
AmplitudeUpper and lower time response bounds on step and impulse response plotsDefines the beginning and ending amplitude of a constraint segment.
Slope (1/s)Upper and lower time response boundsDefines the slope, in 1/s, of a constraint segment. It is an alternative method of specifying the magnitude values. Entering a new Slope value changes any previously defined magnitude values.
Final valueStep response boundsDefines the input level after the step occurs.
Rise timeStep response boundsDefines a constraint segment for a particular rise time.
% RiseStep response boundsThe percentage of the step's range used to describe the rise time.
Settling timeStep response boundsDefines a constraint segment for a particular settling time.
% SettlingStep response boundsThe percentage of the final value that defines the settling region used to describe the settling time.
% OvershootStep response bounds
% UndershootStep response boundsDefines the constraint segments for a particular percent undershoot.