Vous êtes sur la page 1sur 19

On Kalman Filtering

A study of A New Approach to Linear Filtering and Prediction Problems by R. E. Kalman Mehul Motani February 11, 2000

The 1960s: A Decade to Remember


Rudolf E. Kalman in 1960
Research Institute for Advanced Studies (Baltimore) The Discrete-time Kalman Filter

With Richard Bucy in 1961


Bucy was with Johns Hopkins Applied Physics Lab The Continuous-time Kalman Filter

Kalman Filtering used widely in


Control Systems, Signal Processing, Communications
@ Mehul Motani, 2000 2

Some Motivation

@ Mehul Motani, 2000

The Static Case


First Measurement

z1
First Estimate

Conditional PDF of position based on measurement z1

~Normal(z1,

2 z1

x1 = z1 12 =
2 z1
z1

z1
@ Mehul Motani, 2000 4

The Static Case (cont.)


Second Measurement

z 2 , t1 t 2

Conditional PDF of position based on measurement z2

Second Estimate

~Normal(z 2 ,

2 z2

x2 = ??
2 2 = ??

z2 How do we optimally combine the two measurements?


@ Mehul Motani, 2000 5

The Combined Estimate


Conditional PDF of position based on both measurements

~Normal( , 2 )

@ Mehul Motani, 2000

The Optimum Estimate is


=
2 z2 2 z1

2 z2

z1 +

2 z1 2 z1

2 z2

z2

1 1 1 = 2 + 2 22 z1 z2
x2 =
@ Mehul Motani, 2000 7

What does optimum mean?


Unbiased (since it the conditional mean) Maximum Likelihood Estimate Least Squares Estimate Minimum Variance, Unbiased Estimate

The Kalman filter is all of the above !


@ Mehul Motani, 2000 8

Another Look
The Predictor-Corrector Structure

x2 = x1 + K 2 [z2 x1 ]
2 2 = 12 K 2 12

Predict

Correct

@ Mehul Motani, 2000

The Dynamic Case


System dynamics: dx = v 0

dt

v0

t1

@ Mehul Motani, 2000

t2

10

What is the Kalman Filter?


Optimum Recursive Data Processing Algorithm Optimum: Uses all available data
ML, Least Squares, MVUE

Recursive: Does not store all data


Critical for implementation

Data Processing
Incorporates discrete-time measurements
@ Mehul Motani, 2000 11

Assumptions
Linear (Discrete) System Model
Admits tractable analysis Linear systems theory is quite thorough.

White Noise
Real systems are bandpass.

Gaussian Noise
Use Central Limit Theorem arguments
@ Mehul Motani, 2000 12

General System Dynamic Model


xk +1 = k xk + Bk wk + u k z k = M k xk + v k
State Vector at time k : xk n Input Vector : wk l Measurement Vector : z k m
n n State Transition Matrix : k n l Input Relation Matrix : Bk m n Measurement Matrix : M k

AWG Process Noise : uk ~ Normal (0, Q ) AWG Measurement Noise : vk ~ Normal (0, R)
@ Mehul Motani, 2000 13

Kalmans Model
Bk = R = 0 xk +1 = k xk + u k z k = M k xk

Weiner Problem
Given the observed values{z k , k = 1 m}, find an estimate xk which minimizes the expected loss.
@ Mehul Motani, 2000

14

Kalmans Solution
Orthogonal Projection

xk = E[ xk | z1 , z2 ,

, zm ]

Using the state representation, he derives a recursive optimum solution. We will not derive, but rather motivate the solution.
@ Mehul Motani, 2000 15

A Subtle Distinction
Estimate Estimate Error Estimate Error Covariance
Pk = E ek ekT

a priori a posteriori

xk xk

ek = xk xk ek = xk xk

T Pk = E ek ek

]
16

@ Mehul Motani, 2000

Basic Operation of the Filter


Time Update (Predict)
Project current state and covariance forward to the next time step, i.e. compute the next a priori estimates.

Measurement Update (Correct)


Update the a priori quantities using noisy measurements, i.e. compute the a posteriori estimates.
@ Mehul Motani, 2000 17

The Optimum Solution


xk = xk + K k z k M k xk

Choose Kk to minimize the a posteriori error covariance. A minimizing form for Kk is


T T K k = Pk M k M k Pk M k + Rk

@ Mehul Motani, 2000

18

A Closer Look
T T K k = Pk M k M k Pk M k + Rk

Good Measurements

As Rk 0, K k M k1
Bad Measurements

As Pk 0, K k 0
@ Mehul Motani, 2000 19

Kalman Filter Algorithm


Initial estimates for Pk and xk

Predict
1. Project state ahead xk+1 = k xk 2. Project error covariance Pk 1 = k Pk T + Qk k +

Correct
1. Compute the Kalman Gain
T T K k = Pk M k M k Pk M k + Rk

2. Compute a posteriori estimate xk = xk + K k z k M k xk

3. Update error covariance Pk = (I K k M k )Pk

@ Mehul Motani, 2000

20

10

Fine Tuning the Kalman Filter


Measurement Noise Covariance, Q
Can take offline samples and estimate

Process Noise Covariance, R


Not so clear how to estimate

Both quantities can be time varying! Choosing Q and R is actually an art.

@ Mehul Motani, 2000

21

Example: Lost in Space


Spacecraft accelerating with random bursts from its thrusters.

xk +1 xk +1

1 T xk T2 /2 ak = + 0 1 xk T
z k = xk + vk

R =

2 v

Q =

2 a

4 3 T /4 T /2 3 2 T /2 T
22

@ Mehul Motani, 2000

11

Kalman Filter Performance


v = 10 ft., a = 0.5 ft./sec 2 , R = v2

@ Mehul Motani, 2000

23

Kalman Filter Performance


v = 10 ft., a = 0.5 ft./sec 2 , R = 1

@ Mehul Motani, 2000

24

12

Kalman Filter Performance


v = 10 ft., a = 0.5 ft./sec 2 , R = 10000

@ Mehul Motani, 2000

25

Applications
Navigational and Guidance Systems Radar tracking and Sonar ranging Satellite orbit computations Active Noise Control Predictive tracking for virtual reality MMSE receiver is Kalman filtering
@ Mehul Motani, 2000 26

13

Recall our Assumptions


Linear Discrete System Model White Measurement and Process Noise Gaussian Measurement and Process Noise

The Kalman Filter is the best possible.


@ Mehul Motani, 2000 27

Variations on a filter
Discrete-Discrete Kalman Filter Continuous-Discrete Kalman Filter Extended Kalman Filter

@ Mehul Motani, 2000

28

14

Continuous-Discrete Kalman
System Model
Continuous Model for dynamical system Discrete measurement equations

Why?
Flexibility Irregularly spaced measurements Use numerical integration (e.g. Runge-Kutta) to project states ahead.
@ Mehul Motani, 2000 29

Non-linear Systems
Can we relax the linearity assumption? Nonlinear stochastic difference equation

xk +1 = f ( xk , wk , uk ) z k = h ( xk , v k )

@ Mehul Motani, 2000

30

15

The Extended Kalman Filter


Linearize about the current mean and covariance using Taylor Series notions.

xk +1 = ~k +1 + Ak ( xk xk ) + Wk wk x z = ~ + H (x ~ ) + U u z x
k k k k k k k

Use Jacobians to project ahead and to relate measurement to states.


@ Mehul Motani, 2000 31

Non-Gaussian Noise
Kalman filter is no longer universally optimum. It is still the minimum variance estimator amongst all linear unbiased estimators.

@ Mehul Motani, 2000

32

16

What did they do before Kalman?


Weiner filter
Developed by Weiner at MIT in the 1940s Analyzes time series in the frequency domain Applies only to stationary problems

There is much work on extending Weiners ideas to nonstationary problems.

@ Mehul Motani, 2000

33

Kalman vs. Weiner


Kalman Filter applies to both stationary and nonstationary problems Implementation Issues
Weiner filter operates on all data directly for each estimate Kalman filter recursively conditions current estimate on all past measurements.
@ Mehul Motani, 2000 34

17

All Roads Lead From Gauss


since all our measurements and observations are nothing more than approximations to the truth, the same must be true of all calculations resting upon them, and the highest aim of all computations made concerning concrete phenomena must be to approximate, as nearly as practicable, to the truth. But this can be accomplished in no other way than by a suitable combination of more observations than the number absolutely requisite for the determination of the unknown quantities. This problem can only be properly undertaken when an approximate knowledge of the orbit has been already attained, which is afterwards to be corrected so as to satisfy all the observations in the most accurate manner possible.
-- From Theory of the Motion of the Heavenly Bodies Moving about the Sun in Conic Sections, Gauss, 1809 @ Mehul Motani, 2000 35

Discussion
Non-white measurement and process noise. Non-independent noise What if the statistics of the noise are unknown or vary rapidly? Efficient as it is, the Kalman filter is still not practical for high dimensional systems. Can you approximate the Kalman filter for large systems?
@ Mehul Motani, 2000 36

18

One Last Thing to Think About


Suppose we want to construct a time history of the states given all the measurements, rather than estimating the state as measurements come in. Can we do better than the Kalman filter?

@ Mehul Motani, 2000

37

19