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

Bibliotecas:
Simulink /
Commonly Used Blocks
Simulink /
Discontinuities
HDL Coder /
Discontinuities
Descripción
El bloque Saturation genera una señal de salida que es el valor de la señal de entrada acotada a los valores de saturación superior e inferior. Los límites superior e inferior están especificados por los parámetros Upper limit y Lower limit.
Entrada | Salida |
---|---|
Límite inferior ≤ Valor entrada ≤ Límite superior | Valor de entrada |
Valor entrada < Límite inferior | Límite inferior |
Valor entrada > Límite superior | Límite superior |
Ejemplos
En este ejemplo se muestra cómo utilizar los bloques Quantizer y Saturation en el modelo ex_sldemo_boiler. El subsistema ADC digitaliza el voltaje analógico de entrada mediante:
La multiplicación del voltaje analógico por 256/5 con el bloque Gain
El redondeo del valor al entero inferior con el bloque Quantizer
La limitación de la salida a un máximo de 255 (el valor entero máximo de 8 bits sin signo) con el bloque Saturation
Ejemplos ampliados
Péndulo invertido con animación
En este ejemplo se muestra cómo usar Simulink® para modelar y animar un sistema de péndulo invertido. El centro de masa de un péndulo invertido se encuentra por encima de su punto de rotación. Para mantener esta posición estable, el sistema implementa lógica de control para mover el punto de rotación por debajo del centro de masa en el momento en que el péndulo comienza a caer. El péndulo invertido es un problema de dinámica clásico que se utiliza para probar estrategias de control.
Puertos
Entrada
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
Salida
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
Principal
Especifique el límite superior de la señal de entrada. Si la señal de entrada es mayor que este límite, la señal de salida se establece en este valor de saturación. El parámetro Upper limit se convierte al tipo de datos de salida usando la saturación y el redondeo al valor más cercano. Upper limit debe ser mayor que el parámetro Output minimum y menor que el parámetro Output maximum.
Uso programático
Parámetro de bloque: UpperLimit |
Tipo: vector de caracteres |
Valor: escalar real o vector |
Predeterminado: '0.5' |
Especifique el límite inferior de la señal de entrada. Si la señal de entrada es menor que este límite, la señal de salida se establece en este valor de saturación. El parámetro Lower limit se convierte al tipo de datos de salida usando la saturación y el redondeo al valor más cercano. Lower limit debe ser mayor que el parámetro Output minimum y menor que el parámetro Output maximum.
Uso programático
Parámetro de bloque: LowerLimit |
Tipo: vector de caracteres |
Valor: escalar real o vector |
Predeterminado: '-0.5' |
Seleccione este parámetro para que los comandos traten la ganancia como 1. Los comandos de linealización del software de Simulink® tratan este bloque como una ganancia en el espacio de estados. Desactive este parámetro para que los comandos traten la ganancia como 0.
Uso programático
Parámetro de bloque: LinearizeAsGain |
Tipo: vector de caracteres |
Valores: 'off' | 'on' |
Predeterminado: 'on' |
Seleccione para activar la detección de cruces por cero. Para obtener más información, consulte Zero-Crossing Detection.
Uso programático
Parámetro de bloque: ZeroCross |
Tipo: vector de caracteres | cadena |
Valores: 'off' | 'on' |
Predeterminado: 'on' |
Especifique el intervalo de tiempo entre muestreos. Para heredar el tiempo de muestreo, establezca este parámetro en -1
. Para obtener más información, consulte Especificar el tiempo de muestreo.
Dependencias
Este parámetro solo es visible si se establece en un valor distinto de -1
. Para obtener más información, consulte, Blocks for Which Sample Time Is Not Recommended.
Uso programático
Para establecer el valor del parámetro de bloque de forma programática, use la función set_param
.
Parámetro: | SampleTime |
Valores: | "-1" (predeterminado) | scalar or vector in quotes |
Signal Attributes
Data Type Assistant ayuda a establecer los atributos de los datos. Para usar Data Type Assistant, haga clic en . 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:
Comprobar el rango de los parámetros (consulte Specify Minimum and Maximum Values for Block Parameters) para algunos bloques.
Comprobar el rango de simulación (consulte Specify Signal Ranges y Enable Simulation Range Checking).
Escalar automáticamente tipos de datos de punto fijo.
Optimizar el código que se genera a partir del modelo. Esta optimización puede eliminar código algorítmico y afectar a los resultados de algunos modos de simulación como SIL o el modo externo. Para obtener más información, consulte Optimize using the specified minimum and maximum values (Embedded Coder).
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:
Comprobar el rango de los parámetros (consulte Specify Minimum and Maximum Values for Block Parameters) para algunos bloques.
Comprobar el rango de simulación (consulte Specify Signal Ranges y Enable Simulation Range Checking).
Escalar automáticamente tipos de datos de punto fijo.
Optimizar el código que se genera a partir del modelo. Esta optimización puede eliminar código algorítmico y afectar a los resultados de algunos modos de simulación como SIL o el modo externo. Para obtener más información, consulte Optimize using the specified minimum and maximum values (Embedded Coder).
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 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>' |
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).
Características del bloque
Tipos de datos |
|
Paso directo |
|
Señales multidimensionales |
|
Señales de tamaño variable |
|
Detección de cruce por cero |
|
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante Simulink® Coder™.
HDL Coder™ proporciona opciones de configuración adicionales que afectan a la implementación de HDL y la lógica sintetizada.
Este bloque tiene una arquitectura de HDL predeterminada.
ConstrainedOutputPipeline | Número de registros para colocar en las salidas moviendo los retrasos existentes dentro de su diseño. La canalización distribuida no redistribuye estos registros. El valor predeterminado es |
InputPipeline | Número de fases de canalización de entrada que desea insertar en el código generado. La canalización distribuida y la canalización de salida restringida pueden mover estos registros. El valor predeterminado es |
OutputPipeline | Número de fases de canalización de salida para insertar en el código generado. La canalización distribuida y la canalización de salida restringida pueden mover estos registros. El valor predeterminado es |
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
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.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)