Saturation Dynamic
将输入信号限制在动态饱和上限和下限值之间

库:
Simulink /
Discontinuities
HDL Coder /
Discontinuities
描述
Saturation Dynamic 模块产生输出信号,该信号是以来自输入端口 up
和 lo
的饱和值为界的输入信号的值。
输入 | 输出 |
---|---|
lo ≤ 输入值 ≤ up | 输入值 |
输入值 < lo | 下限 |
输入值 > up | 上限 |
端口
输入
要应用饱和算法的输入信号。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
提供饱和上限的动态值。当输入大于 up 时,输出值以 up 为界。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
提供饱和下限的动态值。当输入小于 lo 时,输出值以 lo 为界。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
输出
输出信号,它可以是输入信号值,也可以是饱和上限或下限值。
数据类型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
参数
要编辑 Saturation Dynamic 模块的参数,请双击模块图标。
数据类型助手可帮助您设置数据属性。要使用数据类型助手,请点击 。有关详细信息,请参阅使用数据类型助手指定数据类型。
软件检查的输出范围的下限值。
软件使用最小值执行下列操作:
某些模块的参数范围检查(请参阅指定模块参数的最小值和最大值)。
定点数据类型的自动定标。
从模型生成的代码的优化。此优化可删除算法代码,并影响某些仿真模式(如 SIL 或外部模式)的结果。有关详细信息,请参阅使用指定的最小值和值进行优化 (Embedded Coder)。
提示
输出最小值不会对实际输出信号进行饱和处理或截断。请改用 Saturation 模块。
编程用法
要以编程方式设置模块参数值,请使用 set_param
函数。
参数: | OutMin |
值: | '[]' (默认) | scalar in quotes |
软件检查的输出范围的上限值。
软件使用最大值执行下列操作:
某些模块的参数范围检查(请参阅指定模块参数的最小值和最大值)。
定点数据类型的自动定标。
从模型生成的代码的优化。此优化可删除算法代码,并影响某些仿真模式(如 SIL 或外部模式)的结果。有关详细信息,请参阅使用指定的最小值和值进行优化 (Embedded Coder)。
提示
输出最大值不会对实际输出信号进行饱和处理或截断。请改用 Saturation 模块。
编程用法
要以编程方式设置模块参数值,请使用 set_param
函数。
参数: | OutMax |
值: | '[]' (默认) | scalar in quotes |
为输出选择数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType
对象。有关详细信息,请参阅控制信号的数据类型。
编程用法
模块参数:OutDataTypeStr |
类型:字符向量 |
值:'Inherit: Same as second input' | 'Inherit: Inherit via back propagation' | 'double' | 'single' | 'int8' | 'uint8' | int16 | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | fixdt(1,16) | fixdt(1,16,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' |
选择下列舍入模式之一。
- 向上
将正值和负值朝正无穷方向舍入。等同于 MATLAB®
ceil
函数。- 收敛
将数值舍入到最邻近的可表示值。如果出现结值,则舍入到最邻近的偶数整数。等同于 Fixed-Point Designer™
convergent
函数。- 向下
将正值和负值朝负无穷方向舍入。等同于 MATLAB
floor
函数。- 最邻近值
将数值舍入到最邻近的可表示值。如果出现结值,则朝正无穷方向舍入。等同于 Fixed-Point Designer
nearest
函数。- 舍入
将数值舍入到最邻近的可表示值。如果出现结值,则将正数朝正无穷方向舍入,将负数朝负无穷方向舍入。等同于 Fixed-Point Designer
round
函数。- 最简
自动选择是向负无穷大方向舍入还是向零舍入,以生成尽可能有效的舍入代码。
- 零
将数值向零舍入。等同于 MATLAB
fix
函数。
编程用法
模块参数:RndMeth |
类型:字符向量 |
值:'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
默认值:'Floor' |
另请参阅
有关详细信息,请参阅舍入模式 (Fixed-Point Designer)。
指定对溢出是进行饱和处理还是绕回处理。
on
- 将溢出饱和处理为数据类型能够表示的最小值或最大值。off
- 溢出将绕回到数据类型可以表示的合适值。
例如,有符号 8 位整数 int8
可以表示的最大值是 127。任何大于此最大值的模块运算结果都会导致 8 位整数溢出。
选择此参数后,模块输出将在达到 127 时饱和。类似地,模块输出将在达到最小输出值 -128 时饱和。
清除此参数后,软件会将导致溢出的值解释为
int8
,这可能产生意外结果。例如,以int8
表示的模块结果 130(二进制 1000 0010)为 -126。
提示
如果您的模型存在可能的溢出,而您希望在生成的代码中进行显式饱和保护,请考虑选中此参数。
如果您希望优化生成的代码的效率,请考虑清除此参数。清除此参数还可以帮助您避免过度地指定信号超出范围时模块的处理方式。有关详细信息,请参阅信号范围错误故障排除。
如果选中此参数,饱和将应用于模块中的每个内部操作,而不仅仅应用于输出或结果。
一般情况下,代码生成进程可以检测到何时不可能发生溢出。在这种情况下,代码生成器不会生成饱和代码。
编程用法
模块参数:DoSatur |
类型:字符向量 |
值:'off' | 'on' |
默认值:'off' |
扩展功能
C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。
HDL Coder™ 提供影响 HDL 实现和综合逻辑的额外配置选项。
此模块具有一个默认 HDL 架构。
ConstrainedOutputPipeline | 通过移动设计中现有延迟的方式来放置在输出端的寄存器的数量。分布式流水线不会重新分发这些寄存器。默认值为 |
InputPipeline | 要在生成的代码中插入的输入流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
OutputPipeline | 要在生成的代码中插入的输出流水线阶段数。分布式流水线和受限输出流水线可以移动这些寄存器。默认值为 |
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)