| Function Reference | ![]() |
Form LQG regulator given state-feedback gain and Kalman estimator
Syntax
rlqg = lqgreg(kest,k) rlqg = lqgreg(kest,k,'current') % discrete-time only rlqg = lqgreg(kest,k,controls)
Description
lqgreg
forms the 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
is the vector of plant output measurements (see kalman for background and notation). The diagram below shows this dynamic regulator in relation to the plant.
In discrete time, you can form the LQG regulator using either the prediction
of
based on measurements up to
, or the current state estimate
based on all available measurements including
. While the regulator
is always well-defined, the current regulator
is causal only when
is invertible (see kalman for the notation). In addition, practical implementations of the current regulator should allow for the processing time required to compute
once the measurements
become available (this amounts to a time delay in the feedback loop).
Usage
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:
lqr or lqry and kalman.
dlqr or lqry and kalman.
lqrd and kalmd.
In discrete time, lqgreg produces the regulator

by default (see "Description"). To form the "current" LQG regulator
instead, use the syntax
This syntax is meaningful only for discrete-time problems.
rlqg = lqgreg(kest,k,controls) handles estimators that have access to additional known plant inputs
. The index vector controls then specifies which estimator inputs are the controls
, and the resulting LQG regulator rlqg has
and
as inputs (see figure below).
Example
See the example LQG Regulation.
See Also
kalmanKalman estimator design
kalmdDiscrete Kalman estimator for continuous plant
lqr, dlqrState-feedback LQ regulator
lqrdDiscrete LQ regulator for continuous plant
lqryLQ regulator with output weighting
reg Form regulator given state-feedback and estimator
gains
| lft | lqr | ![]() |