Luenberger observer
High school
A Luenberger observer estimates the unmeasured quantities of a system by running a copy of the system’s model alongside it and nudging the copy toward the real system whenever their measurements disagree.
Undergraduate (continuous-time linear systems)
Consider a linear system $\dot{x} = A x + B u$ with state $x$, input $u$, and measured output $y = C x$. A Luenberger observer for this system is the dynamical system
\[\dot{\hat{x}} = A \hat{x} + B u + L (y - C \hat{x}),\]where $\hat{x}$ is the state estimate and the matrix $L$ is a constant gain, called the observer gain.
Properties
- The estimation error $e = x - \hat{x}$ of a Luenberger observer satisfies $\dot{e} = (A - L C) e$, so it converges to zero from every initial condition exactly when every eigenvalue of $A - L C$ has negative real part.
- A gain $L$ that makes the error converge to zero exists exactly when $(A, C)$ is detectable.
- If $(A, C)$ is observable, then $L$ can be chosen to place the eigenvalues of $A - L C$ anywhere (in complex-conjugate pairs).
Notes
The discrete-time version is $\hat{x}_{k+1} = A \hat{x}_k + B u_k + L (y_k - C \hat{x}_k)$.
The Kalman filter has the same structure, with a time-varying gain chosen from the noise covariances.