Leer el valor de una señal es un aspecto importante para comprender y depurar simulaciones.
Por
ejemplo, en un entorno de codificación, puede imprimir valores utilizando una declaración como
disp, mientras que en un laboratorio de electrónica, puede usar un osciloscopio para medir una
señal eléctrica a lo largo del tiempo. ¿Cómo se pueden inspeccionar las señales en los modelos
Simulink?
Hasta ahora, ha visualizado señales utilizando los bloques de evaluación de señal. Sin embargo,
estos son exclusivos del entorno de entrenamiento. Simulink tiene varios métodos para mostrar
valores de señal tanto en texto como gráficamente. En la próxima interacción, encontrará los
bloques de visualización y alcance, que son bloques que producen texto y lecturas visuales,
respectivamente.
Ejemplo de filtro de paso bajo
Con estos bloques, inspeccionará el rendimiento de un filtro que elimina el ruido de alta
frecuencia para suavizar una señal. El modelo con el que trabajará consiste en una señal simulada
y ruidosa y un filtro que selecciona las frecuencias bajas tomando una media móvil.
fhgfjf
La señal simulada es una onda senoidal discreta. El "ruido" se agrega al superponer una onda
sinusoidal de mayor frecuencia. La señal ruidosa se pasa a través de un filtro que promedia el valor
actual con el valor anterior. Aprenderá más sobre cómo construir modelos como estos en el
capítulo Sistemas discretos.
Si ya conoce el nombre de su bloque, puede agregarlo fácilmente al modelo haciendo doble clic en
el lienzo y escribiendo el nombre del bloque. Esto activa el menú de inserción rápida.
A continuación, multiplicarás v
2 por α. Puede hacer esto usando el bloque Gain, que multiplica la señal entrante por un valor
especificado.
Una representación simple de un sistema de control de crucero se modela a la derecha. Contiene
un bloque etiquetado como Control de crucero, que representa el hardware que gestiona la
velocidad del automóvil.
Simulink oculta los nombres predeterminados de los bloques. Al hacer clic en el bloque, se
mostrará el nombre mientras se selecciona el bloque.
Los bloques con nombres personalizados siempre mostrarán su nombre, en negro.
Cada biblioteca es una colección independiente de bloques. Algunas bibliotecas contienen bloques
que tienen el mismo nombre o nombres similares. Sin embargo, las funciones de estos bloques
pueden ser bastante diferentes. Cuando se utiliza el menú de inserción rápida, la biblioteca del
bloque aparece debajo del nombre del bloque:
Los bloques con un puerto de entrada y uno de salida se conectarán automáticamente cuando se
caigan en una línea de señal existente.
El bloque Display (Simulink> Sinks) muestra el valor instantáneo de la señal conectada. Admite
tipos de datos numéricos, booleanos y otros.
La ejecución del modelo mostrará el valor final en el bloque de Pantalla. También puede
incrementar el tiempo en pasos usando Paso adelante, junto al botón Ejecutar.
Al presionar Ejecutar finalizará la simulación de un modelo en pausa.
El bloque Scope (Simulink> Sinks), por el contrario, le permite visualizar el valor de una señal en el
transcurso de la simulación.
El botón Ejecutar está duplicado en la barra de herramientas de la ventana Ámbito para mayor
comodidad.
Los ámbitos aceptan múltiples entradas, lo que le permite comparar señales. Las entradas
adicionales se pueden crear dinámicamente arrastrando señales al bloque Scope.
Puede ramificar una señal usando el botón derecho del mouse para hacer clic y arrastrar desde
una línea de señal existente
Los ámbitos pueden tener leyendas. Si se nombran las señales, la leyenda identificará las señales
usando estos nombres. señal ruidosa ya ha sido nombrada para usted.
Se ha agregado un nuevo tipo de fuente al modelo. Esta es una rampa. Emite una señal que
aumenta con una pendiente constante, según lo especificado por un parámetro de bloque. Esta
rampa tiene una pendiente de 2, es decir, u (t) = 2t.
Además de las fuentes que varían en el tiempo, como los bloques Sine Wave y Ramp, Simulink
contiene una fuente constante.
Algunos operadores matemáticos operan con los valores de dos o más señales y emiten el
resultado. Estos bloques tendrán múltiples puertos de entrada y un puerto de salida. El orden de
las operaciones es de arriba a abajo.
El bloque de ganancia (Simulink> Operaciones matemáticas) se usa ampliamente en los modelos
Simulink. Es una operación en línea que escala la señal por el valor de su parámetro de ganancia.
El bloque Comparar con cero (Simulink> Operaciones lógicas y de bits) evalúa las comparaciones
booleanas entre la señal de entrada y cero.
El tipo de comparación está determinado por el parámetro de bloque seleccionado.
El bloque Comparar con constante (Simulink> Operaciones lógicas y de bits) determina cómo se
compara una señal con una constante especificada. El valor constante se especifica como un
parámetro de bloque.
Al igual que los operadores matemáticos, los operadores lógicos pueden operar en línea o
mediante la comparación de múltiples señales.
Compare to Zero y Compare to Constant permiten comparaciones convenientes con un valor fijo y
conocido. Otros bloques, como el operador relacional, permiten una comparación dinámica entre
dos entradas.
Las declaraciones condicionales se pueden expresar usando el bloque Switch, que existe en la
biblioteca Simulink> Signal Routing. La primera y la tercera entrada son análogas a las ejecuciones
de sentencias if y else, respectivamente. La segunda entrada es la condición. Las señales en
cualquiera de los puertos pueden ser constantes o variar en el tiempo.
Las señales válidas se pueden ramificar en una señal existente arrastrando un extremo no
conectado a la señal.
Puede especificar la condición bajo la cual el bloque pasa la primera entrada utilizando los
Criterios para pasar la primera entrada y los parámetros de Umbral.
Se puede acceder a la documentación de bloques específicos directamente desde Simulink. En el
cuadro de diálogo Parámetros de bloque (accesible haciendo doble clic en un bloque), hay dos
formas de obtener ayuda:
1. La descripción del bloque: una breve descripción de las funciones básicas del bloque.
2. El botón Ayuda: abre la página de documentación para ese bloque.
También puede acceder a la documentación de un bloque directamente haciendo clic derecho en
el bloque y utilizando el menú que aparece. Tanto el botón Ayuda como el elemento Ayuda de
este menú abren el Navegador de documentación incorporado de MATLAB.
¡El bloque Agregar y los bloques Restar son en realidad uno y el mismo, pero con diferentes
parámetros predeterminados! Ambas variantes están incluidas en la biblioteca Simulink para su
conveniencia; sin embargo, puede cambiar las operaciones según sea necesario.
Ejercicio En este proyecto, simulará la lógica de un paquete de rendimiento automotriz. Los
vehículos de hoy tienen docenas de computadoras que juntas ajustan el comportamiento del
automóvil en respuesta a los datos leídos por cientos de sensores. En este sistema simplificado,
suponga que está respondiendo a dos sensores —velocidad y aceleración lateral— para decidir
entre un modo de "alto rendimiento" y "economía".
Para simular los datos del sensor, el modelo utiliza un bloque que aún no ha visto: el bloque Editor
de señales.
El bloque Editor de señales proporciona una fuente de datos simulados. El primer puerto del
bloque emite velocidad, y el segundo puerto emite aceleración lateral.
Primero debe pre-procesar los datos de entrada. En particular, deberá tomar el valor absoluto de
la aceleración lateral, ya que los giros a la izquierda y a la derecha deben tratarse de la misma
manera.
Los parámetros de bloque aceptan nombres de variables MATLAB como entradas. Simplemente
ingrese el nombre de la variable tal como existe en el espacio de trabajo de MATLAB en el campo
de parámetro.
Simulink admite la creación de variables desde el cuadro de diálogo Parámetros de bloque. De esta
manera, puede crear variables MATLAB dentro de Simulink y reutilizar sus valores en otros
bloques.
Las variables creadas desde la ventana de parámetros del bloque se guardan en el espacio de
trabajo de MATLAB y se pueden reutilizar en otros bloques.
Simulink está construido sobre MATLAB. Puede crear variables usando scripts de MATLAB o usar
MATLAB para preprocesar los datos que se utilizarán en Simulink. El uso de variables para
parámetros de bloque también le permite compartir valores relacionados entre bloques.
El bloque de funciones MATLAB
Además de leer y crear variables MATLAB, Simulink puede utilizar las funciones MATLAB. Los
bloques Simulink realizan una operación específica en entradas y salidas de retorno. Esto es
análogo a una función en código basado en texto. El bloque de funciones MATLAB (Simulink>
Funciones definidas por el usuario) le permite incorporar una función MATLAB directamente en su
modelo.
La entrada, u, y la salida, y, de la función se asignan a la entrada y salida, respectivamente, del
bloque. Agregar entradas o salidas adicionales cambiará la cantidad de puertos en el bloque:
otra
sección
En
Simulink, los bloques discretos se ejecutan a intervalos fijos y periódicos. Este intervalo es el
tiempo de muestra para el bloque. Los bloques discretos emiten señales discretas, según lo
definido por su parámetro Tiempo de muestra.
Un sistema discreto y dinámico es un modelo del estado actual de un sistema, x [k], basado en
estados actuales y / o anteriores. El bloque de Retraso de la Unidad (Simulink> Discreto) toma una
señal de entrada y mantiene su valor durante el tiempo de muestra especificado. En el siguiente
paso de tiempo, genera el valor de entrada anterior. El bloque tiene el símbolo.
, para representar un retraso de un paso en el dominio de transformación Z.
Las ecuaciones de diferencia se expresan en términos del paso de tiempo k, y la duración del
retraso. El estado actual es x [k], siendo los estados anteriores x [k − 1], x [k − 2], etc.
El bloque de retardo de la unidad tiene su propio parámetro de tiempo de muestra. De forma
predeterminada, se establece en -1, lo que significa que hereda el tiempo de muestra de cualquier
otra parte del modelo, en este caso, de la onda sinusoidal. Sin embargo, también puede
especificar una tasa independiente para el retraso de la unidad; por ejemplo, si necesita reducir la
muestra de su señal.
Considere una ecuación simple que describe la posición de un automóvil en función de su última
posición conocida, velocidad y tiempo entre observaciones:
x [k] = x [k − 1] + v⋅T
s El tiempo entre observaciones, T
s, es el tiempo de muestra de este sistema discreto. Asume T
s = 0.25.
Para realizar un seguimiento de los estados en el modelo, es una buena práctica etiquetar las
señales. Para hacer esto, cree señales no conectadas, o stubs, que conduzcan hacia y desde el
bloque de Retraso de la Unidad:
Haga esto arrastrando desde los puertos y soltando el mouse sin conectar la línea de señal. Puede
cancelar las conexiones sugeridas presionando la tecla Esc.
Sección 10
El bloque integrador (Simulink> Continuo) tiene el símbolo
1/s
, que representa la integración en el dominio de Laplace. Su salida es la integral de la señal
entrante.
Ley de enfriamiento de Newton,
dT
dt = −r (T − T0), es una ecuación diferencial ordinaria de primer orden. Al igual que con las
ecuaciones de diferencia, es útil tener la ecuación de interés en una forma particular. Para
sistemas continuos, aísle la derivada de orden más alta en el lado izquierdo de la ecuación. Luego,
como antes, modelarás la expresión del lado derecho y crearás la igualdad.
En esta lección, modelarás la expresión del lado derecho en dos partes, comenzando por expresar
T − T0
Resumen - Modelado de ecuaciones continuas
El modelado de sistemas continuos (ecuaciones diferenciales) sigue un proceso similar al proceso
para modelar sistemas discretos.
Tiempo de simulación y tamaño de paso
Cuando Simulink ejecuta una simulación, resuelve numéricamente las ecuaciones dinámicas
representadas en el modelo. Las características de los sistemas dinámicos pueden variar
ampliamente; por ejemplo, pueden ser discretos, continuos, rápidos y lentos. Para explicar esto,
hay muchos tipos de solucionadores numéricos.
Duración de la simulación
Simulink sabe cómo evaluar las propiedades de su sistema y seleccionar automáticamente un
buen solucionador para usted. Sin embargo, el solucionador automático no puede determinar
cuánto tiempo debe ejecutarse su simulación. Por ejemplo, los dos sistemas a continuación tienen
dinámicas diferentes. Para capturar con precisión el comportamiento interesante, el sistema lento
(izquierda) debe ejecutarse durante más tiempo, y el sistema rápido (derecha) por menos tiempo.
En el Capítulo 10, modeló una ecuación de enfriamiento de primer orden. Esa ecuación podría
representar la dinámica de temperatura de una casa. Para mantener la casa cómoda, es posible
que desee controlar la temperatura, utilizando alguna estrategia basada en las temperaturas
actuales y deseadas. ¡Esto se llama un sistema de control, y es exactamente lo que es un
termostato! Como la mayoría de los controladores son digitales, a menudo se modelan como
sistemas discretos.
Como recordatorio, es útil crear talones y etiquetar las señales que entran y salen de los bloques
de Retraso de la Unidad.