Engee 文档

可变延时

将输入信号延迟一段可变的时间。

类型: VariableTimeDelay

图书馆中的路径:

/Basic/Continuous/Variable Time Delay

说明

可变延时 装置可将输入信号延迟一定时间。

当前时间步的输出数据等于上一时间步的输入数据值。这一步是当前模拟时间减去延时输入所指定的延时时间。

τ .

variable time delay 1

在模拟过程中,程序块将时间和输入值对存储在内部缓冲器中。模拟开始时,程序块输出 初始输出 的值,直到模拟时间超过输入延时值。然后,在每个模拟步骤中,程序块都会输出在某个时间点接收到的输入信号,该时间点对应于当前模拟时间减去延迟时间。

如果需要输入存储时间之间时间点的数据,且求解器为连续求解器,则程序块会在各点之间执行线性插值。如果时间延迟小于求解器的步长,程序块将根据前一个点推断输出点。例如,使用步长为 "1"、当前时间为 "t = 5 "的固定步长求解器进行模拟。如果延迟为 0.5,程序块应在 t = 4.5 处生成一个点,但最近存储的时间值为 t = 4。因此,程序块从`t=4`时生成的数据中推断出`t=4.5`时的输入数据,然后使用推断出的数据计算`t=5`时的值。

从上一时间步向前推断出的结果可能不如从当前时间步向后推断出的结果准确。但是,由于输入端口没有前向直通连接,因此程序块无法使用当前输入计算输出值。

如果模型指定了离散求解器,程序块不会在时间步之间进行内插。相反,它会返回所需值之前最近的存储值。

端口

输入

# IN_1 — 输入信号
标量 | 向量 | 矩阵

Details

以标量、向量或矩阵形式指定的输入信号。

数据类型

Float64

复数支持

# t0 — 延时输入值
标量 | 向量 | 矩阵

Details

以标量、向量或矩阵形式指定的输入时间延迟。

数据类型

Float64`。

复数支持

输出

# OUT_1 — 延迟输出信号
标量 | 向量 | 矩阵

Details

以标量、向量或矩阵形式输出信号。

数据类型

Float64

复数支持

参数

主要

# 最大延迟 — 延时输入的最大值
Scalar / array of real numbers

Details

设置延时输入的最大值。设备会限制任何超过此值的延迟。该值不能为负。如果时间延迟变为负值,程序块会将其等价为零。

默认值

10

程序使用名称

MaximumDelay

可调谐

可计算

# 初始输出 — 初始输出值
Scalar / array of real numbers

Details

指定模块在模拟时间超过输入延时值之前生成的输出数据。

默认值

0

程序使用名称

InitialOutput

可调谐

可计算

# 初始缓冲区大小 — 初始内存分配

Details

确定要存储的输入点数的初始内存分配。

如果输入点数超过初始缓冲区大小,程序块将分配额外内存。

由于内存分配会降低仿真速度,如果仿真速度是个问题,请谨慎选择该值。如果延迟时间较长,该程序块可能会占用大量内存,尤其是对于多维输入信号。
默认值

1024

程序使用名称

MaximumPoints

可调谐

可计算

# 使用固定缓冲区大小 — 使用固定大小的缓冲区
Logical

Details

选择该复选框可使用固定大小的缓冲区来保存前几个时间步的输入数据。

参数 初始缓冲区大小 决定缓冲区的大小。如果缓冲区已满,新数据将取代缓冲区中的数据。程序块使用线性外推法估算缓冲区中没有的输出值。

如果输入数据是线性的,选中此复选框可以节省内存。如果输入数据是非线性的,则不要选择此复选框。这样做可能会导致结果不准确。
默认值

false (关掉)

程序使用名称

FixedBuffer

可调谐

可计算

# 处理零延迟 — 选项,可以设置零延迟
Logical

Details

定义在零延时下运行程序块的可能性。

选中该复选框时,设备允许零延时运行。输入信号为直通连接。

如果该复选框未被选中,则设备不允许零延时操作。输入信号没有直通连接。

默认值

false (关掉)

程序使用名称

ZeroDelay

可调谐

可计算