Main Content

Saturation

将输入信号限制在饱和上限和下限值之间

  • Saturation block

库:
Simulink / Commonly Used Blocks
Simulink / Discontinuities
HDL Coder / Discontinuities

描述

Saturation 模块产生输出信号,该信号是在饱和上限和下限值之间的输入信号值。上限和下限由参数上限下限指定。

输入输出
下限 ≤ 输入值 ≤ 上限输入值
输入值 < 下限下限
输入值 > 上限上限

示例

全部展开

此示例说明如何在 ex_sldemo_boiler 模型中使用 Quantizer 和 Saturation 模块。ADC 子系统通过以下方式将输入模拟电压数字化:

  • 用 Gain 模块将模拟电压乘以 256/5

  • 用 Quantizer 模块将值向下舍入到整数

  • 使用 Saturation 模块将输出限制为最大值到 255(最大无符号 8 位整数值)

端口

输入

全部展开

要应用饱和算法的输入信号。

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

输出

全部展开

输出信号,它可以是输入信号值,也可以是饱和上限或下限值。

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

参数

全部展开

常设

指定输入信号的上界。如果输入信号大于此边界,则输出信号将设置为此饱和值。上限参数会通过舍入到最邻近整数和饱和处理转换为输入数据类型。上限必须大于输出最小值参数且小于输出最大值参数。

编程用法

模块参数UpperLimit
类型:字符向量
:实数标量或向量
默认值'0.5'

指定输入信号的下界。如果输入信号小于此边界,则输出信号将设置为此饱和值。下限参数会通过舍入到最邻近整数和饱和处理转换为输入数据类型。下限必须大于输出最小值参数且小于输出最大值参数。

编程用法

模块参数LowerLimit
类型:字符向量
:实数标量或向量
默认值'-0.5'

选中此复选框将使得这些命令将增益视为 1。Simulink® 软件中的线性化命令将此模块视为状态空间中的增益。清除该框将使得这些命令将增益视为 0。

编程用法

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

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

编程用法

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

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

依存关系

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

编程用法

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

信号属性

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

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

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

注意

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

编程用法

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

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

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

注意

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

编程用法

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

为输出选择数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType。有关详细信息,请参阅控制信号的数据类型

编程用法

模块参数OutDataTypeStr
类型:字符向量
'Inherit: Same as input''Inherit: Inherit via back propagation''single''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'

选择下列舍入模式之一。

向上

将正值和负值朝正无穷方向舍入。等同于 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)

模块特性

数据类型

double | fixed point | integer | single

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

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

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

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

版本历史记录

在 R2006a 之前推出