Main Content

Abs

输出输入信号的绝对值

  • Abs block

库:
Simulink / Math Operations
HDL Coder / HDL Floating Point Operations
HDL Coder / Math Operations

描述

Abs 模块输出输入信号的绝对值。

对于有符号整数数据类型,最小负值的绝对值无法用该数据类型表示。在这种情况下,由对整数溢出进行饱和处理复选框控制模块的行为。

如果您...模块将...而且...
选中此复选框饱和处理为该整数数据类型的最大正值
  • 对于 8 位有符号整数,-128 对应为 127。

  • 对于 16 位有符号整数,-32768 对应为 32767。

  • 对于 32 位有符号整数,-2147483648 对应为 2147483647。

不选中此复选框绕回到该整数数据类型的最小负值
  • 对于 8 位有符号整数,-128 依然是 -128。

  • 对于 16 位有符号整数,-32768 依然是 -32768。

  • 对于 32 位有符号整数,-2147483648 依然是 -2147483648。

Abs 模块支持过零检测。但是,当您在对话框中选择启用过零检测时,该模块不会在定点工具中报告仿真最小值或最大值。如果您要使用定点工具来分析模型,请先对模型中的所有 Abs 模块禁用过零检测。

端口

输入

全部展开

绝对值模块的输入信号。

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

输出

全部展开

输入信号的绝对值。

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

参数

全部展开

常设

选择此项以启用过零检测。有关详细信息,请参阅过零检测

编程用法

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

指定采样时间间隔。要继承采样时间,请将此参数设置为 -1。有关详细信息,请参阅指定采样时间

依存关系

仅当您将此参数设置为 -1 以外的值时才可见。要了解详细信息,请参阅不建议设置采样时间的模块

编程用法

模块参数:SampleTime
类型:字符串标量或字符向量
默认值:"-1"

信号属性

数据类型助手可帮助您设置数据属性。要使用数据类型助手,请点击 the Show data type assistant button。有关详细信息,请参阅使用数据类型助手指定数据类型

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

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

注意

输出最小值不会对实际输出信号进行饱和处理或截断。请改用 Saturation 模块。

编程用法

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

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

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

注意

输出最大值不会对实际输出信号进行饱和处理或截断。请改用 Saturation 模块。

编程用法

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

为输出选择数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType

依存关系

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

编程用法

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

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

编程用法

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

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

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

编程用法

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

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

操作执行此操作的原因发生的情况示例
选中此复选框。您的模型可能有溢出,并且您希望在生成的代码中具有显式饱和保护。溢出将饱和处理为数据类型可以表示的最大值。数字 130 不适合一个有符号 8 位整数,因此饱和处理为 127。
不选中此复选框。您需要优化所生成代码的效率。溢出会绕回到由数据类型表示的适当值。数字 130 不适合一个有符号 8 位整数,因此绕回 -126。

编程用法

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

模块特性

数据类型

double | fixed point | half | integer | single

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

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

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

版本历史记录

在 R2006a 之前推出

另请参阅

|