主要内容

离散时间积分器

对信号进行离散时间积分或积累

  • 图书馆:
  • 金宝appSimulink /常用模块

    金宝app模型/离散

    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

积分积累法

该块可以集成或累加使用正向欧拉向后欧拉的信号,或梯形方法。假使,假设是输入,y输出是,和X是国家所有。对于给定的步骤N仿真金宝app软件更新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) = ((n) 1).块使用这些步骤来计算输出。

  • 如果参数初始条件设置被设置为输出汽车对于触发子系统和函数调用子系统:

    第一步:y(0) = IC(如果有必要被剪切)x(1) = y(0)
  • 如果参数初始条件设置被设置为汽车non-triggered子系统:

    步骤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)
  • 如果参数初始条件设置被设置为输出汽车对于触发子系统和函数调用子系统:

    x(1) = y(0) + K*T/2*u(0)
  • 如果参数初始条件设置被设置为汽车non-triggered子系统:

    步骤0:X(0)= IC(如果必要的话限幅)Y(0)= X(0)+ K * T / 2 * U(0)X(1)= Y(0)+ K * T / 2 *U(0)步骤1:Y(1)= X(1)+ K * T / 2 * U(1)×(2)= Y(1)+ K * T / 2 * U(1)步骤N:Y(N)= X(N)+ K * T / 2 * U(N)×(N + 1)= Y(N)+ K * T / 2 * U(n)的

在这里,X(N + 1)是对下一次输出的最佳估计。在这一点上,它与国家是不同的x(n)不等于y (n)

使用这种方法,输入端口1直接馈通。

当T是变量时

T.是一个变量(例如,从触发时间获得),块使用这些步骤来计算输出。

  • 如果参数初始条件设置被设置为输出汽车对于触发子系统和函数调用子系统:

    第一步:y(0) = IC(如果有必要被剪切)x(1) = y(0)
  • 如果参数初始条件设置被设置为汽车non-triggered子系统:

    步骤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表示正在应用下限。

重置状态

该块根据外部信号将其状态重置为指定的初始条件。要使块重置其状态,请选择外部复位参数选项。出现一个表示复位触发器类型的复位端口。

复位端口有直接馈通。如果块输出反馈到这个端口,直接或通过一系列块直接馈通,一个代数循环的结果。要解决这个循环,请将块状态端口的输出输入重置端口。要访问块状态,请选择显示国家港口复选框。

重置触发类型

外部复位参数确定的复位信号触发复位的属性。触发选项包括:

  • 不断上升的—复位信号有上升沿时复位。例如,这张图显示了上升复位触发器对反向欧拉积分的影响。

  • 下降—复位信号有下降沿时复位。例如,这张图显示了下降的复位触发器对向后欧拉积分的影响。

  • 要么—复位信号上升或下降时复位。例如,下图显示了任一重置触发器对反向欧拉积分的影响。

  • 水平-复位信号非零时,将输出保持为初始状态。例如,这张图显示了水平重置触发器对反向欧拉积分的影响。

  • 抽样水平—当复位信号非零时,将输出重置为初始状态。例如,这张图显示了采样电平复位触发器对反向欧拉积分的影响。

    抽样水平Reset选项需要更少的计算,使它比水平重置选项。

    请注意

    离散时间积分器块,所有触发检测都基于正值信号。例如,从-1到0的信号不被认为是上升沿,但从0到1的信号被认为是上升沿。

简化初始化模式下的行为

设置时启用简化初始化模式尚未得以确认的初始化检测简化在“配置参数”对话框中。如果使用简化的初始化模式,则离散时间积分器块不同于经典的初始化模式。在这些情况下,新的初始化行为更健壮,并提供更一致的行为:

  • 在代数循环

  • 启用和禁用

  • 当比较使用触发采样时间和显式采样时间的结果时,其中块被触发的速率与显式采样时间相同

简化的初始化模式使转换更容易连续时间积分器离散时间积分器块,因为初始条件对两个块都有相同的意义。

有关经典和简化初始化模式的更多信息,请参见尚未得以确认的初始化检测

启用和禁用初始条件设置为输出的行为

使用简化的初始化模式时初始条件设置设置为输出对于触发和函数调用子系统,块的启用和禁用行为简化如下。

在关闭时间T.D.

y (tD.)= Y(吨D.1)

在启用时间T.E.

  • 如果父子系统控制端口有州时启用设置为重置

    y (tE.) = IC。
  • 如果父子系统控制端口有州时启用设置为举行

    y (tE.)= Y(吨D.).

    下图显示了这种情况。

迭代器子系统

使用简化初始化模式时,不能将离散时间积分器块在迭代器子系统块中。

在简化的初始化模式中,Iterator子系统不维护运行时间。因此,如果一个离散时间积分器块,它需要消耗时间,被放置在一个迭代器子系统块中,Simulink报告一个错误。金宝app

在函数调用子系统中启用的子系统中的行为

假设您有一个函数调用子系统,它包含一个启用的子系统,该子系统包含一个离散时间积分器块。应用以下行为。

积分器的方法 函数调用触发端口的采样时间类型 的价值δT启用后函数调用子系统第一次执行时 行为的原因

向前欧拉

触发

t - tstart

当函数调用子系统第一次执行时,积分器算法使用TSTART为前面的模拟时间。

反向欧拉和梯形

触发

t - tprevious

当函数调用子系统第一次执行时,积分器算法使用tprevious为前面的模拟时间。

前欧拉,后欧拉,梯形

周期

函数调用生成的采样时间

在周期模式下离散时间积分器的函数调用生成器的示例时间δT

港口

输入

全部展开

输入信号,指定为标量、向量或矩阵

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

状态的初始条件,指定为有限标量、向量或矩阵。

依赖关系

要启用该端口,设置初始条件的来源外部的

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

输出

全部展开

输入信号的离散时间积分或累积,指定为标量、向量或矩阵。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

表示状态被限制时的信号,指定为标量、向量或矩阵。该信号有以下三个值之一:

  • 1指示正在施加上限。

  • 0.表明积分不限。

  • -1指示正在施加下限。

依赖关系

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

数据类型:||int8

块状态,作为标量,矢量或矩阵输出。默认情况下,该模块将增加该端口块图标的顶部。使用状态时,端口:

  • 块的输出通过复位端口或初始条件端口反馈到块,造成一个代数循环。有关示例,请参见sldemo_bounce_two_integrators模型。

  • 您希望将状态从一个有条件执行的子系统传递到另一个子系统,这可能会导致时间问题。有关示例,请参见sldemo_clutch模型。

有关更多信息,请参见何时使用州端口

依赖关系

要启用该端口,请选择显示国家港口复选框。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|不动点

参数

全部展开

主要

指定积分或积累方法。看到输出方程积分积累法为更多的信息。

程序中使用

块参数:IntegratorMethod
类型:特征向量
价值观:“整合:前锋尤拉|“集成:向后欧拉”|集成:梯形的|“积累:向前欧拉”|“积累:后欧拉”|“积累:梯形”
默认值:“整合:前锋尤拉

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

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

  • 有效的条目包括:

    • 双(1.0)

    • 单(1.0)

    • [1.1 2.2 3.3 4.4]

    • [1.1 2.2;3.3 4.4]

提示

使用此参数指定输入增益可消除生成代码中的乘法操作。但是,要实现这个好处,这个参数必须是不可调优的。如果你想调整输入增益,将这个参数设置为1.0,并使用外部增益块来指定输入增益。

程序中使用

块参数:gainval
类型:特征向量
价值观:标量|向量
默认值:“1.0”

选择复位状态为初始条件触发事件的类型:

  • 没有一个—请勿将状态重置为初始状态。

  • 不断上升的—复位复位信号有上升沿时的状态。

  • 下降—复位信号有下降沿时,复位状态。

  • 要么—复位复位信号上升或下降时的状态。

  • 水平当复位信号非零时,将输出复位并保持初始状态。

  • 抽样水平—当复位信号非零时,将输出重置为初始状态。

有关更多信息,请参见重置状态重置触发类型

程序中使用

块参数:ExternalReset
类型:特征向量
价值观:'没有任何'|“上升”|“下降”|“不是”|'等级'|“抽样水平”
默认值:'没有任何'

初始条件的选择来源:

  • 内部-得到状态的初始条件初始条件块参数。

  • 外部的-从外部块获取状态的初始条件,通过我知道了输入端口。

依赖关系

选择内部使初始条件参数。

选择外部的禁用初始条件参数,并启用我知道了输入端口。

程序中使用

块参数:InitialConditionSource
类型:特征向量,串
价值观:“内部”|“外部”
默认值:“内部”

指定块状态的初始条件。最小值和最大值受输出最小输出最大块参数。

提示

金宝appSimulink软件不允许此块的初始条件为为NaN

依赖关系

要启用该参数,请设置初始条件的来源内部

程序中使用

块参数:InitialCondition
类型:特征向量,串
价值观:标量|向量|矩阵
默认值:'0'

的值是否应用初始条件参数设置为块状态或块输出。初始条件也是重置值。

  • 汽车—Block选择在何处应用初始条件参数。

    • 如果块在一个非触发的子系统中并且积分器的方法设为积分方法,设初始条件:

      x (0) = IC

      重置:

      X(N)= IC

    • 如果块在被触发的或函数调用的子系统中积分器的方法被设置为积分方法中,设置的初始条件为如果输出被选中。

  • 输出-当块处于触发子系统或函数调用子系统时使用此选项积分器的方法设置为积分方法。

    设置初始条件:

    y (0) = IC

    重置:

    y (n) = IC

  • 兼容性- 这个选项的存在是为了提供向后兼容性。你可以不选择此选项离散时间积分器在Simulink模金宝app型块,但你可以选择它来进行离散时间积分器图书馆里的积木。使用此选项可保持与R2014a之前创建的Simulink模型的兼容性。金宝app

    在R2014a之前,可选汽车被称为仅状态(最有效).的选项输出被称为状态和输出.带有该选项的块的行为兼容性如下。

    • 如果尚未得以确认的初始化检测被设置为经典,初始条件设置参数表现为汽车

    • 如果尚未得以确认的初始化检测被设置为简化,初始条件设置参数表现为输出

请注意

该参数被命名为使用初始条件作为初始值和重置值在Si金宝appmulink R2014a之前。

程序中使用

块参数:InitialConditionSetting
类型:特征向量
价值:“汽车”|“输出”|“兼容性”
默认值:“汽车”

输入步骤之间的离散时间间隔。

默认情况下,块使用的离散采样时间为1.设置不同的取样时间,进入另一个离散的值,如0.1。

看到指定样品时间为更多的信息。

提示

  • 不要指定0此值指定连续采样时间,其中离散时间积分块不支持采样时间。金宝app

  • 不指定的样本时间为NaN因为这些值不是离散的。

  • 如果指定-1从上游块继承采样时间,验证上游块使用离散的采样时间。例如,离散时间积分器块不能继承的0采样时间。

程序中使用

块参数:SampleTime
类型:特征向量
价值观:标量|向量
默认值:' 1 '

将块的输出限制为低饱和限制饱和上限参数。

  • 选中此复选框将块的输出限制为低饱和限制饱和上限参数。

  • 清除此复选框不会限制块的输出值。

依赖关系

选择此参数启用低饱和限制饱和上限参数。

程序中使用

块参数:LimitOutput
类型:特征向量
价值观:“关闭”|'在'
默认值:“关闭”

指定积分的上限为标量、向量或矩阵。属性之间的值必须指定输出最小输出最大参数值。

依赖关系

要启用该参数,请选择限制输出复选框。

程序中使用

块参数:UpperSaturationLimit
类型:特征向量,串
价值观:标量|向量|矩阵
默认值:“正”

指定积分的下限为标量、向量或矩阵。属性之间的值必须指定输出最小输出最大参数值。

依赖关系

要启用该参数,请选择限制输出复选框。

程序中使用

块参数:LowerSaturationLimit
类型:特征向量,串
价值观:标量|向量|矩阵
默认值:“负”

选择此复选框将饱和度输出端口添加到块。当您清除此复选框时,块没有饱和输出端口。

依赖关系

选择此参数将启用饱和输出端口。

程序中使用

块参数:ShowSaturationPort
类型:特征向量,串
价值观:“关闭”|'在'
默认值:“关闭”

选择此复选框可将状态输出端口添加到块。当您清除此复选框时,该块没有状态输出端口。

依赖关系

选择此参数将启用状态输出端口。

程序中使用

块参数:ShowStatePort
类型:特征向量,串
价值观:“关闭”|'在'
默认值:“关闭”

选中此复选框有Simulink的线性化命令将此块不复位,并具金宝app有在其输出没有任何限制,不管的块复位和输出限制选项的设置。

提示

忽略限制和重置允许您围绕一个工作点线性化模型。这一点可能导致积分器复位或饱和。

程序中使用

块参数:IgnoreLimit
类型:特征向量
价值观:“关闭”|'在'
默认值:“关闭”

信号的属性

Simulink检查的输出范围的较低值。金宝app

金宝appSimulink使用最小值来执行:

请注意

输出最小不饱和或剪辑实际输出信号。使用饱和块来代替。

程序中使用

块参数OutMin
类型:特征向量
价值“[]”|标量
默认的“[]”

Simulink检查的输出范围的上限值。金宝app

金宝appSimulink中使用的最大值来执行:

请注意

输出最大不饱和或剪辑实际输出信号。使用饱和块来代替。

程序中使用

块参数OutMax
类型:特征向量
价值“[]”|标量
默认的“[]”

选择输出的数据类型。类型可以继承、直接指定或表示为数据类型对象,例如金宝app仿真软件。NumericType.有关更多信息,请参见信号的控制数据类型

当您选择继承的选项时,块的行为如下:

  • 继承:通过内部规则继承- 金宝appSimulink选择一个数据类型来平衡数字精度、性能和生成的代码大小,同时考虑嵌入式目标硬件的属性。如果更改内嵌目标设置,则内部规则选择的数据类型可能会更改。例如,如果块乘以一个类型为int8获得int16ASIC / FPGA指定为目标硬件类型,输出数据类型为sfix24.如果未指定(假设32位通用)即,一个通用的32位微处理器,被指定为目标硬件,输出数据类型是int32.如果目标微处理器提供的单词长度都不能容纳输出范围,Simulink软件会在诊断查看器中显示一个错误。金宝app

    软件并不总是能够同时优化代码效率和数值精度。如果内部规则不能满足你对数字精度或性能的特定需求,请使用以下选项之一:

    • 明确指定输出的数据类型。

    • 使用简单的选择继承:与输入相同

    • 显式指定默认数据类型,例如fixdt(1,32,16)然后使用定点工具为模型提出数据类型。有关更多信息,请参见fxptdlg(定点设计师)

    • 要指定自己的继承规则,请使用继承:通过反向传播继承然后用a数据类型传播块。有关如何使用此块的示例可在Signal Attributes库中找到数据类型传播示例块。

  • 继承:通过反向传播继承—使用驱动块的数据类型。

程序中使用

块参数OutDataTypeStr
类型:特征向量
价值“继承:通过内部规则继承|“继承:经由反向传播继承”|“双”|“单一”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“int64”|'UINT64'|“fixdt(16)”|“fixdt(0) 1, 16日”|“fixdt(1, 16日2 ^ 0,0)”|“< >数据类型表达”
默认的“继承:通过内部规则继承”

选择此参数可防止定点工具覆盖输出在块上指定的数据类型。有关更多信息,请参见使用锁定输出数据类型设置(定点设计师)

程序中使用

块参数:LockScale
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

选择这些四舍五入模式之一。

天花板

将正数和负数四舍五入到正无穷。等价于MATLAB®小区功能。

收敛

四舍五入数到最接近的可表示值。如果出现平局,四舍五入到最接近的偶数。相当于定点设计器™会聚的功能。

地板上

将正数和负数四舍五入到负无穷。等价于MATLAB地板上功能。

最近

四舍五入数到最接近的可表示值。如果出现平局,轮向正无穷大。相当于定点设计师最近的功能。

四舍五入数到最接近的可表示值。如果出现平局,将正数舍入到正无穷,将负数舍入到负无穷。相当于定点设计师功能。

简单的

轮朝向底板和轮之间自动选择朝向零以产生舍入代码是尽可能高效。

四舍五入数接近零。等价于MATLAB修复功能。

程序中使用

块参数RndMeth
类型:特征向量
价值“天花板”|“收敛”|“地板”|“最近的”|“圆”|“简单”|'零'
默认的“地板”

也可以看看

有关更多信息,请参见舍入(定点设计师)

指定是否溢出饱和或包装材料。

  • -溢出包装到数据类型可以表示的适当值。

    例如,数字130不适用于带符号的8位整数,将自动换行为-126。

  • - 溢出饱和到最小或该数据类型可以表示的最大值。

    例如,与带符号的8位整数相关联的溢出可以饱和为-128或127。

提示

  • 当您的模型可能存在溢出,并且希望在生成的代码中显示饱和保护时,请考虑选择此复选框。

  • 当您希望优化生成代码的效率时,请考虑清除此复选框。

    清除此复选框还可以帮助您避免过度指定块如何处理超出范围的信号。有关更多信息,请参见排除信号范围误差

  • 当您选中此复选框时,饱和度将应用于块上的每个内部操作,而不仅仅是输出或结果。

  • 一般来说,代码生成过程可以在不可能溢出时进行检测。在这种情况下,代码生成器不会产生饱和代码。

程序中使用

块参数:SaturateOnIntegerOverflow
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

状态属性

使用此参数的唯一名称分配给块的状态。默认为' '.当该字段为空时,不分配名称。当使用这个参数时,请记住以下注意事项:

  • 有效的标识符以字母或下划线字符开头,然后是字母数字或下划线字符。

  • 州名只应用于选定的块。

有关更多信息,请参见模型接口元素的C代码生成配置(金宝app仿真软件编码器)

依赖关系

指定的值时国名并点击申请,则启用国家名称必须解析的Simulink信号对象金宝app参数。

程序中使用

参数:StateName
类型:特征向量
价值观:唯一的名称
默认值:''

指定是否需要将状态名解析为Simulink信号对象。金宝app如果选择,如果您指定的状态名称与Simulink信号对象的名称不匹配,则软件在运行时生成错误。金宝app

依赖

当你给的参数启用国名值并设置模型配置参数信号的分辨率而不是没有一个

选择此复选框将禁用代码生成存储类

程序中使用

块参数StateMustResolveToSignalObject
类型:特征向量
价值“关闭”|'在'
默认的“关闭”

块特征

数据类型

|不动点|整数|

直接引线

是的

多维信号

没有

适应信号

没有

过零检测

没有

扩展功能

PLC代码生成
使用Simulink®PLC Coder™生成结构化文本代码。金宝app

定点转换
使用fixed-point Designer™设计和模拟定点系统。

也可以看看

话题

之前介绍过的R2006a