Design discrete Kalman estimator for continuous plant

`[kest,L,P,M,Z] = kalmd(sys,Qn,Rn,Ts) `

`kalmd`

designs a discrete-time Kalman estimator
that has response characteristics similar to a continuous-time estimator
designed with `kalman`

. This command is useful
to derive a discrete estimator for digital implementation after a
satisfactory continuous estimator has been designed.

`[kest,L,P,M,Z] = kalmd(sys,Qn,Rn,Ts) `

produces a discrete Kalman estimator `kest`

with
sample time `Ts`

for the continuous-time plant

$$\begin{array}{cc}\dot{x}=Ax+Bu+Gw& (\text{stateequation)}\\ {y}_{v}=Cx+Du+v& \text{(measurementequation)}\end{array}$$

with process noise *w* and measurement noise *v* satisfying

$$\begin{array}{cccc}E(w)=E(v)=0,& E(w{w}^{T})={Q}_{n},& E(v{v}^{T})={R}_{n},& E(w{v}^{T})=0\end{array}$$

The estimator `kest`

is derived as follows.
The continuous plant `sys`

is first discretized using
zero-order hold with sample time `Ts`

(see `c2d`

entry),
and the continuous noise covariance matrices *Q _{n}* and

$$\begin{array}{l}{Q}_{d}={\displaystyle {\int}_{0}^{{T}_{s}}{e}^{A\tau}G{Q}_{n}{G}^{T}{e}^{{A}^{T}\tau}d\tau}\\ {R}_{d}={R}_{n}/{T}_{s}\end{array}$$

The integral is computed using the matrix exponential formulas
in [2]. A discrete-time estimator
is then designed for the discretized plant and noise. See `kalman`

for
details on discrete-time Kalman estimation.

`kalmd`

also returns the estimator gains `L`

and `M`

,
and the discrete error covariance matrices `P`

and `Z`

(see `kalman`

for
details).

The discretized problem data should satisfy the requirements
for `kalman`

.

[1] Franklin, G.F., J.D. Powell, and M.L.
Workman, *Digital Control of Dynamic Systems*,
Second Edition, Addison-Wesley, 1990.

[2] Van Loan, C.F., "Computing Integrals Involving
the Matrix Exponential," *IEEE ^{®} Trans. Automatic Control*,
AC-15, October 1970.

Was this topic helpful?