传输延迟
将信号延迟一段时间。
类型: TransportDelay
图书馆中的路径:
|
说明
传输延迟 程序块可将输入信号延迟一段指定的时间。您可以使用该程序块来模拟延时。该程序块的输入信号必须是连续信号。
模拟开始时,程序块输出等于 初始输出 的值,直到模拟时间超过 时间延迟 的值。然后,程序块开始传输输入信号的延迟值。在仿真过程中,程序块将输入值和仿真时间存储在缓冲区中。
如果要输出不在存储输入值中的时间点的信号值,程序块会在最近的点之间进行线性插值。当延迟小于计算步长时,程序块会从最后一个输出点进行外推,这可能会导致结果不准确。程序块 传输延迟 不能将数值直接从输入端转移到输出端,这意味着它不能使用输入端的当前值来计算输出。例如,考虑步长为 "1"、当前时间为 "t = 5 "的恒定步长模拟。如果延迟为 0.5
,程序块应在 t = 4.5
时生成一个点。由于最近存储的时间值位于 t = 4
,因此程序块将执行直接外推法。
传输延迟 程序块不会对离散信号进行内插。相反,程序块会返回所需时间的离散值。
该程序块与程序块单位延迟 不同,后者将信号延迟到指定的计算步数。
参数
主页
#
时间延迟 —
延时
Scalar / array of real numbers
Details
输入信号以标量、矢量或矩阵形式传输到输出之前的延迟量。
默认值 |
|
程序使用名称 |
|
可调谐 |
是 |
可计算 |
是 |
#
初始输出 —
初始输出值
Scalar / array of real and/or complex numbers
Details
模拟时间超过延迟时间之前的输出值,以标量、矢量或矩阵形式表示。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
初始缓冲区大小 —
初始内存分配
Scalar / array of Int64
Details
确定要存储的输入点数的初始内存分配。
-
如果输入点数超过初始缓冲区大小,程序块将分配额外内存。
-
模拟完成后,将显示一条信息,说明所需的总缓冲区大小。
提示
-
由于内存分配会减慢仿真速度,如果仿真速度很重要,请谨慎选择该值。
-
如果延迟时间较长,该模块可能会占用大量内存,尤其是在输入尺寸时。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
使用固定的缓冲区大小 —
使用固定大小的缓冲区
Logical
Details
选择该复选框可使用固定大小的缓冲区来保存前几个时间步的输入数据。
初始缓冲区大小*参数决定缓冲区的大小。如果缓冲区已满,新数据将取代缓冲区中已有的数据。软件会使用线性外推法估算缓冲区中没有的输出值。
提示
-
如果输入数据是线性的,选择该复选框可以节省内存。
-
如果输入数据是非线性的,请不要选择此复选框。它可能会导致结果不准确。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |