Form linear-quadratic-Gaussian (LQG) regulator
rlqg = lqgreg(kest,k)
rlqg = lqgreg(kest,k,controls)
lqgreg forms the linear-quadratic-Gaussian (LQG) regulator by connecting the Kalman estimator designed with kalman and the optimal state-feedback gain designed with lqr, dlqr, or lqry. The LQG regulator minimizes some quadratic cost function that trades off regulation performance and control effort. This regulator is dynamic and relies on noisy output measurements to generate the regulating commands.
In continuous time, the LQG regulator generates the commands
where is the Kalman state estimate. The regulator state-space equations are
where y is the vector of plant output measurements (see kalman for background and notation). The following diagram shows this dynamic regulator in relation to the plant.
In discrete time, you can form the LQG regulator using either the delayed state estimate of x[n], based on measurements up to y[n–1], or the current state estimate , based on all available measurements including y[n]. While the regulator
is causal only when I-KMD is invertible (see kalman for the notation). In addition, practical implementations of the current regulator should allow for the processing time required to compute u[n] after the measurements y[n] become available (this amounts to a time delay in the feedback loop).
See the example LQG Regulation.
rlqg = lqgreg(kest,k) returns the LQG regulator rlqg (a state-space model) given the Kalman estimator kest and the state-feedback gain matrix k. The same function handles both continuous- and discrete-time cases. Use consistent tools to design kest and k:
Continuous regulator for continuous plant: use lqr or lqry and kalman
Discrete regulator for discrete plant: use dlqr or lqry and kalman
Discrete regulator for continuous plant: use lqrd and kalmd
In discrete time, lqgreg produces the regulator
when kest is the "current" Kalman estimator
when kest is the "delayed" Kalman estimator
For more information on Kalman estimators, see the kalman reference page.
rlqg = lqgreg(kest,k,controls) handles estimators that have access to additional deterministic known plant inputs ud. The index vector controls then specifies which estimator inputs are the controls u, and the resulting LQG regulator rlqg has ud and y as inputs (see the next figure).