Download - Eece 522 Notes_29 Ch_13a
-
7/30/2019 Eece 522 Notes_29 Ch_13a
1/14
1
Ch. 13Kalman Filters
-
7/30/2019 Eece 522 Notes_29 Ch_13a
2/14
2
IntroductionIn 1960, Rudolf Kalman developed a way to solve some of the
practical difficulties that arise when trying to apply Weiner filters.
There are D-T and C-T versions of the Kalman Filter we will
only consider the D-T version.
The Kalman filter is widely used in:
Control Systems
Navigation Systems Tracking Systems
It is less widely used in signal processing applications
KF initially arose in thefield of control systems
in order to make a
system do what you
want, you must know
what it is doing now
-
7/30/2019 Eece 522 Notes_29 Ch_13a
3/14
3
The Three Keys to Leading to the Kalman Filter
Wiener Filter: LMMSE of a Signal (i.e., a Varying Parameter)
Sequential LMMSE: Sequentially Estimate a FixedParameter
State-Space Models: Dynamical Models for Varying Parameters
Kalman Filt er : Sequent ial LMMSE Est imat ion f or a t ime-var ying par amet er vect or but t he t ime var iat ion is
const r ained t o f ollow a st at e- space dynamical model.
Aside: There are many ways to mathematically model dynamical systems
Differential/Difference Equations
Convolution Integral/Summation
Transfer Function via Laplace/Z transforms
State-Space Model
-
7/30/2019 Eece 522 Notes_29 Ch_13a
4/14
4
13.3 State-Variable Dynamical ModelsSystem State: the collection of variables needed to know how to determine how
the system will exist at some future time (in the absence of an input)
For an RLC circuit you need to know all of its current capacitor voltages and all
of its current inductor currents
Motivational Example: ConstantVelocity Aircraft in 2-D
=
)(
)(
)(
)(
)(
tv
tv
tr
tr
t
y
x
y
x
s
A/C positions (m)For t he const ant velocit y model we
would const r ain vx(t) & vy(t) t o beconst ant s Vx & Vy.A/C velocities (m/s)
If we know s(to) and there is no input we know how the A/Cbehaves for all future times: rx(to + ) = Vx + rx(to)
rx(to + ) = rx(to) + Vxry(to + ) = ry(to) + Vy
-
7/30/2019 Eece 522 Notes_29 Ch_13a
5/14
5
D-T State Model for Constant Velocity A/CBecause measurements are often taken at discrete times we often
need D-T models for what are otherwise C-T systems(This is the same as using a difference equation to approximate a differential equation)
If every increment ofn corresponds to a duration of sec and
there is no driving force then we can write a D-T State Model as:
=
1000
0100
010
001
A
]1[][ = nn Ass
State Transition Matrix
rx[n] = rx[n-1] + vx[n-1]
ry [n] = ry[n-1] + vy[n-1]
vx[n] = vx[n-1]
vy[n] = vy[n-1]
We can include the effect of a vector input:
][]1[][ nnn BuAss +=
Input could be deterministic and/or random.
Matrix B combines inputs & distributes them to states.
-
7/30/2019 Eece 522 Notes_29 Ch_13a
6/14
6
Thm 13.1 Vector Gauss-Markov Model Dont confusewith the G-M
Thm. of Ch. 6This theorem characterizes the probability model for a
specific state-space model with Gaussian Inputs
][]1[][ nnn BuAss +=Linear St at e Model: n 0
p1 ppknown
prknown
r1
s[n]: state vector is a vector Gauss-Markov processA: state transition matrix; assumed |i| < 1 for stability
B: input matrix
u[n]: driving noise is vector WGN w/ zero means[-1]: initial state ~N( s,Cs) and independent ofu[n]
eigenvalues
u[n] ~N(0,Q)E{u[n] uT[m]} = 0, n m
-
7/30/2019 Eece 522 Notes_29 Ch_13a
7/14
7
Theorem:
s[n] for n 0 is Gaussian with the following characteristics
Mean of state vector is { } sAs 1][ += nnE diverges if e-valueshave |i| 1
Covariance between state vectors at m and n is
{ }( )
=
+++ +=
=m
nmk
Tkn-mTkTnm
TnEnmEmEnmnm
)(
]}][{][]}][[{][[],[:for
11 ABQBAACA
ssssC
s
s
],[],[:for mnnmnm Tss CC =< State Process is Not WSS!
Covariance Matrix: C[n] = Cs[n,n] (this is just notation)
Propagation of Mean & Covariance:
{ } { }TT
nn
nEnE
BQBAACC
sAs
+=
=
]1[][
]1[][
-
7/30/2019 Eece 522 Notes_29 Ch_13a
8/14
8
Pr oof : (only for the scalar case:p = 1)
For the scalar case the model is: s[n] = a s[n-1] + b u[n] n 0
differs a bit from (13.1) etc.
Now we can just iterate this model and surmise its general form:
]0[]1[]0[ buass +=
]1[]0[]1[
]1[]0[]1[
2buabusa
buass
++=
+=
]2[]1[]0[]1[
]2[]1[]2[
23 buabubuasa
buass
+++=
+=
=
+ +=n
k
kn knbuasans
0
1 ][]1[][
!Now easy to find the mean:
{ } { } { }
sn
n
k
kn
a
knuEbasEansE
s
1
0 0
1][]1[][
+
= ==
+
=
+= "#"$%"#"$%
as claimed!
z.i. response
exponential
z.s. response
convolution
-
7/30/2019 Eece 522 Notes_29 Ch_13a
9/14
9
Covariance between s[m] and s[n] is:
{ }
= = +=
++
=
+
=
+
++
+=
+
+=
=
m
k
m
l
l
kmnl
ks
nm
n
l
ls
n
m
k
ks
m
Ts
ns
ms
balnukmuEbaaa
lnbuansa
kmbuamsaE
ansamsEnmC
u0 0
)]([
211
0
1
0
1
11
2
]}[][{
][]][[
][]][[
]][][][[],[
}
{
)(
)(
""" #""" $%
Must use different
dummy variables!!
Cross-terms will
be zero why?
=
+++ +=m
nmk
kmnu
ks
nms babaaanmC
2211],[ For m n:
For m < n: ],[],[ mnCnmC ss =
-
7/30/2019 Eece 522 Notes_29 Ch_13a
10/14
10
For mean & cov. propagation: from s[n] = a s[n 1] + b u[n]
"#"$%"""" #"""" $% 0theoreminaspropagates
]}[{]}1[{]}[{
=
+= nuEbnsaEnsE
{ }
{ }
{ } { }bnuEbansEnsEa
nsaEnbunasE
nsEnsEns
uns
"#"$%""""" #""""" $%2
][]})1[{]1[(
]})1[{][]1[(
]})[{][(]}[var{
2
]}1[var{
2
2
2
==+=
+=
=
which propagates as in theorem< End of Proof >
So we now have:
Random Dynamical Model (A St at e Model) St at ist ical Char act er izat ion of it
-
7/30/2019 Eece 522 Notes_29 Ch_13a
11/14
11
Random Model for Constant Velocity A/C
+
=
=
][
][
0
0
]1[
]1[
]1[
]1[
1000
0100
010
001
][
][
][
][
][
nu
nu
nv
nv
nr
nr
nv
nv
nr
nr
n
y
x
y
x
y
x
y
x
y
x
s
Deterministic Propagationof Constant-Velocity
Random Perturbation
of Constant Velocities
=
2
2
000
000
0000
0000
]}[cov{
u
u
n
u
-
7/30/2019 Eece 522 Notes_29 Ch_13a
12/14
12
0 2000 4000 6000 8000 10000 12000 14000 16000 180000
2000
4000
6000
8000
10000
12000
14000
X position (m)
Ypos
ition(m)
m/s100]1[]1[
m0]1[]1[
m/s5
sec1
==
==
=
=
yx
yx
u
vv
rr
Ex. Set of Constant-Velocity A/C TrajectoriesRed Line is Non-Random
Constant Velocity Trajectory
Acceleration of
(5 m/s)/1s = 5m/s2
-
7/30/2019 Eece 522 Notes_29 Ch_13a
13/14
13
Observation ModelSo we have a random state-variable model for the dynamics of
the signal ( the signal is often some true A/C trajectory)
We need to have some observations (i.e., measurements) of the
signal
In Navigation Systems inertial sensors make noisy measurements
at intervals of time
In Tracking Systems sensing systems make noisy measurements(e.g., range and angles) at intervals of time
][][][][ nnnn wsHx +=Linear Observat ion Model:
Measured observation
vector at each time
allows multiple
measurements at each time
Observation Matrix
can change w/ time
State Vector Process
being observed
Vector Noise
Process
-
7/30/2019 Eece 522 Notes_29 Ch_13a
14/14
14
The Estimation ProblemObserve a Sequence of Observation Vectors {x[0], x[1], x[n]}
Compute an Estimate of the State Vector s[n]
]|[ nns
estimate state at nusing observation up to n
Notation: ]|[ mns = Estimate ofs[n] using {x[0], x[1], x[m]}
Want Recur sive Solut ion:
Given: ]|[ nns and a new observation vector x[n + 1]
Find: ]1|1[ ++ nns
Thr ee Cases of I nt er est : Scalar St at e Scalar Obser vat ion Vect or St at e Scalar Obser vat ion Vect or St at e Vect or Obser vat ion