3rd IEEE Multi-conference on Systems and Control, July 8-10, 2009, Saint Petersburg, RUSSIA pp. 1678-1683 (c)2009 IEEE
Fingerprint Kalman Filter in Indoor Positioning Applications ¨ ¨ A, ¨ Ville HONKAVIRTA, and Robert PICHE´ Simo ALI-LOYTTY, Tommi PERAL Tampere University of Technology, Finland Email:
[email protected]
Abstract—In this paper, we present a new filter, the Fingerprint Kalman Filter (FKF), and apply it to indoor positioning. FKF enables sequential position estimation using WLAN RSSI measurements and fingerprint data. Fingerprints that are collected beforehand in a calibration phase contain samples of the radio map in certain points, namely, calibration points. This means that FKF does not need an analytic formula of the measurement equation like conventional Kalman-type filters do (e.g. the Extended Kalman Filter (EKF) and the Unscented Kalman Filter (UKF)). Like EKF and UKF, FKF is based on the recursive computation of the Best Linear Unbiased Estimator (BLUE) and has small computational and memory requirements. An often-used Kalman-type filter for this problem is so-called Position Kalman Filter (PKF) that uses static position solutions as measurements for the conventional Kalman filter. In the test part of the paper, we compare FKF, PKF and different static location estimation methods, namely, the Nearest Neighbor (NN) and the Kernel method. The test data is real WLAN RSSI measurement data. The results indicate that the filters give more accurate position estimates than the static methods. FKF performs better than PKF with NN as the static estimator, and the computational load of FKF is smaller than PKF with the Kernel method.
I. I NTRODUCTION The idea of fingerprinting is to estimate the position of the receiver using current measurements and “fingerprint” data that are collected during the calibration phase. One fingerprint contains at least the coordinates of the calibration point and the mean of the data. An example of fingerprint data is WLAN Received Signal Strength Indicators (RSSI). The state of the art method of fingerprinting is the Weighted KNearest Neighbor (WKNN) estimate of the position. WKNN is a convex combination of the calibration points. Usually, if we have enough measurements, WKNN works well but when we have few measurements, we do not get accurate position estimates. One way to improve our position estimate is to use a filtering framework. Filtering enables the use of past measurements in the computation of the current position estimate. Normally, this means that we have a model for the state evolution available. One possible approach to filtering is to use static position solutions as measurements for the Kalman Filter (KF), this kind of filter is called the Position Kalman Filter (PKF) [1] [2, II.D]. Naturally, PKF works only when we have reasonably accurate static position solutions available. In this paper, we consider the situation where we do not always have the accurate static position solution.
We consider the discrete-time system: Initial state:
x0 ,
(1a)
xk = fk−1 (xk−1 ) + wk−1 , (1b) yk = hk (xk , vk ), (1c) # " p ∈ Rnx contains at least the where the state x = .. . State model: Meas. model:
position coordinates p ∈ Rd in 2D (d = 2) or in 3D (d = 3). We assume that the initial state x0 ∼ D(ˆ x0 , P0 ), where the notation D(ˆ x0 , P0 ) means that x has distribution with mean x ˆ0 and covariance (matrix) P0 . Function fk−1 : Rnx → Rnx is a known differentiable state transition function, and wk−1 ∼ D(0, Qk−1 ) is the state model noise. The measurement vector yk ∈ Rny . Function hk : Rnx × Rny → Rny is a measurement function, which is known only in the calibration points. The measurement noise vk is dependent on the position (state) and is thus not additive. We assume that the state model noise and the measurement noise are mutually independent and independent of the initial state. The aim is to compute the best (in some sense) estimate of the state x using all current and past measurements. Because the measurement function hk is not fully known and the measurement noise is not additive, it is not possible to use conventional nonlinear KF extensions, such as the Extended Kalman Filter (EKF) [3, 4, 5] and the Unscented Kalman Filter (UKF) [6, 7]. Sometimes, if we have enough calibration points, it is possible to interpolate the necessary measurement function hk values from the radio map and to use UKF [8]. Another possibility is to use the Bayesian framework and general nonlinear filters, such as Particle Filters [9], Point Mass Filters [10, 11] and Gaussian Mixture Filters [12, 13, 14, 15, 16], but then we should make more assumptions about the initial state, noise distributions and the measurement model. Furthermore, these nonlinear filters have big memory and computational requirements and they are quite sensitive to modeling errors. An outline of the paper is as follows. In Section II, the mathematical formulation of the radio map is presented. In Section III, the static Best Linear Unbiased Estimator (BLUE) is presented. In Section IV, the algorithm and derivation of the new filter, namely, Fingerprint Kalman Filter (FKF), are presented. The idea of FKF is originally presented in the M.Sc. thesis [17]. The test results are presented in Section V.
II. R ADIO
assumption and is not always true. One possibility for the cases where we have an incomplete radio map is to interpolate Radio map F is the set of all fingerprints, that is the missing fingerprints using the existing fingerprints or [ F= Fi , predict the fingerprints using radio wave propagation models. i∈IF However, due to the complexity of indoor environments, filling where IF is the set of all possible indices and Fi is the ith the gaps in the radio map might turn out very challenging. More information about these approaches are in publications fingerprint. The ith fingerprint has the form [8] and [20]. Fi = (Ai , a ¯i , Pai ) , (2) III. B EST L INEAR U NBIASED E STIMATOR where Ai ⊂ Rd is the ith cell, and the approximate coordinate In this section, we present the well-known Best Linear of the ith calibration point is denoted by pi . The jth compoUnbiased Estimator (BLUE) [5, 16], which is the heart of nent of the vector a ¯i is the mean value of the RSSI values the new filter (Sec. IV). In this section we have omitted the measured from the access point APj and the jth diagonal subscripts since we are examining a static estimation problem. element of the diagonal matrix Pai is the variance of the RSSI However, in the next section we will use the estimator recurvalues measured from the access point APj . It is possible sively and thus denote the time index with a subscript. Let the that a fingerprint contains more information that might be expectation and the covariance of the joint distribution of the useful than what is presented here, see examples [17, 18, 19]. state vector x ∈ Rnx and the measurement vector y ∈ Rny However, the above mentioned information is sufficient for be FKF. An illustrative example of a possible radio map for a x x˜ single access point is presented in Figure 1. The red polygons E = and (3a) y y˜ represent the cells and the stem plot describes the means (¯ a) of the RSSI readings recorded in each calibration point (p). x Pxx Pxy , (3b) V = In this particular example, certain cells are empty because no y Pyx Pyy RSSI readings were obtained from the access point in these respectively. All linear unbiased estimators of the state x have cells. the form MAP
AP Signal strength
ˆ=x x ˜ + K(y − y˜), where the gain matrix K ∈ Rnx ×ny is arbitrary. The covariance of the estimator error is △ ˆ ) (x − x ˆ )T VK = E (x − x = Pxx − KPyx − Pxy KT + KPyy KT
(4)
= Pxx − Pxy P−1 yy Pyx T + (KPyy − Pxy ) P−1 yy (KPyy − Pxy ) .
The Best Linear Unbiased Estimator is such that it minimizes the estimator error covariance (4). It is easy to see (using (4)) that the minimun is obtained by choosing the gain matrix as KKF = Pxy P−1 yy . Figure 1.
Example of a radio map
This is the same gain matrix as the gain matrix of KF. Here the minimization means that the matrix T
VK − VKKF = (KPyy − Pxy ) P−1 yy (KPyy − Pxy ) ≥ 0 We assume that the measurements collected in the calibration point pi or at least inside the current cell Ai represent the RSSI spectrum inside the cell. This means that in every point of the cell Ai we can use quantities a ¯i and Pai as the estimates of the mean of RSSI measurement and the covariance of RSSI measurement, respectively. This assumption holds if we have small enough cells. We also assume that cells Ai are disjoint, that is Ai ∩ Aj = ∅ if i 6= j. Furthermore, we assume that the cells cover all possible locations, that is P (∪i∈IA Ai ) = 1 for every time instant. This is quite a strong
is positive semidefinite for all K. So, BLUE and the corresponding covariance of the error are ˆ=x x ˜ + Pxy P−1 ˜) yy (y − y VKKF = Pxx −
Pxy P−1 yy Pyx
(5a) (5b)
Furthermore, it can be shown that if the joint distribution of the state x and the measurement y is Gaussian, the conditional distribution of the state is Gaussian, and BLUE (5) computes the parameters of that distribution [21, Theorem 3.2.4] [5].
Table I E XPLANATION OF SYMBOLS USED IN A LGORITHM 1
IV. F INGERPRINT K ALMAN F ILTER
Symbol Explanation Reference The new filter, the Fingerprint Kalman Filter (FKF) is a βi,k Weight of ith calibration point (7) Kalman-type filter. Kalman-type filter is an umbrella term for a ¯i Mean of radio map RSSI values (2) filters that approximate and store only the current estimate fk−1 State transition function (1b) and error covariance [16]. Because of that, Kalman-type filters Fk−1 Jacobian of the state transition function (6) pi Coordinates of the ith calibration point (2) usually have small computational and memory requirements. Pai Covariance of radio map RSSI values (2) Many Kalman-type filters, such as the new filter FKF, EKF Covariance of uniform distribution in cell i (8) Ppi and UKF, are based on recursive use of BLUE (Sec. III). Qk−1 State noise covariance matrix (1b) yk Measurement vector (1c) At every time instant the Kalman-type filter approximates the necessary expectations (3) based on the previous state and error estimates, and computes the new state and error estimates using (5). FKF algorithm for the system (1) is x− exactly, but instead, we only know the prior estimate k − given as Algorithm 1. The symbols used in the algorithm are x ˆ− k and the covariance matrix of the estimation error Pk . described in Table I. Using these pieces of information we have to compute βi,k and Ppi . Naturally, there are many ways to compute these Algorithm 1 Fingerprint Kalman filter approximations; our implementation of the FKF algorithm 1) Start with the initial estimate xˆ = E (x ) and the co- uses the following approximations [17] 0
0
variance P0 = V (x0 ) of the estimation error. Set k = 1. 2) The prior estimate of state at tk is
x ˆ−
P x− k ∈ Ai ≈ βi,k
x ˆ− xk−1 ), k = fk−1 (ˆ and the covariance of the prior estimation error is P− k
=
Fk−1 Pk−1 FTk−1
+ Qk−1 ,
where ′ Fk−1 = fk−1 (ˆ xk−1 ).
(6)
V (xi ) = Pxi ≈ Ppi = V (˜ xi ) ,
and the covariance of the posterior estimation error is −1 T Pxyk , Pk = Pxxk − Pxyk Pyy k X where yˆk = βi,k a ¯i , i∈IF
i∈IF
Pxyk =
X
Pyyk =
T
βi,k (pi − pˆk )(¯ ai − yˆk ) ,
X
˜ i is uniformly distributed in the where the random variable x cell Ai . If the cell Ai ⊂ R2 is a rectangle ) ( x1 x1,min ≤ x1 ≤ x1,max Ai = x2 x2,min ≤ x2 ≤ x2,max V (˜ xi ) =
"
(x1,max −x1,min )2 12
0
0 (x2,max −x2,min )2 12
#
.
V. T ESTS T
ai − yˆk )(¯ ai − yˆk ) βi,k Pai + (¯
i∈IF
and pˆk =
(8)
then
βi,k Ppi + (pi − pˆk )(pi − pˆk )T ,
i∈IF
X
k
where pi is the ith calibration point and NµΣ is the density function of Gaussian distribution N(µ, Σ) exp − 12 (p − µ)T Σ−1 (p − µ) µ p NΣ (p) = det (2πΣ)
−1 x ˆk = x ˆ− ˆk ) k + Pxyk Pyyk (yk − y
X
i∈IF
(7)
and
3) The posterior estimate of the state at tk is
Pxxk =
NPk− (pi ) = X k − , x ˆ NPk− (pi )
.
βi,k pi .
i∈IF
4) Increment k and repeat from 2. The prediction step (Step 2) of the Algorithm 1 is computed using the linearization of the state transition function like EKF computes the prediction step. The update step (Step 3) of the Algorithm 1 is based on BLUE and the expectations (3) are derived in Appendix A. Perhaps the most problematic part of FKF is the approximation of the quantities αi ≈ βi,k and Pxi ≈ Ppi because we do not know the prior distribution
FKF was implemented and tested in Matlab using WLAN RSSI measurements. The radio map was constructed so that the receiver’s orientation was varied, and the time spent in each calibration point was approximately 60 seconds. The test data was gathered by moving the same receiver in the proximity of the calibration points around the test building. Altogether, 4 different routes were recorded resulting in approximately 20 minutes of test data. One of the routes is shown in Figure 2. These four routes are the same routes as in paper [18]. The radio map and the test data were gathered with a MacBook laptop using an AirPort wireless network adapter and Wireshark software. To improve the performance of the position estimation algorithms the weakest signals were removed from the data. Also, the incomplete normalized RSSI
histograms in the radio map were modified by adding small probability mass to each bin so that no zero bins would occur inside histograms. As reported in paper [18], we have found that a stationary state model gives better results than a constant velocity state model. So, in this paper filters FKF and PKF use only the stationary state model xk = xk−1 + wk−1 , where state x ∈ R2 contains the 2D position coordinates and the state model noise 8.3 0 wk−1 ∼ D 0, . 0 8.3
True
uses the whole calibration data instead of using only the mean values like other methods in this paper. Consequently, WKNN and PKFWKNN have significantly greater computational and memory requirements than NN, PKFNN or FKF. The results of the tests are given in Table II. The reported quantities are the mean of the 2-norms of the error in meters (ME), the root mean squared error (RMS) in meters, the 95th percentile of errors (95%) in meters, and the maximum error (Max) in meters. Table II R ESULTS OF THE TESTS
NN WKNN PKFNN PKFWKNN FKF
ME (m) 7.7 5.9 6.9 4.7 4.7
RMSE (m) 14.3 9.8 11.8 5.8 5.8
95% (m) 21.6 13.7 18.4 10.1 11.1
Max (m) 127.4 105.9 110.3 36.5 27.2
FKF PKFWKNN
30 m End
Start
We see that PKFs give more accurate position estimates than the corresponding static methods. In this test, FKF outperforms the static methods as well as PKFNN . PKFWKNN gives similar results as FKF. PKFWKNN is a little better than FKF with respect to the 95th percentile and a little worse with respect to the maximum error, but the difference is not significant. Figure 2 shows one of the test routes together with the calibration cells, and the position solutions given by FKF and PKFWKNN . As can be seen in the figure, the test cases are almost one dimensional in the sense that the calibration points mostly lie on line segments. Therefore, the results might be somewhat too optimistic. Also, robust methods could be used to remove the gross errors to enhance the performance of the filters. Potentially, this would improve PKF more than FKF. The robust methods might, for example, examine the size of the normalized innovations occurring in Kalman-type Filters and re-weight the measurements accordingly (see e.g. [25]) or completely discard measurements that seem to be false.
Cells
VI. C ONCLUSIONS Figure 2.
Test case
The test data was processed with FKF and the results compared to some known static position fingerprinting methods, as well as Position Kalman Filter, which used the solutions of the static methods as linear measurements. The static methods considered in the test were the Nearest Neighbor method (NN) [19, 22, 18, 17] using the 1-norm as a distance measure in the RSSI space and the Weighted K-Nearest Neighbor method (WKNN) [23, 24, 18, 17] using exponential Kernel approximation of the radio map histograms (WKNN) with kernel width of 2 and all of the calibration points (K = 77). Note that the Kernel approximation of the radio map histograms [18, 17]
In this paper, a novel filter for using fingerprints in indoor positioning was presented. The novel filter, FKF, was tested using real WLAN RSSI measurements and compared with the best methods known, namely, PKF with different static estimators discussed in [18]. In our tests, FKF outperformed PKFNN and the static estimators. The difference between the accuracies of FKF and PKFWKNN is not significant but FKF is faster than PKFWKNN and also uses less information of the radiomap, and thus FKF might be useful for positioning in mobile devices with limited computational and memory capacity. The test case was not as extensive as it might be, and thus more tests in different areas should be done to verify the results of this paper.
ACKNOWLEDGMENT This research was partly funded by Nokia Corporation. Simo Ali-L¨oytty also acknowledges the financial support of Tampere Graduate School in Information Science and Engineering. A PPENDIX A D ERIVATION
OF UPDATE STEP OF
FKF
The update step of FKF is based on BLUE (Sec. III), so it is enough to compute the approximations of the necessary expectations (3) x x ˜ pˆ E , ≈ y y˜ yˆ and V
x y
,
Pxx Pyx
Pxy Pyy
.
(9)
factor αi is approximately the same as the weight of the ith calibration point, that is (see Sec. IV) NxP˜ − (pi ) . αi ≈ βi = X xx NxP˜ − (p ) i xx i∈IF
5) Define random variable yi = (y|x ∈ Ai ) which is the measurement when the state is inside the cell Ai . We assume that random variables yi and xi are independent. 6) Let the mean and covariance of the random variable yi be E (yi ) = y¯i and V (yi ) = Pyi , respectively. 7) We assume that the mean of the random variable yi is approximately the same as the mean value of the RSSI value measured in calibration point pi , that is (2)
¯i . Furthermore, we assume that the covariance y¯i ≈ a of the random variable yi is a diagonal matrix and its diagonal components are approximately the variance of (2)
First of all, we have to compute Fx,y (x,y), the cumulative x density function of the random variable . We use the y following assumptions, notations and approximations (see also Sec. II): 1) We assume that cells Ai are disjoint, that is
the measured RSSI values, that is Pyi ≈ Pai , see Sec. II. The cumulative density function is Fx,y (x, y) = P (x ≤ x, y ≤ y) 1) X = P (x ≤ x ∩ x ∈ Ai , y ≤ y) i∈IF
5)
=
Ai ∩ Aj = ∅ if i 6= j
X
P (x ≤ x ∩ x ∈ Ai ) P (yi ≤ y)
(10)
i∈IF
and the cells cover all possible states so that
2)
=
X
αi P (xi ≤ x) P (yi ≤ y) .
i∈IF
P (∪i∈IF Ai ) = 1.
Thus the mean and parameters of the covariance (9) of the 2) We define random variable xi which is constrained inside random variable are x . y the cell Ai . The cumulative density function of random X X variable xi is α E (x ) α x ¯ i i i i Z x 3,6) i∈IF (10) i∈IF 1 x = X X E = Fxi (x) = P (xi ≤ x) = χAi (x)dFx , y αi −∞ αi E (yi ) αi y¯i R i∈I i∈IF XF where normalization factor αi = P (x ∈ Ai ) = Ai dFx βi p i (assumption αi 6= 0) and characteristic function 4,7) i∈I pˆ F X ≈ , , 1, x ∈ Ai yˆ βi a ¯i χAi (x) = . 0, x ∈ / Ai i∈IF Note that if the cumulative density function Fx is absoPxx = E (x − x ˜)(x − x ˜)T lutely continuous, the random variable x has probability = E xxT − x˜x ˜T density function (pdf) px and the random variable xi has (10) X pdf pxi , which is proportional to px inside the cell Ai = ˜x ˜T αi E xi xTi − x and it is zero outside the cell Ai . i∈IF 1) X 3) Let the mean and covariance of the random variable xi = ˜x ˜T αi E xi xTi − x be E (xi ) = x ¯i and V (xi ) = Pxi , respectively. i∈IF 4) We assume that the mean of the random variable xi 3) X = ¯i x¯Ti − x˜x αi Pxi + x ˜T is approximately the same as the coordinates of the ith (2)
calibration point pi , that is x ¯i ≈ pi . We also assume that the covariance of the random variable xi is the same as the covariance of a random variable which is uniformly (8)
distributed inside the cell Ai , that is Pxi ≈ Ppi , see Sec. IV. Furthermore, we assume that the normalization
i∈IF
=
X
xi − x ˜)(¯ xi − x ˜)T αi Pxi + (¯
X
βi Ppi + (pi − pˆ)(pi − pˆ)T ,
i∈IF 4)
≈
i∈IF
X
Pxy =
αi (¯ xi − x˜)(¯ yi − y˜)T
i∈IF 4,7)
≈
X
βi (pi − pˆ)(¯ ai − yˆ)T ,
i∈IF
Pyy =
X
yi − y˜)(¯ yi − y˜)T αi Pyi + (¯
i∈IF 4,7)
≈
X
i∈IF
and
ai − yˆ)(¯ ai − yˆ)T , βi Pai + (¯
Pyx = PTxy ≈
X
βi (¯ ai − yˆ)(pi − pˆ)T .
i∈IF
R EFERENCES [1] S. Ali-L¨oytty, N. Sirola, and R. Pich´e, “Consistency of three Kalman filter extensions in hybrid navigation,” in Proceedings of The European Navigation Conference GNSS 2005, Munich, Germany, Jul. 2005. [2] J. Kwon, B. Dundar, and P. Varaiya, “Hybrid algorithm for indoor positioning using wireless LAN,” IEEE 60th Vehicular Technology Conference, 2004. VTC2004-Fall., vol. 7, pp. 4625–4629, September 2004. [3] B. D. O. Anderson and J. B. Moore, Optimal Filtering, ser. Prentice-Hall information and system sciences. Prentice-Hall, 1979. [4] M. S. Grewal and A. P. Andrews, Kalman Filtering Theory and Practice, ser. Information and system sciences series. Prentice-Hall, 1993. [5] Y. Bar-Shalom and R. X. Li, Estimation with Applications to Estimation with Applications to Tracking and Navigation, Theory Algorithms and Software. John Wiley, Sons Inc., 2001. [6] S. J. Julier, J. K. Uhlmann, and H. F. Durrant-Whyte, “A new approach for filtering nonlinear systems,” in American Control Conference, vol. 3, 1995, pp. 1628– 1632. [7] S. J. Julier and J. K. Uhlmann, “Unscented filtering and nonlinear estimation,” Proceedings of the IEEE, vol. 92, no. 3, pp. 401–422, March 2004. [8] A. S. Paul and E. A. Wan, “WI-FI based indoor localization and tracking using sigma-point Kalman filtering methods,” in Proceedings of PLANS 2008 IEEE/ION Position Location and Navigation Symposium, 2008. [9] M. S. Arulampalam, S. Maskell, N. Gordon, and T. Clapp, “A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking,” IEEE Transactions on Signal Processing, vol. 50, no. 2, pp. 174–188, 2002. [10] R. S. Bucy and K. D. Senne, “Digital synthesis of nonlinear filters,” Automatica, vol. 7, no. 3, pp. 287–298, May 1971. [11] N. Bergman, “Bayesian Inference in Terrain Navigation,” Licenciate Thesis, Link¨oping University, 1997, thesis No. 649.
[12] H. W. Sorenson and D. L. Alspach, “Recursive Bayesian estimation using Gaussian sums,” Automatica, vol. 7, no. 4, pp. 465–479, July 1971. [13] S. Ali-L¨oytty and N. Sirola, “Gaussian mixture filter in hybrid navigation,” in Proceedings of The European Navigation Conference GNSS 2007, Switzerland, May 2007, pp. 831–837. [14] ——, “Gaussian mixture filter and hybrid positioning,” in Proceedings of ION GNSS 2007, Fort Worth, Texas, Fort Worth, September 2007, pp. 562–570. [15] S. Ali-L¨oytty, “On the convergence of the gaussian mixture filter,” Tampere University of Technology, Department of Mathematics. Research report 89, 2008. [16] ——, “Gaussian mixture filters in hybrid positioning,” Ph.D. dissertation, Tampere University of Technology, to be published. [17] V. Honkavirta, “Location fingerprinting methods in wireless local area networks,” M.Sc. thesis, Tampere University of Technology, 2008, http://math.tut.fi/posgroup/. [18] V. Honkavirta, T. Per¨al¨a, S. Ali-L¨oytty, and R. Pich´e, “Location fingerprinting methods in wireless local area network,” in Proceedings of the 6th Workshop on Positioning, Navigation and Communication 2009 (WPNC’09), 2009. [19] P. Bahl and V. N. Padmanabhan, “Radar: An in-building RF-based user location and tracking system,” in INFOCOM 2000. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies, vol. 2, no. 10, March 2000, pp. 775–784. [20] X. Chai and Q. Yang, “Reducing the calibration effort for location estimation using unlabeled samples,” in Third IEEE International Conference on Pervasive Computing and Communications, 2005. PerCom 2005., March 2005, pp. 95–104. [21] K. V. Mardia, J. T. Kent, and J. M. Bibby, Multivariate Analysis, ser. Probability and mathematical statistics. London Academic Press, 1989. [22] S. Saha, K. Chauhuri, D. Sanghi, and P. Bhagwat, “Location determination of a mobile device using IEEE 802.11b access point signals,” Department of Computer Science and Engineering, Tech. Rep., 2003. [23] T. Roos, P. Myllym¨aki, H. Tirri, P. Misikangas, and J. Siev¨anen, “A probabilistic approach to WLAN user location estimation,” International Journal of Wireless Information Networks, vol. 9, no. 3, pp. 155–163, July 2002. [24] B. Li, J. Salter, A. G. Dempster, and C. Rizos, “Indoor positioning techniques based on wireless LAN,” School of Surveying and Spatial Information Systems, UNSW, Sydney, Australia, Tech. Rep., 2006. [25] T. Per¨al¨a and R. Pich´e, “Robust Extended Kalman filtering in hybrid positioning applications,” in Proceedings of the 4th Workshop on Positioning, Navigation and Communication 2007 (WPNC’07), March, 2007, pp. 55– 64.