LMIs in Control/pages/Hinfinityoptimalfilter

Optimal filtering is a means of adaptive extraction of a weak desired signal in the presence of noise and interfering signals. The goal of optimal filtering is to design a filter that acts on the output $$ z $$ of the generalized plant and optimizes the transfer matrix from w to the filtered output.

The System:
Consider the continuous-time generalized LTI plant with minimal states-space realization



\begin{align} \dot x &=Ax + B_1w\\ z &=C_1x + D_{11}w,\\ y &=C_2x + D_{21}w, \end{align}$$

where it is assumed that $$ A $$ is Hurwitz.

The Data
The matrices needed as inputs are $$ A, B_1, C_2, C_1, ,D_{11},D_{21} $$.

The Optimization Problem:
An $$ H\infin $$-optimal filter is designed to minimize the $$ H_\infin$$ norm of $$ \tilde{P}(s) $$ in following equation.



\begin{align} \tilde{P}(s) = \tilde{C}_1 (sI - \tilde{A})^-1 \tilde{B}_1 + \tilde{D}_{11},\\ \text{where} \\ \tilde{A} = \begin{bmatrix} A && 0\\ B_fC_2 && A_f\end{bmatrix}&<0\\ \tilde{B}_1 = \begin{bmatrix} B_1\\ B_fD_{21}\end{bmatrix}&<0\\ \tilde{C}_1 = \begin{bmatrix} C_1-D_fC_2 -C_f\end{bmatrix}&<0\\ \tilde{D}_{11} = D_{11}-D_fD_{21}\\ \end{align} $$

The LMI: $$ H_\infin $$- Optimal filter
Solve for $$ A_n \in \mathbb{R}^{n_x \times n_x}, B_n \in \mathbb{R}^{n_x \times n_y}, C_f \in \mathbb{R}^{n_x \times n_x} $$, $$ X,Y \in \mathbb{S}^{n_x}$$ and $$ \nu \in \mathbb{R}_{>0} $$ that minimize $$ \zeta(\nu) =\nu $$ subject to $$ X >0, Y >0 $$.

\begin{align}

\begin{bmatrix} YA + A^TY+B_nC_2 && A_n+C_2^TB_n^T+A^TX && YB_1+B_nD_{21} && {C_1}^T-{C_2}^T{D_f}^T\\ \star && A_n+A_n^T && XB_1+B_nD_{21} && -{C_f}^T\\ \star && \star && -\gamma I && {D_11}^T-{D_21}^T{D_f}^T\\ \star && \star && \star && -\gamma I \end{bmatrix}&<0\\ \\ Y-X >0 \\ \end{align}$$

Conclusion:
The filter is recovered by $$ A_f=X^{-1}A_n $$ and $$ B_f=X^{-1}B_n $$.

Implementation

 * https://github.com/Ricky-10/coding107/blob/master/Hinfinity%20Optimal%20filter- $$ H\infin $$- Optimal Filter