Engee documentation

Transport Delay

Page in progress.

Delay the signal for a set period of time.

transport delay

Description

The Transport Delay block delays the input signal for a specified period of time. You can use this block to simulate a time delay. The input signal for this block must be a continuous signal.

At the beginning of the simulation, the block output is equal to the Initial output until the simulation time exceeds the Time delay. Then the block starts to transmit the delayed value of the input signal. During the simulation, the block stores the input values and the simulation time in a buffer.

If you want to output a signal value for a point in time that is not among the stored input values, the block linearly interpolates between the nearest points. When the delay is smaller than the calculation step, the block extrapolates from the last output point, which may lead to inaccurate results. The Transport Delay block cannot transfer a value directly from input to output, meaning it cannot use the current value at the input to calculate the output. For example, consider a constant step simulation with step size 1 and current time t = 5. If the delay is 0.5, the block should generate a point at t = 4.5. Since the most recently stored time value is at t = 4, the block performs a direct extrapolation.

The Transport Delay block does not interpolate discrete signals. Instead, the block returns the discrete value at the desired time.

This block differs from Unit Delay, which delays the signal for a specified number of calculation steps.

Ports

Input

# IN_1 — input signal
scalar | vector | matrix

Details

Input signal as a scalar, vector or matrix.

Data types

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool.

Complex numbers support

Yes

Output

# OUT_1 — delayed signal
scalar | vector | matrix

Details

An input signal delayed for a specified amount of time.

Data types

Float64.

Complex numbers support

Yes

Parameters

Main

# Time delay — time delay
Scalar / array of real numbers

Details

The amount of delay of an input signal before it is transmitted to the output as a scalar, vector, or matrix.

Default value

1

Program usage name

DelayTime

Tunable

Yes

Evaluatable

Yes

# Initial output — initial output value
Scalar / array of real and/or complex numbers

Details

Output value until the simulation time exceeds the delay time as a scalar, vector or matrix.

Default value

0

Program usage name

InitialOutput

Tunable

No

Evaluatable

Yes

# Initial buffer size — initial memory allocation
Scalar / array of Int64

Details

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

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

  • When the simulation is complete, a message appears indicating the total buffer size required.

Hint

  • Since memory allocation slows down the simulation, choose this value carefully if simulation speed is important.

  • If delays are long, this block may use a large amount of memory, especially for dimensional input.

Default value

1024

Program usage name

BufferSize

Tunable

No

Evaluatable

Yes

# Use fixed buffer size — using a fixed size buffer
Logical

Details

Select this check box to use a fixed size buffer to save input data from previous time steps.

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

Hint

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

  • If the input data is non-linear, do not select this check box. It may cause inaccurate results.

Default value

false (switched off)

Program usage name

FixedBuffer

Tunable

No

Evaluatable

No