Engee documentation

Delay

Page in progress.

Delays the input signal for a fixed or variable number of calculation steps.

blockType: Delay

Delay

Path in the library:

/Basic/Discrete/Delay

Enabled Delay

Path in the library:

/Basic/Discrete/Enabled Delay

Resettable Delay

Path in the library:

/Basic/Discrete/Resettable Delay

Variable Integer Delay

Path in the library:

/Basic/Discrete/Variable Integer Delay

Description

The Delay block delays the input signal without changing it. The block determines the delay time based on either the value of the parameter Delay length (constant delay value) or the input signal d (variable delay value).

The value of the block output at the initial time depends on several factors, namely the value of the parameter Initial condition and the simulation start time.

The external reset parameter determines whether the block output is reset to the initial state when triggered. The Show enable port parameters determines whether the block execution at each time step is controlled by an external enable signal.

Value of the block output at the initial time step

The value of the output during the first few time steps of the simulation depends on the block’s calculation step, lag length, and simulation start time. The block supports specifying or inheriting discrete calculation steps to determine the time interval between samples.

The table below shows the block output values Delay for the first few calculation steps with these settings. The block inherits a discrete calculation step as [Tsampling, Toffset], where:

  • Tsampling - sampling period;

  • Toffset - initial time offset;

  • n - value of the parameters Delay length;

  • Tstart - simulation start time for the model.

Simulation time range Block output

from (Tstart) to (Tstart + Toffset)

Zero

from (Tstart + Toffset) to (Tstart + Toffset + n * Tsampling)

Parameters Initial condition

after (Tstart + Toffset + n * Tsampling)

Input signal

Behaviour with external enable signal

Checking Show enable port enables the Enable port. When the Enable port is enabled, the unit operates in this order:

  1. Checks whether the enable condition is met.

  2. If the reset port is enabled, checks the reset condition.

  3. Performs the block functionality Delay.

The unit performs the following operations on the Enable port:

  • When enabled, the block output is the initial value of the condition ( ).

  • For successive enable signals, the block accepts the last state of the input signal u.

  • If the port is not enabled at the start of the simulation, the block Delay outputs 0.

  • During the simulation, if the port becomes disabled after being enabled, the block is not executed and stores its last value.

Ports

Output

# OUT_1 — output signal
scalar | vector| matrix | array

Details

An output signal that represents the input signal delayed by a given time.

Data types

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

Complex numbers support

Yes

Input

# Enable — external signal authorising execution of the block
scalar

Details

Enable the signal that enables or disables the execution of the block.

Dependencies

To use this port, select the check box for the parameters Show enable port

Data types

Float64

Complex numbers support

Yes

# Reset — external block reset signal
scalar

Details

An external signal that resets block execution to the initial state.

Dependencies

To use this port, set parameters External reset any value other than None

Data types

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

Complex numbers support

Yes

# x0 — initial condition
scalar | vector

Details

The initial condition is set as inherited from the input port.

Dependencies

To use this port, set the parameters to Initial condition source value Input port.

Data types

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

Complex numbers support

Yes

# d — lag length
scalar | vector| matrix | array

Details

The lag length given by an external signal.

Dependencies

To use this parameter, set the parameters to Delay length source value Input port.

Data types

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

Complex numbers support

Yes

# u — input signal
scalar | vector| matrix | array

Details

The input signal that the unit delays according to the unit’s settings.

Data types

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

Complex numbers support

Yes

Parameters

Data

# Delay length source — the source of the lag value
Dialog | Input port

Details

Determines the source of the delay value of the input signal:

  • Dialog — the delay value is set by the parameter Delay length.

  • Input port — the delay value is determined by the value of the signal on port d. In this case, you can also specify the maximum delay value with the parameter Delay length upper limit.

A value outside the acceptable range, a non-integer, or a negative value in the dialog box (fixed delay) returns an error. The out-of-range value received from the input port (variable delay) is assumed to be equal to the range limit. The non-integer value received from the input port (variable delay) is rounded to an integer.

Values

Dialog | Input port

Default value

Program usage name

DelayLengthSource

Tunable

No

Evaluatable

No

# Delay length — delay length
Int64 integer

Details

The magnitude of the signal delay.

Dependencies

To use this parameter, set for the parameter Delay length source meaning Dialog.

Default value

Program usage name

DelayLength

Tunable

No

Evaluatable

Yes

# Delay length upper limit — upper limit of the delay length
Int64 integer

Details

The maximum allowable delay value for the case of using the input signal to determine the delay value.

Dependencies

To use this parameter, set for the parameter Delay length source meaning Input port.

Default value

100

Program usage name

DelayLengthUpperLimit

Tunable

No

Evaluatable

Yes

# Initial condition source — source of the initial value
Dialog | Input port

Details

Defines the source of the initial value of the input signal:

  • Dialog — the initial value is set by the parameter Initial condition.

  • Input port — the initial value is set by the value of the signal on the port x0.

Values

Dialog | Input port

Default value

Program usage name

InitialConditionSource

Tunable

No

Evaluatable

No

# Initial condition — block output at the first calculation steps
Scalar / array of real and/or complex numbers

Details

The block output is at the first calculation steps.

Dependencies

To use this parameter, set for the parameter Initial condition source meaning Dialog.

Default value

0.0

Program usage name

InitialCondition

Tunable

Yes

Evaluatable

Yes

Algorithm

# Input processing — specifying sample-based or frame-based processing
Elements as channels (sample based) | Columns as channels (frame based)

Details

Specify whether the block performs sample-based or frame-based processing.:

  • Columns as channels (frame based) — each column of the input signal is considered as an independent channel (frame-based processing).

  • Elements as channels (sample based) — each element of the input signal is considered as an independent channel (sample-based processing).

For more information, see Signal processing by frames and counts.

Values

Elements as channels (sample based) | Columns as channels (frame based)

Default value

Elements as channels (sample based)

Program usage name

InputProcessing

Tunable

No

Evaluatable

No

# Prevent direct feedthrough — prevent direct end-to-end connection
Logical

Details

Selecting this option prevents direct connection from the input port u to the output port. However, this checkbox cannot prevent the value from passing directly from the initial state port x0 to the output port.

Dependencies

To use this parameter, set for the parameter Delay length source meaning Input port.

Default value

false (switched off)

Program usage name

PreventDirectFeedthrough

Tunable

No

Evaluatable

No

# Diagnostic for delay length — reaction when checking the delay length
None | Error

Details

Determines whether an error will be returned when the input d is less than the lower limit or greater than the parameter value. Delay length upper limit. The lower limit depends on the setting Prevent direct feedthrough:

  • If the flag is unchecked, the lower limit is zero.

  • If this option is selected, the lower limit is 1 for sample-based signals and the frame length for frame-based signals.

Diagnostic options include:

  • None — no action.

  • ErrorEngee completes the simulation and displays an error.

Dependencies

To use this parameter, set for the parameter Delay length source meaning Input port.

Values

None | Error

Default value

None

Program usage name

DiagnosticForDelayLength

Tunable

No

Evaluatable

No

Control

# Show enable port — show the activation port
Logical

Details

Select the checkbox to control the display of the power-on port. The block is considered enabled when the input to this port is non-zero, and disabled when the input is `0'. The input value is checked at the same time step as the block execution.

Default value

Program usage name

ShowEnablePort

Tunable

No

Evaluatable

No

# External reset — resetting the external state
None | Rising | Falling | Either | Level | Level hold

Details

Specify the trigger event that will be used to return the states to the initial conditions. Options to choose from:

  • None — there is no reset.

  • Rising — reset on the rising front.

  • Falling — reset on the lowering edge.

  • Either — reset on the rising or falling edge.

  • Level — reset in any of these cases:

    • When the reset signal is nonzero in the current time step.

    • When the reset signal value changes from non-zero in the previous time step to zero in the current time step.

  • Level hold — reset when the reset signal is different from zero in the current time step.

Values

None | Rising | Falling | Either | Level | Level hold

Default value

Program usage name

ExternalReset

Tunable

No

Evaluatable

No

Parameters

# Sample time — the interval between the calculation steps
SampleTime (real number / vector of two real numbers)

Details

Specify the interval between the calculation steps as a non-negative number. To inherit the calculation step, set this parameter to -1.

Default value

-1

Program usage name

SampleTime

Tunable

No

Evaluatable

Yes

Additional options

C code generation: Yes