Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

Difference

计算一个时间步内的信号变化

  • 库:
  • Simulink / Discrete

  • Difference block

说明

Difference 模块输出当前输入值减去上一输入值的差值。

端口

输入

全部展开

输入信号,指定为标量、向量、矩阵或 N 维数组。

依存关系

当您将 Input processing 设置为 “Columns as channels (frame based)” 时,输入信号必须有两个或更少的维度。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

输出

全部展开

当前输入减去上一个输入,指定为标量、向量、矩阵或 N 维数组。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

参数

全部展开

Main

为上一个输入设置初始条件。

编程用法

参数:ICPrevInput
类型:字符向量
值: 标量 | 向量 | 矩阵 | N 维数组
默认值:'0.0'

指定模块是执行基于采样还是基于帧的处理:

  • Columns as channels (frame based)” - 将输入信号的每一列视为一个单独的通道(基于帧的处理)。

    注意

    基于帧的处理需要具有 DSP System Toolbox™ 许可证。

    有关详细信息,请参阅Sample- and Frame-Based Concepts (DSP System Toolbox)

  • Elements as channels (sample based)” - 将输入信号的每个元素视为一个单独的通道(基于采样的处理)。

可以使用 Input processing 指定模块是执行基于采样的处理还是基于帧的处理。对于输入 u,模块接受基于帧的信号。所有其他输入信号都必须基于采样。

输入信号 u输入处理模式模块是否支持?
基于采样基于采样
基于帧不,生成错误
基于采样基于帧
基于帧

有关这两种处理模式的详细信息,请参阅Sample- and Frame-Based Concepts (DSP System Toolbox)

编程用法

模块参数InputProcessing
类型:字符向量
'Columns as channels (frame based)' | 'Elements as channels (sample based)'
默认值'Elements as channels (sample based)'

Signal Attributes

Simulink® 检查的输出范围的下限值。

Simulink 使用最小值执行下列操作:

注意

Output minimum 不会饱和或剪切实际输出信号。请改用 Saturation 模块。

编程用法

模块参数OutMin
类型:字符向量
'[ ]'| 标量
默认值'[ ]'

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

Simulink 使用最大值执行下列操作:

注意

Output maximum 不会饱和或剪切实际输出信号。请改用 Saturation 模块。

编程用法

模块参数OutMax
类型:字符向量
'[ ]'| 标量
默认值'[ ]'

指定输出数据类型。可以将其设置为:

  • 继承数据类型的规则,例如 “Inherit:Inherit via back propagation

  • 内置数据类型的名称,例如 single

  • 数据类型对象的名称,例如 Simulink.NumericType 对象

  • 计算结果为数据类型的表达式,例如 fixdt(1,16,0)

点击 Show data type assistant 按钮 以显示 Data Type Assistant,帮助您设置数据类型属性。有关详细信息,请参阅使用 Data Type Assistant 指定数据类型

依存关系

当输入是小于单精度的浮点数据类型时,“Inherit:Inherit via internal rule” 输出数据类型取决于 Inherit floating-point output type smaller than single precision 配置参数的设置。当对数据类型进行编码所需的位数小于对单精度数据类型进行编码所需的 32 位时,数据类型小于单精度。例如,halfint16 小于单精度。

编程用法

参数:OutDataTypeStr
类型:字符向量
值:'Inherit: Inherit via internal rule' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
默认值:'Inherit: Inherit via internal rule'

选择此参数可防止定点工具覆盖您在模块上指定的 Output 数据类型。有关详细信息,请参阅Use Lock Output Data Type Setting (Fixed-Point Designer)

编程用法

模块参数:LockScale
类型:字符向量
值:'off' | 'on'
默认值:'off'

指定定点运算的舍入模式。有关详细信息,请参阅Rounding (Fixed-Point Designer)

模块参数始终舍入到最接近的可表示值。要控制模块参数的舍入方法,请在封装字段中使用 MATLAB® 舍入函数输入表达式。

编程用法

模块参数:RndMeth
类型:字符向量
值:'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
默认值:'Floor'

当您选中此复选框时,溢出将饱和处理为数据类型可表示的最大值或最小值。否则,溢出将绕回。

如果选中此复选框,饱和将应用于模块中的每个内部操作,而不仅仅应用于输出或结果。一般情况下,代码生成进程可以检测到何时不可能发生溢出。在这种情况下,代码生成器不会生成饱和代码。

编程用法

模块参数:DoSatur
类型:字符向量
值:'off' | 'on'
默认值:'off'

模块特性

数据类型

Boolean[a] | double | fixed point | half | integer | single

直接馈通

多维信号

可变大小信号

过零检测

[a] 建议不要将此模块用于布尔信号。

扩展功能

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

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

另请参阅

主题

在 R2006a 之前推出