15 de noviembre de 2012

Representación en el Espacio de Estados

Automatización y Control de Sistemas Dinámicos
Laboratorio: Entrada 6

Una representación de espacios de estados es un modelo matemático de un sistema físico descrito mediante un conjunto de entradas, salidas y variables de estado relacionadas por ecuaciones diferenciales de primer orden que se combinan en una ecuación diferencial matricial de primer orden. Para prescindir del número de entradas, salidas y estados, las variables son expresadas como vectores y las ecuaciones algebraicas se escriben en forma matricial. La representación de espacios de estado, también conocida como aproximación en el dominio del tiempo, provee un modo compacto y conveniente de modelar y analizar sistemas con múltiples entradas y salidas. [1]

Por lo tanto resulta conveniente utilizar la representación de espacio de estados cuando se requiere analizar sistemas de control que poseen más de una entrada y/o más de una salida, ya que se reduce la complejidad en las expresiones matemáticas utilizadas.

Para esta entrega seleccioné un problema del Capítulo 11, Análisis de Sistemas de Control en el Espacio de Estados, del libro Ingeniería de Control Moderna.

El problema es el siguiente:
Obtener con Octave una representación mediante la función de transferencia del sistema siguiente.

$\begin{bmatrix}{\dot x_1}\\{\dot x_2}\\{\dot x_3}\end{bmatrix}= \begin{bmatrix}{2}&&{1}&&{0}\\{0}&&{2}&&{0}\\{0}&&{1}&&{3}\end{bmatrix} \begin{bmatrix}{x_1}\\{x_2}\\{x_3}\end{bmatrix}+ \begin{bmatrix}{0}&&{1}\\{1}&&{0}\\{0}&&{1}\end{bmatrix} \begin{bmatrix}{u_1}\\{u_2}\end{bmatrix}$

$y=\begin{bmatrix}{1}&&{0}&&{0}\end{bmatrix} \begin{bmatrix}{x_1}\\{x_2}\\{x_3}\end{bmatrix}$

Para empezar hay que saber que es posible representar el modelo de un sistema mediante su función de transferencia o su espacio de estados. Octave provee de funciones en el paquete signal para transformar de una representación a otra, es decir, nuestra función de transferencia la podemos representar en un espacio de estados, y viceversa.

Primero me enfocaré a resolver lo que el problema pide, que es obtener la función de transferencia desde el espacio de estados.

Transformación del espacio de estados a una función de transferencia

Para obtener la función de transferencia desde el espacio de estados, usamos la siguiente orden en octave.
[num, den] = ss2tf(A, B, C, D)

Para el espacio de estados descrito anteriormente en el problema, desde octave escribimos lo siguiente.

octave:1> pkg load signal
octave:2> A = [2 1 0; 0 2 0; 0 1 3]
A =

   2   1   0
   0   2   0
   0   1   3

octave:3> B = [0 1; 1 0; 0 1]
B =

   0   1
   1   0
   0   1

octave:4> C = [1 0 0]
C =

   1   0   0

octave:5> D = [0 0]
D =

   0   0

octave:6> [num, den] = ss2tf(A, B, C, D)
num = 
{
  [1,1] =  1.00000
  [1,2] =  1.00000
}
den = 
{
  [1,1] =

     1.0000  -4.0000   4.0000

  [1,2] =

     1.0000  -2.0000

}
octave:7>

Vemos que octave nos arroja dos arreglos, uno para la variable "num" y otro para la variable "den", cada uno con dos elementos dentro. Esto significa que este espacio de estados contempla dos funciones de transferencia, así que tomamos el primer elemento de "num" con el primero de "den" para formar una función de transferencia, y el segundo elemento de "num" y el segundo elemento de "den" para la segunda función de transferencia.

Entonces nuestro resultado queda como sigue.

$\dfrac {Y(s)}{U_1(s)} = \dfrac {1}{s^2 - 4s + 4}$

$\dfrac {Y(s)}{U_2(s)} = \dfrac {1}{s - 2}$

Ahora veamos el caso contrario.

Formulación en el espacio de estados de sistemas basados en una función de transferencia

Ahora lo que queremos es obtener el espacio de estados, desde una función de transferencia.

Para esto la orden usada en octave es:
[A, B, C, D] = tf2ss(num, den)
Entonces si tenemos la siguiente función de transferencia.

$\dfrac {Y(s)}{U(s)} = \dfrac {10s+10}{s^3 + 6s^2 + 5s + 10}$

En octave escribimos el numerador y el denominador de la siguiente manera, para después mandarlos como parámetros a la orden en octave.

octave:1> pkg load signal
octave:2> num = [0 0 10 10];
octave:3> den = [1 6 5 10];
octave:4> [A, B, C, D] = tf2ss(num, den)
A =

   -0.00000   -0.00000    1.00000
    1.00000   -0.00000    0.50000
    0.00000  -10.00000   -6.00000

B =

   1.00000
   1.00000
   0.00000

C =

   0   0  -1

D = 0
octave:5>

Lo que nos arroja en este caso son matrices, que son las que forman parte del espacio de estados, y las representamos así.

$\begin{bmatrix}{\dot x_1}\\{\dot x_2}\\{\dot x_3}\end{bmatrix}= \begin{bmatrix}{0}&&{0}&&{1}\\{1}&&{0}&&{0.5}\\{0}&&{-10}&&{-6}\end{bmatrix} \begin{bmatrix}{x_1}\\{x_2}\\{x_3}\end{bmatrix}+ \begin{bmatrix}{1}\\{1}\\{0}\end{bmatrix}u$

$y=\begin{bmatrix}{0}&&{0}&&{-1}\end{bmatrix} \begin{bmatrix}{x_1}\\{x_2}\\{x_3}\end{bmatrix}+ \begin{bmatrix}{0}\end{bmatrix}u$

Cabe mencionar que la representación anterior no es la única, sino que existen muchas representaciones en el espacio de estados posibles, pero octave solo ofrece una de entre todas las opciones posibles.

Fuentes consultadas:
[1] - Espacio de Estados
Página 760, Ingeniería de Control Moderna, 4ta. Edición, Katsuhiko Ogata.

1 comentario:

Nota: solo los miembros de este blog pueden publicar comentarios.