Variable Time Delay, Variable Transport Delay

Variable Time Delay, Variable Transport Delay –

可变的时间量的延迟输入

连续

说明

可变传输延迟和可变时间延迟出现在Simulink模块库中的两个块。然而,它们是相同的Simulink块只是设置一个不同Select delay type参数使用这个参数来指定块运行模式。

可变时间延迟

在此模式下,该块具有一个数据输入,输入的时间延迟,和一个数据输出。(在Simulink文档的端口顺序为不同的方向的描述。见How to Rotate a Block)在当前时间步中的输出等于在其数据输入端的前一时间的延迟等于当前的仿真时间减去指定的输入的时间延迟值。

在模拟过程中,块存储在内部缓冲区中的输入值对。仿真开始时,该块输出的Initial output 参数的值直到模拟时间超过输入的时间延迟。然后,在每个模拟步骤,块输出处的信号的时间,对应于当前的仿真时间减去延迟时间。

当您想要输出的时间,不符合存储的输入值和求解的时间是一个连续的求解,块内插点之间是线性。如果时间延迟是小于步长,块推算从以前的点的输出点。例如,考虑与步骤大小为1,在t = 5的当前时间的固定步长的模拟。如果延迟时间为0.5,该块需要生成一个点在t= 4.5。,因为最近的存储的时间值是在t= 4时,该块推断从在4的输入的输入,为4.5,并使用的外推值作为它的输出在t = 5

从先前时间步长向前外插,可以产生比从当前时间步长的推算回插的不准确的结果。然而,块不能使用当前的输入,因为有直接馈通输入端口不计算其输出值。

如果模型指定一个独立的解算器,该块时间步长的之间不插入。相反,它返回最近的存储值之前所需的值。.

可变传输延迟

在此模式中,在当前时间步骤中的块的输出是等于它的数据输入(顶部,或左)在一个较早的时间的值等于当前时间减去延迟,

Simulink软件认定的传输延迟, ,通过下面的等式求解:

该方程涉及瞬时时间延迟,,给定的时间延迟(底部,或右)输入。

例如,假设您想使用该块通过管路的流量的速度随时间变化的流体的流动模型。在这种情况下,输入到块中的时间延迟,将

其中,L是管道的长度是流体的速度。

数据类型支持

变时滞和可变传输延迟块接受和输出double类型的实际信号。

见Data Types Supported by Simulink

参数和对话框

参数和对话框的不同,基于块的模式,在该模式中操作:可变的时间或可变传输。大多数参数存在于这两种模式。

可变时间延迟块的对话框显示如下。

可变的传输延迟块的对话框,显示如下。

Select delay type

指定块运行的模式,在这模式下。.

设置

默认: Variable Time Delay块有一个默认值是Variable time delay. Variable Transport Delay 块有一个默认值是Variable transport delay.

Variable time delay

指定一个变量的时间延迟模块

Variable transport delay

指定一个变量的传输延迟块。.

依存关系

将该参数设置为Variable time delay启用Handle zero delay参数.

将该参数设置为Variable transport delay启用Absolute tolerance和State Name 命令行信息

参见Block-Specific Parameters.

Maximum delay

设定输入的时间延迟的最大值。

设置

默认:10

该值定义此块允许的最大时间延迟输入。任何延迟超过此值该块剪切掉。

该值不能是负数。如果延迟时间变负,块剪辑到零,并发出一条警告消息。命令行信息

参见Block-Specific Parameters.

Initial output

生成指定块的输出,直到仿真时间第一次超过输入的时间延迟。.

设置

默认:0

此块的初始输出不能是INF或NaN。

命令行信息

参见Block-Specific Parameters.

Initial buffer size

输入点的数目来定义初始的内存储存分配。

设置

默认:1024

如果输入点的数目超过了初始的缓冲区大小,块分配额外的存储器。

模拟结束后,一个消息显示所需要的总的缓冲区大小。

提示

因为分配内存会减慢模拟,如果模拟速度是一个问题,仔细选择此值。

对于很长一段时间的延迟时间,此块可能会使用大量的内存,尤其是对量纲输入。

命令行信息

参见Block-Specific Parameters.

Use fixed buffer size

指定使用一个固定大小的缓冲区,以保存从以前的时间步长的输入数据。

设置

默认: Off

On

块使用一个固定大小的缓冲区。

Off

块不使用一个固定大小的缓冲区。

如果输入的数据是线性的,选择此复选框可以节省内存。

如果输入的数据是非线性的,请不要选择此复选框。这样做可能会产生不正确的结果。命令行信息

参见Block-Specific Parameters.

Handle zero delay

转换成一个直接馈通的块

设置

默认: Off

On

块使用直接馈通。

Off

块不使用直接馈通。.

依赖关系

选择Select delay type的Variable time delay启用此参数.

命令行信息

参见Block-Specific Parameters.

Direct feedthrough of input during linearization

因为块在其输入过程中输出线性化和修剪,设置块模式直接馈通。.

设置

默认: Off

On

可直接输入馈通。

Off

不可直接输入馈通。

提示

当您使用linmod, dlinmod, 或trim时,选中此复选框,可能会导致状态在模型中的排序变化,要提取这个新的状态顺序:

1.在Simulink模型使用下面的命令来编译模型,。

2. [sizes, x0, x_str] = model([],[],[],'lincompile');

3.用下面的命令终止编译。

4. model([],[],[],'term');

包含的输出参数x_str在Simulink模型是一个单元阵列,排序新的状态。当你传递一个输入的linmod,dlinmod,或Trim函数的状态向量,状态向量必须使用这个新的状态排序。

命令行信息

参见Block-Specific Parameters.

Pade order (for linearization)

Pade近似为线性化程序设置的顺序。

设置

默认:0

默认值是0, 这导致在一个单位增益与没有动态状态。

你的模型设置为一个正整数n加n的状态,一个更精确的线性模型的传输延迟的结果。

命令行信息

参见Block-Specific Parameters.

Absolute tolerance

为计算块状态指定的绝对容差。

默认:auto

您可以输入auto, –1,一个实数的标量,或者一个实数的矢量

如果你输入auto or –1, 那么Simulink中使用配置参数对话框中的绝对公差值(见Solver Pane) 计算块状态。

如果你输入一个实数的标量,那么该值会覆盖配置参数对话框中的绝对容差来计算所有块状态。.

如果你,输入一个实数的矢量,那么矢量的尺寸必须匹配块中的连续状态的尺寸。这些值会覆盖配置参数对话框中的绝对容差

依赖关系

选择Select delay type的Variable transport delay启用此参数.

命令行信息

参见Block-Specific Parameters.

State Name (e.g., 'position')

给每个状态分配一个唯一的名称。

设置

默认:' '

如果此字段是空白的,没有名字分配

提示

要指定一个名称,单状态下,引号之间输入名称,例如,'velocity'.。

要分配到多个状态的名称,输入一个逗号分隔的列表,用括号括起来,例如,{'A','B','C'}。每个名称都必须是唯一的。

状态名称仅适用于选定的块。

状态名称之间的状态数必须整除。

您可以指定比名字较少的状态,但你不能指定多个名称。

例如,您可以在一个系统中指定两个名字,有四个状态。第一个适用于前两种状态,第二个适用于最后两个状态。

分配状态与MATLAB工作空间中的变量名称,输入不带引号的变量。变量可以是一个字符串,单元阵列或结构。

依赖关系

选择Select delay type的Variable transport delay启用此参数

命令行信息

参见Block-Specific Parameters.

实例

模型显示如何模拟不可压缩流通过一个固定长度

对于这两种模式

相关文档
最新文档