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=Cxsea 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} = CPSiendo
entonces si
el\ par(A,B) \rightarrow\ Controlable
también lo sera
el\ par((A_{\xi},B_{\xi}) \rightarrow ControlableSabemos que la relación entre las matrices de controlabilidad son:
C_{\xi}=P^{-1}C_xpor 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+Buy=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
Veremos que diferentes realizaciones tendrán diferentes gramianos de controlabilidad y de observabilidad.
Transformacion de Similitud en Espacio de Estados
Gramianos de Controlabilidad y Observabilidad
Realización Mínima – Funciones Coprimas
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}uy=\begin{bmatrix}
-1&2/\alpha
\end{bmatrix}xSi calculo la función de transferencia de ese sistema para todo
g(s)=\dfrac{3s+18}{s^2+3s+18}Los gramianos de Controlabilidad y Observabilidad dependerán de
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
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 (
W_c=W_o
P^{-1}W_cP^{-T}=P^{T}W_oPLa idea entonces es reescribir con esos gramianos una forma diagonal, donde voy a tener los valores singulares (
\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
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 (
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:
Descomposición en valores singulares (SVD)
Cualquier matriz real M de dimensiones
M=U\Sigma V^T
donde U es una matriz ortogonal de dimensiones
\sigma_1\geq\sigma_2\geq\cdots\geq\sigma_n>0
En MATLAB podemos calcularlo como:
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_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_oEjemplo 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
\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
Método 2
Podemos intentar encontrar la matriz de semejanza
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:
%% Realizaciones Balanceadas 2
% Sergio Andres Castaño Giraldo
% controlautomaticoeducacion.com
% Rio de Janeiro - 2018
clc
clear all
close all
alpha=10;
%Crea el sistema
A=[-1 -4/alpha; 4*alpha -2];
B=[1;2*alpha];
C=[-1 2/alpha];
D=0;
sys=ss(A,B,C,D);
[NUM,DEN]=ss2tf(A,B,C,D,1);
G=tf(NUM,DEN)
%% Gramianos
disp('Gramiano de Controlabilidad')
Wc=gram(sys,'c')
disp('Gramiano de Observabilidad')
Wo=gram(sys,'o')
disp('Producto de los Gramianos')
WcWo=Wc*Wo
Ejemplo de Realización balanceada por los dos métodos mostrados aquí
%% Realizaciones Balanceadas
% Sergio Andres Castaño Giraldo
% controlautomaticoeducacion.com
% Rio de Janeiro - 2018
clc
clear all
close all
%Crea el sistema
A=[-13 -32 -20;1 0 0;0 1 0];
B=[1;0;0];
C=[0 0 20];
sys=ss(A,B,C,0);
%Graminiano de Controlabilidad
Wc=gram(sys,'c')
%Si el graminiano es mayor que cero quiere decir que el sistema es
%controlable y estable, para eso observo los autovalores de la matriz
eig(Wc)
%Graminiano de Observabilidad
Wo=gram(sys,'o')
%Si los autovalores del graminiano son todos positivos el sistema es
%observable y estable
eig(Wo)
%% __________
%Ahora se toma la raiz cuadrada de los autovalores del producto de los dos
%graminianos
WcWo=Wc*Wo;
disp('Buscar el valor singular que es muy pequeño con relación a los otros')
sqrt(eig(WcWo))
%Con esto podemos reducir el sistema a una expresión de segundo orden,
%para eso puedo usar la siguiente funcion de MATLAB
disp('Sistema Balanceado')
[sysBal,h] = balreal(sys)
%Separo las matrices en variables
Ab=sysBal.A;
Bb=sysBal.B;
Cb=sysBal.C;
%Tomo el subloque correspondiente al sistema reducido
Ar=Ab(1:2,1:2);
Br=Bb(1:2);
Cr=Cb(1:2);
%Creo el sistema Reducido
disp('Sistema Reduzido')
sysRed=ss(Ar,Br,Cr,0)
%Respuesta ante un escalon de los dos sistemas
step(sys,'-k',sysRed,'--r'),grid
legend('Sistema 3ord','Sistema reducido 2ord')
%% METODO 2
% Obtener la representación del sistema balanceado encontrando la matriz de
% semejanza (P) a traez del álgoritmo de Cholesky
%Aplico la factorización de cholesky a ambos gramianos
Lc = chol(Wc)';
Lo = chol(Wo)';
% 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)
% donde U es una matriz ortogonal de dimensiones m x m , V es una matriz
% ortogonal de dimensiones n x n y S es una matriz diagonal única de dimensiones
% m x n con elementos reales y no negativos en orden descendente (valores
% singulares)
% y a partir de estos valores se genera la matriz de tra nsformación a la realización
% internamente equilibrada del sistema :
P = Lc * V * S^(-0.5)
% Aplicando esta transformación, las matrices del sistema resultan :
disp ('Sistema Balanceado usando Método 2')
Ab1=P^(-1)*A*P;
Bb1=P^(-1)*B;
Cb1=C*P;
%Tomo el subloque correspondiente al sistema reducido
Ar1=Ab1(1:2,1:2);
Br1=Bb1(1:2);
Cr1=Cb1(1:2);
%Creo el sistema Reducido
disp('Sistema Reduzido (metodo 2)')
sysRed1=ss(Ar1,Br1,Cr1,0)
%Respuesta ante un escalon de los dos sistemas
figure
title('Método 2')
step(sys,'-k',sysRed1,'--r'),grid
legend('Sistema 3ord','Sistema reducido 2ord')
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.
Citar este Artículo
¡Hola! Soy Sergio Andrés Castaño Giraldo. Bienvenidos a Control Automático Educación, un espacio dedicado a una de mis grandes pasiones: la Ingeniería de Control y la Automatización.
Mi objetivo aquí es tender un puente entre la teoría académica y la práctica profesional. Como profesor e investigador, he tenido la oportunidad de trabajar en proyectos complejos —desde sistemas de compresión en plataformas offshore hasta modelos de control avanzado— y todo ese aprendizaje lo vuelco en este sitio.
Aquí encontrarás material que crece constantemente: desde fundamentos de instrumentación hasta estrategias de control avanzado y programación profesional. Mi meta es que la información que comparto te sea de utilidad real en tu carrera o formación.
Te invito a que te suscribas, te unas a nuestro canal de YouTube y formemos una comunidad de aprendizaje continuo. ¡Gracias por estar aquí!
