Variable Time Delay
将输入信号延迟可变的时间量。
类型: VariableTimeDelay
图书馆中的路径:
|
资料描述
座 Variable Time Delay 将输入信号延迟可变的时间量。
当前时间步长中的输出数据等于其在前一个时间步长中的输入数据的值。 该步骤表示当前仿真时间减去时间延迟输入设置的延迟时间。
.
在仿真期间,该块将时间和输入值对存储在内部缓冲器中。 在模拟开始时,块输出参数值 Initial output 直到仿真时间超过输入时间延迟值。 然后,在仿真的每一步,块输出在该时刻接收的输入信号,该输入信号对应于当前仿真时间减去延迟时间。
如果希望在位于输入数据的存储时间之间的时间点获取数据,并且求解器是连续求解器,则块在点之间执行线性插值。 如果时间延迟小于求解器的步长,则块基于前一点外推输出点。 例如,考虑使用步长为`1`且运行时间为`t=5`的固定步长求解器的仿真。 如果延迟为'0.5`,则块应在`t=4.5`处生成一个点,但最近保存的时间值将在`t=4`处。 因此,块基于在`t=4`处获得的数据外推在时间`t=4.5`处的输入数据,然后使用外推的数据来计算在时间`t=5’处的值。
从前一个时间步向前外推可能给出比从当前时间步向后外推更不精确的结果。 但是,该块不能使用当前输入来计算其输出值,因为输入端口没有直接的端到端连接。
如果模型指定离散求解器,则块不会在时间步长之间进行插值。 相反,它返回所需值之前的最近存储值。
参数
主要
#
Maximum delay —
延时输入的最大值
Scalar / array of real numbers
Details
设置延时输入的最大值。设备会限制任何超过此值的延迟。该值不能为负。如果时间延迟变为负值,程序块会将其等价为零。
默认值 |
|
程序使用名称 |
|
可调谐 |
是 |
可计算 |
是 |
#
Initial output —
初始输出值
Scalar / array of real numbers
Details
指定模块在模拟时间超过输入延时值之前生成的输出数据。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
# Initial buffer size — 初始内存分配
Details
确定要存储的输入点数的初始内存分配。
如果输入点数超过初始缓冲区大小,程序块将分配额外内存。
由于内存分配会降低仿真速度,如果仿真速度是个问题,请谨慎选择该值。如果延迟时间较长,该程序块可能会占用大量内存,尤其是对于多维输入信号。 |
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
Use fixed buffer size —
使用固定大小的缓冲区
Logical
Details
选择该复选框可使用固定大小的缓冲区来保存前几个时间步的输入数据。
参数 Initial buffer size 决定缓冲区的大小。如果缓冲区已满,新数据将取代缓冲区中的数据。程序块使用线性外推法估算缓冲区中没有的输出值。
如果输入数据是线性的,选中此复选框可以节省内存。如果输入数据是非线性的,则不要选择此复选框。这样做可能会导致结果不准确。 |
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
#
Handle zero delay —
选项,可以设置零延迟
Logical
Details
定义在零延时下运行程序块的可能性。
选中该复选框时,设备允许零延时运行。输入信号为直通连接。
如果该复选框未被选中,则设备不允许零延时操作。输入信号没有直通连接。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |