Contenido principal

Saturation Dynamic

Limitar la señal de entrada a los valores dinámicos de saturación superior e inferior

  • Saturation Dynamic block

Bibliotecas:
Simulink / Discontinuities
HDL Coder / Discontinuities

Descripción

El bloque Saturation Dynamic genera una señal de salida que es el valor de la señal de entrada acotada a los valores de saturación de los puertos de entrada up y lo.

EntradaSalida
lo ≤ valor de entrada ≤ upValor de entrada
Valor de entrada < loLímite inferior
Valor de entrada > upLímite superior

Puertos

Entrada

expandir todo

Señal de entrada para el algoritmo de saturación.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Valor dinámico que proporciona el límite de saturación superior. Cuando la entrada es mayor que up, el valor de salida se acota a up.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Valor dinámico que proporciona el límite de saturación inferior. Cuando la entrada es menor que lo, el valor de salida se acota a lo.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Salida

expandir todo

Señal de salida que es el valor de la señal de entrada, el límite de saturación superior o el límite de saturación inferior.

Tipos de datos: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Parámetros

expandir todo

Para editar los parámetros para el bloque Saturation Dynamic, haga doble clic en el icono del bloque.

Data Type Assistant ayuda a establecer los atributos de los datos. Para usar Data Type Assistant, haga clic en the Show data type assistant button. Para obtener más información, consulte Specify Data Types Using Data Type Assistant.

Valor inferior del rango de salida que comprueba el software.

El software usa el mínimo para realizar lo siguiente:

Sugerencias

Output minimum no satura ni recorta la señal de salida real. Use el bloque Saturation en su lugar.

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Parámetro: OutMin
Valores: '[]' (predeterminado) | scalar in quotes

Valor superior del rango de salida que comprueba el software.

El software usa el valor máximo para realizar lo siguiente:

Sugerencias

Output maximum no satura ni recorta la señal de salida real. Use el bloque Saturation en su lugar.

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Parámetro: OutMax
Valores: '[]' (predeterminado) | scalar in quotes

Elija el tipo de datos para la salida. El tipo puede heredarse, especificarse directamente o expresarse como un objeto de tipo de datos, como un objeto Simulink.NumericType. Para obtener más información, consulte Control Data Types of Signals.

Uso programático

Parámetro de bloque: OutDataTypeStr
Tipo: vector de caracteres
Valores: '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>'
Predeterminado: 'Inherit: Same as input'

Seleccione este parámetro para evitar que las herramientas de punto fijo anulen el tipo de datos de Output que se especificó en el bloque. Para obtener más información, consulte Use Lock Output Data Type Setting (Fixed-Point Designer).

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Parámetro: LockScale
Valores: 'off' (predeterminado) | 'on'

Elija uno de estos modos de redondeo.

Ceiling

Redondea tanto números positivos como negativos hacia infinito positivo. Equivalente a la función ceil de MATLAB®.

Convergent

Redondea el número al valor representable más cercano. Si se produce un empate, redondea al entero par más cercano. Equivalente a la función convergent de Fixed-Point Designer™.

Floor

Redondea tanto números positivos como negativos hacia infinito negativo. Equivalente a la función floor de MATLAB.

Nearest

Redondea el número al valor representable más cercano. Si se produce un empate, redondea hacia infinito positivo. Equivalente a la función nearest de Fixed-Point Designer.

Round

Redondea el número al valor representable más cercano. Si se produce un empate, redondea los números positivos al infinito positivo y redondea los números negativos hacia infinito negativo. Equivalente a la función round de Fixed-Point Designer.

Simplest

Elige automáticamente entre el redondeo hacia abajo y el redondeo hacia cero para generar código de redondeo que sea lo más eficiente posible.

Zero

Redondea el número hacia cero. Equivalente a la función fix de MATLAB.

Uso programático

Parámetro de bloque: RndMeth
Tipo: vector de caracteres
Valores: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
Predeterminado: 'Floor'

Consulte también

Para obtener más información, consulte Rounding Modes (Fixed-Point Designer).

Especifique si los desbordamientos saturan o ajustan valores.

  • on: los desbordamientos saturan al valor mínimo o máximo que el tipo de datos puede representar.

  • off: los desbordamientos se ajustan al valor adecuado que el tipo de datos puede representar.

Por ejemplo, el valor máximo que el entero de 8 bits int8 con signo puede representar es 127. Cualquier resultado de la operación del bloque mayor que este valor máximo provocará el desbordamiento del entero de 8 bits.

  • Con el parámetro seleccionado, la salida del bloque satura a 127. De forma similar, la salida del bloque satura a un valor de salida mínimo de -128.

  • Con este parámetro desactivado, el software interpreta que el valor que genera el desbordamiento es int8, que puede provocar un resultado no intencionado. Por ejemplo, un resultado del bloque de 130 (binario 1000 0010) expresado como int8, es -126.

Sugerencias

  • Considere la posibilidad de seleccionar este parámetro cuando su modelo tenga un desbordamiento posible y desee una protección explícita de saturación en el código generado.

  • Considere la posibilidad de desactivar este parámetro cuando desee optimizar la eficiencia del código generado. Desactivar este parámetro también ayuda a evitar especificar cómo trata un bloque las señales fuera de rango. Para obtener más información, consulte Troubleshoot Signal Range Errors.

  • Cuando se selecciona este parámetro, la saturación se aplica a cada operación interna del bloque, no solo a la salida o al resultado.

  • Por lo general, el proceso de generación de código puede detectar cuándo el desbordamiento no es posible. En este caso, el generador de código no produce código de saturación.

Uso programático

Parámetro de bloque: DoSatur
Tipo: vector de caracteres
Valores: 'off' | 'on'
Predeterminado: 'off'

Características del bloque

Tipos de datos

Booleana | double | fixed point | integer | single

Paso directo

no

Señales multidimensionales

no

Señales de tamaño variable

no

Detección de cruce por cero

no

a No se recomienda usar este bloque con señales booleanas.

Capacidades ampliadas

expandir todo

Generación de código C/C++
Genere código C y C++ mediante Simulink® Coder™.

Generación de código PLC
Genere código de texto estructurado mediante Simulink® PLC Coder™.

Conversión de punto fijo
Diseñe y simule sistemas en punto fijo mediante Fixed-Point Designer™.

Historial de versiones

Introducido antes de R2006a

Consulte también