Clase digital 4. Introducción a Scilab para el análisis de sistemas LTI

Portada » Clase digital 4. Introducción a Scilab para el análisis de sistemas LTI

Introducción a Scilab para el análisis de sistemas LTI

Introducción

¡Hola!

¡Qué gusto encontrarte en esta nueva clase! Espero que sigas con buena salud y una excelente disposición para el trabajo que demanda la unidad de aprendizaje Control continuo. Por lo tanto. te invito a disfrutar de esta sesión. En esta clase veremos la introducción a Scilab para el análisis de sistemas LTI

SCILAB es un paquete de software libre de código abierto para computación científica, orientado al cálculo numérico, a las operaciones matriciales y especialmente a las aplicaciones científicas y de ingeniería.

Puede ser utilizado como simple calculadora matricial, pero su interés principal radica en los cientos de funciones tanto de propósito general como especializadas que posee así como en sus posibilidades para la visualización gráfica.

SCILAB posee además un lenguaje de programación propio, muy próximo a los habituales en cálculo numérico que permite al usuario escribir sus propios scripts (conjunto de comandos escritos en un fichero que se pueden ejecutar con una única orden) para resolver un problema concreto y también escribir nuevas funciones con, por ejemplo, sus propios algoritmos.

También cuenta con un entorno de simulación en diagrama en bloques (similar a Simulink de MatLab) llamado Xcos. En Xcos es posible simular sistemas de control.

En esta sesión veremos los temas siguientes:

  • Introducción
  • Álgebra matricial
  • Modelado de sistemas LTI
  • Simulación de sistemas LTI
  • Diagramas de Bode
  • Análisis de estabilidad de sistemas LTI

De acuerdo con lo anterior, te invito a continuar.

Desarrollo del tema

Scilab

Scilab es un software libre y de código abierto para aplicaciones científicas y de ingeniería, el cual lo puedes descargar en el siguiente enlace: https://www.scilab.org

Scilab está disponible bajo la licencia GPL (General Public License) en el siguiente enlace: https://www.gnu.org/licenses/gpl-3.0.en.html

Aplicaciones

  • Industria aeroespacial y automotriz
  • Análisis de datos
  • Sistemas embebidos y sistemas de control
  • Meteorología y energía
  • Ingeniería mecánica
  • Minería y metalurgia
  • Medicina e industria farmacéutica
  • Educación e investigación científica
  • Procesamiento de señales e imágenes
  • Dinámica de fluidos y termodinámica

Industria e investigación

Imagen 1. Referencias de Scilab

Ambiente de desarrollo

Imagen 2. Interfaz del software Scilab

Matrices

Un arreglo de m × n elementos aij con i = 1, 2, . . . , m y j = 1, 2, . . . n escrito de la forma

es conocida como una matriz rectangular AF m×n. Comandos importantes: eye, ones, zeros.

Tipos especiales de matrices

Matriz cuadrada. Sea la matriz A ∈ R n×n

Matrices triangular superior y triangular inferior. Sea la matriz A ∈ R n×n

Matrices diagonal y escalar

Matriz de identidad y matriz cero

Operaciones con matrices

  • Suma de matrices. Sean las matrices A, B, C ∈ R m×n, la suma de matrices se define como C = A + B.
  • Multiplicación escalar. Sea las matrices A, B ∈ R m×n y el escalar α ∈ R, la multiplicación escalar se define como B = αA.
  • Multiplicación de matrices. Sean las matrices A ∈ R m×l, B ∈ R l×n y C ∈ R m×n, la multiplicación de matrices se define como C = AB.
  • Potencia de una matriz. Sea la matriz A ∈ R n×n, la potencia n de una matriz se define como A n = A × A × . . . × A (n veces).
  • Matriz transpuesta. Sean las matrices A ∈ R m×n y B ∈ R n×m, la transpuesta de una matriz se define como B = AT. Comando: A’.
  • Traza de una matriz. Sea la matriz A ∈ R n×n y el escalar b ∈ R, la traza de una matriz se define como la sumatoria de los elementos de la diagonal principal de A y se representa como b = tr(A). Comando: trace(A).
  • Determinante de una matriz. Sea la matriz A ∈ R n×n y el escalar b ∈ R, el determinante de una matriz se representa como b = det(A). Comando: det(A).

Operaciones especiales

  • Determinante de una matriz. Sea la matriz A ∈ R n×n y el escalar b ∈ R, el determinante de una matriz se representa como b = det(A). Comando: det(A).
  • Matriz inversa. Sean las matrices A, B ∈ R n×n, la inversa de una matriz se define como B = A−1. Comando: inv(A).
  • Rango de una matriz. Sea la matriz A ∈ R n×n y el escalar b ∈ R, el rango de una matriz se define como el número mínimo de renglones o columnas linealmente independientes y se representa como b = rank(A). Comando: rank(A).

Modelado de las dinámicas de sistemas LTI

Las dinámicas de un sistema lineal invariante en el tiempo se pueden modelar por medio de la ecuación diferencial ordinaria (ODE) de orden n.

donde:

Esta ODE de orden n se puede transformar en un sistema de n ODEs de orden 1 definiendo el vector de estados

Modelos en espacio de estados

El modelo en espacio de estados de un sistema LTI está dado por:

donde x ∈ R n, u ∈ R m, y ∈ R p y las matrices A ∈ R n×n, B ∈ R n×m, C ∈ R p×n y D ∈ R p×m son constantes.

La función de transferencia del sistema LTI está dada por:

Comandos importantes: syslin, ss2tf

Ejemplo 1: Tanque

Obtener el modelo en espacio de estados y la función de transferencia del tanque mostrado a continuación.

Imagen 1. Modelo de espacio de estados y la función de transferencia de un tanque.

Ejemplo 2: Sistema Masa-Resorte-Amortiguador

Obtener el modelo en espacio de estados y la función de transferencia del sistema masa-resorte-amortiguador mostrado a continuación.

Imagen 2. Modelo en espacio de estados y la función de transferencia de un sistema masa-resorte-amortiguador

Ejemplo 3: Circuito RLC

  1. Obtener el modelo en espacio de estados y la función de transferencia del circuito RLC de la diapositiva para x1 = iL y x2 = vc
  2. Obtener el modelo en espacio de estados y la función de transferencia ahora para x1 = iI y x2 = iII
Imagen 3. Circuito RLC

Solución numérica de ODEs

  • El método de Euler es el procedimiento numérico más simple para obtener la solución de un problema de valor inicial.
  • El método de Runge-Kutta es un procedimiento numérico más exacto para obtener la solución de un problema de valor inicial.

Componentes básicos de un programa en Scilab

  • Scilab es un intérprete de comandos.
  • Variables tipo Entero, Real, Complejo, Cadena de caracteres. Ejemplo: a = −3, b = 0.5, c = 1 − %i, str = ’Hola Mundo’.
  • Constantes. Ejemplo: %i, %e, %pi, %inf.
  • Comentarios. El inicio de un comentario se indica con doble diagonal //.
  • Ciclos for, while.
  • Estructuras de decisión if-then-else y select-case-else.
  • Funciones de Scilab y propias del usuario.

Estructura de un simulador para sistemas LTI

  1. Limpieza del ambiente.
  2. Construcción de funciones.
  3. Declaración de los parámetros del modelo.
  4. Declaración del vector de tiempo.
  5. Declaración del vector de estado, el vector de entradas, el vector de salidas y la condición inicial.
  6. Solución del sistema de ODEs de orden n.
  7. Graficación de resultados.
  8. Funciones importantes: clc, close, xdel, winsid, ode, csim, figure, plot.

Ejemplos de simuladores

  • Tanque
  • Sistema Masa-Resorte-Amortiguador
  • Circuito RLC

Gráficas de Bode

Las gráficas de Bode permiten graficar la magnitud y la fase de una función de transferencia G(s) en función de la frecuencia.

Imagen 4. Gráficas de Bode

Comando: bode.

Análisis de estabilidad de sistemas LTI

Sea el sistema LTI con modelo en espacio de estados:

Si A es no singular, el sistema LTI tiene un único punto de equilibrio xe = 0.

El punto de equilibrio xe = 0 es estable si para todo ρ > 0 existe algún r > 0 tal que si ||x(0)|| < r entonces ||x(t)|| < ρ, para todo t ≥ 0.

Si además existe algún r > 0 tal que si ||x(0)|| < r entonces

el punto de equilibrio xe = 0 es globalmente asintóticamente estable.

  • Un sistema LTI es asintóticamente estable si los polos de la función de transferencia G(s) tienen parte real negativa.
  • La matriz dinámica se puede descomponer como A = MΛM−1, donde Λ es la matriz de valores propios y M es la matriz de vectores propios.
  • Un sistema LTI es asintóticamente estable si los valores propios de la matriz dinámica A tienen parte real negativa. Comandos importantes: denom, roots, spec.

Conclusión

Para concluir repasemos lo siguiente:

  • SCILAB es un paquete de software libre de código abierto para computación científica, orientado al cálculo numérico, a las operaciones matriciales y especialmente a las aplicaciones científicas y de ingeniería.
  • Las dinámicas de un sistema lineal invariante en el tiempo se pueden modelar por medio de la ecuación diferencial ordinaria (ODE) de orden n
  • Las gráficas de Bode permiten graficar la magnitud y la fase de una función de transferencia G(s) en función de la frecuencia.
  • Un sistema LTI es asintóticamente estable si los polos de la función de transferencia G(s) tienen parte real negativa.

Hasta aquí termina la sesión y como puedes notar vas muy bien en tu aprendizaje. ¡Mis felicitaciones! No olvides hacer la tarea asignada, hasta luego.