LMIs in Control/pages/DARE

The System
Consider a Discrete-Time LTI system

\begin{align} x_{k+1} = A_dx_k + B_du_k \end{align}$$



\begin{align} y_k = C_dx_k \end{align}$$

Consider Ad ∈ $$\begin{align}\mathbb{R}\end{align}$$nxn ; Bd ∈ $$\begin{align}\mathbb{R}\end{align}$$nxm

The Data
The Matrices Ad, Bd , Cd , Q, R are given

Q and R should necessarily be Hermitian Matrices.

A square matrix is Hermitian if it is equal to its complex conjugate transpose.

The Optimization Problem
Our aim is to find

P - Unique solution to the discrete-time algebraic Riccati equation, returned as a matrix.

K - State-feedback gain, returned as a matrix.

The algorithm used to evaluate the State-feedback gain is given by



\begin{align} K = (R+B_d^TPB_d)^{-1}B_d^TPA_d \end{align}$$

L - Closed-loop eigenvalues, returned as a matrix.

The LMI: Discrete-Time Algebraic Riccati Inequality (DARE)
An algebraic Riccati equation is a type of nonlinear equation that arises in the context of infinite-horizon optimal control problems in continuous time or discrete time

The Discrete-Time Algebraic Riccati Inequality is given by

\begin{align} A_d^TPA_d - A_d^TPB_d (R + B_d^TPB_d)^{-1} B_d^TPA_d + Q - P \geq 0 \end{align}$$

P, Q ∈ $$\begin{align}\mathbb{S}\end{align}$$n and R ∈ $$\begin{align}\mathbb{S}\end{align}$$m where P > 0, Q ≥ 0, R > 0

P is the unknown n by n symmetric matrix and A, B, Q, R are known real coefficient matrices.

The above equation can be rewritten using the Schur Complement Lemma as :

\begin{bmatrix} A_d^TPA_d-P+Q & A_d^TPB_d \\ B_d^TPA_d & R+B_d^TPB_d \end{bmatrix}$$$$\begin{align}\geq 0\end{align}$$

Conclusion:
Algebraic Riccati Inequalities play a key role in LQR/LQG control, H2- and H∞ control and Kalman filtering. We try to find the unique stabilizing solution, if it exists. A solution is stabilizing, if controller of the system makes the closed loop system stable.

Equivalently, this Discrete-Time algebraic Riccati Inequality is satisfied under the following necessary and sufficient condition:



\begin{bmatrix} Q & 0 & A_d^TP & P\\ 0 & R & B_d^TP & 0\\ PA_d & PB_d & P & 0\\ P & 0 & 0 & P \end{bmatrix}$$$$\begin{align}\geq 0\end{align}$$

Implementation
( X in the output corresponds to P in the LMI )

A link to the Matlab code for a simple implementation of this problem in the Github repository:

https://github.com/yashgvd/LMI_wikibooks

Related LMIs
LMI for Continuous-Time Algebraic Riccati Inequality

LMI for Schur Stabilization