Discrete-time Luenberger observer

**Library:**Simscape / Electrical / Control / Observers

The Luenberger Observer block implements a discrete time Luenberger observer. Use this block to estimate the states of an observable system using:

The discrete inputs and outputs of the system.

A discrete state-space representation of the system.

The Luenberger Observer is also sometimes referred to as a state observer or simply an observer.

You can control multi-input, multi-output systems by passing the output state vector of this block to a State Feedback Controller block.

The block implements a discrete time Luenberger Observer using the backward Euler method due to its simplicity and stability.

The estimator is given by this difference equation:

$\widehat{x}\left(k+1\right)={A}_{d}\widehat{x}\left(k\right)+{B}_{d}u\left(k\right)+{L}_{d}(y\left(k\right)-\widehat{y}(k)),$

where:

$\widehat{x}(k)$ is the

*k*^{th}estimated state vector.$\widehat{y}(k)$ is the

*k*^{th}estimated output vector.*u(k)*is the*k*^{th}input vector.*y(k)*is the*k*^{th}measured output vector.*A*is the discretized state matrix._{d}*B*is the discretized input matrix._{d}*L*is the discretized observer gain matrix._{d}

The dynamics of the estimation error are described by:

$e\left(k+1\right)=({A}_{d}-{L}_{d}{C}_{d})e(k),$

where:

*e(k)*is the*k*^{th}error vector.*C*is the output matrix._{d}

The estimation error converges to zero when
*A _{d}-L_{d}C_{d}*
has its eigenvalues inside the unit circle. Therefore, the value of

${L}_{d}^{T}=G{X}^{-1},$

where *G* is an arbitrary matrix and
*X* is obtained by solving the Sylvester equation:

${A}_{d}^{T}X-X\Lambda ={C}_{d}^{T}G.$

Here, *Λ* is a matrix with the desired
eigenvalues, which are not the same as the eigenvalues of
*A _{d}*. This diagram shows the basic
structure of a discrete time Luenberger Observer.

The system is observable, which is true if the state of the system can be determined from the input and output in a finite time. Mathematically, this means that the system observability matrix has full rank.

The desired eigenvalues are not the same as the eigenvalues of the open-loop model.

[1] Luenberger, D. G. "An Introduction to Observers." *IEEE Transactions
on Automatic Control.* Vol. 16, Number 6, 1971, pp.
596-602.

[2] Alessandri, A., and P. Coletta. "Design of Luenberger observers for a class of
hybrid linear systems." *In International Workshop on Hybrid Systems:
Computation and Control,* Berlin, March 2001.

[3] Varga, A. "Robust pole assignment via Sylvester equation based state feedback
parametrization." *In Computer-Aided Control System Design, pp.
13-18.,* Anchorage, Alaska, 2000.