723 views

Original Title: kalman filter

Uploaded by erdemhayir

- Principles of Modern Radar - Volume 1
- Kalman filter
- Tracking and Kalman Filtering Made Easy
- An Introduction to the Kalman Filter (FULL VERSION)
- Radar Equations for Modern Radar
- Design and Analysis of Modern Tracking System
- Kalman Filter Tutorial -Presentation
- Kalman Filter for Dummies
- Linear and Nonlinear Multivariable Feedback Control a Classical Approach~Tqw~_darksiderg
- Advanced Control using MATLAB
- Kalman Filter Design - MATLAB
- The Scalar Kalman Filter
- Matlab Code
- A Efficient Orientation Filter for IMUs and MARG Sensor Arrays
- Kalman Dan Simon
- Motion Tracking Using Kalman Filter Matlab Code
- target tracking using kalman ppt
- Filtering and System Identification
- Kalman Filter
- Beyond the Kalman FilterParticle Filters for Tracking Applications

You are on page 1of 83

with MATLAB Examples

SenSIP Center, Arizona State University

The Kalman lter is the Bayesian optimum solution to the problem of sequentially estimating the

states of a dynamical system in which the state evolution and measurement processes are both linear

and Gaussian. Given the ubiquity of such systems, the Kalman lter nds use in a variety of

applications, e.g., target tracking, guidance and navigation, and communications systems. The purpose

of this book is to present a brief introduction to Kalman ltering. The theoretical framework of the

Kalman lter is rst presented, followed by examples showing its use in practical applications.

Extensions of the method to nonlinear problems and distributed applicationsare discussed. A software

implementation of the algorithm in the MATLAB programming language is provided, as well as

MATLAB code for several example applications discussed in themanuscript.

M

&C

Mor gan

&Cl aypool

Publishers

An Introduction to

Kalman Filtering with

MATLAB Examples

Narayan Kovvali

Mahesh Banavar

Andreas Spanias

About SYNTHESIs

Mor gan

&Cl aypool

ISBN: 978-1-62705-139-2

Publishers

w w w. m o r g a n c l a y p o o l . c o m

90000

9 781627 051392

Digital Library of Engineering and Computer Science. Synthesis Lectures

provide concise, original presentations of important research and development

topics, published quickly, in digital and print formats. For more information

visit www.morganclaypool.com

Jos Moura, Series Editor

An Introduction to

Kalman Filtering

with MATLAB Examples

Processing

Editor

Jos Moura, Carnegie Mello University

Synthesis Lectures in Signal Processing will publish 50- to 100-page books on topics of interest to

signal processing engineers and researchers. e Lectures exploit in detail a focused topic. ey can

be at dierent levels of expositionfrom a basic introductory tutorial to an advanced

monographdepending on the subject and the goals of the author. Over time, the Lectures will

provide a comprehensive treatment of signal processing. Because of its format, the Lectures will also

provide current coverage of signal processing, and existing Lectures will be updated by authors when

justied.

Lectures in Signal Processing are open to all relevant areas in signal processing. ey will cover theory

and theoretical methods, algorithms, performance analysis, and applications. Some Lectures will

provide a new look at a well established area or problem, while others will venture into a brand new

topic in signal processing. By careful reviewing the manuscripts we will strive for quality both in the

Lectures contents and exposition.

Narayan Kovvali, Mahesh Banavar, and Andreas Spanias

2013

Marcelo G.S. Bruno

2013

Wail A. Mousa and Abdullatif A. Al-Shuhail

2011

Wayne T. Padgett and David V. Anderson

2009

Francesco Bandiera, Danilo Orlando, and Giuseppe Ricci

2009

iii

Forester W. Isen

2009

Forester W. Isen

2008

Forester W. Isen

2008

Forester W. Isen

2008

P. P. Vaidyanathan

2007

Luis B. Almeida

2006

Yanwei Wang, Jian Li, and Petre Stoica

2006

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in

any form or by any meanselectronic, mechanical, photocopy, recording, or any other except for brief quotations

in printed reviews, without the prior permission of the publisher.

Narayan Kovvali, Mahesh Banavar, and Andreas Spanias

www.morganclaypool.com

ISBN: 9781627051392

ISBN: 9781627051408

paperback

ebook

DOI 10.2200/S00534ED1V01Y201309SPR012

SYNTHESIS LECTURES ON SIGNAL PROCESSING

Lecture #12

Series Editor: Jos Moura, Carnegie Mello University

Series ISSN

Synthesis Lectures on Signal Processing

Print 1932-1236 Electronic 1932-1694

An Introduction to

Kalman Filtering

with MATLAB Examples

SenSIP Center, Arizona State University

M

&C

ABSTRACT

e Kalman lter is the Bayesian optimum solution to the problem of sequentially estimating the

states of a dynamical system in which the state evolution and measurement processes are both

linear and Gaussian. Given the ubiquity of such systems, the Kalman lter nds use in a variety of applications, e.g., target tracking, guidance and navigation, and communications systems.

e purpose of this book is to present a brief introduction to Kalman ltering. e theoretical

framework of the Kalman lter is rst presented, followed by examples showing its use in practical applications. Extensions of the method to nonlinear problems and distributed applications

are discussed. A software implementation of the algorithm in the MATLAB programming language is provided, as well as MATLAB code for several example applications discussed in the

manuscript.

KEYWORDS

dynamical system, parameter estimation, tracking, state space model, sequential

Bayesian estimation, linearity, Gaussian noise, Kalman lter

vii

Contents

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

e Estimation Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1

2.2

2.3

2.4

e Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.1

3.2

3.3

eory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2.1 Sample MATLAB Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.2.2 Computational Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3.1 Target Tracking with Radar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3.2 Channel Estimation in Communications Systems . . . . . . . . . . . . . . . . . . 31

3.3.3 Recursive Least Squares (RLS) Adaptive Filtering . . . . . . . . . . . . . . . . . 34

4.1

4.2

Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Example: Maximum-Likelihood Estimation in Gaussian Noise . . . . . . . . 6

Linear Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

e Bayesian Approach to Parameter Estimation . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3.1 Example: Estimating the Bias of a Coin . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Sequential Bayesian Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4.1 Example: e 1-D Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.1.1 Example: Predator-Prey System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Decentralized Kalman Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.2.1 Example: Distributed Object Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

viii

Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Authors Biographies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

ix

Acknowledgments

e work in this book was supported in part by the SenSIP Center, Arizona State University.

Narayan Kovvali, Mahesh Banavar, and Andreas Spanias

September 2013

CHAPTER

Introduction

Statistical estimation is the process of determining the values of certain parameters or signals

from empirical (measured or collected) data which is typically noisy and random in nature [1, 2].

Statistical estimation has application in a multitude of areas. For example, in the area of consumer

electronics, estimation techniques are used for mobile wireless communications, intelligent voice

and gesture recognition, multimedia enhancement and classication, GPS navigation, and much

more. In defense and security related elds, applications include target tracking, guidance and

navigation systems, and threat detection. Statistical estimation methods also play a vital role in

health monitoring and medical diagnosis problems.

e ow graph of an estimation problem is shown in Figure 1.1. In the estimation problem, the task is to estimate an unobservable phenomenon of interest (represented by a set of

parameters) using observed data. When the parameters vary over time, the estimate may be iteratively updated using continuously obtained data, as shown in Figure 1.2. is type of estimation,

termed sequential estimation, involves computing an initial estimate and then iteratively updating

the estimate based on the most recent data.

Figure 1.1: In the estimation problem, the task is to estimate an unobservable phenomenon of interest

(represented by a set of parameters) using observed data.

A large number of statistical estimation algorithms exist, ranging from point estimators

such as maximum-likelihood (ML) and maximum a posteriori (MAP) estimators which compute the single best parameter that maximizes the likelihood of the observed data or a posteriori

parameter probability, to Bayesian methods which compute the full posterior probability distribution of the parameters. One class of estimation, known as linear estimation, computes the

parameter estimate as a simple linear function of the data. Estimation algorithms are designed to

satisfy various optimality criteria, such as consistency, eciency, unbiasedness, minimum vari-

1. INTRODUCTION

Figure 1.2: In sequential estimation, time-varying parameters are estimated by computing an initial

estimate and then iteratively updating the estimate based on the most recent data.

ance, and minimum mean square error (MMSE) [1]. Given a model estimation problem, bounds

can be calculated on estimation performance. For example, the Cramr-Rao lower bound (CRLB)

denes a lower bound on the variance of an estimator [1].

e Kalman lter was developed by Rudolph Kalman and Richard Bucy [3, 4] in the 60s

and is used for the estimation of the parameters (or states) of a linear Gaussian dynamical system.

Specically, in a state space setting, the system state must propagate according to a linear evolution model with Gaussian process noise and the data (measurements) must be linearly related

to the state with Gaussian noise. Many systems encountered in real-world applications are wellcharacterized by this model. e Kalman lter is a popular choice for estimating the parameters

of dynamical systems for several reasons, including:

e Kalman lter is the Bayesian optimum estimator for sequentially estimating the states

of a linear Gaussian dynamical system;

e Kalman ltering algorithm has low computational complexity and can be implemented

in DSP hardware for realtime applications;

Variations and extensions of the Kalman lter are readily available for nonlinear, distributed,

and non-Gaussian problems, such as the extended Kalman lter, the unscented Kalman

lter, the decentralized Kalman lter, and the particle lter [5].

e Kalman lter nds application in a variety of problems, for example, target tracking [6] and

sensor drift correction and inertial navigation [79].

e rest of this book is organized as follows. Chapter 2 introduces the statistical estimation problem and reviews important estimation approaches, such as maximum-likelihood and

Bayesian estimators. Chapter 3 describes the analytical framework of the Kalman lter. Chapter 4 discusses extensions of Kalman ltering for nonlinear problems and distributed applications.

In each chapter, several examples are presented to illustrate the methods and algorithms. Figures

are used in the form of block diagrams, system descriptions, and plots throughout the manuscript

to illustrate the concepts. MATLAB programs are also provided for most examples. Chapter 5

summarizes the topics covered and provides some references for further reading.

CHAPTER

e Estimation Problem

2.1

BACKGROUND

e problem of estimating nonobservable phenomena of interest (termed parameters) using observed data (e.g., sensor measurements) is a ubiquitous one. Estimation tasks arise in a wide variety of real-world applications, such as medical diagnosis using imaging and bio-signals, weather

forecasting based on temperature, pressure, and wind speed readings, and the tracking of target

position and velocity using radar or sonar imagery.

A general parameter estimation problem [1, 10, 11] can be stated as follows. Let x be a

D 1 vector that denotes the parameters of interest and y a M 1 vector denoting observed

data. e data y carries information about parameters x, quantied using a measurement model

that explicitly relates x and y . e measurement model could be deterministic (i.e., it involves no

random components), for example,

y D h.x/;

(2.1)

where h W RD 7! RM is a known function (we assume, without loss of generality, that the parameters and data are real-valued). It could also be probabilistic, with a stochastic model used to

describe the relationship between x and y :

y D h.x/ C w;

(2.2)

y p.yjx/;

(2.3)

which directly species the conditional probability density function (pdf ) of y given x. e estimation problem is then to determine the parameter vector x using the observed data y , and

an estimation algorithm is employed to compute the estimate of x, denoted as xO . e estimate

O .y/ depends on the data y . For the models in (2.1) and (2.2), this amounts to some sort of an

x

inversion of the function h:

O .y/ h 1 .y/:

x

(2.4)

For (2.3), a popular estimator for x is the maximum-likelihood (ML) estimate [1, 10, 11]:

O ML .y/ , argmax p.yjx/:

x

x

(2.5)

the data set size N ! 1. An estimate xO is said to be unbiased if

Z

O .y/ p.yjx/ d y D x;

EOx.y/ D x

(2.6)

where E denotes expectation. Figure 2.1 shows the basic components of the general estimation

problem.

Figure 2.1: e general estimation problem is to determine a parameter vector of interest x using

observed data y , and an estimation algorithm is employed to compute the estimate xO .

In many applications, we are interested in estimating parameters that are not static but

rather dynamic or varying over time, with the dynamics governed by an evolution law or model.

A large number of real-world dynamical systems characterized by stationary and non-stationary

random processes fall into this category. For the purpose of estimation, data about the timevarying parameters is typically collected at regular intervals of time. In this work we will only

consider discrete-time dynamical systems.

2.1.1

NOISE

Consider the problem of estimating parameters given data corrupted by additive Gaussian noise.

Specically, we are interested in estimating parameters x from noisy data y of the form

y D h.x/ C w;

(2.7)

where the function h W RD 7! RM models the relationship between the D 1 parameter vector

x and M 1 data vector y , and w is a M 1 Gaussian random measurement noise vector with

zero mean and covariance matrix R D y2 I . e ML estimator xO ML .y/ for the parameters x is

obtained as follows.

e likelihood function for the parameters x is given by

!

1

1

p.yjx/ D

(2.8)

exp

ky h.x/k2 ;

2y2

.2y2 /M=2

O ML .y/ D argmax log p.yjx/;

x

x

"

M

log 2

D argmax

2

x

M

log y2

2

1

ky

2y2

h.x/k2 ;

(2.9)

h.x/k2 ;

D argmin ky

x

which is the well-known least squares solution. In particular, when the model is linear, i.e.,

(2.10)

y D H x C w;

O ML .y/ D argmin ky

x

x

2.2

H xk2 D .HT H/

HT y:

(2.11)

LINEAR ESTIMATION

Before proceeding to general probabilistic estimation, in this section we briey discuss the frequently encountered setting of linear estimation. For our discussion, we pick the specic context

of estimating a sampled discrete-time signal from noisy measurements. Let xn denote the signal

of interest at time step n 2 ZC and let yn be the corresponding noisy measured signal. e goal

is to design a linear estimator for xn of the form

xO n D

where a0 ; a1 ; : : : ; aM

notation,

M

X1

(2.12)

ai yn i ;

iD0

2

xO n D

a0

a1

: : : aM

6

6

6

4

yn

yn 1

::

:

yn

M C1

xO n is minimized. In matrix

3

7

7

7:

5

(2.13)

E.xn

xO n /2 D Exn2

D Exn2

2Exn xO n C ExO n2

2

" M 1

#

!2 3

M

X

X1

2E xn

ai yn i C E 4

ai yn i 5 ;

iD0

iD0

(2.14)

@

E.xn

@ai

20

M

X1

2Exn yn i C 2E 4@

xO n /2 D

D

for i D 0; : : : ; M

2Exn yn i C 2

M

X1

1

aj yn

j D0

aj Eyn

A yn i 5

yn i ;

(2.15)

j D0

1. Equating this to zero, we see that the desired lter coecients satisfy

M

X1

aj Eyn

j D0

yn i D Exn yn i ;

i D 0; : : : ; M

1:

(2.16)

When the signals yn and xn are wide-sense stationary (i.e., their statistics up to the secondorder are independent of time), with autocorrelation and cross-correlation sequences given respectively by

yy

ri

xy

ri

(2.17a)

(2.17b)

, Eyn yn i ;

, Exn yn i ;

M

X1

yy

aj ri

xy

D ri ;

j D0

i D 0; : : : ; M

(2.18)

1;

which are the Wiener-Hopf equations [12]. Note that the autocorrelation and cross-correlation

yy

yy

xy

yx

sequences obey symmetry properties: ri D r i and ri D r i . In matrix notation, (2.18) can be

written as

3 2

32

2

xy 3

yy

yy

yy

r0

a0

r0

r1

: : : rM 1

xy 7

yy

yy

7 6

6

6 r yy

r0

: : : rM 2 7

7 6 a1 7 6 r1 7

6 1

(2.19)

7 D 6 :: 7 ;

6 ::

::

::

:: 7 6

::

5 4 : 5

4 :

:

:

:

: 54

yy

rM

yy

rM

yy

:::

aM

r0

xy

rM

or

Ryy a D r xy :

(2.20)

a D .Ryy /

r xy :

(2.21)

e matrix Ryy is symmetric and positive-semidenite, and a unique solution almost always exists

for (2.21). Since the signals involved are stationary, the lter is time-invariant. e linear estimate

for xn is then computed using (2.13) as

xO n D aT yn ;

(2.22)

T

1 measurement vector at time step n.

2.3

: : : yn

M C1

is the M

ESTIMATION

In the Bayesian approach [1, 10, 11, 13] to estimation, the parameters of interest are probabilistically estimated by combining two pieces of information: (a) belief about the parameters based on

the likelihood of the observed data as stipulated by a probabilistic measurement model, and (b) a

priori knowledge about the parameters quantied probabilistically by a prior pdf. Specically, in

Bayesian inference the posterior pdf p.xjy/ over the parameters x given the data y is computed

by combining the likelihood p.yjx/ and prior p.x/ using Bayes theorem [11]:

p.xjy/ D

p.yjx/ p.x/

p.yjx/ p.x/

DR

/ p.yjx/ p.x/:

p.y/

p.yjx/ p.x/ d x

(2.23)

Eq. (2.23) prescribes how a priori belief p.x/ about the parameter x is updated to the a posteriori

belief p.xjy/ in light of the observed data y . e Bayes estimate is typically dened as the mean

of the posterior pdf:

Z

O B .y/ , Exjy D

x

x p.xjy/ d x:

(2.24)

e Bayes estimator in (2.24) is optimum in the sense that it minimizes the mean square error

(MSE) Bayes risk [1]

O B .y//T .x x

O B .y// D

O B .y//T .x x

O B .y// p.x; y/ d x d y:

E.x x

.x x

(2.25)

In other words

O B .y/ D argmin E.x

x

O

x.y/

O .y//T .x

x

O .y//:

x

(2.26)

As seen in (2.23) and (2.24), Bayesian estimation utilizes Bayes theorem to compute the

desired parameter estimate. Bayes theorem in its current form was developed as a generalization of the work of Bayes [14]. With the advent of powerful computers, Bayesian estimation is

applied today in many real-world problems with complex statistical models using Monte Carlo

techniques [15, 16].

In a coin ipping experiment, a coin is tossed N times and the outcome heads is observed r times.

Based on this data, we wish to estimate the probability of heads pH for this coin. Following the

10

Bayesian approach, we start by dening a prior pdf over pH , taken here to be the standard uniform

distribution:

1; for 0 pH 1;

p.pH / D

(2.27)

0; otherwise.

Given pH , the probability of observing heads r times in N coin tosses is Binomial and given by

!

N

r

pH

p.rjN; pH / D

.1 pH /N r ; for r D 0; : : : ; N:

(2.28)

r

Combining the prior in (2.27) with the likelihood in (2.28) using Bayes theorem, we obtain the

posterior pdf of pH as the Beta distribution:

(

1

p r .1 pH /N r ; for 0 pH 1;

p.pH jr; N / / p.rjN; pH / p.pH / D B.rC1;N rC1/ H

0;

otherwise,

(2.29)

where B.; / denotes the Beta function. e Bayes estimate of pH is then the mean of the Beta

posterior pdf, Beta.pH I r C 1; N r C 1/, and is given by [2]

Z 1

r C1

B

pH Beta.pH I r C 1; N r C 1/ dpH D

pOH D EpH jr; N D

:

(2.30)

N C2

0

It should be mentioned here that the ML estimate of pH is

!

N

ML

r

pOH

D argmax p.rjN; pH / D argmax

pH

.1

r

pH

pH

pH /N

r

:

N

(2.31)

Figure 2.2f shows plots of the Beta posterior pdf for various r and N . Observe that the

variance of the posterior pdfs decreases with increasing data. e ML estimation method simply

yields a point estimate, unlike the Bayesian estimation approach which provides the full posterior

pdf that can be used to assess condence in the estimate.

2.4

In dynamical systems with parameters evolving over time, a convenient framework for representation is provided by state space models of the form

xn

yn

p.xn jxn 1 /;

p.yn jxn /;

(2.32a)

(2.32b)

where xn is the D 1 state vector (parameters) at time step n 2 ZC and yn is the corresponding

M 1 measurement vector (data). e state vector xn might, for example, represent the position

and velocity of a moving target at time step n that need to be estimated, with the measurement

11

10

9

8

Posterior pdf

7

6

5

4

3

2

1

0

0

0.2

0.4

0.6

Probability of heads

0.8

B

ML

(a) r D 7, N D 10, pOH

D 2=3, pOH

D 7=10

Figure 2.2a: Bayesian estimation of the probability of heads pH for a coin, when the outcome heads

is observed to occur r times in N coin tosses. e plots show the posterior pdf p.pH jr; N /, which,

under a uniform prior, is the Beta distribution Beta(r C 1; N r C 1). e Bayes and ML estimates

of pH are r C 1=N C 2 and r=N , respectively.

12

10

9

8

Posterior pdf

7

6

5

4

3

2

1

0

0

0.2

0.4

0.6

Probability of heads

0.8

B

ML

(b) r D 21, N D 30, pOH

D 11=16, pOH

D 7=10

Figure 2.2b: Bayesian estimation of the probability of heads pH for a coin, when the outcome heads

is observed to occur r times in N coin tosses. e plots show the posterior pdf p.pH jr; N /, which,

under a uniform prior, is the Beta distribution Beta(r C 1; N r C 1). e Bayes and ML estimates

of pH are r C 1=N C 2 and r=N , respectively.

13

10

9

8

Posterior pdf

7

6

5

4

3

2

1

0

0

0.2

0.4

0.6

Probability of heads

0.8

B

ML

(c) r D 63, N D 90, pOH

D 16=23, pOH

D 7=10

Figure 2.2c: Bayesian estimation of the probability of heads pH for a coin, when the outcome heads

is observed to occur r times in N coin tosses. e plots show the posterior pdf p.pH jr; N /, which,

under a uniform prior, is the Beta distribution Beta(r C 1; N r C 1). e Bayes and ML estimates

of pH are r C 1=N C 2 and r=N , respectively.

14

25

Posterior pdf

20

15

10

0

0

0.2

0.4

0.6

Probability of heads

0.8

B

ML

(d) r D 5, N D 5, pOH

D 6=7, pOH

D1

Figure 2.2d: Bayesian estimation of the probability of heads pH for a coin, when the outcome heads

is observed to occur r times in N coin tosses. e plots show the posterior pdf p.pH jr; N /, which,

under a uniform prior, is the Beta distribution Beta(r C 1; N r C 1). e Bayes and ML estimates

of pH are r C 1=N C 2 and r=N , respectively.

15

25

Posterior pdf

20

15

10

0

0

0.2

0.4

0.6

Probability of heads

0.8

B

ML

(e) r D 10, N D 10, pOH

D 11=12, pOH

D1

Figure 2.2e: Bayesian estimation of the probability of heads pH for a coin, when the outcome heads

is observed to occur r times in N coin tosses. e plots show the posterior pdf p.pH jr; N /, which,

under a uniform prior, is the Beta distribution Beta(r C 1; N r C 1). e Bayes and ML estimates

of pH are r C 1=N C 2 and r=N , respectively.

16

25

Posterior pdf

20

15

10

0

0

0.2

0.4

0.6

Probability of heads

0.8

B

ML

(f ) r D 20, N D 20, pOH

D 21=22, pOH

D1

Figure 2.2f: Bayesian estimation of the probability of heads pH for a coin, when the outcome heads

is observed to occur r times in N coin tosses. e plots show the posterior pdf p.pH jr; N /, which,

under a uniform prior, is the Beta distribution Beta(r C 1; N r C 1). e Bayes and ML estimates

of pH are r C 1=N C 2 and r=N , respectively.

17

vector yn comprised of range and range-rate information collected at time step n by a radar system.

Eq. (2.32a) species a rst-order Markov [2] state evolution law for the time-varying state, in

which the state xn at any time step n is independent of the states xn 2 ; xn 3 ; : : : ; x0 at the past

time steps n 2; n 3; : : : ; 0 given the state xn 1 at the immediate previous time step n 1.

Eq. (2.32b) describes the relationship between the time-varying state and the measurements, in

which the measurement yn at any time step n is conditionally independent of all other states given

the state xn at that time step n. Note that both state and measurement models are probabilistic.

e initial state distribution is given by the pdf p.x0 /. Figure 2.3 shows graphically the state space

model for a dynamical system.

Figure 2.3: State space model for a dynamical system. e time-varying state evolves according to

a rst-order Markov model, in which the state xn at any time step n is independent of the states

xn 2 ; xn 3 ; : : : ; x0 at the past time steps n 2; n 3; : : : ; 0 given the state xn 1 at the immediate

previous time step n 1. e measurement yn at any time step n is conditionally independent of all

other states given the state xn at that time step n. e initial state distribution is given by the pdf

p.x0 /.

In the state space setting, two key tasks of interest are: (a) ltering, and (b) prediction. e

ltering problem is to estimate the state xn at time step n given the set Yn , fy1 ; y2 ; : : : ; yn g of

measurements up to time step n. e prediction problem is to estimate the state(s) xnCl at time

step n C l , l > 0, given the set Yn of measurements up to time step n.

e Bayesian optimum solution to the ltering problem sequentially or recursively computes the posterior pdf p.xn jYn / over the state xn given the measurement set Yn in two steps. In

the rst step, known as the prediction step, the Markov state evolution model p.xn jxn 1 / is used

with the posterior pdf p.xn 1 jYn 1 / at the previous time step n 1 to obtain the pdf p.xn jYn 1 /

over the state xn given the measurement set Yn 1 . In the second step, known as the update step,

18

the posterior pdf p.xn jYn / is computed by combining the measurement likelihood p.yn jxn / and

prediction p.xn jYn 1 / using Bayes theorem. Mathematically,

Z

Predict step:

p.xn jYn 1 / D p.xn jxn 1 / p.xn 1 jYn 1 / d xn 1 ;

(2.33a)

Update step:

(2.33b)

1 /;

for n D 1; 2; : : :, with p.x0 jY0 / , p.x0 / used to initialize the iteration. Observe, by comparing

with (2.23), that at each time step here the prediction p.xn jYn 1 / plays the role of the prior

pdf. e Bayesian ltering iteration of Eq. (2.33) is a recursive computation of the posterior pdf

p.xn jYn / at each time step n:

p.x0 jY0 /

predict

! p.x1 jY0 /

update

! p.x1 jY1 /

predict

! ::::::

update

! p.xn jYn /

predict

! :::

for n D 1; 2; : : :. e estimate for xn is obtained using the mean of the posterior pdf:

Z

O n .Yn / D Exn jYn D xn p.xn jYn / d xn :

x

(2.34)

(2.35)

e prediction problem is solved by recursively computing the posterior pdfs p.xnCl jYn /

over the states xnCl given the measurement set Yn as

Z

p.xnCl jYn / D p.xnCl jxnCl 1 / p.xnCl 1 jYn / d xnCl 1 ;

(2.36)

for l D 1; 2; : : :, and the estimates for xnCl are again the means of the posterior pdfs.

Consider a one-dimensional (1-D) linear Gaussian state space model

xn

yn

D Fn xn 1 C vn ;

D Hn xn C wn ;

(2.37a)

(2.37b)

where xn is a scalar state at time step n, yn is the corresponding scalar measurement, Fn is a linear

state-transition parameter, vn is Gaussian random state noise with zero mean and variance Qn ,

Hn is a linear measurement parameter, and wn is Gaussian random measurement noise with zero

mean and variance Rn . e initial state distribution p.x0 / is Gaussian. e task is to sequentially

estimate the state xn using the set of measurements Yn D fy1 ; y2 ; : : : ; yn g.

We follow the sequential Bayesian estimation procedure described earlier. Suppose that at

time step n 1 the posterior pdf p.xn 1 jYn 1 / is Gaussian:

p.xn

1 jYn 1 /

N .xn

1 I mn 1jn 1 ; Pn 1jn 1 /;

(2.38)

19

Figure 2.4: Sequential Bayesian estimation recursively computes the posterior pdf p.xn jYn / over the

state xn given the measurement set Yn D fy1 ; y2 ; : : : ; yn g. e estimate for xn is obtained using the

mean of the posterior pdf: xO n .Yn / D Exn jYn .

where the notation N . I m; P / is used to denote a Gaussian pdf with mean m and variance P .

us in (2.38) mn 1jn 1 and Pn 1jn 1 denote, respectively, the Gaussian posterior mean and

variance at time step n 1. e subscript notation n 1jn 1 is used to indicate association

with the (Gaussian) pdf of the state xn 1 at time step n 1 computed using the measurements

up to time step n 1. From the model (2.37), the conditional pdfs p.xn jxn 1 / and p.yn jxn / of

the state and measurement, respectively, are given by the Gaussian pdfs

p.xn jxn 1 / N .xn I Fn xn 1 ; Qn /;

p.yn jxn / N .yn I Hn xn ; Rn /:

(2.39a)

(2.39b)

p.xn jYn

1/

D

D

Z

Z

p.xn jxn

1

e

p

2Qn

.xn

Fn xn 1 /2

2Qn

1

p

2Pn

e

1jn 1

.xn 1 mn 1jn 1 /2

2Pn 1jn 1

dxn

1;

(2.40)

20

which is a convolution of Gaussian functions and results in a Gaussian predicted state distribution

p.xn jYn

1/

N .xn I mnjn

(2.41)

1 ; Pnjn 1 /;

mnjn

Pnjn

D Fn mn

D Fn2 Pn

1

1

(2.42a)

(2.42b)

1jn 1 ;

1jn

1 C Qn :

p.xn jYn /

.yn Hn xn /2

1

1

2Rn

e

D p

p

2Rn

2Pnjn

.xn mnjn 1 /2

2Pnjn 1

(2.43)

p.xn jYn / N .xn I mnjn ; Pnjn /;

(2.44)

mnjn

Pnjn

D mnjn

D Pnjn

where

Kn D

1

1

C Kn .yn Hn mnjn

Kn Hn Pnjn 1 ;

(2.45a)

(2.45b)

1 /;

Pnjn 1 Hn

:

Pnjn 1 C Rn

(2.46)

Hn2

Since the initial state distribution p.x0 / is Gaussian, under the stated conditions, all pdfs in the

Bayesian recursion steps of Eq. (2.33) assume a Gaussian form. e Bayesian ltering iteration

of Eq. (2.33) then simplies to a recursive computation of the mean mnjn and variance Pnjn of

the Gaussian posterior pdf p.xn jYn / at each time step n:

fm0j0 ; P0j0 g

predict

! fm1j0 ; P1j0 g

update

! fm1j1 ; P1j1 g

predict

! ::::::

update

! fmnjn ; Pnjn g

predict

! :::

(2.47)

mnjn 1

Pnjn 1

Sn

Kn

mnjn

Pnjn

D

D

D

D

D

D

Fn mn 1jn 1 ;

Fn2 Pn 1jn 1 C Qn ;

Hn2 Pnjn 1 C Rn ;

Pnjn 1 Hn =Sn ;

mnjn 1 C Kn .yn Hn mnjn

Pnjn 1 Kn Hn Pnjn 1 ;

1 /;

(2.48a)

(2.48b)

(2.48c)

(2.48d)

(2.48e)

(2.48f )

21

In what follows, the Kalman lter will be described formally as the estimator of the parameters of a dynamical system whose evolution and measurement can be modeled using a linear

Gaussian state space representation. Examples are provided, as well as extensions to nonlinear

problems and distributed systems.

23

CHAPTER

e Kalman Filter

3.1

THEORY

e Kalman lter [3, 4] is the Bayesian solution to the problem of sequentially estimating the

states of a dynamical system in which the state evolution and measurement processes are both

linear and Gaussian. Consider a state space model of the form

xn

yn

(3.1a)

(3.1b)

D Fn xn 1 C vn ;

D H n x n C wn ;

with zero mean and covariance matrix Qn , Hn is the M D measurement matrix, and wn is a

M 1 Gaussian random measurement noise vector with zero mean and covariance matrix Rn .

e state space model (3.1) describes a dynamical system in which the state evolution and measurement processes are both linear and Gaussian. e conditional pdfs p.xn jxn 1 / and p.yn jxn /

of the state and measurement vectors, respectively, are then given by the Gaussian pdfs

p.xn jxn 1 / N .xn I Fn xn 1 ; Qn /;

p.yn jxn / N .yn I Hn xn ; Rn /;

(3.2a)

(3.2b)

where the notation N . I m; P / is used to denote a Gaussian pdf with mean m and covariance

P . Suppose that the initial state distribution p.x0 / is also Gaussian. Following the sequential

Bayesian estimation procedure described in Section 2.4, under the stated conditions, the posterior

pdf p.xn jYn / at time step n can be shown to be Gaussian:

p.xn jYn / N .xn I mnjn ; Pnjn /;

(3.3)

where mnjn and Pnjn denote the Gaussian posterior mean and covariance at time step n. is is a

direct consequence of all pdfs in the Bayesian recursion steps of Eq. (2.33) assuming a Gaussian

form. e subscript notation njn is used to indicate association with the (Gaussian) pdf of the

state vector xn at time step n computed using the measurements up to time step n. e Bayesian

ltering iteration of Eq. (2.33) then reduces to a recursive computation of the mean mnjn and

covariance Pnjn of the Gaussian posterior pdf p.xn jYn / at each time step n:

fm0j0 ; P0j0 g

predict

! fm1j0 ; P1j0 g

update

! fm1j1 ; P1j1 g

predict

! ::::::

update

! fmnjn ; Pnjn g

predict

! : : : (3.4)

24

D

D

D

D

D

D

mnjn 1

Pnjn 1

Sn

Kn

mnjn

Pnjn

Fn mn 1jn 1 ;

Fn Pn 1jn 1 FnT C Qn ;

Hn Pnjn 1 HTn C Rn ;

Pnjn 1 HTn Sn 1 ;

mnjn 1 C Kn .yn Hn mnjn

Pnjn 1 Kn Hn Pnjn 1 ;

1 /;

(3.5a)

(3.5b)

(3.5c)

(3.5d)

(3.5e)

(3.5f )

for n D 1; 2; : : :. Here, Eqs. (3.5a)(3.5b) represent the prediction step and Eqs. (3.5c)(3.5f)

comprise the update step. Note that these equations are the multivariate versions of the 1-D

Kalman lter equations (2.48) in Subsection 2.4.1. e Kalman ltering algorithm is summarized

below.

Algorithm 1 Kalman ltering

Input: Linear Gaussian state space model (3.1), and a set of measurements fy1 ; y2 ; : : : ; yN g.

Output: Estimates of the states x1 ; x2 ; : : : ; xN at time steps n D 1; 2; : : : ; N .

Initialize the mean and covariance of the Gaussian state distribution N .x0 I m0j0 ; P0j0 / at time

step n D 0.

For time steps n D 1; 2; : : : ; N , perform the following:

1. Carry out the prediction step

mnjn

Pnjn

1

1

D Fn mn

D Fn Pn

1jn 1 ;

1jn 1

FnT C Qn :

2. Compute the estimate xO n D mnjn of the state xn using the update step

Sn

Kn

mnjn

Pnjn

D

D

D

D

Hn Pnjn 1 HTn C Rn ;

Pnjn 1 HTn Sn 1 ;

mnjn 1 C Kn .yn Hn mnjn

Pnjn 1 Kn Hn Pnjn 1 :

1 /;

3.2. IMPLEMENTATION

3.2

25

IMPLEMENTATION

We give a sample MATLAB implementation of the Kalman lter. e MATLAB function

kalman_filter.m shown in Listing 3.1 performs one iteration of the Kalman lter prediction

and update steps (Eq. (3.5)). is function will be used in all of the Kalman ltering examples

Figure 3.1: Generic scenario of a static ground-based radar system tracking a moving ground target. Information about the targets dynamics is combined with delay-Doppler (range and range-rate)

measurements obtained from the radar to compute an estimate of the targets position and velocity.

given in Section 3.3. Note the use of the MATLAB / operator in implementing the update

step (3.5d), that avoids explicit computation of the inverse of the matrix Sn .

e matrix-vector operations in the Kalman lter prediction and update steps in general involve

O.D 2 /, O.MD/, and O.M 3 / complexity. e computational complexity, storage requirements,

and numerical stability, can be optimized by exploiting structure. For example, the covariance matrices are symmetric and positive-semidenite and the Cholesky factorization [17] can be utilized

to represent and maintain them in the square root form P D L LT , where L is a lower triangular matrix [6, 12]. In addition, depending on the application, it may be possible to improve the

26

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

posterior state distribution from time step n-1 to time step n

(for details, see Section 3.1 of the text)

Inputs:

m_n1 - (Dx1 vector) Gaussian posterior mean at time step n-1

P_n1 - (DxD matrix) Gaussian posterior covariance at time step n-1

y_n - (Mx1 vector) measurements at time step n

F_n - (DxD matrix) state-transition matrix at time step n

Q_n - (DxD matrix) Gaussian state noise covariance at time step n

H_n - (MxD matrix) measurement matrix at time step n

R_n - (MxM matrix) Gaussian measurement noise covariance at time step n

Outputs:

m_n - (Dx1 vector) Gaussian posterior mean at time step n

P_n - (DxD matrix) Gaussian posterior covariance at time step n

19

20

21

22

% Predict

m_nn1 = F_n*m_n1;

P_nn1 = F_n*P_n1*F_n' + Q_n;

23

24

25

26

27

28

% Update

S_n = H_n*P_nn1*H_n' + R_n;

K_n = P_nn1*H_n'/S_n;

m_n = m_nn1 + K_n*(y_n-H_n*m_nn1);

P_n = P_nn1 - K_n*H_n*P_nn1;

3.3. EXAMPLES

27

eciency further by leveraging sparsity and the availability of any fast transforms (eg. FFT). It

should be noted that the cost remains the same for each Kalman iteration.

3.3

EXAMPLES

e Kalman lter nds use in a wide variety of applications, e.g., target tracking [6], guidance and

navigation [79], biomedical signal processing [18], motion estimation [19], and communications

systems [20]. We now present several examples showing Kalman ltering in action.

We consider the problem of radar-based tracking of a moving target. Figure 3.1 depicts a generic

scenario in which a static ground-based radar system tracks a moving ground target.

In our example, we let the target move in the x-direction only, and denote with xn the

targets x-position at time step n and with xP n its x-velocity at time step n. Assuming that the

target moves with approximately constant velocity, the linear dynamical model of the targets

motion can be written as

xn

xP n

D xn

D xP n

C t xP n

1 C vn;2 ;

1

C vn;1 ;

(3.6a)

(3.6b)

where t is the time interval between time steps n 1 and n, and vn;1 and vn;2 are Gaussian ran3

2

2

dom perturbations with zero mean and covariances Evn;1

D x2 .t/

, Evn;1 vn;2 D x2 .t2 / ,

3

2

and Evn;2

D x2 t [6]. In matrix notation,

vn;1

xn 1

1 t

xn

C

:

(3.7)

D

vn;2

xP n 1

0 1

xP n

us, the state vector xn D xn xP n T is two-dimensional (D D 2), the state-transition matrix Fn

is 2 2 and given by

1 t

;

(3.8)

Fn D

0 1

and the state noise vector vn D vn;1 vn;2 T is 2 1 and Gaussian with zero mean and covariance

matrix

"

#

Qn D

x2

.t /3

3

.t /2

2

.t /2

2

t

(3.9)

e radar system utilizes time-delay and Doppler shift of transmitted and received signals

to obtain noisy measurements of the targets range rn (position xn ) and range-rate rPn (velocity

xP n ). e measurement process can be written as

rn

rPn

D xn C wn;1 ;

D xP n C wn;2 ;

(3.10a)

(3.10b)

28

where wn;1 and wn;2 are i.i.d. Gaussian with zero mean and variance y2 . In matrix notation,

rn

rPn

xn

xP n

wn;1

wn;2

(3.11)

us, the measurement vector yn D rn rPn T is two-dimensional (M D 2), the measurement matrix Hn D I is the 2 2 identity matrix, and the measurement noise vector wn D wn;1 wn;2 T is

2 1 and Gaussian with zero mean and covariance matrix Rn D y2 I .

e state evolution and measurement models are both linear and Gaussian, and the Kalman

lter can be used to estimate the moving targets position and velocity. e MATLAB program

target_tracking.m shown in Listing 3.2 performs N D 100 time steps of target tracking using

the Kalman lter. e state space model parameters were t D 0:5, x D 0:1, y D 0:1, the initial

target position and velocity were set as x0 D 1 1T , and the Kalman lter was initialized with

Gaussian mean m0j0 D x0 and covariance P0j0 D I . e MATLAB function kalman_filter.m

shown in Listing 3.1 is utilized here to carry out the Kalman lter prediction and update steps

(Eq. (3.5)). Figure 3.2 shows a plot of the actual and estimated target position and velocity. It can

be seen that the Kalman lter is able to track the moving target accurately.

Target Tracking in Higher Dimensions

We now consider the radar-based tracking of a target moving in both x- and y- directions, and

denote with .xn ; yn / the targets position at time step n and with .xP n ; yPn / its velocity at time step

n. Assuming that the target moves with approximately constant velocity, the linear dynamical

model of the targets motion can be written in matrix notation as

3 2

1 0 t

xn

6 yn 7 6 0 1 0

7 6

6

4 xP n 5 D 4 0 0 1

0 0 0

yPn

2

32

xn

0

6 yn

t 7

76

0 5 4 xP n

yPn

1

1

1

1

1

3

vn;1

7 6 vn;2 7

7

7C6

5 4 vn;3 5 ;

vn;4

3

(3.12)

where vn;1 through vn;4 are zero mean correlated Gaussian random perturbations as before. In

this case, the state vector xn D xn yn xP n yPn T is four-dimensional (D D 4), the state-transition

matrix Fn is 4 4 and given by

2

1

6 0

Fn D 6

4 0

0

0 t

1 0

0 1

0 0

3

0

t 7

7;

0 5

1

(3.13)

3.3. EXAMPLES

1

2

3

4

5

6

7

8

9

10

delt = 0.5;

% Time step interval

F_n = [1 delt; 0 1];

% State-transition matrix

sigma_x = 0.1; Q_n = sigma_x^2*[delt^3/3 delt^2/2;...

delt^2/2 delt];

% State noise covariance matrix

H_n = eye(2);

% Measurement matrix

sigma_y = 0.1;

% Measurement noise standard deviation

R_n = sigma_y^2*eye(2);

% Measurement noise covariance matrix

11

12

13

14

15

% Initialization

x(1:2,1) = [1; 1];

m(1:2,1) = x(1:2,1);

P(1:2,1:2,1) = eye(2);

% Gaussian posterior mean at time step 1

% Gaussian posterior covariance at time step 1

16

17

18

for n = 2 : 100,

% Time steps

19

20

21

22

% State propagation

v_n = mvnrnd([0 0],Q_n)';

x(1:2,n) = F_n*x(1:2,n-1) + v_n;

% Markov linear Gaussian evolution

% Generate measurements

w_n = sigma_y*randn(2,1);

y_n = H_n*x(1:2,n) + w_n;

% Linear Gaussian measurements

23

24

25

26

27

[m(1:2,n),P(1:2,1:2,n)] = kalman_filter (m(1:2,n-1),...

P(1:2,1:2,n-1),y_n,F_n,Q_n,H_n,R_n);

28

29

30

31

end

32

33

34

35

36

37

figure, plot(x(1,:),x(2,:),'b'); hold on, plot(m(1,:),m(2,:),'r--');

xlabel('target x-position'); ylabel('target x-velocity');

title('Radar based target tracking using the Kalman filter');

legend('actual','estimated');

29

30

2

actual

estimated

target x-velocity

1.8

1.6

1.4

1.2

0.8

0

10

20

30

40

target x-position

50

60

70

Figure 3.2: Radar-based target tracking using the Kalman lter. e target starts at x-position x0 D 1

with x-velocity xP 0 D 1 and moves according the dynamical law given in (3.7), with t D 0:5 and

x D 0:1. Noisy range and range-rate measurements are collected as specied in (3.11), with y D 0:1.

N D 100 time steps of Kalman ltering are performed and the actual and estimated target position

and velocity are shown in the plot.

and the state noise vector vn D vn;1 vn;2 vn;3 vn;4 T is 4 1 and Gaussian with zero mean and

covariance matrix

3

2

.t/3

.t /2

0

0

3

2

6

7

.t /3

.t /2 7

6 0

0

26

3

2

7:

(3.14)

Qn D x 6 .t/2

7

0

t

0

4 2

5

.t /2

0

0

t

2

e measurement process collects information about the targets range rn , range-rate rPn ,

and bearing angle n , and is now nonlinear and of the form

q

rn D

xn2 C yn2 C wn;1 ;

(3.15a)

xn xP n C yn yPn

rPn D

(3.15b)

C wn;2 ;

p

xn2C yn2

yn

n D tan 1

C wn;3 ;

(3.15c)

xn

3.3. EXAMPLES

31

where the radar position is taken as the origin .0; 0/, and wn;1 , wn;2 , and wn;3 are i.i.d. Gaussian

with zero mean and variance y2 . In matrix notation,

31

02

3

2

3

xn

rn

wn;1

B 6 yn 7C

7C 4

4 rPn 5 D h B6

5

@4 xP n 5A C wn;2 :

n

wn;3

yPn

2

(3.16)

h W R4 7! R3 describes the nonlinear measurement-state relationship, and the measurement noise

vector wn D wn;1 wn;2 wn;3 T is 3 1 and Gaussian with zero mean and covariance matrix

Rn D y2 I .

Due to the nonlinearity of the measurement model, the Kalman lter cannot be applied

to estimate the moving targets position and velocity. However, techniques such as the extended

Kalman lter [6, 12] discussed in Section 3.1 can be used to solve this estimation problem.

In wireless communications systems operating in an urban environment, signals from the transmitter may not reach the receiver directly due to scattering. Typically, the received signal is a

superposition of the direct (line-of-sight) arrival and several reected, phase-shifted, and delayed

signals. is eect is known as multipath propagation. Figure 3.3 depicts a multipath wireless

communications channel in an urban environment. Multipath channels are commonly modeled

as a tapped-delay line (nite impulse response or FIR digital lter). In orthogonal frequencydivision multiplexing (OFDM) [21] systems, the time-varying properties of wireless communications channels have to be estimated. In the context of the Kalman lter, this problem can be

posed as a system identication problem of estimating the FIR coecients of the channel, measured by transmitting and receiving a discrete-time test signal ltered by the channel. A state

space model describing the system can be obtained as follows.

Let the time-varying lter coecients of the channel evolve according to an autoregressive

process, given by

an;d D d an

1;d

C vn;d ;

d D 1; 2; 3;

(3.17)

where an;1 , an;2 , an;3 are the channel coecients at time step n (the FIR lter is of order 3), 1 ,

2 , 3 are the autoregressive parameters, and vn;1 , vn;2 , vn;3 are i.i.d. Gaussian with zero mean

and variance x2 . In matrix notation,

2

3 2

an;1

1

4 an;2 5 D 4 0

an;3

0

0

2

0

32

0

an

5

4

0

an

3

an

1;1

1;2

1;3

3

vn;1

5 C 4 vn;2 5 :

vn;3

(3.18)

32

signal is a superposition of the direct arrival and several reected, phase-shifted, and delayed signals.

e multipath channel is modeled as an FIR lter, whose coecients can be estimated by transmitting

and receiving a test signal through the channel.

us, the state vector xn D an;1 an;2 an;3 T is three-dimensional (D D 3), the state-transition

matrix Fn is 3 3 and given by

2

1

4

Fn D

0

0

0

2

0

3

0

0 5;

3

(3.19)

and the state noise vector vn D vn;1 vn;2 vn;3 T is 3 1 and Gaussian with zero mean and covariance matrix Qn D x2 I .

e noisy measurements are obtained as the ltered output for a test signal un propagated

through the channel as

yn D

3

X

d D1

an;d un

d C1

C wn ;

(3.20)

3.3. EXAMPLES

yn D

un

un

un

33

y2 .

In matrix notation,

3

2

an;1

4 an;2 5 C wn :

an;3

(3.21)

Hn D uTn D un un 1 un 2 is 1 3, and the measurement noise vector wn D wn is scalar and

Gaussian with zero mean and variance Rn D y2 .

e state evolution and measurement models are both linear and Gaussian, and the Kalman

lter can be used to estimate the time-varying channel coecients. e MATLAB program

channel_estimation.m shown in Listing 3.3 performs N D 500 time steps of channel estimation using the Kalman lter. e state space model parameters were D 0:85 1:001 0:95T ,

i.i.d.

x D 0:1, un N .un I 0; 1/, y D 0:1, the initial channel coecients were x0 N .x0 I 0; I/,

and the Kalman lter was initialized with Gaussian mean m0j0 D x0 and covariance P0j0 D I .

e MATLAB function kalman_filter.m shown in Listing 3.1 is utilized to carry out the

Kalman lter prediction and update steps (Eq. (3.5)). Figure 3.4c shows plots of the actual and

estimated channel coecients. It can be seen that the Kalman lter is able to estimate the timevarying channel coecients with good accuracy.

1

2

3

4

5

6

7

8

9

10

alpha = [0.85; 1.001; -0.95];

F_n = diag(alpha);

sigma_x = 0.1;

Q_n = sigma_x^2*eye(3);

u = randn(501,1);

sigma_y = 0.1;

R_n = sigma_y^2;

%

%

%

%

%

%

%

Autoregressive parameters

State-transition matrix

State noise standard deviation

State noise covariance matrix

Test signal

Measurement noise standard deviation

Measurement noise covariance matrix

11

12

13

14

15

% Initialization

x(1:3,1) = randn(3,1);

m(1:3,1) = x(1:3,1);

P(1:3,1:3,1) = eye(3);

% Gaussian posterior mean at time step 1

% Gaussian posterior covariance at time step 1

16

17

18

for n = 2 : 500,

% Time steps

19

20

21

% State propagation

v_n = sigma_x*randn(3,1);

34

22

% Generate measurements

H_n = u(n+1:-1:n-1,1)';

w_n = sigma_y*randn(1,1);

y_n = H_n*x(1:3,n) + w_n;

% Measurement matrix

% Measurement noise vector

% Linear Gaussian measurements

23

24

25

26

27

28

[m(1:3,n),P(1:3,1:3,n)] = kalman_filter (m(1:3,n-1),...

P(1:3,1:3,n-1),y_n,F_n,Q_n,H_n,R_n);

29

30

31

32

end

33

34

35

36

37

38

39

40

41

42

43

n = [0:499]'; figure, plot(n,x(1,:),'b'); hold on, plot(n,m(1,:),'r--');

xlabel('time'); ylabel('coefficient 1'); legend('actual','estimated');

title('Channel Estimation in Communication Systems using Kalman Filter');

figure, plot(n,x(2,:),'g'); hold on, plot(n,m(2,:),'m--');

xlabel('time'); ylabel('coefficient 2'); legend('actual','estimated');

title('Channel Estimation in Communication Systems using Kalman Filter');

figure, plot(n,x(3,:),'k'); hold on, plot(n,m(3,:),'c--');

xlabel('time'); ylabel('coefficient 3'); legend('actual','estimated');

title('Channel Estimation in Communication Systems using Kalman Filter');

We consider the adaptive ltering problem where the goal is to design a digital lter that operates

linearly on an input signal such that the ltered output closely approximates a desired signal of

interest. e lter constantly adapts in time based on the statistics of the given signals, which can

be non-stationary (in the stationary case, the optimum lter is time-invariant and given by the

Wiener lter as shown in Section 2.2). Adaptive lters are used in many applications, including

signal denoising, prediction, and system modeling and identication [12]. e adaptive ltering

problem can be formulated in the state space setting as follows.

Assume that the time-varying lter coecients evolve according to a dynamical law, given

by

an;d D

1=2

an

1;d ;

d D 1; : : : ; D;

(3.22)

3.3. EXAMPLES

35

actual

estimated

coefficient 1

0.5

0.5

0

100

200

300

400

500

time

(a) Estimation of channel coecient 1

Figure 3.4a: Channel estimation in communication systems using the Kalman lter. e

D D 3 channel coecients evolve according the dynamical law given in (3.18), with D

0:85 1:001 0:95T and x D 0:1. Noisy measurements are collected as specied in (3.21), with

i.i.d.

un N .un I 0; 1/ and y D 0:1. N D 500 time steps of Kalman ltering are performed and the actual and estimated channel coecients are shown in the plots.

36

actual

estimated

0.5

0

coefficient 2

0.5

1

1.5

2

2.5

3

3.5

4

0

100

200

300

400

500

time

(b) Estimation of channel coecient 2

Figure 3.4b: Channel estimation in communication systems using the Kalman lter. e

D D 3 channel coecients evolve according the dynamical law given in (3.18), with D

0:85 1:001 0:95T and x D 0:1. Noisy measurements are collected as specied in (3.21), with

i.i.d.

un N .un I 0; 1/ and y D 0:1. N D 500 time steps of Kalman ltering are performed and the actual and estimated channel coecients are shown in the plots.

3.3. EXAMPLES

37

actual

estimated

0.8

0.6

coefficient 3

0.4

0.2

0

0.2

0.4

0.6

0.8

1

0

100

200

300

400

500

time

(c) Estimation of channel coecient 3

Figure 3.4c: Channel estimation in communication systems using the Kalman lter. e

D D 3 channel coecients evolve according the dynamical law given in (3.18), with D

0:85 1:001 0:95T and x D 0:1. Noisy measurements are collected as specied in (3.21), with

i.i.d.

un N .un I 0; 1/ and y D 0:1. N D 500 time steps of Kalman ltering are performed and the actual and estimated channel coecients are shown in the plots.

38

where an;1 ; an;2 ; : : : ; an;D are the lter coecients at time step n (the lter is FIR and of order

D ) and 2 .0; 1 is an exponential weight parameter. In matrix notation,

3

3

2

2

an 1;1

an;1

6 an 1;2 7

6 an;2 7

7

7

6

6

(3.23)

7:

6 :: 7 D 1=2 I 6

::

5

4

4 : 5

:

an 1;D

an;D

us, the state vector xn D an;1 an;2 : : : an;D T is D -dimensional, and the state-transition matrix Fn D 1=2 I is D D . e evolution model is deterministic and the state noise covariance

matrix is Qn D 0.

e measurement model relates the input signal un and ltered output yn as

yn D

D

X

d D1

an;d un

d C1

(3.24)

C wn ;

where wn is Gaussian with zero mean and unit variance (y2 D 1). In matrix notation,

3

2

an;1

7

6

6 an;2 7

yn D un un 1 : : : un DC1 6 : 7 C wn :

4 :: 5

an;D

(3.25)

Hn D uTn D un un 1 : : : un DC1 is 1 D , and the measurement noise vector wn D wn is

scalar and Gaussian with zero mean and variance Rn D y2 D 1.

Observe the similarity of this state space model to that used in the channel estimation system identication example of Subsection 3.3.2. For this model, the Kalman lter equations (3.5)

can be simplied to

kn

mnjn

Pnjn

D

D

Pn 1jn 1 un

;

T

un Pn 1jn 1 un C

1=2 mn 1jn 1 C kn .yn

1 Pn 1jn 1 1 kn uTn

(3.26a)

Pn

1=2

1jn

n=2 sn (desired signal) yields

kn

aO n

Pnjn

uTn mn

1;

n=2

Pn 1jn 1 un

;

Pn 1jn 1 un C

D aO n 1 C kn .sn uTn aO n 1 /;

D 1 Pn 1jn 1 1 kn uTn Pn

1jn 1 /;

(3.26b)

(3.26c)

(3.27a)

uTn

1jn 1 ;

(3.27b)

(3.27c)

3.3. EXAMPLES

39

for n D 1; 2; : : :, which are also known as the recursive least squares (RLS) ltering equations [12,

2226]. Figure 3.5 shows a block diagram of the adaptive ltering framework.

Figure 3.5: Block diagram of the adaptive ltering framework. e lter operates linearly on an input

signal and constantly adapts such that the ltered output closely matches the given measurements.

e state evolution and measurement models are linear and Gaussian, and the Kalman lter (or, equivalently, the RLS lter) can be used to estimate the time-varying lter coecients.

e MATLAB program rls_filtering.m shown in Listing 3.4 performs N D 500 time steps

of estimation using the Kalman lter. e state space model parameters were D D 32, D 0:99,

i.i.d.

un N .un I 0; 100/, y D 1 (these values were selected similar to the example in MATLABs

adaptfilt.rls function documentation [27]), and the Kalman lter was initialized with Gaussian mean m0j0 D 0 and covariance P0j0 D I . e MATLAB function kalman_filter.m shown

in Listing 3.1 is utilized to carry out the Kalman lter prediction and update steps (Eq. (3.5)).

Figure 3.6 shows a plot of the actual and estimated lter coecients. It can be seen that the

Kalman lter is able to estimate the time-varying lter coecients with good accuracy.

e Kalman lter described in this chapter can be applied for parameter estimation of

dynamical systems that may be represented using a linear Gaussian state space model. Several extensions to the standard setup are possible, including estimation algorithms for nonlinear systems,

systems with non-Gaussian noise, and distributed systems involving data collected from multi-

40

1

% Recursive least squares (RLS) adaptive filtering using the Kalman filter

2

3

4

5

6

7

8

9

10

D = 32;

lambda = 0.99;

F_n = 1/sqrt(lambda);

Q_n = zeros(D,D);

u = 10*randn(500+D-2,1);

sigma_y = 1;

R_n = sigma_y^2;

%

%

%

%

%

%

%

% Initialization

x(1:D,1) = fir1(D-1,0.5);

m(1:D,1) = zeros(D,1);

P(1:D,1:D,1) = eye(D);

% Gaussian posterior mean at time step 1

% Gaussian posterior covariance at time step 1

Exponential weight parameter

State-transition matrix

State noise covariance matrix

Input signal

Measurement noise standard deviation

Measurement noise covariance matrix

11

12

13

14

15

16

17

18

for n = 2 : 500,

% Time steps

19

20

21

% State propagation

x(1:D,n) = F_n*x(1:D,n-1);

% Generate measurements

H_n = u(n+D-2:-1:n-1,1)';

w_n = sigma_y*randn(1,1);

y_n = H_n*x(1:D,n) + w_n;

% Measurement matrix

% Measurement noise vector

% Linear Gaussian measurements

22

23

24

25

26

27

[m(1:D,n),P(1:D,1:D,n)] = kalman_filter (m(1:D,n-1),...

P(1:D,1:D,n-1),y_n,F_n,Q_n,H_n,R_n);

28

29

30

31

end

32

33

34

35

36

37

figure, stem(x(1:D,500),'b'); hold on, stem(m(1:D,500),'r--');

xlabel('coefficient number'); ylabel('filter coefficient');

title('RLS adaptive filtering using the Kalman filter');

legend('actual','estimated');

3.3. EXAMPLES

41

6

actual

estimated

filter coefficient

4

3

2

1

0

1

2

0

10

15

20

coefficient number

25

30

Figure 3.6: RLS adaptive ltering using the Kalman lter. e D D 32 order FIR lter coecients

evolve according the dynamical law given in (3.23), with D 0:99. Noisy measurements are collected

i.i.d.

as specied in (3.25), with un N .un I 0; 100/ and y D 1. N D 500 time steps of Kalman ltering

are performed and the actual and estimated lter coecients at the nal time step are shown in the

plot.

ple sources. In the following chapter, we will discuss the extended Kalman lter for nonlinear

problems, as well as a decentralized formulation of the Kalman lter.

43

CHAPTER

Kalman Filtering

We complete our discussion of Kalman ltering with an outline of two popular extensions developed for nonlinear problems and distributed applications. Nonlinear state space models are

often encountered, for example, in target tracking [6] and inertial navigation systems [8, 9]. Distributed estimation tasks arise frequently in the context of sensor networks [28] and multisensor

tracking [29, 30]. In this chapter we examine the extended and decentralized Kalman lters and

illustrate their utility through examples.

4.1

When the state evolution and measurement processes are nonlinear and Gaussian, the extended

Kalman lter [6, 12] can be utilized for estimation of the states. e state space model for this

case can be written as

xn

yn

(4.1a)

(4.1b)

D f .xn 1 / C vn ;

D h.xn / C wn ;

where f W RD 7! RD is the state-transition function, h W RD 7! RM is the measurement function, and vn and wn are independent Gaussian noise vectors as dened earlier. Assuming that f

and h are dierentiable, the model can be linearized by making use of the Jacobian matrices:

FQ n

Qn

H

@f

@x mn

1jn 1

@h

@x mnjn

@f1

@x2

@f2

@x2

@fD

@x1

@h1

@x1

@h2

@x1

@fD

@x2

@h1

@x2

@h2

@x2

@hM

@x1

@hM

@x2

6

6

D6

6

4

2

@f1

@x1

@f2

@x1

6

6

D6

6

4

::

:

::

:

::

:

::

:

:::

:::

::

:

:::

:::

:::

::

:

:::

7

7

:: 7

7

: 5

@fD

@xD

mn

3

@h1

@xD

@h2 7

@xD 7

:: 7

7

: 5

@hM

@f1

@xD

@f2

@xD

@xD

mnjn

(4.2a)

1jn 1

:

1

(4.2b)

44

mnjn 1

Pnjn 1

Sn

Kn

mnjn

Pnjn

D

D

D

D

D

D

f .mn 1jn 1 /;

FQ n Pn 1jn 1 FQ nT C Qn ;

Q n Pnjn 1 H

Q Tn C Rn ;

H

T

Q n Sn 1 ;

Pnjn 1 H

mnjn

Pnjn

1

1

C Kn .yn h.mnjn

Q n Pnjn 1 ;

Kn H

1 //;

(4.3a)

(4.3b)

(4.3c)

(4.3d)

(4.3e)

(4.3f )

for n D 1; 2; : : :, with Eqs. (4.3a)(4.3b) representing the prediction step and Eqs. (4.3c)(4.3f)

comprising the update step. Note that the extended Kalman lter equations (4.3) reduce to the

Kalman lter equations (3.5) when the state-transition function f and measurement function h

are linear. e extended Kalman ltering algorithm is summarized below.

Algorithm 2 Extended Kalman ltering

Input: Nonlinear Gaussian state space model (4.1), and a set of measurements fy1 ; y2 ; : : : ; yN g.

Output: Estimates of the states x1 ; x2 ; : : : ; xN at time steps n D 1; 2; : : : ; N .

Initialize the mean and covariance of the Gaussian state distribution N .x0 I m0j0 ; P0j0 / at time

step n D 0.

For time steps n D 1; 2; : : : ; N , perform the following:

1. Carry out the prediction step

mnjn

Pnjn

1

1

D f .mn

D FQ n Pn

1jn 1 /;

1jn 1

FQ nT C Qn :

2. Compute the estimate xO n D mnjn of the state xn using the update step

Sn

Kn

mnjn

Pnjn

D

D

D

D

Q n Pnjn 1 H

Q Tn C Rn ;

H

Q Tn Sn 1 ;

Pnjn 1 H

mnjn 1 C Kn .yn h.mnjn

Q n Pnjn 1 :

Pnjn 1 Kn H

1 //;

iteration of the extended Kalman lter prediction and update steps.

Other algorithms for nonlinear and/or non-Gaussian ltering include those based on unscented transforms [12, 31] and Monte Carlo techniques such as the particle lter [5, 16].

1

2

,h,Ht_n,R_n)

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

%

Gaussian posterior state distribution from time step n-1 to time step n

(for details, see Section 4.1 of the text)

Inputs:

m_n1 - (Dx1 vector) Gaussian posterior mean at time step n-1

P_n1 - (DxD matrix) Gaussian posterior covariance at time step n-1

y_n - (Mx1 vector) measurements at time step n

f(x) - (Dx1 vector function of Dx1 vector x) state-transition function

Ft_n - (DxD matrix) state-transition Jacobian matrix at time step n

Q_n - (DxD matrix) Gaussian state noise covariance at time step n

h(x) - (Mx1 vector function of Dx1 vector x) measurement function

Ht_n - (MxD matrix) measurement Jacobian matrix at time step n

R_n - (MxM matrix) Gaussian measurement noise covariance at time step n

Outputs:

m_n - (Dx1 vector) Gaussian posterior mean at time step n

P_n - (DxD matrix) Gaussian posterior covariance at time step n

22

23

24

25

% Predict

m_nn1 = feval(f,m_n1);

P_nn1 = Ft_n*P_n1*Ft_n' + Q_n;

26

27

28

29

30

31

% Update

S_n = Ht_n*P_nn1*Ht_n' + R_n;

K_n = P_nn1*Ht_n'/S_n;

m_n = m_nn1 + K_n*(y_n-feval(h,m_nn1));

P_n = P_nn1 - K_n*Ht_n*P_nn1;

45

46

We consider a bio-system occupied by a predator population and a prey population. is type of a

system is modeled using the Lotka-Volterra equations [32]. In this model, the predator and prey

interact based on the following equations:

xn;1

xn;2

D

1 C t 1

D

1 t 1

xn 1;2

xn

c2

xn 1;1

xn

c1

1;1

C vn;1 ;

(4.4a)

1;2

C vn;2 :

(4.4b)

Here, xn;1 and xn;2 denote respectively the prey and predator populations at time step n, t is

the time interval between time steps n 1 and n, c1 and c2 are constant model parameters, and

vn;1 and vn;2 are i.i.d. Gaussian with zero mean and variance x2 . Clearly, the two populations do

not live in isolation. For example, if left with an innite food supply and no predators, a population of rabbits would experience normal population growth. Similarly, a population of foxes with

no rabbit population would face decline. When together, these populations interact according

to (4.4). Figure 4.1 depicts the cycle of predator-prey population dynamics.

Figure 4.1: Cycle of predator-prey population dynamics. When there is an abundance of preys, the

predator population increases. But this increase in predators drives the prey population down. With a

scarcity of preys, the predator population is forced to decrease. e decrease in predators then results

in prey population increasing, and the cycle continues.

vn;1

xn;1

xn 1;1

:

C

Df

vn;2

xn;2

xn 1;2

47

(4.5)

state-transition function, and the state noise vector vn D vn;1 vn;2 T is 2 1 and Gaussian with

zero mean and covariance matrix Qn D x2 I .

We wish to estimate the predator and prey populations based on noisy measurements of

the total population

yn D xn;1 C xn;2 C wn ;

(4.6)

where wn is Gaussian with zero mean and variance y2 . In matrix notation,

yn D

1 1

xn;1

xn;2

C wn :

(4.7)

Hn D 1 1 is 1 2, and the measurement noise vector wn D wn is scalar and Gaussian with zero

mean and variance Rn D y2 .

e state space model above is nonlinear and Gaussian, and the extended Kalman lter can

be used for estimation. In particular, the state-transition function Jacobian matrix (Eq. (4.2a)) is

2 2 and given by

3

2

mn 1jn 1;1

mn 1jn 1;2

t

1 C t 1

c2

c2

5;

(4.8)

FQ n D 4

mn 1jn 1;1

m

1;2

1

t

1

t n 1jn

c1

c1

T

where mn 1jn 1 D mn 1jn 1;1 mn 1jn 1;2 is the mean of the Gaussian posterior pdf at time

step n 1.

e MATLAB program predator_prey.m shown in Listing 4.2 performs N D 2000 time

steps of predator-prey population estimation using the extended Kalman lter. e state space

model parameters were t D 0:01, c1 D 300, c2 D 200, x D 1, y D 10, the initial prey and

predator populations were set as x0 D 400 100T (these values were selected to generate a plot

similar to that in [33, Ch. 16]), and the extended Kalman lter was initialized with Gaussian mean

m0j0 D x0 and covariance P0j0 D 100 I . e MATLAB function extended_kalman_filter.m

shown in Listing 4.1 is utilized to carry out the extended Kalman lter prediction and update

steps (Eq. (4.3)). Figure 4.2b shows a plot of the actual and estimated predator-prey populations.

It can be seen that the extended Kalman lter is able to track the predator-prey dynamics with

good accuracy.

48

1

2

3

function predator_prey

4

5

6

7

8

9

10

11

12

delt = 0.01;

c1 = 300; c2 = 200;

sigma_x = 1;

Q_n = sigma_x^2*eye(2);

H_n = [1 1];

sigma_y = 10;

R_n = sigma_y^2;

%

%

%

%

%

%

%

% Initialization

x(1:2,1) = [400; 100];

m(1:2,1) = x(1:2,1);

P(1:2,1:2,1) = 100*eye(2);

% Gaussian posterior mean at time step 1

% Gaussian posterior covariance at time step 1

Predator-Prey model parameters

State noise standard deviation

State noise covariance matrix

Measurement matrix

Measurement noise standard deviation

Measurement noise covariance matrix

13

14

15

16

17

18

19

20

for n = 2 : 2000,

% Time steps

21

22

23

24

% State propagation

v_n = sigma_x*randn(2,1);

x(1:2,n) = f(x(1:2,n-1)) + v_n;

% Markov nonlinear Gaussian evolution

% Generate measurements

w_n = sigma_y*randn(1,1);

y_n = H_n*x(1:2,n) + w_n;

% Linear Gaussian measurements

25

26

27

28

29

Ft_n = [1+delt*(1-m(2,n-1)/c2) -delt*m(1,n-1)/c2;...

delt*m(2,n-1)/c1 1-delt*(1-m(1,n-1)/c1)];

30

31

32

33

[m(1:2,n),P(1:2,1:2,n)] = extended_kalman_filter (m(1:2,n-1),...

P(1:2,1:2,n-1),y_n,@f,Ft_n,Q_n,@h,H_n,R_n);

34

35

36

37

38

end

39

40

41

42

43

44

45

46

47

48

49

50

51

52

49

% Evolution in time

t = [0:1999]'*delt;

figure, plot(t,x(1,:),'b'); hold on, plot(t,m(1,:),'r--');

hold on, plot(t,x(2,:),'g.-'); hold on, plot(t,m(2,:),'m-.');

xlabel('time'); ylabel('population');

title('Solution of predator-prey equations using extended Kalman filter');

legend('actual preys','estimated preys','actual predators',...

'estimated predators');

% Phase plot

figure, plot(x(1,:),x(2,:),'b'); hold on, plot(m(1,:),m(2,:),'r--');

xlabel('prey population'); ylabel('predator population');

title('Solution of predator-prey equations using extended Kalman filter');

legend('actual','estimated');

53

54

55

56

57

58

% State-transition function

function x_n = f (x_n1)

x_n = [(1+delt*(1-x_n1(2,1)/c2))*x_n1(1,1); ...

(1-delt*(1-x_n1(1,1)/c1))*x_n1(2,1)];

end

59

60

61

62

63

% Measurement function

function y_n = h (x_n)

y_n = x_n(1,1) + x_n(2,1);

end

64

65

end

4.2

In distributed multisensor network congurations, the decentralized Kalman lter [34] enables

estimation for linear Gaussian state space models without the need for a central communication

and processing facility. e resulting estimation framework is robust to failure of one or more

nodes and can yield performance benets such as faster processing capability. In this scheme,

each sensing node rst collects measurements about the systems state and communicates a small

amount of information with the other nodes. Next, each node locally processes the information

received from the other nodes in conjunction with its own data to compute an overall estimate

50

700

actual preys

estimated preys

actual predators

estimated predators

600

population

500

400

300

200

100

0

0

10

time

15

20

Figure 4.2a: Solution of the Predator-Prey equations using the extended Kalman lter. e initial

prey and predator populations are 400 and 100, respectively, and evolve according the dynamical law

given in (4.4), with c1 D 300 and c2 D 200. Noisy total population measurements are collected as

specied in (4.6), with y D 10. N D 2000 time steps of extended Kalman ltering are performed

and the actual and estimated predator-prey populations are shown in the plots.

400

51

actual

estimated

predator population

300

200

100

100

200

300

400

prey population

500

600

Figure 4.2b: Solution of the Predator-Prey equations using the extended Kalman lter. e initial

prey and predator populations are 400 and 100, respectively, and evolve according the dynamical law

given in (4.4), with c1 D 300 and c2 D 200. Noisy total population measurements are collected as

specied in (4.6), with y D 10. N D 2000 time steps of extended Kalman ltering are performed

and the actual and estimated predator-prey populations are shown in the plots.

52

of the state. In the following brief description, it is assumed for simplicity that measurement

validation is not used and that the communication between the nodes is synchronized; the reader

is referred to [34] for the general method.

Using matrix inversion lemmas and some algebra, the Kalman lter update equations (3.5e)(3.5f) for the mean mnjn and covariance Pnjn of the (Gaussian) posterior pdf

p.xn jYn / at time step n can be rewritten in information form as

Pnjn1

Pnjn1 mnjn

D Pnjn1

D Pnjn1

C HTn Rn 1 Hn ;

T

1

1 mnjn 1 C Hn Rn yn :

1

(4.9a)

(4.9b)

Let K be the number of distributed nodes used to collect measurements, with the measurement

equation for each of the nodes expressed as

yn;k D Hn;k xn C wn;k ;

k D 1; : : : ; K;

(4.10)

where yn;k denotes the Mk 1 vector of measurements collected by sensor node k at time step

n, Hn;k is the Mk D measurement matrix for node k , xn is the D 1 state vector, and wn;k

is a Mk 1 Gaussian random measurement noise vector with zero mean and covariance matrix

Rn;k . In block matrix notation,

2

6

6

6

4

yn;1

yn;2

::

:

yn;K

7 6

7 6

7D6

5 4

Hn;1

Hn;2

::

:

Hn;K

7

6

7

6

7 xn C 6

5

4

wn;1

wn;2

::

:

wn;K

7

7

7;

5

(4.11)

or

(4.12)

yn D Hn xn C wn ;

T

T

T

where yn D yn;1

yn;2

: : : yn;K

T is the combined M 1 measurement vector (M D

PK

T

T

T

T

kD1 Mk ), Hn D Hn;1 Hn;2 : : : Hn;K is the combined M D measurement matrix, and

T

T

T

wn D wn;1

wn;2

: : : wn;K

T is the combined M 1 Gaussian random measurement noise vector with zero mean and covariance matrix

6

6

Rn D 6

4

Rn;1

0

::

:

0

Rn;2

::

:

:::

:::

::

:

0

0

::

:

: : : Rn;K

7

7

7:

5

(4.13)

53

Here, the measurement noise vectors of the dierent sensor nodes have been assumed to be uncorrelated. Due to the block structure of the measurement model, we can write

HTn Rn 1 Hn

HTn Rn 1 yn

D

D

K

X

1

HTn;k Rn;k

Hn;k ;

(4.14a)

kD1

K

X

1

HTn;k Rn;k

yn;k :

(4.14b)

1

HTn;k Rn;k

Hn;k ;

(4.15a)

kD1

Pnjn1

Pnjn1

mnjn

D Pnjn1

D

1C

Pnjn1 1

K

X

kD1

mnjn

K

X

1

HTn;k Rn;k

yn;k ;

(4.15b)

kD1

which represent the decentralized Kalman lter update equations [34]. e quantities inside the

summation terms in (4.15) need to be communicated between the nodes in order to perform the

state update step.

Note that the decentralized Kalman lter update step (4.15) is mathematically equivalent

to the (centralized) Kalman lter update step in Eqs. (3.5c)(3.5f); no approximation has been

used. Assuming that the same global state evolution model of Eq. (3.1a) (and therefore the same

prediction step in Eqs. (3.5a)(3.5b)) is used by all nodes, with identical initialization, the decentralized Kalman lter provides exactly the same state estimates as the centralized Kalman lter.

Computationally, the decentralized Kalman lter can be viewed as a parallelization of the

centralized Kalman lter, in which the central measurement process has been divided between

the K distributed sensor nodes. Since (a) the local measurement model at each node is smaller

(dimension Mk for node k ) than the global measurement model (dimension M ), (b) the overhead associated with the combination stage (summations in (4.15)) is small, and (c) the nodes

perform their computations in parallel, signicant savings are aorded in terms of processing

speed (ignoring communication delays).

e decentralized Kalman ltering algorithm is summarized below.

We consider the tracking of a moving object based on information collected using multiple sensor

nodes. Such a task can arise during satellite and cellular network-based navigation, as depicted

in Figure 4.3. We are interested in estimating the objects position and velocity in a distributed

manner, without making use of a central processor.

Let .xn ; yn / denote the objects position at time step n and .xP n ; yPn / its velocity at time

step n, so that the state vector xn D xn yn xP n yPn T is four-dimensional (D D 4). Assume that

54

Input: Linear Gaussian state evolution model (3.1a), linear Gaussian measurement model (4.10),

and a set of measurements fy1;k ; y2;k ; : : : ; yN;k g at each of K distributed nodes (k D 1; 2; : : : ; K ).

Output: Estimates of the states x1 ; x2 ; : : : ; xN at time steps n D 1; 2; : : : ; N , at each node k .

Initialize the mean and covariance of the Gaussian state distribution N .x0 I m0j0 ; P0j0 / at time

step n D 0, at each node k .

For time steps n D 1; 2; : : : ; N , at each node k perform the following:

1. Carry out the prediction step

mnjn

Pnjn

1

1

D Fn mn

D Fn Pn

1jn 1 ;

1jn 1

FnT C Qn :

1

1

2. Calculate the quantities HTn;k Rn;k

Hn;k and HTn;k Rn;k

yn;k and communicate to all other

nodes.

3. Compute the estimate xO n D mnjn of the state xn using the update step

Pnjn

mnjn

Pnjn1 1

D Pnjn

K

X

HTn;k

1

Rn;k

Hn;k

kD1

Pnjn1 1

mnjn

K

X

HTn;k

1

Rn;k

yn;k :

kD1

the object moves according to the approximately constant velocity model given in (3.12) (see

Subsection 3.3.1).

In this example, the measurement system is comprised of K D 3 sensor nodes, with node 1

measuring the objects x-position, node 2 measuring the objects y-position, and node 3 measuring

the objects x-position and x-velocity. us, the dimensionality of the local measurements is M1 D

1, M2 D 1, and M3 D 2, and the measurement vectors are

(4.16a)

(4.16b)

(4.16c)

1 0 0 0

with the measurement matrices Hn;1 D 1 0 0 0, Hn;2 D 0 1 0 0, and Hn;3 D 0 0 1 0 , and

the measurement noise covariance matrices Rn;1 D y2 , Rn;2 D y2 , and Rn;3 D y2 I . Note that

the objects y-velocity is not measured by any of the sensing nodes.

yn;1

yn;2

yn;3

D Hn;1 xn C wn;1 ;

D Hn;2 xn C wn;2 ;

D Hn;3 xn C wn;3 ;

55

Figure 4.3: A satellite and cellular network-based navigation scenario. e automobiles position and

velocity are estimated based on radio signals from navigation satellites within range and cellular network data where available.

e decentralized Kalman lter is now used to estimate the moving objects position and

velocity. e MATLAB program distributed_tracking.m shown in Listing 4.3 performs

N D 100 time steps of distributed tracking using the decentralized Kalman lter. e state space

model parameters were t D 0:5, x D 0:1, y D 0:25, and the initial object position and velocity were set as x0 D 1 1 0:1 0:1T . Decentralized Kalman ltering is performed at each of

the three nodes, and is initialized with Gaussian mean m0j0 D 0 and covariance P0j0 D I . For

time steps n < 40 and n 70, perfect communication occurs between all nodes. For time steps

40 n < 70, nodes 1 and 2 have no communication with node 3. Figure 4.4c shows plots of the

actual and estimated object position and the mean square error (MSE) in position and velocity.

e MSE is computed using Monte Carlo simulation of 1 million trajectories, with object states

initialized as x0 N .x0 I 0; I/. For comparison, the performance of the centralized Kalman lter (using the same data) implemented in the MATLAB function kalman_filter.m shown in

Listing 3.1 is also given.

It can be seen that decentralized Kalman ltering is able to track the moving object accurately. For time steps n < 40, the decentralized Kalman lter estimates for all three nodes coincide

with those from the centralized Kalman lter. is is expected, as the lters have the same information, initialization, prediction, and update. For time steps 40 n < 70, the decentralized

56

Kalman lter estimates for nodes 1 and 2 are dierent from those for node 3 (and also dierent

from the centralized Kalman lter estimates). In particular, the decentralized estimates have a

higher error than the centralized estimates. is is because nodes 1 and 2 communicate their local information to compute the decentralized estimates, while node 3 uses its local information to

compute the decentralized estimates (and the centralized Kalman lter still uses all information).

For time steps n 70, with normal communications restored, the decentralized Kalman lter

estimates for all three nodes converge back to those from the centralized Kalman lter.

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

delt = 0.5;

% Time step interval

F_n = eye(4); F_n(1,3) = delt;...

F_n(2,4) = delt;

% State-transition matrix

sigma_x = 0.1; Q_n = sigma_x^2*[delt^3/3 0 delt^2/2 0;...

0 delt^3/3 0 delt^2/2; delt^2/2 0 delt 0;...

0 delt^2/2 0 delt];

% State noise covariance matrix

sigma_y = 0.25;

% Measurement noise standard deviation

H_n1 = [1 0 0 0];

% Node 1 measurement matrix

R_n1 = sigma_y^2;

% Node 1 measurement noise covariance matrix

H_n2 = [0 1 0 0];

% Node 2 measurement matrix

R_n2 = sigma_y^2;

% Node 2 measurement noise covariance matrix

H_n3 = [1 0 0 0; 0 0 1 0];

% Node 3 measurement matrix

R_n3 = sigma_y^2*eye(2);

% Node 3 measurement noise covariance matrix

H_n = [H_n1; H_n2; H_n3];

% Central measurement matrix

R_n = blkdiag(R_n1,R_n2,R_n3);% Central measurement noise covariance matrix

19

20

21

22

23

24

25

26

27

28

29

% Initialization

x(1:4,1) = [1; 1; 0.1; 0.1];%

m1(1:4,1) = zeros(4,1);

%

P1(1:4,1:4,1) = eye(4);

%

m2(1:4,1) = zeros(4,1);

%

P2(1:4,1:4,1) = eye(4);

%

m3(1:4,1) = zeros(4,1);

%

P3(1:4,1:4,1) = eye(4);

%

m(1:4,1) = zeros(4,1);

%

P(1:4,1:4,1) = eye(4);

%

Initial

Initial

Initial

Initial

Initial

Initial

Initial

Initial

Initial

node 1 Gaussian posterior mean

node 1 Gaussian posterior covariance

node 2 Gaussian posterior mean

node 2 Gaussian posterior covariance

node 3 Gaussian posterior mean

node 3 Gaussian posterior covariance

central Gaussian posterior mean

central Gaussian posterior covariance

30

31

32

for n = 2 : 100,

57

% Time steps

33

34

35

36

% State propagation

v_n = mvnrnd([0 0 0 0],Q_n)';

% State noise vector

x(1:4,n) = F_n*x(1:4,n-1) + v_n; % Markov linear Gaussian evolution

37

38

39

40

41

42

43

44

45

% Generate measurements

w_n1 = sigma_y*randn(1,1);

y_n1 = H_n1*x(1:4,n) + w_n1;

w_n2 = sigma_y*randn(1,1);

y_n2 = H_n2*x(1:4,n) + w_n2;

w_n3 = sigma_y*randn(2,1);

y_n3 = H_n3*x(1:4,n) + w_n3;

y_n = [y_n1; y_n2; y_n3];

%

%

%

%

%

%

%

Node 1 linear Gaussian measurements

Node 2 measurement noise vector

Node 2 linear Gaussian measurements

Node 3 measurement noise vector

Node 3 linear Gaussian measurements

Central linear Gaussian measurements

46

47

if (n<=40 || n>70)

48

49

50

51

52

53

54

55

56

57

58

59

% Predict

m1_nn1 = F_n*m1(1:4,n-1);

P1_nn1 = F_n*P1(1:4,1:4,n-1)*F_n' + Q_n;

% Update

P1(1:4,1:4,n) = inv(inv(P1_nn1) + H_n1'*(R_n1\H_n1) +...

H_n2'*(R_n2\H_n2) + H_n3'*(R_n3\H_n3));

m1(1:4,n) = P1(1:4,1:4,n)*(P1_nn1\m1_nn1 + H_n1'*...

(R_n1\y_n1) + H_n2'*(R_n2\y_n2) + H_n3'*(R_n3\y_n3));

60

61

62

63

64

65

66

67

68

69

70

% Predict

m2_nn1 = F_n*m2(1:4,n-1);

P2_nn1 = F_n*P2(1:4,1:4,n-1)*F_n' + Q_n;

% Update

P2(1:4,1:4,n) = inv(inv(P2_nn1) + H_n1'*(R_n1\H_n1) +...

H_n2'*(R_n2\H_n2) + H_n3'*(R_n3\H_n3));

m2(1:4,n) = P2(1:4,1:4,n)*(P2_nn1\m2_nn1 + H_n1'*...

(R_n1\y_n1) + H_n2'*(R_n2\y_n2) + H_n3'*(R_n3\y_n3));

58

% Predict

m3_nn1 = F_n*m3(1:4,n-1);

P3_nn1 = F_n*P3(1:4,1:4,n-1)*F_n' + Q_n;

% Update

P3(1:4,1:4,n) = inv(inv(P3_nn1) + H_n1'*(R_n1\H_n1) +...

H_n2'*(R_n2\H_n2) + H_n3'*(R_n3\H_n3));

m3(1:4,n) = P3(1:4,1:4,n)*(P3_nn1\m3_nn1 + H_n1'*...

(R_n1\y_n1) + H_n2'*(R_n2\y_n2) + H_n3'*(R_n3\y_n3));

71

72

73

74

75

76

77

78

79

80

81

else

82

83

84

85

86

87

88

89

90

91

92

93

% Predict

m1_nn1 = F_n*m1(1:4,n-1);

P1_nn1 = F_n*P1(1:4,1:4,n-1)*F_n' + Q_n;

% Update

P1(1:4,1:4,n) = inv(inv(P1_nn1) + H_n1'*(R_n1\H_n1) +...

H_n2'*(R_n2\H_n2));

m1(1:4,n) = P1(1:4,1:4,n)*(P1_nn1\m1_nn1 + H_n1'*...

(R_n1\y_n1) + H_n2'*(R_n2\y_n2));

94

95

96

97

98

99

100

101

102

103

% Predict

m2_nn1 = F_n*m2(1:4,n-1);

P2_nn1 = F_n*P2(1:4,1:4,n-1)*F_n' + Q_n;

% Update

P2(1:4,1:4,n) = inv(inv(P2_nn1) + H_n1'*(R_n1\H_n1) +...

H_n2'*(R_n2\H_n2));

m2(1:4,n) = P2(1:4,1:4,n)*(P2_nn1\m2_nn1 + H_n1'*...

(R_n1\y_n1) + H_n2'*(R_n2\y_n2));

104

105

106

107

108

109

% Predict

m3_nn1 = F_n*m3(1:4,n-1);

P3_nn1 = F_n*P3(1:4,1:4,n-1)*F_n' + Q_n;

% Update

59

m3(1:4,n) = P3(1:4,1:4,n)*(P3_nn1\m3_nn1 + H_n3'*(R_n3\y_n3));

110

111

112

end

113

114

[m(1:4,n),P(1:4,1:4,n)] = kalman_filter (m(1:4,n-1),...

P(1:4,1:4,n-1),y_n,F_n,Q_n,H_n,R_n);

115

116

117

118

end

119

120

121

122

123

124

125

126

127

128

figure, plot(x(1,:),x(2,:)); hold on, plot(m1(1,:),m1(2,:),'r');

plot(m2(1,:),m2(2,:),'g--'); plot(m3(1,:),m3(2,:),'m-.');

plot(m(1,:),m(2,:),'k:');

xlabel('object x-position'); ylabel('object y-position');

title('Distributed object tracking using the decentralized Kalman filter');

legend('actual','decentralized estimate (node 1)',...

'decentralized estimate (node 2)','decentralized estimate (node 3)',...

'centralized estimate');

60

18

16

object y-position

14

actual

decentralized estimate (node 1)

decentralized estimate (node 2)

decentralized estimate (node 3)

centralized estimate

12

10

8

6

4

2

0

0

4

5

6

object x-position

Figure 4.4a: Distributed object tracking using the decentralized Kalman lter. e object moves according the dynamical law given in (3.12), with t D 0:5 and x D 0:1. Noisy measurements are

collected using K D 3 sensor nodes as specied in (4.16), with y D 0:25. N D 100 time steps of decentralized Kalman ltering are performed and the actual and estimated object position and the mean

square error in position and velocity are shown in the plots. For time steps n < 40 and n 70, perfect communication occurs between all nodes, and for time steps 40 n < 70, nodes 1 and 2 have no

communication with node 3 (these time instants are indicated on the objects trajectory with cyan s).

For comparison, the performance of a centralized Kalman lter (using the same data) is also given.

18

actual

decentralized estimate (node 1)

decentralized estimate (node 2)

decentralized estimate (node 3)

centralized estimate

17

16

object y-position

61

15

14

13

12

11

10

9

6

6.5

7.5

8

object x-position

8.5

Figure 4.4b: Distributed object tracking using the decentralized Kalman lter. e object moves according the dynamical law given in (3.12), with t D 0:5 and x D 0:1. Noisy measurements are

collected using K D 3 sensor nodes as specied in (4.16), with y D 0:25. N D 100 time steps of decentralized Kalman ltering are performed and the actual and estimated object position and the mean

square error in position and velocity are shown in the plots. For time steps n < 40 and n 70, perfect communication occurs between all nodes, and for time steps 40 n < 70, nodes 1 and 2 have no

communication with node 3 (these time instants are indicated on the objects trajectory with cyan s).

For comparison, the performance of a centralized Kalman lter (using the same data) is also given.

62

decentralized estimate (node 2)

decentralized estimate (node 3)

centralized estimate

10

10

10

10

20

40

60

80

100

time step

(c) Mean square error (MSE) in estimation of object position and velocity

Figure 4.4c: Distributed object tracking using the decentralized Kalman lter. e object moves according the dynamical law given in (3.12), with t D 0:5 and x D 0:1. Noisy measurements are

collected using K D 3 sensor nodes as specied in (4.16), with y D 0:25. N D 100 time steps of decentralized Kalman ltering are performed and the actual and estimated object position and the mean

square error in position and velocity are shown in the plots. For time steps n < 40 and n 70, perfect communication occurs between all nodes, and for time steps 40 n < 70, nodes 1 and 2 have no

communication with node 3 (these time instants are indicated on the objects trajectory with cyan s).

For comparison, the performance of a centralized Kalman lter (using the same data) is also given.

63

CHAPTER

Conclusion

In this manuscript, the Kalman lter was introduced as a tool for statistical estimation in the context of linear Gaussian dynamical systems. Several example applications of the Kalman lter were

explored, along with extensions and implementation in MATLAB. Estimation techniques were

rst introduced in Chapter 2. Methods and example applications were presented for maximumlikelihood, Bayesian, and sequential Bayesian estimators. e Kalman lter was derived as the

sequential Bayesian solution to an example problem of estimating the state of a dynamical system evolving according to a simple 1-D linear Gaussian state space model. In Chapter 3, the

Kalman lter was presented formally as an estimation algorithm for the general multivariate linear Gaussian dynamical system. Several examples of Kalman ltering were given, including its

relation to the RLS adaptive lter. Extensions of the Kalman lter were discussed in Chapter 4.

e extended Kalman lter was outlined as a solution to the nonlinear Gaussian estimation problem. A framework for distributed estimation using Kalman ltering was also presented. In each

case, examples and applications were provided. e examples were supplemented with MATLAB

implementation, and graphs generated from these programs to better illustrate the concepts.

is manuscript serves as an introduction to Kalman ltering and provides a glimpse into

some of its features, applications, and extensions. For further coverage interested readers are referred to the literature: for general Kalman ltering [6, 12, 35, 36], Kalman ltering and MATLAB [37], Kalman ltering implementation and applications [3840], and Kalman lter extensions [5, 41].

65

Notation

x

D

y

M

p./

p.j/

O

x

N

E

I

: : :T

n

xy

ri

xn

yn

Yn

On

x

Fn

vn

Qn

Hn

wn

Rn

N

m

mnjn

Pnjn

f ./

h./

FQ n

Qn

H

dimension of state vector

observed data; measurement vector

dimension of measurement vector

probability density function (pdf )

conditional pdf

estimate of state x

number of measurements; number of time steps

expected value

identity matrix

vector or matrix transpose

discrete time

cross-correlation of random processes xn and yn for lag i

state vector at time step n

measurement vector at time step n

set of measurements up to time step n

estimate of state vector at time step n

state-transition matrix at time step n

state noise vector at time step n

state noise covariance matrix at time step n

measurement matrix at time step n

measurement noise vector at time step n

measurement noise covariance matrix at time step n

Gaussian distribution

mean

standard deviation

mean of Gaussian posterior state distribution at time step n computed using

measurements up to time step n

covariance of Gaussian posterior state distribution at time step n computed

using measurements up to time step n

state-transition function

measurement function

Jacobian of state-transition function evaluated at mn 1jn 1

Jacobian of measurement function evaluated at mnjn 1

66

NOTATION

K

yn;k

Mk

Hn;k

wn;k

Rn;k

measurement vector at time step n for node k

dimension of measurement vector for node k

measurement matrix at time step n for node k

measurement noise vector at time step n for node k

measurement noise covariance matrix at time step n for node k

67

Bibliography

[1] H. L. V. Trees, Detection, Estimation, and Modulation eory, Part I.

2001. DOI: 10.1002/0471221082.

Wiley Interscience,

[2] A. Papoulis and S. U. Pillai, Probability, Random Variables and Stochastic Processes, 4th ed.

McGraw-Hill, 2002.

[3] R. Kalman, A new approach to linear ltering and prediction problems, Trans. ASME Ser.

D. J. Basic Eng., vol. 82, pp. 3545, 1960. DOI: 10.1115/1.3662552.

[4] R. Kalman and R. Bucy, New results in linear ltering and prediction theory, Trans. ASME

Ser. D. J. Basic Eng., vol. 83, pp. 95108, 1961. DOI: 10.1115/1.3658902.

[5] B. Ristic, S. Arulampalam, and N. Gordon, Beyond the Kalman Filter: Particle Filters for

Tracking Applications. Artech House, 2004.

[6] Y. Bar-Shalom, X. R. Li, and T. Kirubarajan, Estimation with Applications to Tracking and

Navigation, 1st ed. New York: John Wiley & Sons, 2001. DOI: 10.1002/0471221279.

[7] B. Cipra, Engineers look to Kalman ltering for guidance, SIAM News, vol. 26, 1993.

[8] M. S. Grewal, L. R. Weill, and A. P. Andrews, Global Positioning Systems, Inertial Navigation, and Integration. Wiley-Interscience, 2001.

[9] D. Titterton and J. Weston, Strapdown Inertial Navigation Technology, 2nd ed.

2004. DOI: 10.1049/PBRA017E.

AIAA,

[10] R. O. Duda, P. E. Hart, and D. G. Stork, Pattern Classication, 2nd ed. Wiley Interscience,

2001.

[11] D. J. C. MacKay, Information eory, Inference, and Learning Algorithms. Cambridge University Press, 2003.

[12] S. Haykin, Adaptive Filter eory, 4th ed. Prentice Hall, 2001.

[13] A. Gelman, J. B. Carlin, H. S. Stern, and D. B. Rubin, Bayesian Data Analysis, 2nd ed.

CRC Press, 2004.

[14] T. Bayes and R. Price, An essay towards solving a problem in the doctrine of chances. By the

late rev. Mr. Bayes, F. R. S. Communicated by Mr. Price, in a letter to John Canton, A. M. F.

R. S. Philosophical Transactions, vol. 53, pp. 370418, 1763. DOI: 10.1098/rstl.1763.0053.

68

BIBLIOGRAPHY

[15] W. R. Gilks, S. Richardson, and D. J. Spiegelhalter, Eds., Markov Chain Monte Carlo in

Practice. Chapman & Hall/CRC, 1996. DOI: 10.1007/978-1-4899-4485-6.

[16] A. Doucet, N. D. Freitas, and N. Gordon, Eds., Sequential Monte Carlo methods in practice,

1st ed. Springer, 2001. DOI: 10.1007/978-1-4757-3437-9.

[17] G. H. Golub and C. F. V. Loan, Matrix Computations, 3rd ed. Baltimore: Johns Hopkins

University Press, 1996.

[18] S. Edla, J. Zhang, J. Spanias, N. Kovvali, A. Papandreou-Suppappola, and C. Chakrabarti,

Adaptive parameter estimation of cardiovascular signals using sequential bayesian techniques, in Signals, Systems and Computers (ASILOMAR), 2010 Conference Record of

the Forty Fourth Asilomar Conference on, nov. 2010, pp. 374 378. DOI: 10.1109/ACSSC.2010.5757538.

[19] K. Tu, H. ornburg, M. Fulmer, and A. Spanias, Tracking the path shape qualities of human motion, in Acoustics, Speech and Signal Processing, 2007. ICASSP

2007. IEEE International Conference on, vol. 2, april 2007, pp. II781 II784. DOI:

10.1109/ICASSP.2007.366352.

[20] R. E. Lawrence and H. Kaufman, e Kalman lter for the equalization of a digital communications channel, IEEE Transactions on Communication Technology, vol. COM-19, pp.

11371141, 1971. DOI: 10.1109/TCOM.1971.1090786.

[21] A. B. Narasimhamurthy, M. K. Banavar, and C. Tepedelenlioglu, OFDM Systems for Wireless Communications.

Morgan & Claypool Publishers, 2010. DOI:

10.2200/S00255ED1V01Y201002ASE005.

[22] N. Nair and A. Spanias, Fast adaptive algorithms using eigenspace projections, in Signals,

Systems and Computers, 1994. 1994 Conference Record of the Twenty-Eighth Asilomar Conference on, vol. 2, oct-2 nov 1994, pp. 1520 1524 vol.2. DOI: 10.1109/ACSSC.1994.471712.

[23] N. Nair and A. Spanias, Gradient eigenspace projections for adaptive ltering, in Circuits

and Systems, 1995., Proceedings., Proceedings of the 38th Midwest Symposium on, vol. 1, aug

1995, pp. 259 263 vol.1. DOI: 10.1109/MWSCAS.1995.504427.

[24] C. Panayiotou, A. Spanias, and K. Tsakalis, Channel equalization using the g-probe, in

Circuits and Systems, 2004. ISCAS 04. Proceedings of the 2004 International Symposium on,

vol. 3, may 2004, pp. III 5014 Vol.3. DOI: 10.1109/ISCAS.2004.1328793.

[25] J. Foutz and A. Spanias, An adaptive low rank algorithm for semispherical antenna arrays,

in Circuits and Systems, 2007. ISCAS 2007. IEEE International Symposium on, may 2007,

pp. 113 116. DOI: 10.1109/ISCAS.2007.378234.

BIBLIOGRAPHY

69

[26] T. Gupta, S. Suppappola, and A. Spanias, Nonlinear acoustic echo control using an accelerometer, in Acoustics, Speech and Signal Processing, 2009. ICASSP 2009. IEEE International Conference on, april 2009, pp. 1313 1316. DOI: 10.1109/ICASSP.2009.4959833.

[27] MATLAB documentation for the RLS adaptive lter function adaptfilt.rls, available online at http://www.mathworks.com/help/toolbox/dsp/ref/adaptfilt.rls.

html.

[28] R. Olfati-Saber, Distributed Kalman ltering for sensor networks, in 46th IEEE

Conference on Decision and Control, New Orleans, LA, 2007, pp. 54925498. DOI:

10.1109/CDC.2007.4434303.

[29] C. Y. Chong, S. Mori, and K. C. Chang, Distributed multitarget multisensor tracking,

in Multitarget-Multisensor Tracking: Advanced Applications, Y. Bar-Shalom, Ed. Artech

House, 1990, ch. 8, pp. 247295.

[30] K. C. Chang, C. Y. Chong, and Y. Bar-Shalom, Distributed estimation in distributed sensor networks, in Large-Scale Stochastic Systems Detection, Estimation, Stability and Control,

S. G. Tzafestas and K. Watanabe, Eds. Marcel Dekker, 1992, ch. 2, pp. 2371.

[31] S. J. Julier and J. K. Uhlmann, A new extension of the Kalman lter to nonlinear systems,

in Proceedings of AeroSense: e 11th Symposium on Aerospace/Defence Sensing, Simulation and

Controls, Orlando, FL, 1997.

[32] A. A. Berryman, e orgins and evolution of predator-prey theory, Ecology, vol. 73, pp.

15301535, 1992. DOI: 10.2307/1940005.

[33] C. Moler, Experiments with MATLAB, http://www.mathworks.com/moler/exm/

index.html, 2011.

[34] B. S. Y. Rao, H. F. Durrant-Whyte, and J. A. Sheen, A fully decentralized multi-sensor

system for tracking and surveillance, e International Journal of Robotics Research, vol. 12,

pp. 2044, 1993. DOI: 10.1177/027836499301200102.

[35] T. Kailath, A. H. Sayed, and B. Hassibi, Linear Estimation. Prentice Hall, 2000.

[36] D. Simon, Optimal State Estimation: Kalman, H Infty, and Nonlinear Approaches.

Wiley and Sons, 2006. DOI: 10.1002/0470045345.

John

[37] M. S. Grewal and A. P. Andrews, Kalman Filtering: eory and Practice Using MATLAB.

John Wiley and Sons, 2008. DOI: 10.1002/9780470377819.

[38] R. L. Eubank, A Kalman Filter Primer. CRC Press, 2006.

[39] C. K. Chui and G. Chen, Kalman Filtering: with Real-Time Applications. Springer, 2009.

70

BIBLIOGRAPHY

[40] P. Zarchan and H. Muso, Fundamentals of Kalman Filtering: A Practical Approach, 3rd ed.

American Institute of Aeronautics and Astronautics, Inc., 2009.

[41] S. Haykin, Ed., Kalman Filtering and Neural Networks. John Wiley and Sons, 2001. DOI:

10.1002/0471221546.

71

Authors Biographies

NARAYAN KOVVALI

Narayan Kovvali received the B.Tech. degree in electrical engineering from the Indian Institute

of Technology, Kharagpur, India, in 2000, and the M.S. and Ph.D. degrees in electrical engineering from Duke University, Durham, North Carolina, in 2002 and 2005, respectively. In 2006, he

joined the Department of Electrical Engineering at Arizona State University, Tempe, Arizona, as

Assistant Research Scientist. He currently holds the position of Assistant Research Professor in

the School of Electrical, Computer, and Energy Engineering at Arizona State University. His research interests include statistical signal processing, detection, estimation, stochastic ltering and

tracking, Bayesian data analysis, multi-sensor data fusion, Monte Carlo methods, and scientic

computing. Dr. Kovvali is a Senior Member of the IEEE.

MAHESH BANAVAR

Mahesh Banavar is a post-doctoral researcher in the School of Electrical, Computer and Energy

Engineering at Arizona State University. He received the B.E. degree in Telecommunications

Engineering from Visvesvaraya Technological University, Karnataka, India, in 2005, and the M.S.

and Ph.D. degrees in Electrical Engineering from Arizona State University in 2007 and 2010,

respectively. His research area is Signal Processing and Communications, and he is specically

working on Wireless Communications and Sensor Networks. He is a member of MENSA and

the Eta Kappa Nu honor society.

ANDREAS SPANIAS

Andreas Spanias is Professor in the School of Electrical, Computer, and Energy Engineering

at Arizona State University (ASU). He is also the founder and director of the SenSIP Industry

Consortium. His research interests are in the areas of adaptive signal processing, speech processing, and audio sensing. He and his student team developed the computer simulation software

Java-DSP ( J-DSPISBN 0-9724984-0-0). He is author of two text books: Audio Processing and

Coding by Wiley and DSP; An Interactive Approach. He served as Associate Editor of the IEEE

Transactions on Signal Processing and as General Co-chair of IEEE ICASSP-99. He also served

as the IEEE Signal Processing Vice-President for Conferences. Andreas Spanias is co-recipient

of the 2002 IEEE Donald G. Fink paper prize award and was elected Fellow of the IEEE in

2003. He served as Distinguished Lecturer for the IEEE Signal Processing Society in 2004.

- Principles of Modern Radar - Volume 1Uploaded byPongsathorn
- Kalman filterUploaded bybboyvn
- Tracking and Kalman Filtering Made EasyUploaded byKiran Ali
- An Introduction to the Kalman Filter (FULL VERSION)Uploaded bykasra_tm
- Radar Equations for Modern RadarUploaded byFajar Riyadi
- Design and Analysis of Modern Tracking SystemUploaded byHRC
- Kalman Filter Tutorial -PresentationUploaded bycarlazar
- Kalman Filter for DummiesUploaded byManuel Pineda Delgado
- Linear and Nonlinear Multivariable Feedback Control a Classical Approach~Tqw~_darksidergUploaded byzubairaw
- Advanced Control using MATLABUploaded byStuff84
- Kalman Filter Design - MATLABUploaded byandromeda1047
- The Scalar Kalman FilterUploaded byapi-3731916
- Matlab CodeUploaded bysoheilvb6
- A Efficient Orientation Filter for IMUs and MARG Sensor ArraysUploaded bywbblair3
- Kalman Dan SimonUploaded bydushtunini
- Motion Tracking Using Kalman Filter Matlab CodeUploaded byNguyen Quoc Doan
- target tracking using kalman pptUploaded byAmit Kumar Karna
- Filtering and System IdentificationUploaded byobaidullah37
- Kalman FilterUploaded byClara Garrido P
- Beyond the Kalman FilterParticle Filters for Tracking ApplicationsUploaded bynodidino
- Kalman FilterUploaded byBrett Welch
- Practical Signal Processing Using MATLABUploaded byAvinash Nandakumar
- Kalman filter applicationUploaded byravsree
- System Identification MatlabUploaded bykarlg
- Brown R.G., Hwang P.Y.C.- Introduction to Random Signals and Applied Kalman Filtering With Matlab Exercises-Wiley (2012)Uploaded byMartin Ve
- Time Series Analysis by State Space Methods by Durbin and KoopmanUploaded byshishirkashyap
- 1891121537 Principles Modern Radar Advanced TechnicquesUploaded byDinh Van Nghia
- Adaptive Control Tutorial -SIAMUploaded byCrystal Nassouri
- Modelling and Parameter Estimation of Dynamic SystemsUploaded byMunish Sharma
- Radar EssentialsUploaded byRandy Keith

- Introduction to Statistical ThoughtUploaded byramon_bel
- AS306 Fme Cou Hsk Jan13Uploaded byMayWy Ky
- An Introduction to Robust RegressionUploaded bycrcalub
- 03. M.E. CSEUploaded byNarayana Swamy
- rmlogitpostestimation.pdfUploaded byandres57042
- Ex Chapter 4Uploaded byBalaji Ganesh
- boxplot.pptxUploaded byPrincessYeeXin
- TamaraUploaded byAidil Rahman Novesar
- Final Exam Random signals and noiseUploaded byqwention
- Harmonic EspritUploaded byNizar Tayem
- hansen & seoUploaded byKetan Changotra
- R BootstrapUploaded bySujay K Mukhoti
- Heteroscedasticity in State SpaceUploaded bynadamau22633
- 203605060515Econometrics Ch12 Gujarati EditedUploaded byMutia Wahyuni
- data regresi.txtUploaded bydela gabriels
- 2015_Hw13_KeyUploaded byPETER
- Softmax for the laymanUploaded byEin Niemand
- Regression an OvaUploaded byatul_sancheti
- Estimation TheoryUploaded byDebajyoti Datta
- Econometrics Beat_ Dave Giles' Blog_ ARDL Modelling in EViews 9Uploaded byHari Venkatesh
- Time-Varying Coefficient Models and the Kalman Filter - Applications to Hedge FundsUploaded byAhmed El-Shafei
- PD6Uploaded byCristina Antohi
- Interpreting CorrelationUploaded byAnonymous AQ9cNm
- Regression AnalysisUploaded byMary Christine Ignacio
- Week12 AnnotatedUploaded byBob
- The Career Satisfaction ScaleUploaded byDan Spitaru
- Confidence IntervalsUploaded byBlendie V. Quiban Jr.
- Creel Eco No Metrics 2008Uploaded bymabdullah500
- Alphabetical Statistical SymbolsUploaded bySudibyo Gunawan
- BBA(H) SyllabusUploaded byrajan