Sign up & Download
Sign in

An Introduction to the Kalman Filter

by Greg Welch, Gary Bishop
Design (2001)

Abstract

In 1960, R.E. Kalman published his famous paper describing a recursive solution to the discrete-data linear filtering problem. Since that time, due in large part to ad- vances in digital computing, the Kalman filter has been the subject of extensive re- search and application, particularly in the area of autonomous or assisted navigation. The Kalman filter is a set of mathematical equations that provides an efficient com- putational (recursive) means to estimate the state of a process, in a way that mini- mizes the mean of the squared error. The filter is very powerful in several aspects: it supports estimations of past, present, and even future states, and it can do so even when the precise nature of the modeled system is unknown. The purpose of this paper is to provide a practical introduction to the discrete Kal- man filter. This introduction includes a description and some discussion of the basic discrete Kalman filter, a derivation, description and some discussion of the extend- ed Kalman filter, and a relatively simple (tangible) example with real numbers & results.

Cite this document (BETA)

Available from citeseerx.ist.psu.edu
Page 1
hidden

An Introduction to the Kalman Filter

An Introduction to the Kalman Filter

Greg Welch

1

and Gary Bishop

2

TR 95-041
Department of Computer Science
University of North Carolina at Chapel Hill
Chapel Hill, NC 27599-3175
Updated: Monday, July 24, 2006

Abstract

In 1960, R.E. Kalman published his famous paper describing a recursive solution
to the discrete-data linear filtering problem. Since that time, due in large part to ad-
vances in digital computing, the Kalman filter has been the subject of extensive re-
search and application, particularly in the area of autonomous or assisted
navigation.
The Kalman filter is a set of mathematical equations that provides an efficient com-
putational (recursive) means to estimate the state of a process, in a way that mini-
mizes the mean of the squared error. The filter is very powerful in several aspects:
it supports estimations of past, present, and even future states, and it can do so even
when the precise nature of the modeled system is unknown.
The purpose of this paper is to provide a practical introduction to the discrete Kal-
man filter. This introduction includes a description and some discussion of the basic
discrete Kalman filter, a derivation, description and some discussion of the extend-
ed Kalman filter, and a relatively simple (tangible) example with real numbers &
results.

1.

welch@cs.unc.edu, http://www.cs.unc.edu/~welch

2.

gb@cs.unc.edu, http://www.cs.unc.edu/~gb
Page 2
hidden
Welch & Bishop, An Introduction to the Kalman Filter 2
UNC-Chapel Hill, TR 95-041, July 24, 2006

1 The Discrete Kalman Filter

In 1960, R.E. Kalman published his famous paper describing a recursive solution to the discrete-
data linear filtering problem [Kalman60]. Since that time, due in large part to advances in digital
computing, the

Kalman filter

has been the subject of extensive research and application,
particularly in the area of autonomous or assisted navigation. A very “friendly” introduction to the
general idea of the Kalman filter can be found in Chapter 1 of [Maybeck79], while a more complete
introductory discussion can be found in [Sorenson70], which also contains some interesting
historical narrative. More extensive references include [Gelb74; Grewal93; Maybeck79; Lewis86;
Brown92; Jacobs93].

The Process to be Estimated

The Kalman filter addresses the general problem of trying to estimate the state of a
discrete-time controlled process that is governed by the linear stochastic difference equation
, (1.1)
with a measurement that is
. (1.2)
The random variables and represent the process and measurement noise (respectively).
They are assumed to be independent (of each other), white, and with normal probability
distributions
, (1.3)
. (1.4)
In practice, the

process



noise covariance

and

measurement noise covariance

matrices might
change with each time step or measurement, however here we assume they are constant.
The matrix in the difference equation (1.1) relates the state at the previous time step
to the state at the current step , in the absence of either a driving function or process noise. Note
that in practice might change with each time step, but here we assume it is constant. The
matrix

B

relates the optional control input to the state

x

. The matrix in the
measurement equation (1.2) relates the state to the measurement

z

k

. In practice might change
with each time step or measurement, but here we assume it is constant.

The Computational Origins of the Filter

We define (note the “super minus”) to be our

a priori

state estimate at step

k

given
knowledge of the process prior to step

k

, and to be our

a posteriori

state estimate at step

k

given measurement . We can then define

a priori

and

a posteriori

estimate errors as
x
n
xk Axk 1– Buk 1– wk 1–+ +=
z
m
zk H xk vk+=
wk vk
p w( ) N 0 Q,( )
p v( ) N 0 R,( )
Q R
n n A k 1–
k
A n l
u
l
m n H
H
xˆk
- n
xˆk
n
zk
ek
-
xk xˆk
-
, and–
ek xk xˆk.–

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

495 Readers on Mendeley
by Discipline
 
 
 
by Academic Status
 
38% Ph.D. Student
 
12% Student (Master)
 
10% Researcher (at a non-Academic Institution)
by Country
 
24% United States
 
14% Germany
 
7% United Kingdom

Groups

3D Tracking