Engee 文档

离散时间积分器

离散积分或信号累积。

类型: DiscreteIntegrator

图书馆中的路径:

/Basic/Discrete/Discrete-Time Integrator

说明

使用块 离散时间积分器 代替块积分器 来创建完全离散的模型。

输出方程

在第一个时间步骤中,即在程序块 的状态下,输出值

在给定的时间步 与模拟时间 ,输出数据 根据所选方法更新如下:

  • 欧拉直接法:

    .

  • 欧拉反演法

    .

  • 梯形法

    .

这些输出方程在状态空间中的实现是根据块计算步骤自动选择的,计算步骤可以是明确的, 也可以是继承的。当使用明确定义的计算步骤时, 将简化为所有 的计算步骤

积分和累加方法

该程序块可以使用正向欧拉法、反向欧拉法或梯形法对信号进行积分或累加。假设 为输入, 为输出, 为状态。在给定步长下, 一起更新。在积分模式下, 是分块计算的步长。在累加模式下, 。块计算步骤决定何时计算输出,但不决定输出值。 - 增益。根据上限或下限对数值进行修整。

欧拉直接法

欧拉直接法(默认使用),也称直接矩形法或左近似法。

程序块对 的近似值为 。程序块在 步的输出表达式:

,

.

该模块利用这些步骤计算输出信号:

步骤 0:

(步骤 0:(如有必要可加以限制)

步骤 1:

步骤 n:

(步骤 n:(如有必要可加以限制)

欧拉反演法

欧拉反演法,又称矩形反演法或右手近似法。

程序块将 近似为 。程序块在 阶段的输出表达式:

,

.

该模块利用这些步骤计算输出信号:

步骤 0:

(步骤 0:(如有必要可加以限制)

步骤 1:

步骤 n:

梯形法

对于这种方法,块近似 ,即

计算输出信号的表达式 ,

.

初始状态的定义

您可以在程序块对话框中将初始状态定义为参数,也可以通过外部信号输入初始状态:

  • 要将初始状态定义为程序块参数,请将 初始条件源 指定为 `内部`并在 初始条件 字段中输入数值。

  • 要从外部信号源获取初始状态,请将 初始条件源 指定为 外部.输入端口下方会出现一个附加输入端口。

discrete time integrator 1

何时使用状态端口

在下列情况下,请使用状态端口而不是输出端口:

  • 当块输出通过复位端口或初始状态端口返回块,导致代数循环时。

  • 需要将状态从一个有条件执行的子系统转移到另一个子系统时,这可能会导致同步问题。

通过状态端口而不是输出端口传递状态可以避免这些问题。Engee 生成状态的时间与输出的时间略有不同,这可以保护模型免受此类问题的影响。要输出程序块的状态,请选择复选框 显示状态端口 。状态端口将出现在程序块的顶部。

discrete time integrator 2

集成商的限制

为确保输出数据不超过指定水平,请选择复选框 限制输出 并在相应参数字段中输入限制。此操作将使程序块作为限制积分器运行。当输出达到限值时,积分器动作将被终止。

程序块的输出定义如下

  • 当积分小于或等于 饱和度下限 时,输出保持在 饱和度下限

  • 当积分介于 饱和度下限饱和上限 之间时,输出为积分。

  • 当积分大于或等于 饱和上限 时,输出保持在 饱和上限

要在状态受限时生成指示信号,请选中 显示饱和端口 。饱和端口出现在块输出端口下方。

discrete time integrator 3

信号有三种取值:

  • 1 "表示适用上限。

  • 0 "表示积分没有上限。

  • 1 "表示适用下限。

重置状态

设备通过外部信号将状态复位到初始状态。复位触发类型由参数 外部复位 决定。如果值不是 `无`则设备有一个复位端口,旁边标有复位触发类型。

discrete time integrator 4

重置触发器类型

通过参数 外部复位 可以定义作为复位触发器的复位信号的属性。可以使用以下触发器:

  • 上升- 当复位信号通过一个边沿时复位状态,即从负值或零值上升到正值。例如,下图显示了复位触发器对反欧拉积分法的影响 `上升`对反欧拉法积分的影响。

    discrete time integrator rising reset

  • 下降- 当复位信号通过截止点,即从正值降为零或负值时,复位触发器会重置状态。例如,下图显示了复位触发器对反欧拉法积分的影响。 `下降`对反欧拉法积分的影响。

    discrete time integrator falling reset

  • 或者- 当复位信号上升或下降时,即从零值变为非零值、从非零值变为零值或符号改变时,复位状态。例如,下图显示了复位触发器对反欧拉法积分的影响 `或者`对反欧拉法积分的影响。

    discrete time integrator either reset

  • 电平- 复位并将输出保持在初始状态,直到复位信号为零,即在当前时间步长内与零值不同,或者从上一时间步长的非零值变为当前时间步长的零值。例如,下图显示了复位触发器对反欧拉积分法的影响 `电平`对逆欧拉法积分的影响。

    discrete time integrator level reset

  • 采样电平- 当复位信号不同于零时,输出信号会复位到初始状态。例如,该图显示了复位触发器对反欧拉法积分的影响。 `采样电平`对反欧拉法积分的影响。

    discrete time integrator sampled level reset

选项 采样电平`选项需要的计算量更少,因此比 `电平.

对于 离散时间积分器 程序块,所有触发器都由正值信号定义。例如,信号从"-1 "变为 "0 "不被视为上升沿,但信号从 "0 "变为 "1 "则被视为上升沿。

端口

输出

# 端口_1 — 离散时间内的积分或输入信号的累积值
标量 | 向量 | 矩阵

Details

离散时间的积分或输入信号的累积值。

数据类型

Float64.

复数支持

# 端口_2 — 饱和端口
标量 | 向量 | 矩阵

Details

表示状态约束的信号指定为标量、向量或矩阵。信号有三种取值:

  • 1 "表示适用上限。

  • 0 "表示积分不受约束。

  • 1 "表示适用下限。

参见积分限制

依赖关系

要使用该端口,请选择 显示饱和端口 复选框。

数据类型

Float64`。

复数支持

# 端口_3 — 状态端口
标量 | 向量 | 矩阵

Details

以标量、矢量或矩阵形式输出的块状态。状态端口输出在程序块的顶部。

依赖关系

要使用该端口,请选择 显示状态端口 复选框。

数据类型

Float64`。

复数支持

输入

# 端口_1 — 输入信号
标量 | 向量 | 矩阵

Details

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

数据类型

Float16、Float32、Float64、Int8、Int16、Int32、Int64、Int128、UInt8、UInt16、UInt32、UInt64、UInt128、Bool。

复数支持

# x0 — 初始状态
标量 | 向量 | 矩阵

Details

由外部信号设置的程序块初始状态。

请参阅定义初始状态

依赖关系

要使用此端口,请将 初始条件源 设置为 。 外部.

数据类型

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool.

复数支持

# 外部复位 — 复位
标量 | 向量 | 矩阵

Details

通过外部信号将设备状态复位到预设的初始状态。请参阅复位状态

依赖关系

要使用该端口,请为 外部复位 设置一个值。

数据类型

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Bool.

复数支持

参数

主菜单

# 积分法 — 积分法
整合:正向欧拉 | 积分逆欧拉积分 | 集成:梯形 | 累积正向欧拉 | 累积后向欧拉 | 累积梯形

Details

整合或积累的方法。

Integration: Forward Euler | Integration: Backward Euler | Integration: Trapezoidal | Accumulation: Forward Euler | Accumulation: Backward Euler | Accumulation: Trapezoidal

默认值

Integration: Forward Euler

程序使用名称

IntegratorMethod

可调谐

可计算

# 增益值 — 积分器增益
Scalar / array of real numbers

Details

指定与积分器输入信号相乘的标量、向量或矩阵。增益的每个元素都必须是正实数。

  • 指定 1.0(默认值)以外的值在语义上等同于将增益 块连接到积分器输入端。

有效值:[1.1 2.2 3.3 4.4][1.1 2.2; 3.3 4.4]

使用该参数指定输入增益可消除生成代码中的乘法运算。不过,要实现这一优点,该参数必须是不可配置的。如果要更改增益,请将该参数设置为 "1.0",然后使用外部块增益 指定增益。
默认值

1.0

程序使用名称

gainval

可调谐

可计算

# 外部复位 — 复位到初始状态
| 上升 | 下降 | 或者 | 电平 | 采样电平

Details

指定外部复位信号的触发类型。

  • 上升- 当复位信号通过边沿时复位状态。

  • 下降- 当复位信号通过边沿时复位状态。

  • 或者- 当复位信号上升或下降(通过边沿或片段)时复位状态。

  • 电平- 复位并将输出保持在初始状态,直到复位信号为零。

  • 采样电平- 当复位信号不同于零时,将输出复位到初始状态。

更多信息,请参阅复位状态复位触发器类型

none | rising | falling | either | level | sampled level

默认值

none

程序使用名称

ExternalReset

可调谐

可计算

# 初始条件源 — 选择初始状态源
内部 | 外部

Details

初始状态源。定义为

  • 内部- 从参数 初始条件 .

  • 外部- 通过输入端口 X_0,接收来自外部的初始状态。

依赖关系

选择 `内部`可在仿真中使用参数 初始条件 参数。

选择 `外部`禁用该参数 初始条件 并启用 X_0 输入端口。

internal | external

默认值

internal

程序使用名称

InitialConditionSource

可调谐

可计算

# 初始条件 — 初始状态
Scalar / array of real numbers

Details

区块的初始状态。

依赖关系

要使用该参数,请将参数 初始条件源内部.

默认值

0.0

程序使用名称

InitialCondition

可调谐

可计算

# 初始条件设置 — 选择应用初始状态
自动 | 输出

Details

选择是否将参数值 初始条件 还是块输出。初始状态也是复位值。

  • 自动- 块将参数值 初始条件 到程序块输入端。

    设置初始状态:

    `x(0) = IC

    重置时

    x(n) = IC

  • 输出- 程序块将参数值 初始条件 块输出。

    设置初始状态:

    y(0) = IC

    重置时

    y(n) = IC

Auto | Output

默认值

Auto

程序使用名称

InitialConditionSetting

可调谐

可计算

# 采样时间 — 计算间隔
SampleTime (real number / vector of two real numbers)

Details

以非负数指定计算步骤之间的间隔。要继承一个计算步骤,请将此参数设置为 -1

不要指定等于 0`的计算步长。该值表示连续计算步长,而区块 离散时间积分器 不支持。不要指定计算步长为 `infNaN,因为这些值不是离散值。如果指定 -1 从上一级程序块继承计算步长,请确保上一级程序块使用离散计算步长。例如,程序块 离散时间积分器 不能继承等于 0 的计算步长。
默认值

-1

程序使用名称

SampleTime

可调谐

可计算

# 限制输出 — 将程序块的输出值限制在指定范围内
Logical

Details

将输出信号限制在参数值范围内 饱和度下限 и 饱和上限 .

  • 选中该复选框可将输出信号限制为参数 и 的值。 饱和度下限 и 饱和上限 .

  • 取消选中该复选框可消除对输出信号的限制。

依赖关系

选择该选项可使用参数 饱和度下限 и 饱和上限 .

默认值

false (关掉)

程序使用名称

LimitOutput

可调谐

可计算

# 饱和上限 — 积分上限
Scalar / array of real numbers

Details

设置标量、矢量或矩阵输出值的上限。

依赖关系

要使用该参数,请在参数 限制输出 .

默认值

Inf

程序使用名称

UpperSaturationLimit

可调谐

可计算

# 饱和度下限 — 积分下限
Scalar / array of real numbers

Details

设置标量、向量或矩阵输出值的下限。

依赖关系

要使用该参数,请在参数 限制输出 .

默认值

-Inf

程序使用名称

LowerSaturationLimit

可调谐

可计算

# 显示饱和端口 — 切换饱和输出端口
Logical

Details

选择此复选框可为区块添加饱和输出端口。清除此复选框后,区块将没有饱和输出端口。

依赖关系

选择此选项可启用饱和输出端口。

默认值

false (关掉)

程序使用名称

ShowSaturationPort

可调谐

可计算

# 显示状态端口 — 切换状态输出端口
Logical

Details

选择此复选框可为程序块添加状态输出端口。清除此复选框后,程序块将没有状态输出端口。

依赖关系

选择此选项可启用状态输出端口。

默认值

false (关掉)

程序使用名称

ShowStatePort

可调谐

可计算

附加选项

C 代码生成: 是