25.07.2013 Views

Fingerprint Kalman Filter in Indoor Positioning Applications

Fingerprint Kalman Filter in Indoor Positioning Applications

Fingerprint Kalman Filter in Indoor Positioning Applications

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!