You are on page 1of 78

Use of Kalman filters in time and

frequency analysis
John Davis
1st May 2011

Overview of Talk
Simple example of Kalman filter
Discuss components and operation of filter
Models of clock and time transfer noise and
deterministic properties
Examples of use of Kalman filter in time and
frequency

Predictors, Filters and Smoothing Algorithms


Predictor: predicts parameter values ahead of current
measurements
Filter: estimates parameter values using current and
previous measurements
Smoothing Algorithm: estimates parameter values
using future, current and previous measurements

What is a Kalman Filter ?


A Kalman filter is an optimal recursive data processing
algorithm
The Kalman filter incorporates all information that can be
provided to it. It processes all available measurements,
regardless of their precision, to estimate the current value
of the variables of interest
Computationally efficient due to its recursive structure
Assumes that variables being estimated are time
dependent
Linear Algebra application

Simple Example
1.5E-08

1.0E-08

Offset

5.0E-09

0.0E+00
0

10

12

-5.0E-09

-1.0E-08
Date
Truth

Measurement

14

16

18

20

Simple Example (Including Estimates)


1.5E-08

1.0E-08

5.0E-09

0.0E+00
0

10

12

14

-5.0E-09

-1.0E-08
Truth

Measurement

Filter Estimate

16

18

20

Estimation Errors and Uncertainty


6.0E-09
4.0E-09

Error

2.0E-09
0.0E+00
0

10

12

14

-2.0E-09
-4.0E-09
-6.0E-09
Date
Error

Uncertainty (lower)

Uncertainty (upper)

16

18

20

Operation of Kalman Filter

Provides an estimate of the current parameters using


current measurements and previous parameter
estimates
Should provide a close to optimal estimate if the
models used in the filter match the physical situation
World is full of badly designed Kalman filters

What are the applications in time and frequency?


Analysis of time transfer / clock measurements where
measurement noise is significant
Clock and time scale predictors
Clock ensemble algorithms
Estimating noise processes
Clock and UTC steering algorithms
GNSS applications

Starting point for iteration 11 of filter


1.4E-08
1.2E-08
1.0E-08

Offset

8.0E-09
6.0E-09
4.0E-09
2.0E-09
0.0E+00
-2.0E-09

10

12

Date
Measurement

Filter Estimate

14

16

18

20

Five steps in the operation of a Kalman filter


(1) State Vector propagation
(2) Parameter Covariance Matrix propagation
(3) Compute Kalman Gain
(4) State Vector update
(5) Parameter Covariance Matrix update

Components of the Kalman Filter (1)


State vector x
Contains required parameters. These parameters
usually contain deterministic and stochastic
components.
Normally include: time offset, normalised frequency
offset, and linear frequency drift between two clocks
or timescales.
State vector components may also include: Markov
processes where we have memory within noise
processes and also components of periodic
instabilities

Components of the Kalman Filter (2)


State Propagation Matrix ( )
Matrix used to extrapolate the deterministic
characteristics of the state vector from time t to t+

Steps in the operation of the Kalman Filter


Step 1: State vector propagation from iteration n-1 to n

x (tn ) ( ) x (tn1 )

x (tn ) Estimate of the state vector at iteration n not


including measurement n.

( )

spacing

State propagation matrix calculated for time

x (tn1 )
Estimate
of the state vector at iteration n-1

including measurement n-1.

Step 1: State Vector Extrapolation


1.4E-08
1.2E-08
1.0E-08

Offset

8.0E-09
6.0E-09
4.0E-09
2.0E-09
0.0E+00
-2.0E-09

10

12

14

Date
Measurement

Filter Estimate

State Vector Extrapolation

16

18

20

Components of the Kalman Filter (3)


Parameter Covariance Matrix P
Contains estimates of the uncertainty and correlation
between uncertainties of state vector components.
Based on information supplied to the Kalman filter.
Not obtained from measurements.
Process Covariance Matrix Q( )
Matrix describing instabilities of components of the
state vector, e.g. clock noise, time transfer noise
moving from time t to t+
Noise parameters
Parameters used to determine the elements of the
process covariance matrix, describe individual noise
processes.

Steps in the operation of the Kalman Filter


Step 2: Parameter covariance matrix propagation from
iteration n-1 to n

P (tn ) ( ) P (tn1 ) ( ) Q(tn )

Parameter covariance matrix, at iteration n1 including measurement n-1


T
( ) ( ) State propagation matrix and
transpose calculated for time spacing

P (tn ) Parameter covariance matrix, at iteration n


not including measurement n
Q(tn ) Process covariance matrix

Uncertainty Extrapolation
6.0E-09
4.0E-09

Error / Uncertainty

2.0E-09

0.0E+00
0

10

12

14

16

18

-2.0E-09
-4.0E-09
-6.0E-09

Error
Date
Uncertainty (upper)
Uncertainty Extrapolation (upper)

Uncertainty (lower)
Uncertainty Extrapolation (lower)

20

Components of the Kalman Filter (4)


Design Matrix H
Matrix that relates the measurement vector and the
state vector using y =H x
Measurement Covariance Matrix R
Describes measurement noise, white but individual
measurements may be correlated. May be removed.
Kalman Gain K
Determines the weighting of current measurements and
estimates from previous iteration. Computed by filter.

Steps in the operation of the Kalman Filter


Step 3 :Kalman gain computation

K (tn ) P (tn ) H H P (tn ) H R(tn )

P (tn ) Parameter covariance matrix, at iteration n not


including measurement n
T
H H Design Matrix and Transpose
K (tn ) Kalman Gain
R (tn ) Measurement covariance matrix

Components of the Kalman Filter (5)


Measurement Vector y
Vector containing measurements input during a
single iteration of the filter
Identity Matrix I

Steps in the operation of the Kalman Filter


Step 4 :State vector update

x (tn ) x (tn ) K (tn ) y (tn ) H x (tn )

x (tn ) x (tn )

Estimate of the state vector at iteration n


including and not including
measurement
n respectively.
K
(tn )
y (tn ) Kalman Gain
H Measurement Vector

Design Matrix

Step 4 :State Vector Update


1.4E-08
1.2E-08
1.0E-08

Offset

8.0E-09
6.0E-09
4.0E-09
2.0E-09
0.0E+00
-2.0E-09

Measurement

Filter Estimate

10

12

Date
State Vector Extrapolation

14

16

State Vector Update

18

20

Steps in the operation of the Kalman Filter


Step 5 :Parameter Covariance Matrix update

P (t ) I K (t n ) H P (t )

K (tn )

Kalman Gain
Design Matrix

H
P (tn ) P(tn ) Parameter Covariance Matrix, at iteration
n, including and not including measurement n
respectively
I Identity Matrix

Steps in the operation of the Kalman Filter


If Kalman gain is deliberately set sub-optimal, then use

P (t ) I K (tn ) H P (t ) I K (tn ) H

K (tn )

Kalman Gain
Design Matrix

H
P (tn ) P(tn ) Parameter Covariance Matrix, at
iteration n, including and not including measurement
n respectively
I Identity Matrix

Step 5: Uncertainty Update


6.0E-09

Error / Uncertainty

4.0E-09
2.0E-09
0.0E+00
0

10

12

14

16

18

-2.0E-09
-4.0E-09
-6.0E-09
Date
Error
Uncertainty Extrapolation (lower)
Uncertainty update (upper)

Uncertainty (lower)
Uncertainty Extrapolation (upper)

Uncertainty (upper)
Uncertainty Update (lower)

20

Constructing a Kalman Filter:


Lots to think about!

Choice of State Vector components


Choice of Noise Parameters
Choice of measurements
Description of measurement noise
Choice of Design Matrix
Choice of State Propagation Matrix
Initial set up conditions
Dealing with missing data
Testing out the filter
Computational methods

Initialising the Kalman Filter


Set the initial parameters to physically realistic values
If you have no information set diagonal values of
Parameter Covariance Matrix high, filter will then give a
high weight to the first measurement.
Set Parameters with known variances e.g. Markov
components of Parameter Covariance Matrices to their
steady state values.
Set Markov State Vector components and periodic
elements to zero.
Elements of H, ( ), Q( ), R are pre-determined

Simulating Noise and Deterministic Processes


Use the same construction of state vector components
x, state propagation matrix ( ), parameter covariance
matrix P, process covariance matrix Q( ), design
matrix H and measurement covariance matrix R.
Simulate all required data sets
Simulate true values of state vector for error analysis
May determine ADEV, HDEV, MDEV and TDEV
statistics from parameter covariance matrix

Simulating Noise and Deterministic Processes

x (tn ) ( ) x (tn1 ) L Q (tn )e(tn )


Where

Q LQ (tn ) LQ (tn )

Q = Process Covariance Matrix


x (tn ) x (tn1 ) = State Vector at iteration n and n-1
respectively
( ) = State Propagation Matrix calculated for time
spacing
e(tn )
Vector
of normal distribution noise of
unity magnitude

Simulating Noise and Deterministic Processes

P (tn ) ( ) P (tn1 ) ( ) Q (tn )


T

P (tn ) P (tn1 ) Process Covariance Matrix at iterations n


and n-1 respectively

( ) ( ) State Propagation Matrix and


T

transpose computed at time spacing .

Q (tn ) Process Covariance Matrix calculated at time

spacing

Simulating Noise and Deterministic Processes

y (tn ) H x(tn ) LR (tn )e(tn )


where

R LR (tn ) L (tn )
T
R

y (tn ) Measurement Vector


H Design Matrix
R Measurement Covariance Matrix
e(tn ) Vector of normal distribution noise of
unity

magnitude

ADEV, HDEV, and MDEV determined


from Parameter Covariance Matrix and simulation
10

-12

ADEV simulation
HDEV simulation
MDEV simulation
ADEV theory
HDEV theory
MDEV theory

z
-13

S ig m a

10

10

10

-14

-15

10

10

10

tau

10

10

10

Simulating Noise and Deterministic Processes

Test Kalman filter with a data set with same


stochastic and deterministic properties as is expected
by the Kalman filter.
Very near optimal performance of Kalman filter under
these conditions.

Deterministic Properties
Linear frequency drift
Use three state vector components, time offset,
normalised frequency offset and linear frequency drift

2 2

0 1

0
0
1

Markov Noise Process

x e

White Noise
n
Random Walk Noise
n
n 1
Markov Noise
0 k 1
n
n 1
Flicker noise, combination of Markov processes with
continuous range of relaxation parameters k
Markov noise processes and flicker noise have
memory
Kalman filters tend to work very well with Markov
noise processes
May only construct an approximation to flicker noise
in a Kalman filter

x x e
x kx e

Markov Noise Process


6

x 10

-6

T im e O f s e t

4
2
0
-2
-4
-6
6

6.5

7
MJD

7.5

Describing Measurement Noise


Kalman filter assumes measurement noise
introduced via matrix R is white
Time transfer noise e.g TWSTFT and GNSS noise is
often far from white
Add extra components to state vector to describe non
white noise, particularly useful if noise has memory
e.g. flicker phase noise
NPL has not had any problems in not using a
measurement noise matrix R

White Phase Modulation


x 10

WPM Noise

-10

T im e O f s e t

0.5

-0.5

10
MJD

15

20

White Phase Modulation


8

x 10

-11

WPM Noise (sample)

T im e O f s e t

6
4
2
0
-2
-4

10

10.2

10.4

MJD

10.6

10.8

11

White Phase Modulation


10

S ig m a

10

10

10

10

10

ADEV, HDEV MDEV of WPM

-12

ADEV Measurements
HDEV Measurements
MDEV Measurements
ADEV Theory
HDEV Theory
MDEV Theory

-13

-14

-15

-16

-17

10

10

10
tau

10

10

Flicker Phase Modulation


2

x 10

-10

Simulated FPM Noise

1.5
1

Time Ofset

0.5
0
-0.5
-1
-1.5
-2
-2.5

10
MJD

15

20

Flicker Phase Modulation


10

S ig m a

10

10

10

10

ADEV, HDEV MDEV of FFM

-12

ADEV Measurements
HDEV Measurements
MDEV Measurements
ADEV Theory
HDEV Theory
MDEV Theory

-13

-14

-15

-16

10

10

10
tau

10

10

Measurement noise used in Kalman filter


2

x 10

Simulated Time Transfer Noise

-10

T im e O f s e t

-1

-2

10
MJD

15

20

Measurement noise ADEV, MDEV and HDEV


ADEV,
HDEV MDEV of measurements noise
-12

10

S ig m a

10

10

10

10

ADEV Measurements
HDEV Measurements
MDEV Measurements
ADEV Theory
HDEV Theory
MDEV Theory

-13

-14

-15

-16

10

10

10
tau

10

10

Clock Noise

White Frequency Modulation and Random Walk


Frequency Modulation easy to include as single noise
parameters.
Flicker Frequency Modulation may be modelled as
linear combination of Integrated Markov Noise
Parameters

White Frequency Modulation


5

x 10

WFM Noise

-8

T im e Ofset

-5

-10

-15

10
MJD

15

20

White Frequency Modulation

S ig m a

10

10

10

ADEV, HDEV MDEV of WFM

-11

ADEV Measurements
HDEV Measurements
MDEV Measurements
ADEV Theory
HDEV Theory
MDEV Theory
-12

-13

10

10

10
tau

10

10

Random Walk Frequency Modulation


0

x 10

RWFM Noise

-7

-1

T im e O fse t

-2
-3
-4
-5
-6
-7
-8
-9
0

10
MJD

15

20

Random Walk Frequency Modulation


10

-13

S ig m a

10

ADEV, HDEV MDEV of RWFM

-12

10

10

ADEV Measurements
HDEV Measurements
MDEV Measurements
ADEV Theory
HDEV Theory
MDEV Theory

-14

-15

10

10

10
tau

10

10

FFM Noise
2

x 10

FFM Noise

-9

Time Ofset

0
-1
-2
-3
-4
-5
-6
-7

10
MJD

15

20

Flicker Frequency Modulation


ADEV, HDEV MDEV of FFM noise

-14

S ig m a

10

ADEV Measurements
HDEV Measurements
MDEV Measurements
ADEV Theory
HDEV Theory
MDEV Theory

10

-15

10

10

10
tau

10

10

Periodic Instabilities

Often occur in GNSS Applications


Orbit mis-modelling
Diurnal effects on Time Transfer hardware
Periodicity decays over time
Model as combination of Markov noise process and
periodic parameter
Two extra state vector component to represent
periodic variations

GPS Time Individual Clock (Real Data)


Input data space clock prn 9

-5

1.622

x 10

Input Data

T im e O f s e t

1.6215
1.621
1.6205
1.62
1.6195
1.619
0

Day
D

GPS Time Individual Clock (Simulated Data)


-8
Simulated
data with similar characteristics
x 10

GPS CV

T im e O f s e t

0.5

-0.5

-1

-1.5

MJD

10

11

12

13

ADEV, HDEV, MDEV Real Data

ADEV / H DEV / MDEV

10

10

10

10

ADEV / HDEV / MDEV Prn 9

-11

ADEV
HDEV
MDEV
-12

-13

-14

10

10

10
Tau

10

10

ADEV, HDEV, MDEV Simulated Data


10

ADEV Measurements
HDEV Measurements
MDEV Measurements
ADEV Theory
HDEV Theory
MDEV Theory

-12

ADEV

10

ADEV, HDEV MDEV Theory and Measurement

-11

10

10

-13

-14

10

10

10
tau

10

10

Kalman Filter Residuals

( y Hx )
Residuals
Residual Variance (Theory)

V HP H

In an optimally constructed Kalman Filter the


Residuals should be white!
Residual Variance obtained from Parameter
Covariance matrix should match that obtained from
statistics applied to residuals

Kalman Filter Residuals (Simulated Data)


-9
Kalman
Filter Residuals (simulated data)
x 10

Time Ofset

0.5
0
-0.5
-1
-1.5

5.5

6.5
MJD

7.5

Kalman Filter Residuals (Real Data)


1.5

-9
Kalman
Filter Residuals (real data)
x 10

Time Ofset

1
0.5
0
-0.5
-1
-1.5

2.5

3.5
MJD

4.5

Computational Issues

Too many state vector components result in a significant


computational overhead
Observability of state vector components
Direct computation vs factorisation
Direct use of Kalman filter equations usually numerically stable and
easy to follow.
Issue of RRFM scaling if a linear frequency drift state vector
component is used

Clock Predictor Application

May provide a close to optimal prediction in an


environment that contains complex noise and
deterministic characteristics
If noise processes are simple e.g. WFM and no linear
frequency drift then very simple predictors will work
very well.

Clock Predictor Equations (Prediction)

x (t ) ( ) x (t

n 1

Repeated application of above equation.


Apply above equations with ( ) calculated
at the required prediction length

Clock Predictor Equations (PED)

P (t ) ( ) P (t ) ( ) Q(tn )

n 1

Repeated application of above equation.


Apply above equations with ( ) calculated at the
required prediction length

Example: Predicting clock offset in presence


of periodic instabilities

ADEV = PED/Tau

Above equation exact in case of WFM and RWFM


noise processes, and a reasonable approximation in
other situations

ADEV, HDEV, MDEV Simulated Data


10

ADEV Measurements
HDEV Measurements
MDEV Measurements
ADEV Theory
HDEV Theory
MDEV Theory

-12

ADEV

10

ADEV, HDEV MDEV Theory and Measurement

-11

10

10

-13

-14

10

10

10
tau

10

10

(PED /Tau) Prediction of Space Clocks


(simulated data)
Mean PED / tau

-11.4

Prediction Deviation Clock and Noise


Prediction Error

-11.6

lo g P E D / ta u

-11.8
-12

-12.2
-12.4
-12.6
-12.8
-13
-13.2
-13.4

2.5

3.5
4
log Tau

4.5

5.5

ADEV, HDEV, MDEV Real Data

ADEV / H DEV / MDEV

10

10

10

10

ADEV / HDEV / MDEV Prn 9

-11

ADEV
HDEV
MDEV
-12

-13

-14

10

10

10
Tau

10

10

(PED /Tau) Prediction of Space Clocks


(real data)
Mean PED / tau

-11.4

Prediction Deviation Clock and Noise


Prediction Error

-11.6
Add plot

lo g P E D / ta u

-11.8
-12

-12.2
-12.4
-12.6
-12.8
-13
-13.2
-13.4

2.5

3.5
4
log Tau

4.5

5.5

Kalman Filter Ensemble Algorithm


Most famous time and frequency application of the
Kalman filter
Initially assume measurements are noiseless.
Measurements (Cj C1), difference between pairs of
individual clocks
Estimates (T Ci), where T is a perfect clock.
Parameters being estimated cannot be constructed
from the measurements:
Badly designed Kalman filter.
Problem solved using covariance x reduction

Stability of Composite Timescales

Advantage of Kalman Filter based Ensemble


Algorithm

Potential of close to optimal performance over a range


of averaging times
Clasical Ensemble Algorithms provide a very close to
optimal performance at a single averaging time

Combining TWSTFT and GPS Common-View


measurements
Time transfer noise modelled using Markov Noise
processes
Calibration biases modelled using long relaxation
time Markov

Real Time Transfer Data Example


6.5

x 10

-8

Measurements actually used


GPS CV
TWSTFT

T i m e -O f s e t (s )

5.5
5

4.5
4

3.5
3
2.5
5.4405

5.441

5.4415
MJD

5.442

5.4425
x 10

Kalman Filter Estimates


5.5

x 10

-8

True time-ofset and estimates


Estimated Time-Ofset

T i m e -O f s e t (s )

4.5

3.5

5.4405

5.441

5.4415
MJD

5.442

5.4425
x 10

Kalman Filter Residuals


8

x 10

-9

Kalman Filter Residuals


GPS CV
TWSTFT

T im e -O f s e t ( s )

4
2
0
-2
-4
-6
-8
-10
-12
5.4405

5.441

5.4415
MJD

5.442

5.4425
x 10

Summary

Operation of the Kalman filter


Stochastic and deterministic models for time and
frequency applications
Real examples of use Kalman Filter

Title of Presentation
Name of Speaker
DateThe National Measurement System delivers world-class
measurement science & technology through these organisations

The National Measurement System is the UKs national infrastructure of measurement


Laboratories, which deliver world-class measurement science and technology through four
National Measurement Institutes (NMIs): LGC, NPL the National Physical Laboratory, TUV NEL
The former National Engineering Laboratory, and the National Measurement Office (NMO).

You might also like