The Azimuth Project
Stochastic filter



When we observe some natural phenomenon, there are essentially two “random” or “noisy” influences: First there may be uncontrollable, seemingly random, processes that influence the phenomenon itself, then there will be errors in the measuring process. Stochastic filters are algorithms that compute estimations of the true state of the phenomenon, given “noisy” observation.

Therefore, stochastic filters are actually estimators that are supposed to remove the noise from the measurements: The removal of noise is the reason for the name “filter”.

The Kalman-Bucy filter, which is the solution of a linear filtering problem, has found many applications including aerospace engineering (Ranger, Mariner, Apollo), and can therefore be used as an example that quite sophisticated mathematics may have relevant real world applications almost immediately after its invention.

This page primarily deals with filtering of continuous time analytic systems. For discrete time filtering see temporal filtering.


The filtering problem

We will formulate the filtering problem in continuous time using stochastic differential equations. Let the original process X tX_t satisfy a stochastic differential equation

dX t=A(X t,t)dt+B(X t,t)dW 1,t d X_t = A(X_t ,t) \; d t + B(X_t, t) \; d W_{1, t}

This is the process we would like to know about. But all we have is knowledge about a measurement process Z tZ_t of the original process X tX_t, which again satisfies a differential equation

dZ t=C(X t,t)dt+D(X t,t)dW 2,t d Z_t = C(X_t, t) \; d t + D(X_ t, t ) \; d W_{2, t}

Both equations may be multidimensional, not necessarily with the same dimension, and W 1,tW_{1, t} and W 2,t W_{2, t} are independent Wiener processes of the appropriate dimension.

We are looking for an estimator X^ T\hat{X}_T of the state of the process X TX_T at time TT, given the observation of Z tZ_t on the interval [0,T][0, T]. To make the statement “given the observation” mathematically precise, we demand that the estimator X^ T\hat{X}_T is measurable with respect to the σ\sigma-algebra generated by the process Z tZ_t.

The best estimator X^ T\hat{X}_T is defined to be an estimator that minimizes

ΩX tX^ t 2dP \int_{\Omega} \| X_t - \hat{X}_t \|^2 \; d P

where Ω,P\Omega, P denotes the probability space and the probability measure of (W 1,t,W 1,t)(W_{1, t}, W_{1, t}) with the appropriate initial condition (which we left unspecified).

The one dimensional linear filtering problem

We consider the linear filtering problem in continuous time, using stochastic differential equations. The original process is denoted by X tX_t, the process of measurements is denoted by Z tZ_t. Both satisfy a linear stochastic differential equation in one dimension:

dX t=A(t)X tdt+B(t)dW 1,t d X_t = A(t) X_t d t + B(t) d W_{1, t}


dZ t=C(t)X tdt+D(t)dW 2,t d Z_t = C(t) X_t d t + D(t) d W_{2, t}

where W 1,t W_{1, t} and W 2,tW_{2, t} are independent Wiener processes, and the functions A,B,C,DA, B, C, D are given.

The solution of the problem is given by the Kalman-Bucy filter, which specifies a stochastic differential equation which X^ T\hat{X}_T has to satisfy.

Kalman-Bucy filter

The solution to the linear filtering problem X^ t\hat{X}_t satisfies the following stochastic differential equation:

dX^ t=(A(t)C 2(t)S(t)D 2(t))X^ tdt+C(t)S(t)D 2(t)dZ t d \hat{X}_t = (A(t) - \frac{C^2(t) S(t)}{D^2(t)}) \hat{X}_t d t + \frac{C(t) S(t)}{D^2(t)} \; d Z_t

with the initial condition X^ 0=E(X 0)\hat{X}_0 = E(X_0). The function SS is defined as

S(t):=E((X tX^ t) 2) S(t) := E(( X_t - \hat{X}_t)^2)

and is known to satisfy the following deterministic Ricci differential equation:

dSdt=2A(t)S(t)C 2(t)D 2(t)S 2(t)+B 2(t) \frac{d S}{d t} = 2 A(t) S(t) - \frac{C^2(t)}{D^2(t)} S^2(t) + B^2(t)

with the obvious initial condition S(0)=E((X 0E(X 0)) 2)S(0) = E ( (X_0 - E(X_0))^2 ).


Kalman-Bucy filter of constant process

We will calculate the Kalman-Bucy filter for a constant process:

dX t=0 d X_t = 0

with E(X 0)=0E(X_0) = 0 and E(X 0 2)=:a 2E(X_0^2) =: a^2 .

The observations are noisy, that is:

dZ t=X tdt+mdW t d Z_t = X_t \; d t + m \; d W_t

with initial condition Z 0=0Z_0 = 0.

Then the Kalman-Bucy filter is

X z^=a 2m 2+a 2tZ t \hat{X_z} = \frac{a^2}{m^2 + a^2 t} \; Z_t


See chapter 6, “The Filtering Problem”, of:

  • Bernt Øksendal, Stochastic Differential Equations: An Introduction with Applications, 6th ed. (ZMATH)