Ecuaciones de Estado de un Sistema Continuo a Discreto con Scilab.

En entradas anteriores de este blog, hemos hablado sobre como podemos obtener las ecuaciones de estado discretas a partir de las ecuaciones en tiempo continuo haciendo uso de diferentes tipos de software, a continuación te vamos a mostrar como podemos obtener las ecuaciones discretas o lo que es lo mismo, como podemos discretizar el sistema en variables de estado que está dado en forma continua.

Un sistema en variables de estado en tiempo continuo viene representado por la expresión:

\dot{X(t)}=AX(t)+BU(t)

Y(t)=CX(t)+DU(t)

Entonces cuando nos referimos a un sistema en variables de estado del mismo tipo, pero en tiempo discreto, encontramos su representación como:

X(k+1)=GX(k)+HU(k)

Y(k)=CX(k)+DU(k)

Entonces aparecen ahora las matrices G y H resultado de un procedimiento matemático para discretizar el sistema continuo de forma exacta, dicho procedimiento no lo abordamos aquí y preferimos dejarlo a un libro más especializado, se puede observar además que la expresión para la salida del sistema no ha variado, esto, debido a que las matrices C y D no se vieron alteradas en el proceso de discretización. La matrices G y H vienen entonces dadas por la siguiente expresión.

G=e^{AT}

H=(e^{AT}-I)A^{-1}B

Sin embargo, como se puede apreciar, aparece ahora en las expresiones anteriores una variable T, el valor de dicha variable indica el tiempo de muestreo del sistema, existen ciertos criterios para elegir el valor más apropiado para el periodo de muestreo de un sistema, el más popular indica que se debe escoger un periodo de muestreo que sea menor o igual a la décima parte de la inversa del polo de mayor magnitud del sistema (incluyendo los de lazo cerrado), entonces si P es la mayor magnitud de todos los polos, el periodo de muestreo viene dado por:

T\leq\frac{2\pi}{10P}

¿Cómo Obtengo el Sistema Discreto con Scilab?

Como siempre hemos hecho en el blog, vamos a abordar la discretización del sistema a través de un ejemplo, mostrando todo los pasos, en este caso vamos a obtener la forma discreta del siguiente sistema:

matrices espacio de estados

Entonces se puede ver de forma rápida y clara que las matrices A y B vienen dadas por:

matrices espacio de estados 2

Así, para poder llevar a cabo la discretización del sistema necesitamos en primer lugar introducir los valores las matrices A y B al espacio de trabajo de Scilab, esto lo logramos como en la figura a continuación:

Introducir las matrices del sistema de estados continuo.

Introducir las matrices del sistema de estados continuo.

Una vez ingresadas las matrices del sistema continuo, procedemos a calcular  en primer lugar G, recordemos que la expresión para hallar G es:

G=e^{AT}

Para este caso, luego de haber aplicado el criterio para el tiempo de muestreo, se ha elegido un T=0.01, el cuál es óptimo para este sistema, entonces la matriz G la podemos calcular en Scilab de la siguiente forma.

Matriz G del sistema en tiempo discreto, es el equivalente de la matriz A de tiempo continuo.

Matriz G del sistema en tiempo discreto, es el equivalente de la matriz A de tiempo continuo.

Cómo se pudo observar, para el cálculo de la matriz exponencial, se ha hecho uso de la función expm() de la cual ya habíamos realizado una entrada sobre como obtener la matriz exponencial con Scilab, finalmente tenemos ya nuestra primera matriz del sistema en tiempo discreto.

A continuación procedemos a calcular la matriz H de tiempo discreto, la expresión para obtener esta matriz es:

H=(e^{AT}-I)A^{-1}B

Pudiésemos reemplazar la expresión e^{At} por G, sin embargo lo haremos de la forma larga para mostrar nuevamente el uso de la función expm() y recordar el uso de la función eye() para la matriz identidad que está incluida en la ecuación anterior.

Matriz H del sistema en tiempo discreto, es el equivalente de la matriz B de tiempo continuo.

Matriz H del sistema en tiempo discreto, es el equivalente de la matriz B de tiempo continuo.

Así tenemos entonces las matrices G y H, recordemos que la ecuación de salida no se ve afectada por el proceso de discretización, entonces al final, el sistema en variables de estado quedaría de la siguiente forma:

Sistema discreto en variables de estado hallado con Maxima (wxMaxima) cas.

Sistema discreto en variables de estado hallado con Scilab.

Es entonces así como transformamos un sistema en variables de estado de continuo a discreto con Scilab, aunque al igual que la función c2d() de Matlab, Scilab también nos permite el uso de la función cls2dls() que realiza la misma labor y que analizamos en otras entradas de este blog, espero que esta información haya sido útil para ti, si crees que puede ser útil para alguien más, ayúdanos a compartirla para que llegue a más personas, cualquier comentario lo puedes dejar en la parte de abajo. Saludos.

Autor: Julio César E. Marulanda.

2 comentarios en “Ecuaciones de Estado de un Sistema Continuo a Discreto con Scilab.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s