Main Content

# kalmd

Design discrete Kalman estimator for continuous plant

## Syntax

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

## Description

`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

with process noise w and measurement noise v satisfying

`$\begin{array}{cccc}E\left(w\right)=E\left(v\right)=0,& E\left(w{w}^{T}\right)={Q}_{n},& E\left(v{v}^{T}\right)={R}_{n},& E\left(w{v}^{T}\right)=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 Qn and Rn are replaced by their discrete equivalents

`$\begin{array}{l}{Q}_{d}={\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).

## Limitations

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

## References

[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.

## Version History

Introduced before R2006a