# Observador de Luenberger

El observador de Luenberger es un estimador de estado, es decir, un algoritmo que permite estimar el estado interno oculto (no medible) de un sistema dinámico lineal a partir de las mediciones de la entrada y la salida de dicho sistema.

## Funcionamiento

La idea en la cual se basa este observador es en generar un sistema "clon" del original, al cual sí se le pueda medir el estado interno directamente. Si el sistema original y su clon son sometidos a los mismos estímulos (la misma entrada), se puede esperar que, a medida que pase el tiempo, se comiencen a comportar del mismo modo debido a que sus estados internos tienden a parecerse cada vez más (lo anterior funciona siempre que el sistema original y su clon sean estables). De este modo, el estado interno del clon se puede usar como una aproximación del estado interno del sistema original.
Para acelerar la convergencia del estado del sistema clon al estado del sistema original, se puede estimular al clon con una entrada corregida, que consiste en la misma entrada que el sistema original más la diferencia entre la salida de los dos sistemas multiplicada por una constante. De este modo, se logra modificar la dinámica del sistema clon de modo que logre estimar el estado del sistema original en un tiempo arbitrariamente pequeño (al menos en teoría). Es decir, el clon es capaz de observar tanto la entrada del sistema original como la diferencia entre su salida y la del sistema original, lo que le permite converger más rápido.
Ahora viene la explicación más rigurosa de lo anterior. Cada uno de los dos sistemas dinámicos lineales está descrito por dos ecuaciones: una ecuación de transición de estado, que indica de qué forma se va a modificar el estado en cada tiempo t, y una ecuación de observación que entrega la salida en función del estado.
Supongamos que las ecuaciones que describen el sistema lineal original con estado $\quad x(t)$, entrada $\quad u(t)$ y salida $\quad y(t)$ son las siguientes:
$\quad {\frac {d}{dt}}x(t)=Ax(t)+Bu(t)$ (ecuación de transición de estado, sistema original)
$\quad y(t)=Cx(t)$ (ecuación de observación, sistema original)
Supongamos que las ecuaciones que describen el sistema lineal clon (llamado también observador) con estado ${\hat {x}}(t)$, entrada ${\hat {u}}(t)$ y salida ${\hat {y}}(t)$ son las siguientes:
$\quad {\frac {d}{dt}}{\hat {x}}(t)=A{\hat {x}}(t)+B{\hat {u}}(t)$ (ecuación de transición de estado, observador)
$\quad {\hat {y}}(t)=C{\hat {x}}(t)$ (ecuación de observación, observador)
El error de estimación de estado está dado por:
$\quad d(t)={\hat {x}}(t)-x(t)$
El error en la salida del observador está dado por
$\quad e(t)={\hat {y}}(t)-y(t)=Cd(t)$
Se puede alimentar al sistema clon con la siguiente entrada modificada
$\quad {\hat {u}}(t)=u(t)-Le(t)$
$\quad {\hat {u}}(t)=u(t)-LCd(t)$
El efecto producido sobre la ecuación de transición de estado del observador es el siguiente:
$\quad {\frac {d}{dt}}{\hat {x}}(t)=A{\hat {x}}(t)+B(u(t)-LCd(t))$
Si restamos esta ecuación de la ecuación de transición de estado del sistema original se obtiene la siguiente expresión:
$\quad {\frac {d}{dt}}{\hat {x}}(t)-{\frac {d}{dt}}x(t)=A{\hat {x}}(t)+B(u(t)-LCd(t))-Ax(t)-Bu(t)$
$\quad {\frac {d}{dt}}d(t)=(A-BLC)d(t)$
Esta última ecuación muestra que la dinámica del error puede ser modificada convenientemente mediante una elección de un valor L adecuado. En general, un L suficientemente grande basta para que el observador funcione adecuadamente, aunque un L excesivo puede generar efectos transitorios algo violentos inicialmente. En el caso de que el sistema original este contaminado por ruido blanco no medible en la salida y en la entrada, un observador más apropiado es el filtro de Kalman, el cual es capaz de encontrar una ganancia K óptima en función de la varianza de los ruidos.
El observador de Luenberger puede ser usado tanto en tiempo continuo como en tiempo discreto.