Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
An Introduction to
Kalman Filtering
with MATLAB Examples
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.
iii
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.
ISBN: 9781627051392
ISBN: 9781627051408
paperback
ebook
DOI 10.2200/S00534ED1V01Y201309SPR012
An Introduction to
Kalman Filtering
with MATLAB Examples
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
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
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)
(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)
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
(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
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;
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
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)
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)
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 ;
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)
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)
2.3
: : : yn
M C1
is the M
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)
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)
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)
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 /;
D Fn mn
D Fn2 Pn
1
1
(2.42a)
(2.42b)
1jn 1 ;
1jn
1 C Qn :
.xn mnjn 1 /2
2Pnjn 1
(2.43)
(2.44)
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)
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
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 ;
(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
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 .
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
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.
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
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);
16
17
18
% 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;
% Generate measurements
w_n = sigma_y*randn(2,1);
y_n = H_n*x(1:2,n) + w_n;
23
24
25
26
27
28
29
30
31
end
32
33
34
35
36
37
29
30
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)
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
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
un
un
un
33
y2 .
In matrix notation,
3
2
an;1
4 an;2 5 C wn :
an;3
(3.21)
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
%
%
%
%
%
%
%
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);
16
17
18
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
29
30
31
32
end
33
34
35
36
37
38
39
40
41
42
43
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)
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
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
%
%
%
%
%
%
%
% 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);
11
12
13
14
15
16
17
18
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
28
29
30
31
end
32
33
34
35
36
37
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
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
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 //;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
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
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.
47
(4.5)
1 1
xn;1
xn;2
C wn :
(4.7)
48
1
2
3
function predator_prey
4
5
6
7
8
9
10
11
12
%
%
%
%
%
%
%
% Initialization
x(1:2,1) = [400; 100];
m(1:2,1) = x(1:2,1);
P(1:2,1:2,1) = 100*eye(2);
13
14
15
16
17
18
19
20
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;
% Generate measurements
w_n = sigma_y*randn(1,1);
y_n = H_n*x(1:2,n) + w_n;
25
26
27
28
29
30
31
32
33
34
35
36
37
38
end
49
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
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.
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
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
30
31
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];
%
%
%
%
%
%
%
46
47
if (n<=40 || n>70)
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
58
71
72
73
74
75
76
77
78
79
80
81
else
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
59
110
111
112
end
113
114
115
116
117
118
end
119
120
121
122
123
124
125
126
127
128
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
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
66
NOTATION
K
yn;k
Mk
Hn;k
wn;k
Rn;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.