# Linear–quadratic–Gaussian control

In control theory, the linear–quadratic–Gaussian (LQG) control problem is one of the most fundamental optimal control problems, and it can also be operated repeatedly for model predictive control. It concerns linear systems driven by additive white Gaussian noise. The problem is to determine an output feedback law that is optimal in the sense of minimizing the expected value of a quadratic cost criterion. Output measurements are assumed to be corrupted by Gaussian noise and the initial state, likewise, is assumed to be a Gaussian random vector.
Under these assumptions an optimal control scheme within the class of linear control laws can be derived by a completion-of-squares argument. This control law which is known as the LQG controller, is unique and it is simply a combination of a Kalman filter (a linear–quadratic state estimator (LQE)) together with a linear–quadratic regulator (LQR). The separation principle states that the state estimator and the state feedback can be designed independently. LQG control applies to both linear time-invariant systems as well as linear time-varying systems, and constitutes a linear dynamic feedback control law that is easily computed and implemented: the LQG controller itself is a dynamic system like the system it controls. Both systems have the same state dimension.
A deeper statement of the separation principle is that the LQG controller is still optimal in a wider class of possibly nonlinear controllers. That is, utilizing a nonlinear control scheme will not improve the expected value of the cost function. This version of the separation principle is a special case of the separation principle of stochastic control which states that even when the process and output noise sources are possibly non-Gaussian martingales, as long as the system dynamics are linear, the optimal control separates into an optimal state estimator (which may no longer be a Kalman filter) and an LQR regulator.
In the classical LQG setting, implementation of the LQG controller may be problematic when the dimension of the system state is large. The reduced-order LQG problem (fixed-order LQG problem) overcomes this by fixing a priori the number of states of the LQG controller. This problem is more difficult to solve because it is no longer separable. Also, the solution is no longer unique. Despite these facts numerical algorithms are available to solve the associated optimal projection equations which constitute necessary and sufficient conditions for a locally optimal reduced-order LQG controller.
LQG optimality does not automatically ensure good robustness properties. The robust stability of the closed loop system must be checked separately after the LQG controller has been designed. To promote robustness some of the system parameters may be assumed stochastic instead of deterministic. The associated more difficult control problem leads to a similar optimal controller of which only the controller parameters are different.
It is possible to compute the expected value of the cost function for the optimal gains, as well as any other set of stable gains.
The LQG controller is also used to control perturbed non-linear systems.

## Mathematical description of the problem and solution
### Continuous time

Consider the continuous-time linear dynamic system
    ${\dot {\mathbf {x} }}(t)=A(t)\mathbf {x} (t)+B(t)\mathbf {u} (t)+\mathbf {v} (t),$
    $\mathbf {y} (t)=C(t)\mathbf {x} (t)+\mathbf {w} (t),$
where ${\mathbf {x} }$ represents the vector of state variables of the system, ${\mathbf {u} }$ the vector of control inputs and ${\mathbf {y} }$ the vector of measured outputs available for feedback. Both additive white Gaussian system noise $\mathbf {v} (t)$ and additive white Gaussian measurement noise $\mathbf {w} (t)$ affect the system. Given this system the objective is to find the control input history ${\mathbf {u} }(t)$ which at every time ${\mathbf }t$ may depend linearly only on the past measurements ${\mathbf {y} }(t'),0\leq t'<t$ such that the following cost function is minimized:
    $J=\mathbb {E} \left[{\mathbf {x} ^{\mathrm {T} }}(T)F{\mathbf {x} }(T)+\int _{0}^{T}{\mathbf {x} ^{\mathrm {T} }}(t)Q(t){\mathbf {x} }(t)+{\mathbf {u} ^{\mathrm {T} }}(t)R(t){\mathbf {u} }(t)\,dt\right],$
    $F\geq 0,\quad Q(t)\geq 0,\quad R(t)>0,$
where $\mathbb {E}$ denotes the expected value. The final time (horizon) ${\mathbf }T$ may be either finite or infinite. If the horizon tends to infinity the first term ${\mathbf {x} }^{\mathrm {T} }(T)F{\mathbf {x} }(T)$ of the cost function becomes negligible and irrelevant to the problem. Also to keep the costs finite the cost function has to be taken to be ${\mathbf }J/T$.
The LQG controller that solves the LQG control problem is specified by the following equations:
    ${\dot {\hat {\mathbf {x} }}}(t)=A(t){\hat {\mathbf {x} }}(t)+B(t){\mathbf {u} }(t)+L(t)\left({\mathbf {y} }(t)-C(t){\hat {\mathbf {x} }}(t)\right),\quad {\hat {\mathbf {x} }}(0)=\mathbb {E} \left[{\mathbf {x} }(0)\right],$
    ${\mathbf {u} }(t)=-K(t){\hat {\mathbf {x} }}(t).$
The matrix ${\mathbf }L(t)$ is called the Kalman gain of the associated Kalman filter represented by the first equation. At each time ${\mathbf }t$ this filter generates estimates ${\hat {\mathbf {x} }}(t)$ of the state ${\mathbf {x} }(t)$ using the past measurements and inputs. The Kalman gain ${\mathbf }L(t)$ is computed from the matrices ${\mathbf }A(t),C(t)$, the two intensity matrices $\mathbf V(t),W(t)$ associated to the white Gaussian noises $\mathbf {v} (t)$ and $\mathbf {w} (t)$ and finally $\mathbb {E} \left[{\mathbf {x} }(0){\mathbf {x} }^{\mathrm {T} }(0)\right]$. These five matrices determine the Kalman gain through the following associated matrix Riccati differential equation:
    ${\dot {P}}(t)=A(t)P(t)+P(t)A^{\mathrm {T} }(t)-P(t)C^{\mathrm {T} }(t){\mathbf }W^{-1}(t)C(t)P(t)+V(t),$
    $P(0)=\mathbb {E} \left[{\mathbf {x} }(0){\mathbf {x} }^{\mathrm {T} }(0)\right].$
Given the solution $P(t),0\leq t\leq T$ the Kalman gain equals
    ${\mathbf }L(t)=P(t)C^{\mathrm {T} }(t)W^{-1}(t).$
The matrix ${\mathbf }K(t)$ is called the feedback gain matrix. This matrix is determined by the matrices ${\mathbf }A(t),B(t),Q(t),R(t)$ and ${\mathbf }F$ through the following associated matrix Riccati differential equation:
    $-{\dot {S}}(t)=A^{\mathrm {T} }(t)S(t)+S(t)A(t)-S(t)B(t)R^{-1}(t)B^{\mathrm {T} }(t)S(t)+Q(t),$
    ${\mathbf }S(T)=F.$
Given the solution ${\mathbf }S(t),0\leq t\leq T$ the feedback gain equals
    ${\mathbf }K(t)=R^{-1}(t)B^{\mathrm {T} }(t)S(t).$
Observe the similarity of the two matrix Riccati differential equations, the first one running forward in time, the second one running backward in time. This similarity is called duality. The first matrix Riccati differential equation solves the linear–quadratic estimation problem (LQE). The second matrix Riccati differential equation solves the linear–quadratic regulator problem (LQR). These problems are dual and together they solve the linear–quadratic–Gaussian control problem (LQG). So the LQG problem separates into the LQE and LQR problem that can be solved independently. Therefore, the LQG problem is called separable.
When ${\mathbf }A(t),B(t),C(t),Q(t),R(t)$ and the noise intensity matrices $\mathbf V(t)$, $\mathbf W(t)$ do not depend on ${\mathbf }t$ and when ${\mathbf }T$ tends to infinity the LQG controller becomes a time-invariant dynamic system. In that case the second matrix Riccati differential equation may be replaced by the associated algebraic Riccati equation.

### Discrete time

Since the discrete-time LQG control problem is similar to the one in continuous-time, the description below focuses on the mathematical equations.
The discrete-time linear system equations are
    ${\mathbf {x} }_{i+1}=A_{i}\mathbf {x} _{k}+B_{i}\mathbf {u} _{i}+\mathbf {v} _{i},$
    $\mathbf {y} _{i}=C_{i}\mathbf {x} _{i}+\mathbf {w} _{i}.$
Here $\mathbf i$ represents the discrete time index and $\mathbf {v} _{i},\mathbf {w} _{i}$ represent discrete-time Gaussian white noise processes with covariance matrices $\mathbf V_{i},W_{i}$, respectively, and are independent of each other.
The quadratic cost function to be minimized is
    $J=\mathbb {E} \left[{\mathbf {x} }_{N}^{\mathrm {T} }F{\mathbf {x} }_{N}+\sum _{i=0}^{N-1}(\mathbf {x} _{i}^{\mathrm {T} }Q_{i}\mathbf {x} _{i}+\mathbf {u} _{i}^{\mathrm {T} }R_{i}\mathbf {u} _{i})\right],$
    $F\geq 0,Q_{i}\geq 0,R_{i}>0.\,$
The discrete-time LQG controller is
    ${\hat {\mathbf {x} }}_{i+1}=A_{i}{\hat {\mathbf {x} }}_{i}+B_{i}{\mathbf {u} }_{i}+L_{i+1}\left({\mathbf {y} }_{i+1}-C_{i+1}\left\{A_{i}{\hat {\mathbf {x} }}_{i}+B_{i}\mathbf {u} _{i}\right\}\right),\qquad {\hat {\mathbf {x} }}_{0}=\mathbb {E} [{\mathbf {x} }_{0}]$,
    $\mathbf {u} _{i}=-K_{i}{\hat {\mathbf {x} }}_{i}.\,$
and ${\hat {\mathbf {x} }}_{i}$ corresponds to the predictive estimate ${\hat {\mathbf {x} }}_{i}=\mathbb {E} [\mathbf {x} _{i}|\mathbf {y} ^{i},\mathbf {u} ^{i-1}]$.
The Kalman gain equals
    ${\mathbf }L_{i}=P_{i}C_{i}^{\mathrm {T} }(C_{i}P_{i}C_{i}^{\mathrm {T} }+W_{i})^{-1},$
where ${\mathbf }P_{i}$ is determined by the following matrix Riccati difference equation that runs forward in time:
    $P_{i+1}=A_{i}\left(P_{i}-P_{i}C_{i}^{\mathrm {T} }\left(C_{i}P_{i}C_{i}^{\mathrm {T} }+W_{i}\right)^{-1}C_{i}P_{i}\right)A_{i}^{\mathrm {T} }+V_{i},\qquad P_{0}=\mathbb {E} [\left({\mathbf {x} }_{0}-{\hat {\mathbf {x} }}_{0}\right)\left({\mathbf {x} }_{0}-{\hat {\mathbf {x} }}_{0}\right)^{\mathrm {T} }].$
The feedback gain matrix equals
    ${\mathbf }K_{i}=(B_{i}^{\mathrm {T} }S_{i+1}B_{i}+R_{i})^{-1}B_{i}^{\mathrm {T} }S_{i+1}A_{i}$
where ${\mathbf }S_{i}$ is determined by the following matrix Riccati difference equation that runs backward in time:
    $S_{i}=A_{i}^{\mathrm {T} }\left(S_{i+1}-S_{i+1}B_{i}\left(B_{i}^{\mathrm {T} }S_{i+1}B_{i}+R_{i}\right)^{-1}B_{i}^{\mathrm {T} }S_{i+1}\right)A_{i}+Q_{i},\quad S_{N}=F.$
If all the matrices in the problem formulation are time-invariant and if the horizon ${\mathbf }N$ tends to infinity the discrete-time LQG controller becomes time-invariant. In that case the matrix Riccati difference equations may be replaced by their associated discrete-time algebraic Riccati equations. These determine the time-invariant linear–quadratic estimator and the time-invariant linear–quadratic regulator in discrete-time. To keep the costs finite instead of ${\mathbf }J$ one has to consider ${\mathbf }J/N$ in this case.