Saltar al contenido
Control Automático Educación

Realización Balanceada – Equilibrada – Valores Singulares de Hankel

Hola controleros y controleras, el dia de hoy vamos a entender lo que es una Realización Balanceada (equilibrada) de un sistema dinámico lineal (LTI) descomponiendo el sistema en los valores singulares de Hankel, dando continuidad a nuestro curso gratuito de Sistemas Dinámicos.

Antes de comenzar, te hago la invitación de que te suscribas al canal para que sigas aprendiendo sobre estos temas y sobre la teoría de control.

Realización Balanceada

Ya habíamos visto que la controlabilidad se conserva a través de las transformaciones de semejanza que hacemos en nuestro sistema

\dot{x}=Ax(t)+Bu(t)\\ y=Cx

sea representado por el siguiente sistema equivalente:

\dot{\xi}=A_{\xi}\xi(t)+B_{\xi}u(t)\\ y=C_\xi\xi(t)

Donde:

A_{\xi} = P^{-1}AP,\ B_{\xi} = P^{-1}B,\ C_{\xi} = CP

Siendo P una matriz no singular dado que x(t)=P\xi(t)=

entonces si

el\ par(A,B) \rightarrow\ Controlable

también lo sera

el\ par((A_{\xi},B_{\xi}) \rightarrow Controlable

Sabemos que la relación entre las matrices de controlabilidad son:

C_{\xi}=P^{-1}C_x

por lo tanto la relación entre los gramianos de controlabilidad de ambos sistemas es

W_{c_\xi}=P^{-1}W_{c_x}P^{-T}

Que es una Realización Balanceada

Es un tipo de realización basado en el gramiano de controlabilidad y observabilidad y este tipo de realización es usado generalmente para hacer una reducción del modelo.

O sea, si tenemos un modelo de un sistema muy complejo que tiene muchos estados, se intenta ver si en aquel sistema es posible llegar a una representación con menos estados y que tenga una dinámica parecida (aproximar para un sistema de orden menor).

Las realizaciones balanceadas son las mejores condicionadas numéricamente. Esto significa que las entradas de las matrices (o vectores) de la realización (A,B,C,D) no difieren en varios ordenes de magnitud (si esto no ocurre es porque el orden del sistema es mayor de lo necesario.

Como llegar en una Realización Equilibrada

Primero debemos partir de la idea del sistema ser controlable y observable.

Suponiendo que se tiene un sistema controlable y observable:

\dot{x}=Ax+Bu
y=Cx

donde se calcula el gramiano de controlabilidad y observabilidad resolviendo las dos ecuaciones de Lyapunov dadas por:

AW_c+W_cA’=-BB’
A’W_o+W_cA=-CC’

donde si W_c y W_o son definidos positivos, entonces el sistema es controlable y observable.

Veremos que diferentes realizaciones tendrán diferentes gramianos de controlabilidad y de observabilidad.


Ejemplo

Supongamos el siguiente sistema:

\dot{x}=\begin{bmatrix} -1&-4/\alpha\\ 4\alpha&-2 \end{bmatrix}x+\begin{bmatrix} 1\\ 2\alpha \end{bmatrix}u
y=\begin{bmatrix} -1&2/\alpha \end{bmatrix}x

Si calculo la función de transferencia de ese sistema para todo \alpha \neq 0

g(s)=\dfrac{3s+18}{s^2+3s+18}

Los gramianos de Controlabilidad y Observabilidad dependerán de \alpha son:

W_c=\begin{bmatrix} 0.5&0\\ 0&\alpha^2 \end{bmatrix}, W_o=\begin{bmatrix} 0.5&0\\ 0&1/\alpha^2 \end{bmatrix}

note que para cada \alpha \neq 0 van a existir diferentes realizaciones, pero siempre el producto entre los gramianos será constante

W_cW_o=\begin{bmatrix} 0.25&0\\ 0&1 \end{bmatrix}

Esa es una propiedad que va a parecer en todos los sistemas.


Obtención de la Realización Balanceada

En otras palabras, puedo tomar CULQUIER realización de una función de transferencia que sea controlable y observable, calculo los gramianos, y siempre el producto de ellos será constante independiente de la realización.

Se dice que un sistema es balanceado, si se cumple que eligiendo una matriz de semejanza (P) hacen que los gramianos de controlabilidad y observabilidad de la nueva realización sean iguales.

W_c=W_o
P^{-1}W_cP^{-T}=P^{T}W_oP

La idea entonces es reescribir con esos gramianos una forma diagonal, donde voy a tener los valores singulares (\sigma) ordenados de menor a mayor.

\Sigma=diag\left\lbrace\sigma_1,\sigma_2,\cdots,\sigma_n\right\rbrace

Los elementos de la diagonal son todos positivos y se les denomina valores singulares de Hankel

donde

\sigma_i=\sqrt{\lambda_i}

Con \lambda_i como un autovalor del producto de los gramianos:

W_cW_o

Por efectos de simplicidad, se supone que:

\sigma_1\geq\sigma_2\geq\cdots\geq\sigma_n>0

de la expresión anterior puedo inferir que si los autovalores menores son muy pequeños podría despreciarlos de la representación eliminando asi algunos estados del sistema.

Herramientas para conseguir la realización equilibrada

Como visto anteriormente, la dificultad aquí es encontrar dicha matriz de semejanza (P). Usando métodos computacionales es fácil hallar la realización balanceada, tal como es el caso de usar el comando de matlab llamado balreal.

Sin embargo también pueden ser usadas otras herramientas descritas a continuación:

Descomposición de Cholesky

Esta descomposición dice que una matriz simétrica definida positiva puede ser descompuesta como el producto de una matriz triangular inferior y la traspuesta de la matriz triangular inferior.

Sea M una matriz de elementos reales, simétrica y definida positiva; entonces dicha matriz se puede descomponer como:

M=LL^T

siendo L una matriz triangular inferior, con los elementos en la diagonal positivos.

Existen varios métodos para el cálculo de la factorización de Cholesky, principalmente métodos iterativos. En este caso nos valemos de la función de MATLAB conocida como:

R = chol(A)

Descomposición en valores singulares (SVD)

Cualquier matriz real M de dimensiones m\times n puede ser descompuesta como:

M=U\Sigma V^T

donde U es una matriz ortogonal de dimensiones m\times m , V es una matriz ortogonal de dimensiones n\times n y \Sigma es una matriz diagonal única de dimensiones m\times n con elementos reales y no negativos en orden descendente:

\sigma_1\geq\sigma_2\geq\cdots\geq\sigma_n>0

En MATLAB podemos calcularlo como:

[U,S,V] = svd(A)

La realización del sistema será internamente equilibrada si:

W_c=W_o=\Sigma

Transformación a la realización internamente equilibrada

El algoritmo comienza por calcular la descomposición de Cholesky de los gramianos de controlabilidad y observabilidad:

W_c=L_cL_c^T\\\\ W_o=L_oL_o^T

donde L_c y L_o representan los factores triangulares inferiores de Cholesky de los gramianos de controlabilidad y observabilidad, respectivamente. A continuación, se calcula la descomposición en valores singulares del producto de los factores de Cholesky:

L_o^TL_c = U\Sigma V^T

y a partir de ella se construye la transformación a la realización internamente equilibrada

P=L_cV\Sigma^{-1/2}

Nótese que:

P^{-1}=\Sigma^{-1/2}UL_o

Ejemplo de Realizaciones Balanceadas de un sistema LTI

considerando la siguiente realización de la función de transferencia

g(s)=\dfrac{20}{s^3+13s^2+32s+20}

Donde su representación por variables de estado es:

A=\begin{bmatrix} -13&-32&-20\\ 1&0&0\\ 0&1&0 \end{bmatrix},B=\begin{bmatrix} 1\\ 0\\ 0 \end{bmatrix},C=\begin{bmatrix} 0&0&20 \end{bmatrix}

Vamos a ver si se puede reducir ese modelo, aproximandolo a una función de grado menor.

Primero debemos Calcular el gramiano de Controlabilidad y Observabilidad:

Usando el comando de matlab puedo hallar facil los gramianos

>> Wc=gram(sys,’c’)

W_c=\begin{bmatrix} 0.0404& -0.0000& -0.0013\\ -0.0000& 0.0013& 0.0000\\ -0.0013& 0.0000& 0.0008\\ \end{bmatrix}

>> Wo=gram(sys,’o’)

W_o=\begin{bmatrix} 0.3283& 4.2677& 10.0000\\ 4.2677& 55.9848& 136.5657\\ 10.0000& 136.5657& 405.3535\\ \end{bmatrix}

Luego encuentro el producto de los dos gramianos:

W_cW_o=\begin{bmatrix} 0.0006& -0.0000& -0.1078\\ 0.0054& 0.0707& 0.1724\\ 0.0078& 0.1067& 0.3201\\ \end{bmatrix}

Ahora encuentra los valores singulares con:

\sigma_i=\sqrt{\lambda_i}

donde solucionando se llega a lo siguiente organizando de mayor a menor:

\Sigma=diag\left\lbrace0.614,0.1186,0.0044\right\rbrace

La reducción del modelo puede realizarse utilizando la realización balanceada siempre y cuando exista una gran diferencia entre los valores singulares, por ejemplo en este caso el valor 0.0044 es mucho menor que los otros valores por lo tanto podemos reducir el modelo a un sistema de segundo orden.

Utlizando la función de Matlab balreal en el sistema en espacio de estados, llegamos a su representación balanceada, dado que esta función ya entrega el resultado con la matriz de semejanza (P) ya calculada.

A_\xi=\begin{bmatrix} -0.3522& -0.9606& 0.3214\\ 0.9606 &-2.209 &1.915\\ 0.3214 &-1.915 &-10.44 \end{bmatrix},B_\xi=\begin{bmatrix} -0.6577\\ 0.7239\\ 0.3023 \end{bmatrix},C_\xi=\begin{bmatrix} -0.6577 &-0.7239 & 0.3023 \end{bmatrix}

De esta manera puede obtenerse un modelo de orden reducido despreciando la dinámica relacionada al valor singular 0.0044 , En este caso al estado x_3

\dot{x}_r=\begin{bmatrix} -0.3522& -0.9606\\ 0.9606& -2.209 \end{bmatrix}x_r(t)+\begin{bmatrix} -0.6577\\ 0.7239 \end{bmatrix}u(t)
y=\begin{bmatrix} -0.6577& -0.7239 \end{bmatrix}x_r(t)

A continuación podemos ver la respuesta del sistema original de tercer orden y la respuesta del sistema reducido

Sistema Balanceado - Equilibrado LTI

Método 2

Podemos intentar encontrar la matriz de semejanza P usando la descomposición de Cholesky y la descomposición en valores singulares

Aplico la factorización de cholesky a ambos gramianos

>> Lc = chol(Wc)’;

L_c=\begin{bmatrix} 0.2010& 0 & 0\\ -0.0000& 0.0355 & 0\\ -0.0063 & 0.0000 & 0.0280\\ \end{bmatrix}

>> Lo = chol(Wo)’;

L_o=\begin{bmatrix} 0.5730 & 0 & 0\\ 7.4485 & 0.7107 & 0\\ 17.4532 & 9.2387 & 3.9223\\ \end{bmatrix}

Dados los factores de Cholesky de los gramianos de controlabilidad y de observabilidad se procede a la descomposición en valores singulares del producto

>> [U,S,V]=svd(Lo’*Lc);

y a partir de estos valores se genera la matriz de transformación a la realización internamente equilibrada del sistema :

P=L_cVS^{-1/2}
P=\begin{bmatrix} -0.0094& -0.2904 & 2.6333\\ 0.0183 & -0.0826 & -0.2377\\ 0.0329 & 0.0362 & 0.0151\\ \end{bmatrix}

Aplicando esta transformación, las matrices del sistema resultan :

A_\xi=P^{-1}AP=\begin{bmatrix} -0.3522& -0.9606& 0.3214\\ 0.9606 &-2.209 &1.915\\ 0.3214 &-1.915 &-10.44 \end{bmatrix},\\B_\xi=P^{-1}B=\begin{bmatrix} -0.6577\\ 0.7239\\ 0.3023 \end{bmatrix},\\C_\xi=CP=\begin{bmatrix} -0.6577 &-0.7239 & 0.3023 \end{bmatrix}

Código en Matlab

A continuación tienes a disposición el código en Matlab de los ejemplo abordados en esta entrada.

Comprobar que el producto de los gramianos es constante:

Ejemplo de Realización balanceada por los dos métodos mostrados aquí


Eso es todo por la entrada del dia de hoy, espero les haya gustado y hayan aprendido algo nuevo. Si te ha servido el contenido de esta entrada, de los videos y los códigos de implementación y deseas apoyar mi trabajo invitandome a un café super barato, puedes hacerlo en el siguiente link:

👉 Invitar a Sergio a un Café ☕️

Que esten muy bien, nos vemos en la siguiente entrada.

Bibliografia

  • CONTROL EN EL ESPACIO DE ESTADO, Domínguez, S.; Campoy, P.; Sebastián, J.M.; Jiménez, A.
  • Chi-Tsong Chen. Linear System: Theory and Design (3ª Edição). Oxford University Press, Nova York, 1999.