Main Content

How Simulink Propagates Signal Properties in a Model

In Simulink®, signals have properties that are assigned either via block parameter specification (see Sources for signal sources) or by defining signal objects (see Simulink.Signal and Simulink.ValueType). These are the properties of a signal:

  • Dimensions (both numeric and symbolic)

  • Dimensions Mode (fixed or variable)

  • Data Type

  • Numeric type (real or complex)

  • Units

  • Sample Time

  • Min and Max Values

  • Initial Condition

The signal properties propagate through signal lines between blocks. During propagation, Simulink:

  • Verifies the consistency of user-defined or computed signal properties at the block ports.

  • Computes unknown (inherited) signal properties of block ports.

This topic describes propagation in the context of dimensions, dimensions mode, data types, numeric types, and units.

Algorithm for Propagation of Signal Properties

During model compilation, Simulink evaluates signal properties and propagates them to block ports that inherit their values. During model compilation, Simulink:

  1. Propagates known properties forward

  2. Propagates known properties backward

  3. Uses heuristics to resolve loops or compute properties for models with insufficient specification, in other words, underspecification.

  4. Repeats steps 1 to 3 until all signal properties on all block ports in the model are known

During backward propagation, loop resolution and underspecification, the structure of a model sometimes lead the Simulink to pick one solution from a set of possible choices. In these scenarios, changing the model structure could lead to a different set of possible choices. Consequently, Simulink could pick a different value for the signal property.

Use Configuration Parameter to Report and Resolve Propagation Issues

During propagation, Simulink detects underspecified or inconsistent signal properties propagated in your model. To report the propagation results, Simulink provides configurable diagnostics in the model configuration settings.

  • Data Type — To report the propagation results and configure your model to take an action when an underspecified data type is detected, in the Configuration Parameters dialog box, select Data Validity > Underspecified data types and choose none, warning or error. For an example on how to report and resolve underspecification, see Identify and Resolve Underspecified Data Types.

    To change the default data type settings for underspecified data types, in the Configuration Parameters dialog box, select Math and Data Types > Default for underspecified data type and use the recommended settings from Default for underspecified data type.

  • Dimensions (numeric and symbolic) — To report the propagation results and configure your model to take an action when an underspecified dimension is detected, in the Configuration Parameters dialog box, select Data Validity > Underspecified Dimensions and use the settings described in Underspecified dimensions.

  • Units — To report an inconsistency, in the Configuration Parameters dialog box, select Diagnostics > Advanced parameters > Units inconsistency messages and use the settings described in Units inconsistency messages.

    To resolve any inconsistency, in the Configuration Parameters dialog box, select Diagnostics > Advanced parameters. Choose one of the following options:

Display and Visualize the Signal Properties During Propagation

To visualize and display values of different properties during propagation, in Simulink Editor, on the Debug tab, open the Information Overlays drop-down. This table describes how to visualize each signal property using the Information Overlays menu.

PropertySelection
Data TypePorts > Base Data Types or Alias Data Types
DimensionsSignals > Signal Dimensions. Alternatively, to display the compiled port dimensions programmatically, see Determine Signal Dimensions
UnitsPorts > Units

See Also

| | |