Main Content

Transport Delay

按给定的时间量延迟输入

  • Transport Delay block

库:
Simulink / Continuous

描述

Transport Delay 模块可按指定的时间量延迟输入。可使用此模块实现时滞的仿真。此模块的输入应为连续信号。

在仿真开始时,模块输出初始输出参数,直到仿真时间超过时滞参数。然后,模块开始生成延迟的输入。在仿真期间,模块将输入点和仿真时间存储在缓冲区中。可通过初始缓冲区大小参数指定此大小。

如果您需要某个时间的输出,而存储的输入值没有对应的时间,模块会在点之间进行线性插值。当延迟小于步长时,模块会根据最后一个输出点外插,这可能会导致结果不准确。因为模块没有直接馈通,无法使用当前输入来计算输出值。例如,假定一个定步长仿真的步长为 1,当前时间为 t = 5。如果延迟为 0.5,模块必须在 t = 4.5 时生成点。因为最新存储的时间值是 t = 4,模块将执行正向外插。

Transport Delay 模块不会对离散信号进行插值。相反,模块会返回所需时间处的离散值。

此模块与 Unit Delay 模块不同,后者仅延迟和保持采样命中点的输出。

提示

请避免使用 linmod 线性化包含 Transport Delay 模块的模型。有关详细信息,请参阅 线性化模型

端口

输入

全部展开

要延迟的输入信号,指定为标量、向量或矩阵。

时滞参数值为 0 时,此端口具有直接馈通。由于时滞参数是运行时可调的,因此软件将 Transport Delay 模块视为此端口始终具有直接馈通。

数据类型: double

输出

全部展开

输入信号,延迟指定的时间量。输出信号与输入信号具有相同的维度和数据类型。

数据类型: double

参数

全部展开

输入信号在传播到输出之前要延迟的仿真时间量,指定为非负标量、向量或矩阵。

编程用法:

模块参数DelayTime
类型:字符向量、字符串
值:非负标量、向量或矩阵
默认值:'1'

指定模块在仿真时间首次超过输入的时滞量之前生成的输出,指定为标量、向量或矩阵。

限制

此模块的初始输出不能为 infNaN

在仿真运行时期间不能更改 Run-to-run tunable parameter。但是,在仿真开始之前更改此参数不会使得加速或快速加速重新生成代码。

编程用法

模块参数:InitialOutput
类型:字符向量、字符串
值:标量 | 向量 | 矩阵
默认值:'0'

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

  • 如果输入点数超出初始缓冲区大小,模块将分配更多内存。

  • 仿真结束后,会通过消息显示需要的总缓冲区大小。

提示

  • 由于分配内存会降低仿真速度,因此如果仿真速度很重要,请谨慎选择此值。

  • 对于长时滞,此模块可能会使用大量内存,特别是对于维度化输入。

编程用法

模块参数:BufferSize
类型:字符向量、字符串
值:正整数标量
默认值:'1024'

选中此复选框可使用固定大小缓冲区保存之前时间步的输入数据。

可使用初始缓冲区大小参数指定缓冲区大小。如果缓冲区已满,新数据将替换缓冲区中已有的数据。Simulink® 软件使用线性外插来估算不在缓冲区内的输出值。

注意

如果您拥有 Simulink Coder™ 许可证,即使没有选中此复选框,ERT 或 GRT 代码生成也使用固定大小缓冲区。

提示

  • 如果输入数据为线性,选中此复选框可节省内存。

  • 如果输入数据非线性,请勿选中此复选框。否则,生成的结果可能不准确。

编程用法

模块参数:FixedBuffer
类型:字符向量、字符串
值:'off' | 'on'
默认值:'off'

使得模块在线性化期间输出其输入并配平,此操作可将模块模式设置为直接馈通。

提示

  • 当使用 linmoddlinmodtrim 函数时,选中此复选框可能会使模型中状态的排序发生变化。要提取此新的状态顺序,请执行以下操作:

    1. 使用下列命令编译模型,其中 model 是 Simulink 模型的名称。

          [sizes, x0, x_str] = model([],[],[],'lincompile'); 
    2. 使用下列命令终止编译。

        model([],[],[],'term'); 
  • 输出参量 x_str(在 Simulink 模型中为状态的元胞数组)包含新的状态顺序。当您将状态向量作为输入传递给 linmoddlinmodtrim 函数时,状态向量必须使用这种新的状态顺序。

编程用法

模块参数:TransDelayFeedthrough
类型:字符向量、字符串
值:'off' | 'on'
默认值:'off'

线性化例程的帕德逼近的阶,设置为非负整数的标量、向量或矩阵。

  • 默认值为 0,将产生无动态状态的单位增益。

  • 将阶设置为正整数 n 将在模型中添加 n 个状态,但会产生更准确的传输延迟线性模型。

编程用法

模块参数:PadeOrder
类型:字符向量、字符串
值:标量 | 向量 | 矩阵
默认值:'0'

模块特性

数据类型

double

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

版本历史记录

在 R2006a 之前推出