Unit Delay With Preview Enabled

Output signal and signal delayed by one sample period, if external enable signal is on


Additional Math & Discrete / Additional Discrete


The Unit Delay With Preview Enabled block supports calculations that have feedback and depend on the current input.

The block has two input ports: one for the input signal u and one for the external enable signal E.

When the enable signal E is on, the first port outputs the signal and the second port outputs the signal delayed by one sample period. When the enable signal E is off, the block is disabled, and the state and output values do not change, except during resets.

The enable signal is on when E is not 0, and off when E is 0. This enable action is vectorized and supports scalar expansion.

Having two outputs is useful for implementing recursive calculations where the result includes the most recent inputs. The second output can feed back into calculations of the block's inputs without causing an algebraic loop. Meanwhile, the first output shows the most up-to-date calculations.

You specify the block output for the first sampling period with the value of the Initial condition parameter.

You specify the time between samples with the Sample time parameter. A setting of -1 means that the block inherits the Sample time.

Data Type Support

The Unit Delay With Preview Enabled block accepts signals of the following data types:

  • Floating point

  • Built-in integer

  • Fixed point

  • Boolean

  • Enumerated

The outputs have the same data type as the input u. For enumerated signals, the Initial condition must be of the same enumerated type as the input u.

For more information, see Data Types Supported by Simulink in the Simulink® documentation.

Parameters and Dialog Box

Initial condition

Specify the initial output of the simulation.

Sample time

Specify the time interval between samples. To inherit the sample time, set this parameter to -1. See Specify Sample Time in the online documentation for more information.


Direct Feedthrough

Yes, to first output port

No, to second output port

Sample Time

Specified in the Sample time parameter

Scalar Expansion


Zero-Crossing Detection


Was this topic helpful?