Quantcast

Documentation Center

  • Trial Software
  • Product Updates

Transport Delay

Delay input by given amount of time

Library

Continuous

Description

The Transport Delay block delays the input by a specified amount of time. You can use this block to simulate a time delay. The input to this block should be a continuous signal.

At the start of simulation, the block outputs the Initial output parameter until the simulation time exceeds the Time delay parameter. Then, the block begins generating the delayed input. During simulation, the block stores input points and simulation times in a buffer. You specify this size with the Initial buffer size parameter.

When you want output at a time that does not correspond to 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 an output value. For example, 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 must 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, the block returns the discrete value at the required time.

This block differs from the Unit Delay block, which delays and holds the output on sample hits only.

    Tip   Avoid using linmod to linearize a model that contains a Transport Delay block. For more information, see Linearizing Models in the Simulink® documentation.

Data Type Support

The Transport Delay block accepts and outputs real signals of type double.

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

Parameters and Dialog Box

Time delay

Specify the amount of simulation time to delay the input signal before propagation to the output.

Settings

Default: 1

This value must be nonnegative.

Command-Line Information

Parameter: DelayTime
Type: scalar or vector
Value: '1'
Default: '1'

Initial output

Specify the output that the block generates until the simulation time first exceeds the time delay input.

Settings

Default: Run-to-run tunable parameter

A Run-to-run tunable parameter cannot be changed during a simulation's run time. However, changing it before a simulation begins will not cause Accelerator or Rapid Accelerator to regenerate code.

Also, the initial output of this block cannot be inf or NaN.

Command-Line Information

Parameter: InitialOutput
Type: scalar or vector
Value: '0'
Default: '0'

Initial buffer size

Define the initial memory allocation for the number of input points to store.

Settings

Default: 1024

  • If the number of input points exceeds the initial buffer size, the block allocates additional memory.

  • After simulation ends, a message shows the total buffer size needed.

Tips

  • Because allocating memory slows down simulation, choose this value carefully if simulation speed is an issue.

  • For long time delays, this block can use a large amount of memory, particularly for dimensionalized input.

Command-Line Information

Parameter: BufferSize
Type: scalar
Value: '1024'
Default: '1024'

Use fixed buffer size

Specify use of a fixed-size buffer to save input data from previous time steps.

Settings

Default: Off

On

The block uses a fixed-size buffer.

Off

The block does not use a fixed-size buffer.

The Initial buffer size parameter specifies the size of the buffer. If the buffer is full, new data replaces data already in the buffer. Simulink software uses linear extrapolation to estimate output values that are not in the buffer.

    Note:   If you have a Simulink Coder™ license, ERT or GRT code generation uses a fixed-size buffer even if you do not select this check box.

Tips

  • If the input data is linear, selecting this check box can save memory.

  • If the input data is nonlinear, do not select this check box. Doing so can yield inaccurate results.

Command-Line Information

Parameter: FixedBuffer
Type: string
Value: 'off' | 'on'
Default: 'off'

Direct feedthrough of input during linearization

Cause the block to output its input during linearization and trim, which sets the block mode to direct feedthrough.

Settings

Default: Off

On

Enables direct feedthrough of input.

Off

Disables direct feedthrough of input.

Tips

  • Selecting this check box can cause a change in the ordering of states in the model when you use the functions linmod, dlinmod, or trim. To extract this new state ordering:

    1. Compile the model using the following command, where model is the name of the Simulink model.

          [sizes, x0, x_str] = model([],[],[],'lincompile');
      
    2. Terminate the compilation with the following command.

        model([],[],[],'term');
      
  • The output argument x_str, which is a cell array of the states in the Simulink model, contains the new state ordering. When you pass a vector of states as input to the linmod, dlinmod, or trim functions, the state vector must use this new state ordering.

Command-Line Information

Parameter: TransDelayFeedthrough
Type: string
Value: 'off' | 'on'
Default: 'off'

Pade order (for linearization)

Set the order of the Pade approximation for linearization routines.

Settings

Default: 0

  • The default value is 0, which results in a unity gain with no dynamic states.

  • Setting the order to a positive integer n adds n states to your model, but results in a more accurate linear model of the transport delay.

Command-Line Information

Parameter: PadeOrder
Type: string
Value: '0'
Default: '0'

Characteristics

Direct Feedthrough

No

Sample Time

Continuous

Scalar Expansion

Yes, of input and all parameters except Initial buffer size

Dimensionalized

Yes

Zero-Crossing Detection

No

Was this topic helpful?