主要内容

Saturation

R2026b

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

  • Saturation block

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

描述

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

输入satupsatlo

输入信号大于上限值。

1 (true)

0 (false)

上限值大于或等于输入信号,输入信号大于或等于下限值。

0 (false)

0 (false)

下限值大于输入信号。

0 (false)

1 (true)

示例

全部展开

此示例说明如何在 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

输出

全部展开

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

饱和上限状态,当输入信号对上限进行饱和处理时,以 1 (true) 形式返回。否则,它以 0 (false) 形式返回。

依赖关系

要启用此参数,请选择输出饱和状态参数。

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

当输入信号对下限进行饱和处理时,输出信号以 1 (true) 形式返回。否则,它以 0 (false) 形式返回。

依赖关系

要启用此参数,请选择输出饱和状态参数。

参数

全部展开

常设

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

编程用法

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

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

编程用法

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

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

编程用法

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

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

编程用法

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

选择以根据以下结果启用饱和状态输出端口:

输入satupsatlo

输入信号大于上限值。

1 (true)

0 (false)

上限值大于或等于输入信号,输入信号大于或等于下限值。

0 (false)

0 (false)

下限值大于输入信号。

0 (false)

1 (true)

编程用法

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

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

依赖关系

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

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: SampleTime
值: "-1" (默认) | scalar or vector in quotes

信号属性

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

软件检查的输出范围的下限值。

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

提示

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

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: OutMin
值: '[]' (默认) | scalar in quotes

软件检查的输出范围的上限值。

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

提示

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

编程用法

要以编程方式设置模块参数值,请使用 set_param 函数。

参数: OutMax
值: '[]' (默认) | scalar in quotes

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

编程用法

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

编程用法

要以编程方式设置模块参数值,请使用 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)。

模块特性

数据类型

double | fixed point | integer | single

直接馈通

是

多维信号

否

可变大小信号

否

过零检测

是

扩展功能

全部展开

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

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

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

版本历史记录

在 R2006a 之前推出

全部展开