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:
Propagates known properties forward
Propagates known properties backward
Uses heuristics to resolve loops or compute properties for models with insufficient specification, in other words, underspecification.
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
orerror
. 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:
Allow automatic unit conversions. Use the settings described in Allow automatic unit conversions.
Allowed unit systems. Use the settings described in Allowed unit systems.
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.
Property | Selection |
---|---|
Data Type | Ports > Base Data Types or Alias Data Types |
Dimensions | Signals > Signal Dimensions. Alternatively, to display the compiled port dimensions programmatically, see Determine Signal Dimensions |
Units | Ports > Units |
See Also
Signals | Signal Basics | Display Signal Attributes | Signal Label Propagation