LMIs in Control/pages/Discrete-Time H2-Optimal Observer

LMIs in Control/pages/Discrete-Time H2-Optimal Observer

In many applications, perhaps even most, the state of the system cannot be directly known. In this case, you will need to strategically to measure key system outputs that will make the system states indirectly observable. Observers need to converge much faster than the system dynamics in order for their estimations to be accurate. Optimal observer synthesis is therefore advantageous. In this LMI, we seek to optimize the H2 norm, which conceptually is minimizing the average magnitude of error in the observer.

The System

edit
 

where   and is the state vector,   and is the state matrix,   and is the input matrix,   and is the exogenous input,   and is the output matrix,   and is the feedthrough matrix,   and is the output, and it is assumed that   is detectable.

The Data

edit

The matrices  .

The Optimization Problem

edit

An observer of the form:

 

is to be designed, where   is the observer gain.

Defining the error state  , the error dynamics are found to be

 ,

and the performance output is defined as

 .

The observer gain   is to be designed such that the   of the transfer matrix from   to  , given by

 

is minimized.

The LMI: Discrete-Time H2-Optimal Observer

edit

The discrete-time  -optimal observer gain is synthesized by solving for  ,  ,  , and   that minimize   subject to  ,

 

where   refers to the trace of a matrix.

Conclusion:

edit

The  -optimal observer gain is recovered by   and the   norm of   is  . The   matrix is the observer gains that can be used to form the optimal observer:

 

Implementation

edit

This implementation requires Yalmip and Sedumi.

https://github.com/rezajamesahmed/LMImatlabcode/blob/master/Discrete_Time_H2_Optimal_Observer_LMIs_Wikibook_Example.m

edit

Mixed H2-Hinfinity discrete time observer

Discrete-Time_Hinfinity-Optimal_Observer

edit

This LMI comes from Ryan Caverly's text on LMI's (Section 5.1.2):

Other resources:

Return to Main Page:

edit