离散时间积分器
对信号进行离散积分或累积
- 库:
金宝appSimulink /常用块
金宝appSimulink / Discrete
HDL编码器/离散
HDL编码器/ HDL浮点运算
描述
使用离散时间积分器块代替积分器块来创建一个纯离散模型。使用离散时间积分器块,您可以:
在块对话框或作为块的输入定义初始条件
定义输入增益(K)值
输出块状态
定义积分的上限和下限
使用附加的复位输入重置状态
输出方程
与第一个时间步骤,块状态N = 0
的初始输出y(0) = IC
或者初始状态x(0) = IC
,视乎初始条件设置参数值。
对于给定的步骤N > 0
模拟时间t (n)
,仿金宝app真软件®更新输出y (n)
如下:
正向欧拉法:
y(n) = y(n-1) + K*[t(n) - t(n-1)]*u(n-1)
逆向欧拉法:
y(n) = y(n-1) + K*[t(n) - t(n-1)]*u(n)
梯形方法:
y(n) = y(n-1) + K*[t(n)-t(n-1)]*[u(n)+u(n-1)]/2
金宝appSimulink根据块采样时间自动选择这些输出方程的状态空间实现,该时间可以显式或触发。当使用显式采样时间时,t (n) - t (n - 1)
减少到采样时间T
对所有N > 0
.
积分积累法
该块可以使用前向欧拉、后向欧拉或梯形方法对信号进行积分或累积。假设u
是输入,y
是输出,和x
是状态。对于给定的步骤n
, 金宝appSimulink更新y (n)
而且x (n + 1)
.在积分模式下,T
块采样时间(deltaT
在触发采样时间的情况下)。在积累模式下,T = 1
.块采样时间决定何时计算输出,而不是输出值。K
是增益值。值剪辑根据上限或下限。
前向欧拉方法(默认),也称为前向矩形,或左近似
软件近似1 / s
作为T / (z 1)
.步骤中块输出的表达式n
是:
x(n+1) = x(n) + K*T*u(n) y(n) = x(n)
该块使用以下步骤来计算输出:
步骤0:y (0) = IC(如果必要夹)x (1) = y (0) + K * T * u(0)步骤1:y (1) = x (1) (2) = x (1) + K * T * u (1) n步:y (n) = x (n) (n + 1) = x (n) + K * T * u (n)(如果必要夹)
这种方式下,输入端口1没有直通。
后向欧拉法,又称后向矩形法或右近似法
软件近似1 / s
作为T * z / (z 1)
.步骤中块输出的结果表达式n
是
y(n) = y(n-1) + K*T*u(n)。
让X (n) = y((n)-1)
.该块使用这些步骤来计算输出。
如果参数初始条件设置设置为
输出
或汽车
对于触发子系统和函数调用子系统:步骤0:y(0) = IC(必要时剪切)x(1) = y(0)
如果参数初始条件设置设置为
汽车
对于非触发子系统:步骤0:x (0) = IC(必要时剪)x (1) = y (0) (0) = x + K * T * u(0)步骤1:x y (1) = (1) + K * T * u (1) x (2) = y (1) n步:y (n) = x (n) + K * T * u (n) x (n + 1) = y (n)
使用该方法,输入端口1直接馈通。
对于这种方法,软件近似1 / s
作为T / 2 * (z + 1) / (z 1)
.
当T
是固定的(等于采样周期),计算输出的表达式为:
x (n) = y (n - 1) + K * T u (n - 1) / 2 * y (n) = x (n) + K * T / 2 * u (n)
如果参数初始条件设置设置为
输出
或汽车
对于触发子系统和函数调用子系统:第0步:y(0) = IC(必要时剪掉)x(1) = y(0) + K*T/2*u(0)
如果参数初始条件设置设置为
汽车
对于非触发子系统:步骤0:x (0) = IC(必要时剪)y (0) = x (0) + K * T / 2 * x (1) = y u (0) (0) + K * T / 2 * u(0)步骤1:x y (1) = (1) + K * T / 2 * u (1) x (2) = y (1) + K * T / 2 * u (1) n步:y (n) = x (n) + K * T / 2 * u (n) x (n + 1) = y (n) + K * T / 2 * u (n)
在这里,x (n + 1)
是对下一次产出的最佳估计。在这一点上,它和国家不一样x (n)
不等于y (n)
.
使用该方法,输入端口1直接馈通。
当T
是一个变量(例如,从触发次数中获得),块使用这些步骤计算输出。
如果参数初始条件设置设置为
输出
或汽车
对于触发子系统和函数调用子系统:步骤0:y(0) = IC(必要时剪切)x(1) = y(0)
如果参数初始条件设置设置为
汽车
对于非触发子系统:步骤0:x (0) = IC(必要时剪)x (1) = y (0) (0) = x + K * T / 2 * u(0)步骤1:x y (1) = (1) + T / 2 * (u (1) + u (0)) x (2) = y (1) n步:y (n) = x (n) + T / 2 * (u (n) + u (n - 1)) x (n + 1) = y (n)
定义初始条件
你可以将初始条件定义为块对话框的参数,也可以从外部信号输入:
若要将初始条件定义为块参数,请设置初始条件源参数
内部
中输入该值初始条件文本框中。若要从外部源提供初始条件,请设置初始条件源参数
外部
.块上出现了一个额外的输入端口。
何时使用状态端口
使用状态端口而不是输出端口:
当块的输出通过复位端口或初始条件端口反馈到块时,导致代数循环。有关示例,请参见
sldemo_bounce_two_integrators
模型。当您希望将状态从一个有条件执行的子系统传递到另一个子系统时,这可能会导致时间问题。有关示例,请参见建立离合器锁定模型.
您可以通过通过状态端口而不是输出端口传递状态来解决这些问题。金宝appSimulink在与输出稍有不同的时间生成状态,这可以保护您的模型免受这些问题的困扰。要输出块状态,请选择显示状态端口复选框。状态端口出现在块的顶部。
求积分的极限
要将输出保持在某些级别内,请选择限制输出复选框,并在相应的文本框中输入限制。这样做会导致块作为一个有限的积分器。当输出达到极限时,积分动作关闭,以防止积分上卷。在模拟过程中,您可以更改限制,但不能更改输出是否受限。该表显示了块如何决定输出。
积分 | 输出 |
---|---|
小于或等于饱和下限输入是负的 | 在饱和下限 |
之间的饱和下限和饱和上限 | 积分 |
大于或等于饱和上限输入是正的 | 在饱和上限 |
若要生成指示状态何时被限制的信号,请选择显示饱和端口复选框。一个新的饱和端口出现在块输出端口下面。
饱和信号有三个值之一:
1表示正在应用上限。
0表示积分不受限制。
-1表示应用下限。
重置状态
该块根据外部信号将其状态重置为指定的初始条件。要使块重置其状态,请选择之一外部复位参数选项。出现一个重置端口,指示重置触发器类型。
复位口直通。如果块输出反馈到这个端口,直接或通过一系列具有直接反馈的块,则会产生一个代数循环。要解决此循环,请将块状态端口的输出送入重置端口。要访问块状态,请选择显示状态端口复选框。
重置触发器类型
的外部复位参数使您可以确定触发复位的复位信号的属性。触发选项包括:
不断上升的
—复位信号有上升沿时复位。例如,该图显示了上升重置触发器对后向欧拉积分的影响。下降
—复位信号有下降沿时复位。例如,该图显示了下落复位触发器对后向欧拉积分的影响。要么
—复位信号上升或下降时复位。例如,下图显示了重置触发器对后向欧拉积分的影响。水平
-复位并保持输出到初始条件,而复位信号是非零。例如,该图显示了关卡重置触发器对后向欧拉积分的影响。抽样水平
—复位信号非零时,将输出复位到初始状态。例如,该图显示了抽样关卡重置触发器对后向欧拉积分的影响。的
抽样水平
重置选项需要更少的计算,使其比水平
重置选项。请注意
为离散时间积分器Block,所有的触发检测都是基于阳性信号。例如,从-1到0变化的信号不被认为是上升边,但从0到1变化的信号被认为是上升边。
简化初始化模式下的行为
设置时启用简化初始化模式未指定初始化检测来简化
在“配置参数”对话框中。如果使用简化的初始化模式,则离散时间积分器块不同于经典的初始化模式。新的初始化行为更加健壮,在以下情况下提供了更加一致的行为:
在代数循环中
启用和禁用
当比较使用触发采样时间与显式采样时间的结果时,其中块以与显式采样时间相同的速率触发
简化的初始化模式使转换更容易连续时间积分器块离散时间积分器块,因为初始条件对两个块具有相同的含义。
有关经典和简化初始化模式的更多信息,请参见未指定初始化检测.
当您使用简化初始化模式时初始条件设置设置为输出
对于触发子系统和函数调用子系统,块的启用和禁用行为简化如下。
在禁用时间td
:
y (td) = y(td-1)
启用时间te
:
如果父子系统控制端口有启用时的状态设置为
重置
:y (te) = c。
如果父子系统控制端口有启用时的状态设置为
举行
:y (te) = y(td).
下图显示了这种情况。
使用简化初始化模式时,不能放置离散时间积分器块中的一个迭代器子系统块。
在简化的初始化模式下,Iterator子系统不维护运行时间。因此,如果离散时间积分器块,它需要消耗时间,被放置在迭代器子系统块中,Simulink报告一个错误。金宝app
在函数调用子系统内部的已启用子系统中的行为
假设您有一个函数调用子系统,其中包含一个启用的子系统,该子系统包含一个离散时间积分器块。以下行为适用。
积分器的方法 | 示例函数调用触发端口的时间类型 | 的价值δT 函数调用子系统在启用后第一次执行 |
行为原因 |
---|---|---|---|
向前欧拉 |
触发 |
|
当函数调用子系统第一次执行时,积分器算法使用 |
倒欧拉和梯形 |
触发 |
|
当函数调用子系统第一次执行时,积分器算法使用 |
前向欧拉,后向欧拉,梯形 |
周期 |
函数调用生成器的采样时间 |
在周期模式下离散时间积分器块使用函数调用生成器的采样时间 |
港口
输入
输出
参数
模型的例子
块特征
数据类型 |
|
直接引线 |
|
多维信号 |
|
适应信号 |
|
讨论二阶导数过零检测 |
|