Abs
输出输入信号的绝对值

库:
Simulink /
Math Operations
HDL Coder /
HDL Floating Point Operations
HDL Coder /
Math Operations
描述
Abs 模块输出输入信号的绝对值。
对于有符号整数数据类型,最小负值的绝对值无法用该数据类型表示。在这种情况下,由对整数溢出进行饱和处理复选框控制模块的行为。
如果您... | 模块将... | 而且... |
---|---|---|
选中此复选框 | 饱和处理为该整数数据类型的最大正值 |
|
不选中此复选框 | 绕回到该整数数据类型的最小负值 |
|
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
参数
常设
指定采样时间间隔。要继承采样时间,请将此参数设置为 -1
。有关详细信息,请参阅指定采样时间。
依赖关系
仅当您将此参数设置为 -1
以外的值时才可见。要了解详细信息,请参阅不建议设置采样时间的模块。
编程用法
要以编程方式设置模块参数值,请使用 set_param
函数。
参数: | SampleTime |
值: | "-1" (默认) | scalar or vector in quotes |
信号属性
数据类型助手可帮助您设置数据属性。要使用数据类型助手,请点击 。有关详细信息,请参阅使用数据类型助手指定数据类型。
软件检查的输出范围的下限值。
软件使用最小值执行下列操作:
某些模块的参数范围检查(请参阅指定模块参数的最小值和最大值)。
定点数据类型的自动定标。
从模型生成的代码的优化。此优化可删除算法代码,并影响某些仿真模式(如 SIL 或外部模式)的结果。有关详细信息,请参阅使用指定的最小值和值进行优化 (Embedded Coder)。
提示
输出最小值不会对实际输出信号进行饱和处理或截断。请改用 Saturation 模块。
编程用法
要以编程方式设置模块参数值,请使用 set_param
函数。
参数: | OutMin |
值: | '[]' (默认) | scalar in quotes |
软件检查的输出范围的上限值。
软件使用最大值执行下列操作:
某些模块的参数范围检查(请参阅指定模块参数的最小值和最大值)。
定点数据类型的自动定标。
从模型生成的代码的优化。此优化可删除算法代码,并影响某些仿真模式(如 SIL 或外部模式)的结果。有关详细信息,请参阅使用指定的最小值和值进行优化 (Embedded Coder)。
提示
输出最大值不会对实际输出信号进行饱和处理或截断。请改用 Saturation 模块。
编程用法
要以编程方式设置模块参数值,请使用 set_param
函数。
参数: | OutMax |
值: | '[]' (默认) | scalar in quotes |
为输出选择数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType
。
依赖关系
当输入是小于单精度的浮点数据类型时,继承: 从内部规则继承输出数据类型取决于 Inherit floating-point output type smaller than single precision 配置参数的设置。当对数据类型进行编码所需的位数小于对单精度数据类型编码所需的 32 位时,数据类型小于单精度。例如,half
和 int16
小于单精度。
编程用法
模块参数:OutDataTypeStr |
类型:字符向量 |
值:'Inherit: Same as input' | 'Inherit: Inherit via internal rule' | 'Inherit: Inherit via back propagation' | 'double' | '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)。
编程用法
要以编程方式设置模块参数值,请使用 set_param
函数。
参数: | LockScale |
值: | 'off' (默认) | 'on' |
如果选中此复选框,饱和将应用于模块中的每个内部操作,而不仅仅应用于输出或结果。一般情况下,代码生成进程可以检测到何时不可能发生溢出。在这种情况下,代码生成器不会生成饱和代码。
操作 | 执行此操作的原因 | 发生的情况 | 示例 |
---|---|---|---|
选中此复选框。 | 您的模型可能有溢出,并且您希望在生成的代码中具有显式饱和保护。 | 溢出将饱和处理为数据类型可以表示的最大值。 | 数字 130 不适合一个有符号 8 位整数,因此饱和处理为 127。 |
不选中此复选框。 | 您需要优化所生成代码的效率。 | 溢出会绕回到由数据类型表示的适当值。 | 数字 130 不适合一个有符号 8 位整数,因此绕回 -126。 |
编程用法
模块参数:SaturateOnIntegerOverflow |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
详细信息
如果您有 Simulink® Coverage™ 许可证,则 Abs 模块会接收决策覆盖率和关系边界覆盖率。决策覆盖率基于:
模块的输入是否小于零
输入信号的数据类型
当模块的输入小于零时,决策覆盖率测量:
模块输入小于零的时间步数,这表示 true 决策
模块输入不小于零的时间步数,这表示 false 决策
如果您在“配置参数”对话框的覆盖率窗格中选择对整数溢出进行饱和处理参数,则 Abs 模块会接收对整数溢出进行饱和处理覆盖率。有关详细信息,请参阅整数溢出饱和处理覆盖率 (Simulink Coverage)。
如果 Abs 模块的输入数据类型是无符号整数,则 Simulink Coverage 不会报告该模块的决策覆盖率。Simulink 设置模块输出等于模块输入,而不进行决策。
由于 Abs 将输入与零进行比较,因此如果您选择关系边界覆盖率度量,则 Abs 模块会接收关系边界覆盖率。有关详细信息,请参阅关系边界覆盖率 (Simulink Coverage)。
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
HDL Coder™ 提供影响 HDL 实现和综合逻辑的额外配置选项。
此模块具有一个默认 HDL 架构。
通用 | |
---|---|
ConstrainedOutputPipeline | 通过移动设计中现有延迟的方式来放置在输出端的寄存器的数量。分布式流水线不会重新分发这些寄存器。默认值为 |
InputPipeline | 要在生成的代码中插入的输入流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
OutputPipeline | 要在生成的代码中插入的输出流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
原生浮点 | |
---|---|
LatencyStrategy | 指定对于浮点运算符是否将设计中的模块映射到 |
此模块支持在 Native Floating Point
模式下浮点类型的复信号的代码生成。
不支持使用定点类型的复信号的模块的代码生成。要计算复数的模,请改用 Complex to Magnitude-Angle (DSP HDL Toolbox) 模块。
PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。
定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。
版本历史记录
在 R2006a 之前推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)