Fingerprint Kalman Filter in Indoor Positioning Applications
Fingerprint Kalman Filter in Indoor Positioning Applications
Fingerprint Kalman Filter in Indoor Positioning Applications
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3rd IEEE Multi-conference on Systems and Control, July 8-10, 2009, Sa<strong>in</strong>t Petersburg, RUSSIA<br />
pp. 1678-1683 (c)2009 IEEE<br />
<strong>F<strong>in</strong>gerpr<strong>in</strong>t</strong> <strong>Kalman</strong> <strong>Filter</strong> <strong>in</strong> <strong>Indoor</strong> Position<strong>in</strong>g<br />
<strong>Applications</strong><br />
Simo ALI-LÖYTTY, Tommi PERÄLÄ, Ville HONKAVIRTA, and Robert PICHÉ<br />
Tampere University of Technology, F<strong>in</strong>land<br />
Email: simo.ali-loytty@tut.fi<br />
Abstract—In this paper, we present a new filter, the <strong>F<strong>in</strong>gerpr<strong>in</strong>t</strong><br />
<strong>Kalman</strong> <strong>Filter</strong> (FKF), and apply it to <strong>in</strong>door position<strong>in</strong>g.<br />
FKF enables sequential position estimation us<strong>in</strong>g WLAN RSSI<br />
measurements and f<strong>in</strong>gerpr<strong>in</strong>t data. <strong>F<strong>in</strong>gerpr<strong>in</strong>t</strong>s that are collected<br />
beforehand <strong>in</strong> a calibration phase conta<strong>in</strong> samples of<br />
the radio map <strong>in</strong> certa<strong>in</strong> po<strong>in</strong>ts, namely, calibration po<strong>in</strong>ts.<br />
This means that FKF does not need an analytic formula of<br />
the measurement equation like conventional <strong>Kalman</strong>-type filters<br />
do (e.g. the Extended <strong>Kalman</strong> <strong>Filter</strong> (EKF) and the Unscented<br />
<strong>Kalman</strong> <strong>Filter</strong> (UKF)). Like EKF and UKF, FKF is based on the<br />
recursive computation of the Best L<strong>in</strong>ear Unbiased Estimator<br />
(BLUE) and has small computational and memory requirements.<br />
An often-used <strong>Kalman</strong>-type filter for this problem is so-called<br />
Position <strong>Kalman</strong> <strong>Filter</strong> (PKF) that uses static position solutions as<br />
measurements for the conventional <strong>Kalman</strong> filter. In the test part<br />
of the paper, we compare FKF, PKF and different static location<br />
estimation methods, namely, the Nearest Neighbor (NN) and the<br />
Kernel method. The test data is real WLAN RSSI measurement<br />
data. The results <strong>in</strong>dicate that the filters give more accurate<br />
position estimates than the static methods. FKF performs better<br />
than PKF with NN as the static estimator, and the computational<br />
load of FKF is smaller than PKF with the Kernel method.<br />
I. INTRODUCTION<br />
The idea of f<strong>in</strong>gerpr<strong>in</strong>t<strong>in</strong>g is to estimate the position of<br />
the receiver us<strong>in</strong>g current measurements and “f<strong>in</strong>gerpr<strong>in</strong>t”<br />
data that are collected dur<strong>in</strong>g the calibration phase. One<br />
f<strong>in</strong>gerpr<strong>in</strong>t conta<strong>in</strong>s at least the coord<strong>in</strong>ates of the calibration<br />
po<strong>in</strong>t and the mean of the data. An example of f<strong>in</strong>gerpr<strong>in</strong>t data<br />
is WLAN Received Signal Strength Indicators (RSSI). The<br />
state of the art method of f<strong>in</strong>gerpr<strong>in</strong>t<strong>in</strong>g is the Weighted K-<br />
Nearest Neighbor (WKNN) estimate of the position. WKNN<br />
is a convex comb<strong>in</strong>ation of the calibration po<strong>in</strong>ts. Usually,<br />
if we have enough measurements, WKNN works well but<br />
when we have few measurements, we do not get accurate<br />
position estimates. One way to improve our position estimate<br />
is to use a filter<strong>in</strong>g framework. <strong>Filter</strong><strong>in</strong>g enables the use of<br />
past measurements <strong>in</strong> the computation of the current position<br />
estimate. Normally, this means that we have a model for the<br />
state evolution available. One possible approach to filter<strong>in</strong>g<br />
is to use static position solutions as measurements for the<br />
<strong>Kalman</strong> <strong>Filter</strong> (KF), this k<strong>in</strong>d of filter is called the Position<br />
<strong>Kalman</strong> <strong>Filter</strong> (PKF) [1] [2, II.D]. Naturally, PKF works only<br />
when we have reasonably accurate static position solutions<br />
available. In this paper, we consider the situation where we<br />
do not always have the accurate static position solution.<br />
We consider the discrete-time system:<br />
Initial state: x0, (1a)<br />
State model: xk = fk−1(xk−1) + wk−1, (1b)<br />
Meas. model: yk = hk(xk,vk), (1c)<br />
<br />
p<br />
where the state x = ∈ R<br />
.<br />
nx conta<strong>in</strong>s at least the<br />
position coord<strong>in</strong>ates p ∈ Rd <strong>in</strong> 2D (d = 2) or <strong>in</strong> 3D (d = 3).<br />
We assume that the <strong>in</strong>itial state x0 ∼ D(ˆx0, P0), where the<br />
notation D(ˆx0, P0) means that x has distribution with mean<br />
ˆx0 and covariance (matrix) P0. Function fk−1 : Rnx → Rnx is a known differentiable state transition function, and<br />
wk−1 ∼ D(0, Qk−1) is the state model noise. The measurement<br />
vector yk ∈ Rny . Function hk : Rnx × Rny → Rny is a<br />
measurement function, which is known only <strong>in</strong> the calibration<br />
po<strong>in</strong>ts. The measurement noise vk is dependent on the position<br />
(state) and is thus not additive. We assume that the state model<br />
noise and the measurement noise are mutually <strong>in</strong>dependent<br />
and <strong>in</strong>dependent of the <strong>in</strong>itial state. The aim is to compute the<br />
best (<strong>in</strong> some sense) estimate of the state x us<strong>in</strong>g all current<br />
and past measurements.<br />
Because the measurement function hk is not fully known<br />
and the measurement noise is not additive, it is not possible<br />
to use conventional nonl<strong>in</strong>ear KF extensions, such as the<br />
Extended <strong>Kalman</strong> <strong>Filter</strong> (EKF) [3, 4, 5] and the Unscented<br />
<strong>Kalman</strong> <strong>Filter</strong> (UKF) [6, 7]. Sometimes, if we have enough<br />
calibration po<strong>in</strong>ts, it is possible to <strong>in</strong>terpolate the necessary<br />
measurement function hk values from the radio map and<br />
to use UKF [8]. Another possibility is to use the Bayesian<br />
framework and general nonl<strong>in</strong>ear filters, such as Particle<br />
<strong>Filter</strong>s [9], Po<strong>in</strong>t Mass <strong>Filter</strong>s [10, 11] and Gaussian Mixture<br />
<strong>Filter</strong>s [12, 13, 14, 15, 16], but then we should make more<br />
assumptions about the <strong>in</strong>itial state, noise distributions and the<br />
measurement model. Furthermore, these nonl<strong>in</strong>ear filters have<br />
big memory and computational requirements and they are<br />
quite sensitive to model<strong>in</strong>g errors.<br />
An outl<strong>in</strong>e of the paper is as follows. In Section II, the<br />
mathematical formulation of the radio map is presented. In<br />
Section III, the static Best L<strong>in</strong>ear Unbiased Estimator (BLUE)<br />
is presented. In Section IV, the algorithm and derivation of<br />
the new filter, namely, <strong>F<strong>in</strong>gerpr<strong>in</strong>t</strong> <strong>Kalman</strong> <strong>Filter</strong> (FKF), are<br />
presented. The idea of FKF is orig<strong>in</strong>ally presented <strong>in</strong> the M.Sc.<br />
thesis [17]. The test results are presented <strong>in</strong> Section V.
II. RADIO MAP<br />
Radio map F is the set of all f<strong>in</strong>gerpr<strong>in</strong>ts, that is<br />
F = <br />
Fi,<br />
i∈IF<br />
where IF is the set of all possible <strong>in</strong>dices and Fi is the ith<br />
f<strong>in</strong>gerpr<strong>in</strong>t. The ith f<strong>in</strong>gerpr<strong>in</strong>t has the form<br />
Fi = (Ai, āi, Pai), (2)<br />
where Ai ⊂ R d is the ith cell, and the approximate coord<strong>in</strong>ate<br />
of the ith calibration po<strong>in</strong>t is denoted by pi. The jth component<br />
of the vector āi is the mean value of the RSSI values<br />
measured from the access po<strong>in</strong>t APj and the jth diagonal<br />
element of the diagonal matrix Pai is the variance of the RSSI<br />
values measured from the access po<strong>in</strong>t APj. It is possible<br />
that a f<strong>in</strong>gerpr<strong>in</strong>t conta<strong>in</strong>s more <strong>in</strong>formation that might be<br />
useful than what is presented here, see examples [17, 18, 19].<br />
However, the above mentioned <strong>in</strong>formation is sufficient for<br />
FKF. An illustrative example of a possible radio map for a<br />
s<strong>in</strong>gle access po<strong>in</strong>t is presented <strong>in</strong> Figure 1. The red polygons<br />
represent the cells and the stem plot describes the means (ā)<br />
of the RSSI read<strong>in</strong>gs recorded <strong>in</strong> each calibration po<strong>in</strong>t (p).<br />
In this particular example, certa<strong>in</strong> cells are empty because no<br />
RSSI read<strong>in</strong>gs were obta<strong>in</strong>ed from the access po<strong>in</strong>t <strong>in</strong> these<br />
cells.<br />
Figure 1. Example of a radio map<br />
AP<br />
Signal strength<br />
We assume that the measurements collected <strong>in</strong> the calibration<br />
po<strong>in</strong>t pi or at least <strong>in</strong>side the current cell Ai represent the<br />
RSSI spectrum <strong>in</strong>side the cell. This means that <strong>in</strong> every po<strong>in</strong>t<br />
of the cell Ai we can use quantities āi and Pai as the estimates<br />
of the mean of RSSI measurement and the covariance of<br />
RSSI measurement, respectively. This assumption holds if<br />
we have small enough cells. We also assume that cells Ai<br />
are disjo<strong>in</strong>t, that is Ai ∩ Aj = ∅ if i = j. Furthermore,<br />
we assume that the cells cover all possible locations, that is<br />
P (∪i∈IAAi) = 1 for every time <strong>in</strong>stant. This is quite a strong<br />
assumption and is not always true. One possibility for the<br />
cases where we have an <strong>in</strong>complete radio map is to <strong>in</strong>terpolate<br />
the miss<strong>in</strong>g f<strong>in</strong>gerpr<strong>in</strong>ts us<strong>in</strong>g the exist<strong>in</strong>g f<strong>in</strong>gerpr<strong>in</strong>ts or<br />
predict the f<strong>in</strong>gerpr<strong>in</strong>ts us<strong>in</strong>g radio wave propagation models.<br />
However, due to the complexity of <strong>in</strong>door environments, fill<strong>in</strong>g<br />
the gaps <strong>in</strong> the radio map might turn out very challeng<strong>in</strong>g.<br />
More <strong>in</strong>formation about these approaches are <strong>in</strong> publications<br />
[8] and [20].<br />
III. BEST LINEAR UNBIASED ESTIMATOR<br />
In this section, we present the well-known Best L<strong>in</strong>ear<br />
Unbiased Estimator (BLUE) [5, 16], which is the heart of<br />
the new filter (Sec. IV). In this section we have omitted the<br />
subscripts s<strong>in</strong>ce we are exam<strong>in</strong><strong>in</strong>g a static estimation problem.<br />
However, <strong>in</strong> the next section we will use the estimator recursively<br />
and thus denote the time <strong>in</strong>dex with a subscript. Let the<br />
expectation and the covariance of the jo<strong>in</strong>t distribution of the<br />
state vector x ∈ R nx and the measurement vector y ∈ R ny<br />
be<br />
<br />
x ˜x<br />
E =<br />
y ˜y<br />
<br />
x<br />
V =<br />
y<br />
Pxx Pxy<br />
Pyx Pyy<br />
and (3a)<br />
<br />
, (3b)<br />
respectively. All l<strong>in</strong>ear unbiased estimators of the state x have<br />
the form<br />
VK<br />
ˆx = ˜x + K(y − ˜y),<br />
where the ga<strong>in</strong> matrix K ∈ Rnx×ny is arbitrary. The covariance<br />
of the estimator error is<br />
<br />
△<br />
= E (x − ˆx)(x − ˆx) T<br />
= Pxx − KPyx − PxyK T + KPyyK T<br />
= Pxx − PxyP −1<br />
yy Pyx<br />
+ (KPyy − Pxy) P −1<br />
yy (KPyy − Pxy) T .<br />
The Best L<strong>in</strong>ear Unbiased Estimator is such that it m<strong>in</strong>imizes<br />
the estimator error covariance (4). It is easy to see (us<strong>in</strong>g (4))<br />
that the m<strong>in</strong>imun is obta<strong>in</strong>ed by choos<strong>in</strong>g the ga<strong>in</strong> matrix as<br />
KKF = PxyP −1<br />
yy .<br />
This is the same ga<strong>in</strong> matrix as the ga<strong>in</strong> matrix of KF. Here<br />
the m<strong>in</strong>imization means that the matrix<br />
VK − VKKF = (KPyy − Pxy)P −1<br />
yy (KPyy − Pxy) T ≥ 0<br />
is positive semidef<strong>in</strong>ite for all K. So, BLUE and the correspond<strong>in</strong>g<br />
covariance of the error are<br />
(4)<br />
ˆx = ˜x + PxyP −1<br />
yy (y − ˜y) (5a)<br />
VKKF = Pxx − PxyP −1<br />
yy Pyx<br />
(5b)<br />
Furthermore, it can be shown that if the jo<strong>in</strong>t distribution of<br />
the state x and the measurement y is Gaussian, the conditional<br />
distribution of the state is Gaussian, and BLUE (5) computes<br />
the parameters of that distribution [21, Theorem 3.2.4] [5].
IV. FINGERPRINT KALMAN FILTER<br />
The new filter, the <strong>F<strong>in</strong>gerpr<strong>in</strong>t</strong> <strong>Kalman</strong> <strong>Filter</strong> (FKF) is a<br />
<strong>Kalman</strong>-type filter. <strong>Kalman</strong>-type filter is an umbrella term for<br />
filters that approximate and store only the current estimate<br />
and error covariance [16]. Because of that, <strong>Kalman</strong>-type filters<br />
usually have small computational and memory requirements.<br />
Many <strong>Kalman</strong>-type filters, such as the new filter FKF, EKF<br />
and UKF, are based on recursive use of BLUE (Sec. III).<br />
At every time <strong>in</strong>stant the <strong>Kalman</strong>-type filter approximates<br />
the necessary expectations (3) based on the previous state<br />
and error estimates, and computes the new state and error<br />
estimates us<strong>in</strong>g (5). FKF algorithm for the system (1) is<br />
given as Algorithm 1. The symbols used <strong>in</strong> the algorithm are<br />
described <strong>in</strong> Table I.<br />
Algorithm 1 <strong>F<strong>in</strong>gerpr<strong>in</strong>t</strong> <strong>Kalman</strong> filter<br />
1) Start with the <strong>in</strong>itial estimate ˆx0 = E(x0) and the covariance<br />
P0 = V (x0) of the estimation error. Set k = 1.<br />
2) The prior estimate of state at tk is<br />
ˆx −<br />
k<br />
= fk−1(ˆxk−1),<br />
and the covariance of the prior estimation error is<br />
where<br />
P −<br />
k = Fk−1Pk−1F T k−1 + Qk−1,<br />
Fk−1 = f ′ k−1 (ˆxk−1). (6)<br />
3) The posterior estimate of the state at tk is<br />
ˆx k = ˆx −<br />
k + P xy k P −1<br />
yy k (y k − ˆy k )<br />
and the covariance of the posterior estimation error is<br />
where ˆyk = <br />
Pxxk<br />
Pk = Pxxk − Pxy k P −1<br />
yy k P T xy k ,<br />
i∈IF<br />
= <br />
i∈IF<br />
Pxy = k <br />
i∈IF<br />
Pyy = k <br />
and ˆpk = <br />
i∈IF<br />
i∈IF<br />
βi,kāi,<br />
<br />
βi,k Ppi + (pi − ˆpk)(pi − ˆpk) T ,<br />
βi,k(pi − ˆpk)(āi − ˆyk) T ,<br />
<br />
βi,k Pai + (āi − ˆyk)(āi − ˆyk) T .<br />
βi,kpi.<br />
4) Increment k and repeat from 2.<br />
The prediction step (Step 2) of the Algorithm 1 is computed<br />
us<strong>in</strong>g the l<strong>in</strong>earization of the state transition function like EKF<br />
computes the prediction step. The update step (Step 3) of the<br />
Algorithm 1 is based on BLUE and the expectations (3) are<br />
derived <strong>in</strong> Appendix A. Perhaps the most problematic part<br />
of FKF is the approximation of the quantities αi ≈ βi,k and<br />
Pxi ≈ Ppi because we do not know the prior distribution<br />
Table I<br />
EXPLANATION OF SYMBOLS USED IN ALGORITHM 1<br />
Symbol Explanation Reference<br />
βi,k Weight of ith calibration po<strong>in</strong>t (7)<br />
āi Mean of radio map RSSI values (2)<br />
fk−1 State transition function (1b)<br />
Fk−1 Jacobian of the state transition function (6)<br />
pi Coord<strong>in</strong>ates of the ith calibration po<strong>in</strong>t (2)<br />
Pa i Covariance of radio map RSSI values (2)<br />
Pp i Covariance of uniform distribution <strong>in</strong> cell i (8)<br />
Qk−1 State noise covariance matrix (1b)<br />
yk Measurement vector (1c)<br />
x −<br />
k exactly, but <strong>in</strong>stead, we only know the prior estimate<br />
ˆx −<br />
k and the covariance matrix of the estimation error P−<br />
k .<br />
Us<strong>in</strong>g these pieces of <strong>in</strong>formation we have to compute βi,k<br />
and Ppi. Naturally, there are many ways to compute these<br />
approximations; our implementation of the FKF algorithm<br />
uses the follow<strong>in</strong>g approximations [17]<br />
P x −<br />
k<br />
<br />
∈ Ai ≈ βi,k =<br />
N ˆx− k<br />
P −<br />
k<br />
<br />
i∈IF<br />
(pi)<br />
N ˆx− k<br />
P − (pi)<br />
k<br />
, (7)<br />
where pi is the ith calibration po<strong>in</strong>t and N µ<br />
Σ is the density<br />
function of Gaussian distribution N(µ, Σ)<br />
N µ<br />
Σ (p) = exp− 1<br />
2 (p − µ)TΣ−1 (p − µ) <br />
<br />
det(2πΣ)<br />
and<br />
V (xi) = Pxi ≈ Ppi = V (˜xi), (8)<br />
where the random variable ˜xi is uniformly distributed <strong>in</strong> the<br />
cell Ai. If the cell Ai ⊂ R2 is a rectangle<br />
<br />
x1<br />
<br />
<br />
x1,m<strong>in</strong> ≤ x1 ≤ x1,max<br />
then<br />
Ai =<br />
V (˜xi) =<br />
x2<br />
(x1,max−x1,m<strong>in</strong>) 2<br />
12<br />
0<br />
x2,m<strong>in</strong> ≤ x2 ≤ x2,max<br />
V. TESTS<br />
0<br />
(x2,max−x2,m<strong>in</strong>) 2<br />
12<br />
FKF was implemented and tested <strong>in</strong> Matlab us<strong>in</strong>g WLAN<br />
RSSI measurements. The radio map was constructed so that<br />
the receiver’s orientation was varied, and the time spent <strong>in</strong> each<br />
calibration po<strong>in</strong>t was approximately 60 seconds. The test data<br />
was gathered by mov<strong>in</strong>g the same receiver <strong>in</strong> the proximity of<br />
the calibration po<strong>in</strong>ts around the test build<strong>in</strong>g. Altogether, 4<br />
different routes were recorded result<strong>in</strong>g <strong>in</strong> approximately 20<br />
m<strong>in</strong>utes of test data. One of the routes is shown <strong>in</strong> Figure 2.<br />
These four routes are the same routes as <strong>in</strong> paper [18].<br />
The radio map and the test data were gathered with a<br />
MacBook laptop us<strong>in</strong>g an AirPort wireless network adapter<br />
and Wireshark software. To improve the performance of<br />
the position estimation algorithms the weakest signals were<br />
removed from the data. Also, the <strong>in</strong>complete normalized RSSI<br />
<br />
.
histograms <strong>in</strong> the radio map were modified by add<strong>in</strong>g small<br />
probability mass to each b<strong>in</strong> so that no zero b<strong>in</strong>s would occur<br />
<strong>in</strong>side histograms.<br />
As reported <strong>in</strong> paper [18], we have found that a stationary<br />
state model gives better results than a constant velocity state<br />
model. So, <strong>in</strong> this paper filters FKF and PKF use only the<br />
stationary state model<br />
xk = xk−1 + wk−1,<br />
where state x ∈ R2 conta<strong>in</strong>s the 2D position coord<strong>in</strong>ates and<br />
the state model noise<br />
<br />
8.3 0<br />
wk−1 ∼ D 0,<br />
.<br />
0 8.3<br />
<br />
<br />
<br />
<br />
<br />
Figure 2. Test case<br />
<br />
<br />
The test data was processed with FKF and the results compared<br />
to some known static position f<strong>in</strong>gerpr<strong>in</strong>t<strong>in</strong>g methods,<br />
as well as Position <strong>Kalman</strong> <strong>Filter</strong>, which used the solutions of<br />
the static methods as l<strong>in</strong>ear measurements. The static methods<br />
considered <strong>in</strong> the test were the Nearest Neighbor method (NN)<br />
[19, 22, 18, 17] us<strong>in</strong>g the 1-norm as a distance measure <strong>in</strong> the<br />
RSSI space and the Weighted K-Nearest Neighbor method<br />
(WKNN) [23, 24, 18, 17] us<strong>in</strong>g exponential Kernel approximation<br />
of the radio map histograms (WKNN) with kernel<br />
width of 2 and all of the calibration po<strong>in</strong>ts (K = 77). Note that<br />
the Kernel approximation of the radio map histograms [18, 17]<br />
uses the whole calibration data <strong>in</strong>stead of us<strong>in</strong>g only the mean<br />
values like other methods <strong>in</strong> this paper. Consequently, WKNN<br />
and PKFWKNN have significantly greater computational and<br />
memory requirements than NN, PKFNN or FKF.<br />
The results of the tests are given <strong>in</strong> Table II. The reported<br />
quantities are the mean of the 2-norms of the error <strong>in</strong> meters<br />
(ME), the root mean squared error (RMS) <strong>in</strong> meters, the 95th<br />
percentile of errors (95%) <strong>in</strong> meters, and the maximum error<br />
(Max) <strong>in</strong> meters.<br />
Table II<br />
RESULTS OF THE TESTS<br />
ME RMSE 95% Max<br />
(m) (m) (m) (m)<br />
NN 7.7 14.3 21.6 127.4<br />
WKNN 5.9 9.8 13.7 105.9<br />
PKFNN 6.9 11.8 18.4 110.3<br />
PKFWKNN 4.7 5.8 10.1 36.5<br />
FKF 4.7 5.8 11.1 27.2<br />
We see that PKFs give more accurate position estimates<br />
than the correspond<strong>in</strong>g static methods. In this test, FKF<br />
outperforms the static methods as well as PKFNN. PKFWKNN<br />
gives similar results as FKF. PKFWKNN is a little better than<br />
FKF with respect to the 95th percentile and a little worse<br />
with respect to the maximum error, but the difference is not<br />
significant.<br />
Figure 2 shows one of the test routes together with the<br />
calibration cells, and the position solutions given by FKF and<br />
PKFWKNN. As can be seen <strong>in</strong> the figure, the test cases are<br />
almost one dimensional <strong>in</strong> the sense that the calibration po<strong>in</strong>ts<br />
mostly lie on l<strong>in</strong>e segments. Therefore, the results might be<br />
somewhat too optimistic.<br />
Also, robust methods could be used to remove the gross<br />
errors to enhance the performance of the filters. Potentially,<br />
this would improve PKF more than FKF. The robust methods<br />
might, for example, exam<strong>in</strong>e the size of the normalized<br />
<strong>in</strong>novations occurr<strong>in</strong>g <strong>in</strong> <strong>Kalman</strong>-type <strong>Filter</strong>s and re-weight<br />
the measurements accord<strong>in</strong>gly (see e.g. [25]) or completely<br />
discard measurements that seem to be false.<br />
VI. CONCLUSIONS<br />
In this paper, a novel filter for us<strong>in</strong>g f<strong>in</strong>gerpr<strong>in</strong>ts <strong>in</strong> <strong>in</strong>door<br />
position<strong>in</strong>g was presented. The novel filter, FKF, was tested<br />
us<strong>in</strong>g real WLAN RSSI measurements and compared with<br />
the best methods known, namely, PKF with different static<br />
estimators discussed <strong>in</strong> [18]. In our tests, FKF outperformed<br />
PKFNN and the static estimators. The difference between the<br />
accuracies of FKF and PKFWKNN is not significant but FKF<br />
is faster than PKFWKNN and also uses less <strong>in</strong>formation of<br />
the radiomap, and thus FKF might be useful for position<strong>in</strong>g<br />
<strong>in</strong> mobile devices with limited computational and memory<br />
capacity. The test case was not as extensive as it might be,<br />
and thus more tests <strong>in</strong> different areas should be done to verify<br />
the results of this paper.
ACKNOWLEDGMENT<br />
This research was partly funded by Nokia Corporation.<br />
Simo Ali-Löytty also acknowledges the f<strong>in</strong>ancial support of<br />
Tampere Graduate School <strong>in</strong> Information Science and Eng<strong>in</strong>eer<strong>in</strong>g.<br />
APPENDIX A<br />
DERIVATION OF UPDATE STEP OF FKF<br />
The update step of FKF is based on BLUE (Sec. III), so<br />
it is enough to compute the approximations of the necessary<br />
expectations (3)<br />
and<br />
E<br />
x<br />
y<br />
<br />
x<br />
V<br />
y<br />
<br />
<br />
<br />
<br />
˜x<br />
˜y<br />
<br />
≈<br />
ˆp<br />
ˆy<br />
Pxx Pxy<br />
Pyx Pyy<br />
<br />
<br />
. (9)<br />
First of all, we have to compute Fx,y(x, y), the cumulative<br />
x<br />
density function of the random variable . We use the<br />
y<br />
follow<strong>in</strong>g assumptions, notations and approximations (see also<br />
Sec. II):<br />
1) We assume that cells Ai are disjo<strong>in</strong>t, that is<br />
Ai ∩ Aj = ∅ if i = j<br />
and the cells cover all possible states so that<br />
P (∪i∈IF Ai) = 1.<br />
2) We def<strong>in</strong>e random variable xi which is constra<strong>in</strong>ed <strong>in</strong>side<br />
the cell Ai. The cumulative density function of random<br />
variable xi is<br />
Fxi(x) = P (xi ≤ x) = 1<br />
αi<br />
x<br />
−∞<br />
χAi(x)dFx,<br />
where normalization factor αi = P (x ∈ Ai) = <br />
(assumption αi = 0) and characteristic function<br />
<br />
1, x ∈ Ai<br />
χAi(x) =<br />
.<br />
0, x /∈ Ai<br />
Ai dFx<br />
Note that if the cumulative density function Fx is absolutely<br />
cont<strong>in</strong>uous, the random variable x has probability<br />
density function (pdf) px and the random variable xi has<br />
pdf pxi, which is proportional to px <strong>in</strong>side the cell Ai<br />
and it is zero outside the cell Ai.<br />
3) Let the mean and covariance of the random variable xi<br />
be E(xi) = ¯xi and V (xi) = Pxi, respectively.<br />
4) We assume that the mean of the random variable xi<br />
is approximately the same as the coord<strong>in</strong>ates of the ith<br />
(2)<br />
calibration po<strong>in</strong>t pi, that is ¯xi ≈ pi. We also assume that<br />
the covariance of the random variable xi is the same as<br />
the covariance of a random variable which is uniformly<br />
(8)<br />
distributed <strong>in</strong>side the cell Ai, that is Pxi ≈ Ppi, see<br />
Sec. IV. Furthermore, we assume that the normalization<br />
factor αi is approximately the same as the weight of the<br />
ith calibration po<strong>in</strong>t, that is (see Sec. IV)<br />
αi ≈ βi = N˜x<br />
P − xx (pi)<br />
<br />
N<br />
i∈IF<br />
˜x<br />
P − .<br />
(pi)<br />
xx<br />
5) Def<strong>in</strong>e random variable yi = (y|x ∈ Ai) which is the<br />
measurement when the state is <strong>in</strong>side the cell Ai. We<br />
assume that random variables yi and xi are <strong>in</strong>dependent.<br />
6) Let the mean and covariance of the random variable yi<br />
be E (yi) = ¯yi and V (yi) = Pyi, respectively.<br />
7) We assume that the mean of the random variable yi<br />
is approximately the same as the mean value of the<br />
RSSI value measured <strong>in</strong> calibration po<strong>in</strong>t pi, that is<br />
(2)<br />
¯yi ≈ āi. Furthermore, we assume that the covariance<br />
of the random variable yi is a diagonal matrix and its<br />
diagonal components are approximately the variance of<br />
(2)<br />
the measured RSSI values, that is Pyi ≈ Pai, see Sec. II.<br />
The cumulative density function is<br />
Fx,y(x, y) = P (x ≤ x,y ≤ y)<br />
1)<br />
= <br />
P (x ≤ x ∩ x ∈ Ai,y ≤ y)<br />
i∈IF<br />
5)<br />
= <br />
P (x ≤ x ∩ x ∈ Ai)P(yi ≤ y)<br />
i∈IF<br />
2)<br />
= <br />
αiP (xi ≤ x)P(yi ≤ y).<br />
i∈IF<br />
(10)<br />
Thus the mean and parameters of the covariance (9) of the<br />
x<br />
random variable are .<br />
y<br />
⎡ ⎤ ⎡ ⎤<br />
αi E(xi) αi¯xi<br />
x (10) ⎢ ⎥<br />
E = ⎢ i∈IF<br />
3,6) ⎢ ⎥<br />
⎥<br />
y ⎣<br />
αi E(yi)<br />
⎦ = ⎢ i∈IF ⎥<br />
⎣ ⎦<br />
αi¯yi<br />
4,7)<br />
≈<br />
⎡<br />
⎢<br />
⎣<br />
i∈IF<br />
<br />
i∈IF <br />
i∈IF<br />
βipi<br />
βiāi<br />
⎤<br />
⎥<br />
⎦ <br />
Pxx = E (x − ˜x)(x − ˜x) T<br />
ˆp<br />
ˆy<br />
= E xx T − ˜x˜x T<br />
(10) <br />
= αi E xix T T<br />
i − ˜x˜x<br />
i∈IF<br />
1)<br />
= <br />
i∈IF<br />
i∈IF<br />
αi<br />
<br />
E xix T T<br />
i − ˜x˜x <br />
<br />
,<br />
3)<br />
= <br />
αi Pxi + ¯xi¯x T i − ˜x˜x T<br />
= <br />
i∈IF<br />
i∈IF<br />
i∈IF<br />
<br />
αi Pxi + (¯xi − ˜x)(¯xi − ˜x) T<br />
4)<br />
≈ <br />
βi Ppi + (pi − ˆp)(pi − ˆp) T ,
and<br />
Pxy = <br />
αi(¯xi − ˜x)(¯yi − ˜y) T<br />
Pyy = <br />
4,7)<br />
4,7)<br />
i∈IF<br />
≈ <br />
i∈IF<br />
≈ <br />
βi(pi − ˆp)(āi − ˆy) T ,<br />
i∈IF<br />
αi<br />
i∈IF<br />
Pyi + (¯yi − ˜y)(¯yi − ˜y) T<br />
<br />
βi Pai + (āi − ˆy)(āi − ˆy) T ,<br />
Pyx = P T <br />
xy ≈ βi(āi − ˆy)(pi − ˆp) T .<br />
i∈IF<br />
REFERENCES<br />
[1] S. Ali-Löytty, N. Sirola, and R. Piché, “Consistency<br />
of three <strong>Kalman</strong> filter extensions <strong>in</strong> hybrid navigation,”<br />
<strong>in</strong> Proceed<strong>in</strong>gs of The European Navigation Conference<br />
GNSS 2005, Munich, Germany, Jul. 2005.<br />
[2] J. Kwon, B. Dundar, and P. Varaiya, “Hybrid algorithm<br />
for <strong>in</strong>door position<strong>in</strong>g us<strong>in</strong>g wireless LAN,” IEEE 60th<br />
Vehicular Technology Conference, 2004. VTC2004-Fall.,<br />
vol. 7, pp. 4625–4629, September 2004.<br />
[3] B. D. O. Anderson and J. B. Moore, Optimal <strong>Filter</strong><strong>in</strong>g,<br />
ser. Prentice-Hall <strong>in</strong>formation and system sciences.<br />
Prentice-Hall, 1979.<br />
[4] M. S. Grewal and A. P. Andrews, <strong>Kalman</strong> <strong>Filter</strong><strong>in</strong>g Theory<br />
and Practice, ser. Information and system sciences<br />
series. Prentice-Hall, 1993.<br />
[5] Y. Bar-Shalom and R. X. Li, Estimation with <strong>Applications</strong><br />
to Estimation with <strong>Applications</strong> to Track<strong>in</strong>g and<br />
Navigation, Theory Algorithms and Software. John<br />
Wiley, Sons Inc., 2001.<br />
[6] S. J. Julier, J. K. Uhlmann, and H. F. Durrant-Whyte,<br />
“A new approach for filter<strong>in</strong>g nonl<strong>in</strong>ear systems,” <strong>in</strong><br />
American Control Conference, vol. 3, 1995, pp. 1628–<br />
1632.<br />
[7] S. J. Julier and J. K. Uhlmann, “Unscented filter<strong>in</strong>g and<br />
nonl<strong>in</strong>ear estimation,” Proceed<strong>in</strong>gs of the IEEE, vol. 92,<br />
no. 3, pp. 401–422, March 2004.<br />
[8] A. S. Paul and E. A. Wan, “WI-FI based <strong>in</strong>door localization<br />
and track<strong>in</strong>g us<strong>in</strong>g sigma-po<strong>in</strong>t <strong>Kalman</strong> filter<strong>in</strong>g<br />
methods,” <strong>in</strong> Proceed<strong>in</strong>gs of PLANS 2008 IEEE/ION<br />
Position Location and Navigation Symposium, 2008.<br />
[9] M. S. Arulampalam, S. Maskell, N. Gordon, and<br />
T. Clapp, “A tutorial on particle filters for onl<strong>in</strong>e<br />
nonl<strong>in</strong>ear/non-Gaussian Bayesian track<strong>in</strong>g,” IEEE Transactions<br />
on Signal Process<strong>in</strong>g, vol. 50, no. 2, pp. 174–188,<br />
2002.<br />
[10] R. S. Bucy and K. D. Senne, “Digital synthesis of nonl<strong>in</strong>ear<br />
filters,” Automatica, vol. 7, no. 3, pp. 287–298,<br />
May 1971.<br />
[11] N. Bergman, “Bayesian Inference <strong>in</strong> Terra<strong>in</strong> Navigation,”<br />
Licenciate Thesis, L<strong>in</strong>köp<strong>in</strong>g University, 1997, thesis No.<br />
649.<br />
[12] H. W. Sorenson and D. L. Alspach, “Recursive Bayesian<br />
estimation us<strong>in</strong>g Gaussian sums,” Automatica, vol. 7,<br />
no. 4, pp. 465–479, July 1971.<br />
[13] S. Ali-Löytty and N. Sirola, “Gaussian mixture filter<br />
<strong>in</strong> hybrid navigation,” <strong>in</strong> Proceed<strong>in</strong>gs of The European<br />
Navigation Conference GNSS 2007, Switzerland, May<br />
2007, pp. 831–837.<br />
[14] ——, “Gaussian mixture filter and hybrid position<strong>in</strong>g,”<br />
<strong>in</strong> Proceed<strong>in</strong>gs of ION GNSS 2007, Fort Worth, Texas,<br />
Fort Worth, September 2007, pp. 562–570.<br />
[15] S. Ali-Löytty, “On the convergence of the gaussian<br />
mixture filter,” Tampere University of Technology, Department<br />
of Mathematics. Research report 89, 2008.<br />
[16] ——, “Gaussian mixture filters <strong>in</strong> hybrid position<strong>in</strong>g,”<br />
Ph.D. dissertation, Tampere University of Technology,<br />
to be published.<br />
[17] V. Honkavirta, “Location f<strong>in</strong>gerpr<strong>in</strong>t<strong>in</strong>g methods <strong>in</strong> wireless<br />
local area networks,” M.Sc. thesis, Tampere University<br />
of Technology, 2008, http://math.tut.fi/posgroup/.<br />
[18] V. Honkavirta, T. Perälä, S. Ali-Löytty, and R. Piché,<br />
“Location f<strong>in</strong>gerpr<strong>in</strong>t<strong>in</strong>g methods <strong>in</strong> wireless local<br />
area network,” <strong>in</strong> Proceed<strong>in</strong>gs of the 6th Workshop<br />
on Position<strong>in</strong>g, Navigation and Communication 2009<br />
(WPNC’09), 2009.<br />
[19] P. Bahl and V. N. Padmanabhan, “Radar: An <strong>in</strong>-build<strong>in</strong>g<br />
RF-based user location and track<strong>in</strong>g system,” <strong>in</strong> INFO-<br />
COM 2000. N<strong>in</strong>eteenth Annual Jo<strong>in</strong>t Conference of the<br />
IEEE Computer and Communications Societies, vol. 2,<br />
no. 10, March 2000, pp. 775–784.<br />
[20] X. Chai and Q. Yang, “Reduc<strong>in</strong>g the calibration effort for<br />
location estimation us<strong>in</strong>g unlabeled samples,” <strong>in</strong> Third<br />
IEEE International Conference on Pervasive Comput<strong>in</strong>g<br />
and Communications, 2005. PerCom 2005., March 2005,<br />
pp. 95–104.<br />
[21] K. V. Mardia, J. T. Kent, and J. M. Bibby, Multivariate<br />
Analysis, ser. Probability and mathematical statistics.<br />
London Academic Press, 1989.<br />
[22] S. Saha, K. Chauhuri, D. Sanghi, and P. Bhagwat,<br />
“Location determ<strong>in</strong>ation of a mobile device us<strong>in</strong>g IEEE<br />
802.11b access po<strong>in</strong>t signals,” Department of Computer<br />
Science and Eng<strong>in</strong>eer<strong>in</strong>g, Tech. Rep., 2003.<br />
[23] T. Roos, P. Myllymäki, H. Tirri, P. Misikangas, and<br />
J. Sievänen, “A probabilistic approach to WLAN user<br />
location estimation,” International Journal of Wireless<br />
Information Networks, vol. 9, no. 3, pp. 155–163, July<br />
2002.<br />
[24] B. Li, J. Salter, A. G. Dempster, and C. Rizos, “<strong>Indoor</strong><br />
position<strong>in</strong>g techniques based on wireless LAN,” School<br />
of Survey<strong>in</strong>g and Spatial Information Systems, UNSW,<br />
Sydney, Australia, Tech. Rep., 2006.<br />
[25] T. Perälä and R. Piché, “Robust Extended <strong>Kalman</strong> filter<strong>in</strong>g<br />
<strong>in</strong> hybrid position<strong>in</strong>g applications,” <strong>in</strong> Proceed<strong>in</strong>gs<br />
of the 4th Workshop on Position<strong>in</strong>g, Navigation and<br />
Communication 2007 (WPNC’07), March, 2007, pp. 55–<br />
64.