Simulink Reference | ![]() ![]() |
Delay the input by a given amount of time
Library
Description
The Transport Delay block delays the input by a specified amount of time. It can be used to simulate a time delay.
At the start of the simulation, the block outputs the Initial input parameter until the simulation time exceeds the Time delay parameter, when the block begins generating the delayed input. The Time delay parameter must be nonnegative.
The block stores input points and simulation times during a simulation in a buffer whose initial size is defined by the Initial buffer size parameter. If the number of points exceeds the buffer size, the block allocates additional memory and Simulink displays a message after the simulation that indicates the total buffer size needed. Because allocating memory slows down the simulation, define this parameter value carefully if simulation speed is an issue. For long time delays, this block might use a large amount of memory, particularly for a dimensionalized input.
When output is required at a time that does not correspond to the times of the stored input values, the block interpolates linearly between points. When the delay is smaller than the step size, the block extrapolates from the last output point, which can produce inaccurate results. Because the block does not have direct feedthrough, it cannot use the current input to calculate its output value. To illustrate this point, consider a fixed-step simulation with a step size of 1 and the current time at t = 5. If the delay is 0.5, the block needs to generate a point at t = 4.5. Because the most recent stored time value is at t = 4, the block performs forward extrapolation.
The Transport Delay block does not interpolate discrete signals. Instead, it returns the discrete value at t - tdelay.
This block differs from the Unit Delay block, which delays and holds the output on sample hits only.
Using linmod
to linearize a model that contains a Transport Delay block can be troublesome. For more information about ways to avoid the problem, see Linearizing Models in Using Simulink.
Data Type Support
A Transport Delay block accepts and outputs real signals of type double
.
Parameters and Dialog Box
n
adds n
states to your model, but results in a more accurate linear model of the transport delay.Characteristics
Direct Feedthrough |
No |
Sample Time |
Continuous |
Scalar Expansion |
Of input and all parameters except Initial buffer size |
Dimensionalized |
Yes |
Zero Crossing |
No |
![]() | Transfer Fcn | Trigger | ![]() |