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
Utilizar los bloques Quantizer y Saturation en sldemo_boiler
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
Port_1 — Señal de entrada
escalar | vector
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
Port_1 — Señal de salida
escalar | vector
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
Upper limit — Límite de saturación superior para la señal de entrada
0.5
(predeterminado) | escalar | vector
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' |
Lower limit — Límite de saturación inferior para la señal de entrada
-0.5
(predeterminado) | escalar | vector
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' |
Treat as gain when linearizing — Especifique el valor de ganancia
On
(predeterminado) | Booleanos
Seleccione esta casilla para provocar 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 la casilla 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' |
Enable zero-crossing detection — Activar detección de cruces por cero
on
(predeterminado) | off
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' |
Sample time (-1 for inherited) — Intervalo entre muestreos
-1
(predeterminado) | escalar | vector
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
Parámetro de bloque: SampleTime |
Tipo: escalar de cadena o vector de caracteres |
Predeterminado: "-1" |
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.
Output minimum — Valor mínimo de salida para comprobar el rango
[]
(predeterminado) | escalar
Valor inferior del rango de salida que Simulink comprueba.
Simulink usa el mínimo para:
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).
Nota
Output minimum no satura o recorta la señal de salida real. Use el bloque Saturation en su lugar.
Uso programático
Parámetro de bloque: OutMin |
Tipo: vector de caracteres |
Valores: '[ ]' | escalar |
Predeterminado: '[ ]' |
Output maximum — Valor máximo de salida para comprobar el rango
[]
(predeterminado) | escalar
Valor superior del rango de salida que Simulink comprueba.
Simulink usa el valor máximo para:
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).
Nota
Output maximum no satura o recorta la señal de salida real. Use el bloque Saturation en su lugar.
Uso programático
Parámetro de bloque: OutMax |
Tipo: vector de caracteres |
Valores: '[ ]' | escalar |
Predeterminado: '[ ]' |
Output data type — Especificar el tipo de datos de salida
Inherit: Same as input
(predeterminado) | Inherit: Inherit via back propagation
| double
| single
| int8
| int32
| uint32
| int64
| uint64
| fixdt(1,16,2^0,0)
| <data type expression>
| ...
Elija el tipo de datos para la salida. El tipo puede heredarse, especificarse directamente o expresarse como un objeto de tipo de datos, como 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' , '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' |
Lock output data type setting against changes by the fixed-point tools — Opción para evitar que las herramientas de punto fijo anulen el tipo de datos de salida
off
(predeterminado) | on
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
Parámetro de bloque: LockScale |
Tipo: vector de caracteres |
Valores: 'off' | 'on' |
Predeterminado: 'off' |
Integer rounding mode — Especifique el modo de redondeo para operaciones de punto fijo
Floor
(predeterminado) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
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™.
Generación de código HDL
Genere código VHDL, Verilog y SystemVerilog para diseños FPGA y ASIC mediante HDL 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
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)