Discrete-Time Integrator
离散积分或信号累积。
类型: DiscreteIntegrator
图书馆中的路径:
|
说明
使用块 Discrete-Time Integrator 代替块Integrator 来创建完全离散的模型。
输出方程
在第一个时间步骤中,即在程序块 的状态下,输出值 。
在给定的时间步 与模拟时间 ,输出数据 根据所选方法更新如下:
-
欧拉直接法:
.
-
欧拉反演法
.
-
梯形法
.
这些输出方程在状态空间中的实现是根据块计算步骤自动选择的,计算步骤可以是明确的, 也可以是继承的。当使用明确定义的计算步骤时, 将简化为所有 的计算步骤 。
积分和累加方法
该程序块可以使用正向欧拉法、反向欧拉法或梯形法对信号进行积分或累加。假设 为输入, 为输出, 为状态。在给定步长下, 与 和 一起更新。在积分模式下, 是分块计算的步长。在累加模式下, 。块计算步骤决定何时计算输出,但不决定输出值。 - 增益。根据上限或下限对数值进行修整。
欧拉直接法
欧拉直接法(默认使用),也称直接矩形法或左近似法。
程序块对 的近似值为 。程序块在 步的输出表达式:
,
.
该模块利用这些步骤计算输出信号:
步骤 0: |
(步骤 0:(如有必要可加以限制)
|
步骤 1: |
|
步骤 n: |
(步骤 n:(如有必要可加以限制) |
初始状态的定义
您可以在程序块对话框中将初始状态定义为参数,也可以通过外部信号输入初始状态:
-
要将初始状态定义为程序块参数,请将 Initial condition source 指定为 `internal`并在 Initial condition 字段中输入数值。
-
要从外部信号源获取初始状态,请将 Initial condition source 指定为
external
.输入端口下方会出现一个附加输入端口。
何时使用状态端口
在下列情况下,请使用状态端口而不是输出端口:
-
当块输出通过复位端口或初始状态端口返回块,导致代数循环时。
-
需要将状态从一个有条件执行的子系统转移到另一个子系统时,这可能会导致同步问题。
通过状态端口而不是输出端口传递状态可以避免这些问题。Engee 生成状态的时间与输出的时间略有不同,这可以保护模型免受此类问题的影响。要输出程序块的状态,请选择复选框 Show state port 。状态端口将出现在程序块的顶部。
集成商的限制
为确保输出数据不超过指定水平,请选择复选框 Limit output 并在相应参数字段中输入限制。此操作将使程序块作为限制积分器运行。当输出达到限值时,积分器动作将被终止。
程序块的输出定义如下
-
当积分小于或等于 Lower saturation limit 时,输出保持在 Lower saturation limit 。
-
当积分介于 Lower saturation limit 和 Upper saturation limit 之间时,输出为积分。
-
当积分大于或等于 Upper saturation limit 时,输出保持在 Upper saturation limit 。
要在状态受限时生成指示信号,请选中 Show saturation port 。饱和端口出现在块输出端口下方。
信号有三种取值:
-
1 "表示适用上限。
-
0 "表示积分没有上限。
-
1 "表示适用下限。
重置触发器类型
通过参数 External reset 可以定义作为复位触发器的复位信号的属性。可以使用以下触发器:
-
rising
- 当复位信号通过一个边沿时复位状态,即从负值或零值上升到正值。例如,下图显示了复位触发器对反欧拉积分法的影响 `rising`对反欧拉法积分的影响。 -
falling
- 当复位信号通过截止点,即从正值降为零或负值时,复位触发器会重置状态。例如,下图显示了复位触发器对反欧拉法积分的影响。 `falling`对反欧拉法积分的影响。 -
either
- 当复位信号上升或下降时,即从零值变为非零值、从非零值变为零值或符号改变时,复位状态。例如,下图显示了复位触发器对反欧拉法积分的影响 `either`对反欧拉法积分的影响。 -
level
- 复位并将输出保持在初始状态,直到复位信号为零,即在当前时间步长内与零值不同,或者从上一时间步长的非零值变为当前时间步长的零值。例如,下图显示了复位触发器对反欧拉积分法的影响 `level`对逆欧拉法积分的影响。 -
sampled level
- 当复位信号不同于零时,输出信号会复位到初始状态。例如,该图显示了复位触发器对反欧拉法积分的影响。 `sampled level`对反欧拉法积分的影响。
选项 sampled level`选项需要的计算量更少,因此比 `level
.
对于 Discrete-Time Integrator 程序块,所有触发器都由正值信号定义。例如,信号从"-1 "变为 "0 "不被视为上升沿,但信号从 "0 "变为 "1 "则被视为上升沿。 |
端口
参数
主菜单
#
Integrator Method —
积分法
Integration: Forward Euler
| Integration: Backward Euler
| Integration: Trapezoidal
| Accumulation: Forward Euler
| Accumulation: Backward Euler
| Accumulation: Trapezoidal
Details
整合或积累的方法。
值 |
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
#
Gain Value —
积分器增益
Scalar / array of real numbers
#
External reset —
复位到初始状态
none
| rising
| falling
| either
| level
| sampled level
#
Initial condition source —
选择初始状态源
internal
| external
Details
初始状态源。定义为
-
internal
- 从参数 Initial condition . -
external
- 通过输入端口 X_0,接收来自外部的初始状态。
依赖关系
选择 `internal`可在仿真中使用参数 Initial condition 参数。
选择 `external`禁用该参数 Initial condition 并启用 X_0 输入端口。
值 |
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
#
Initial condition —
初始状态
Scalar / array of real numbers
Details
区块的初始状态。
依赖关系
要使用该参数,请将参数 Initial condition source 值 internal
.
默认值 |
|
程序使用名称 |
|
可调谐 |
是 |
可计算 |
是 |
#
Initial condition setting —
选择应用初始状态
Auto
| Output
Details
选择是否将参数值 Initial condition 还是块输出。初始状态也是复位值。
-
Auto
- 块将参数值 Initial condition 到程序块输入端。设置初始状态:
`x(0) = IC
重置时
x(n) = IC
-
Output
- 程序块将参数值 Initial condition 块输出。设置初始状态:
y(0) = IC
重置时
y(n) = IC
值 |
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
#
Sample time —
计算间隔
SampleTime (real number / vector of two real numbers)
Details
以非负数指定计算步骤之间的间隔。要继承一个计算步骤,请将此参数设置为 -1
。
不要指定等于 0`的计算步长。该值表示连续计算步长,而区块 Discrete-Time Integrator 不支持。不要指定计算步长为 `inf 或 NaN ,因为这些值不是离散值。如果指定 -1 从上一级程序块继承计算步长,请确保上一级程序块使用离散计算步长。例如,程序块 Discrete-Time Integrator 不能继承等于 0 的计算步长。
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
Limit output —
将程序块的输出值限制在指定范围内
Logical
Details
将输出信号限制在参数值范围内 Lower saturation limit и Upper saturation limit .
-
选中该复选框可将输出信号限制为参数 и 的值。 Lower saturation limit и Upper saturation limit .
-
取消选中该复选框可消除对输出信号的限制。
依赖关系
选择该选项可使用参数 Lower saturation limit и Upper saturation limit .
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
#
Upper saturation limit —
积分上限
Scalar / array of real numbers
Details
设置标量、矢量或矩阵输出值的上限。
依赖关系
要使用该参数,请在参数 Limit output .
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
Lower saturation limit —
积分下限
Scalar / array of real numbers
Details
设置标量、向量或矩阵输出值的下限。
依赖关系
要使用该参数,请在参数 Limit output .
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
#
Show saturation port —
切换饱和输出端口
Logical
Details
选择此复选框可为区块添加饱和输出端口。清除此复选框后,区块将没有饱和输出端口。
依赖关系
选择此选项可启用饱和输出端口。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
#
Show state port —
切换状态输出端口
Logical
Details
选择此复选框可为程序块添加状态输出端口。清除此复选框后,程序块将没有状态输出端口。
依赖关系
选择此选项可启用状态输出端口。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |