Bayesian Filters for Indoor Localization using Wireless Sensor Networks Anup Dhital
Pau Closas
Carles Fern´andez-Prades
Universitat Polit`ecnica de Catalunya Centre Tecnol`ogic de Centre Tecnol`ogic de C/ Jordi Girona 1-3 Telecomunicacions de Catalunya (CTTC) Telecomunicacions de Catalunya (CTTC) 08034 Barcelona (Spain) Av. Carl Friedrich Gauss 7, B4 Av. Carl Friedrich Gauss 7, B4 Email:
[email protected] 08860 Castelldefels, Barcelona (Spain) 08860 Castelldefels, Barcelona (Spain) Email:
[email protected] Email:
[email protected]
Abstract—In indoor and urban canyon environments, where the Global Navigation Satellite System (GNSS) line-of-sight signals are very weak, accurate localization using GNSS alone is very challenging. So, it becomes necessary to combine GNSS technology with other wireless systems for proper localization. Recently, various forms of Bayesian filters have been used for combining the sensor information in order to estimate the location of a moving receiver. However the performance of most of these filters relies on the accuracy of the assumed probabilistic model of the system. In this paper, we show how the performance of these filters vary by applying them to various applications with different probabilistic models. We mainly focus on a new type of sequential Monte Carlo (MC) filter, called the cost reference particle filter, and show that this filter is more robust compared to the other filters as it does not make any assumption about the statistical distribution of the noise. Apart from the analysis of results of synthetic experiments, we also present a detailed analysis of the results obtained in a real world application where the trajectory of a robot has been tracked by integrating the measurements obtained using a set of ZigBee and Ultra-Wide Band (UWB) sensors into the filtering algorithms.
I. I NTRODUCTION Wireless Sensor Networks (WSNs) can be used to complement the GNSS based localization systems especially in places where the GNSS signal is very weak, such as in urban areas with tall buildings or in valleys. The measurement data collected from the sensors of these networks are integrated using filtering algorithms. To use WSNs to aid the GNSS based localization, first it becomes important to access the performance of the WSNs in the tracking problem. Various wireless technologies such as WiFi, UWB, ZigBee, or RFID can be used to that purpose. We consider the problem of estimating the sequence of hidden states Xk = {x0 , . . . , xk } (k being the discrete time index), with initial distribution p(x0 ) given the observation Zk = {z1 , . . . , zk }, which in some way is related to the hidden states. Such discrete time state space model (DSSM) can be expressed with the following set of equations:
where xk ∈ R
xk
=
fk−1 (xk−1 , vk−1 )
(1)
zk
=
hk (xk , wk ) ,
(2)
nx
is the target state vector of order nx at
time k and vk−1 is the process noise sequence. Similarly, zk ∈ Rnz is the observation vector of order nz at time k and wk is the measurement noise. fk−1 and hk are state transition function and measurement or observation function respectively, and they can be linear or nonlinear. We make the assumption that vk and wk are independent random variables. Equation (1) is called Process equation or State/Dynamical model while equation (2) is called Measurement/Observation equation/model. The remainder of the paper is organized as follows. The following subsections discuss briefly about various Bayesian filters that have been developed so far. The computer simulation results and their analysis are presented in Section II wherein the performances of various filters are compared in different scenarios. Finally the conclusions are drawn in Section III. A. Kalman filter and its derivatives Kalman filter (KF) is an optimal (in minimum mean square error (MMSE) sense) Bayesian recursive filter that estimates the state of a linear dynamic system from a series of noisy measurements [1]. It is based on the following assumptions: • vk−1 and wk are drawn from Gaussian densities of known parameters, • fk−1 (xk−1 , vk−1 ) is a known linear function of xk−1 and vk−1 , and • hk (xk , wk ) is a known linear function of xk and wk . The KF achieves optimal MMSE solution only under the above mentioned highly constrained conditions. However, for most real world systems, the assumptions are too tight. They may not hold in some applications where the dependence of measurements on states is nonlinear, or when noises cannot be considered normally distributed or zero-biased. In such situations the MMSE estimator is intractable and we have to resort to sub-optimal Bayesian filters. Among the sub-optimal filters, the Extended Kalman filter (EKF) [1] has been widely used for some years. The main idea adopted in the EKF is to linearize the state transition and/or observation equations through a Taylor-series expansion around the mean of the relevant Gaussian Random Variable (GRV) and apply the linear KF to this linearized model. But this filter behaves poorly
978-1-4244-8739-4/10/$26.00 ©2010 IEEE
when the degree of non-linearity becomes high. Moreover, EKF involves the analytical derivation of the Jacobians which can get extremely complicated for complex models. To overcome the drawbacks of EKF, many derivatives of Kalman filter have been proposed till date, the most popular one being the Unscented Kalman filter (UKF) [2]. UKF belongs to a family of Kalman like filters, called the Sigma Point Kalman filter (SPKF). SPKF [3] addresses the issues of EKF for nonlinear estimation problems by using the approach of numerical integration. The state distribution is again represented by a GRV, but is now specified using a minimal set of deterministically chosen weighted sample points, called the sigma points. The nonlinear function is then approximated by performing statistical linear regression between these points. This approach of weighted statistical linear regression, to linearize the nonlinear function, takes into account the uncertainty (i.e., probabilistic spread) of the prior random variable. Besides UKF, various other SPKFs such as Cubature Kalman filter (CKF) [4], Quadrature Kalman filter (QKF) [5], etc. have been proposed and the choice among these filters depends upon various factors such as degree of non-linearity, order of system state, required accuracy, etc. Moreover, computationally efficient and reliable versions of these filters have also been proposed such as the square root version of SPKFs [4], [6]. B. Sequential Monte Carlo filters All of the Kalman type filters, discussed above, are based on the assumption that the probabilistic nature of the system is Gaussian. The performance of these filters tend to degrade when the true density of the system is not Gaussian. With the improvement in processing power of the computers, sequential Monte Carlo (SMC) based Bayesian filters, commonly known as Particle filters (PF) [7], [8], are gaining popularity as they intend to address the problems of non-linear systems which do not necessarily have a Gaussian distribution. The key idea of SMC methods, is to perform Monte Carlo integration, where a multidimensional integral is represented by a weighted sum of samples. Let us consider a multidimensional integral of the form: Z I = g(x)dx, (3) where x ∈ 0 and π(x)dx = 1. The idea of SMC is to sample this probability density function and assign appropriate non-negative weights to each sample so that the integration of equation (3) can be approximated by summation of the form: IN =
1 Ns
Ns X
f (x(i) )w(x(i) ),
(4)
i=1
where f (x(i) ) is the ith sample, usually termed as particle, of the function f (x) and w(x(i) ) is the weight of the ith
particle. Ns is the number of particles. A standard particle filter (SPF) consists of three steps: • Drawing new particles from the proposed distribution • Assigning weights to the particles according to the observations • Selecting particles with higher weight and rejecting the ones with lower weight (commonly called Resampling) PFs are also sensitive to the proper specifications of the model distributions. In fact in many situations, especially when the true noise distribution is unknown or it does not have a proper mathematical model, it is impossible to obtain a solution in closed form and hence mostly a Gaussian distribution is assumed for the ease of computation and to obtain tractable solution. So it is likely that the PFs may degrade in performance whenever the assumed distribution is different than the true distribution. A new type of sequential Monte Carlo filter, known as cost reference particle filter (CRPF) [9], has been proposed recently which does not make any assumption about the probabilistic model. The idea here is to propagate the particles from one time epoch to the other based on some user defined cost function. The CRPF algorithm can be divided into following steps: • Initialization Ns particles are drawn from, usually, a uniform distribution in the bounded interval, Ix0 , and a zero cost is assigned to each particle. (i)
x0
(i) C0 •
∼
=
U(Ix0 ) 0,
(5) i = 1, . . . , Ns
(6)
Particle Selection Particles with higher cost are selected and those with lower cost are rejected. The cost of the selected particles does not change in this stage. Preserving the cost of particles after resampling helps to shift particles towards local minima of the cost function. The predictive cost of the particle, defined as (i)
(i)
(i)
Rk+1 = λCk + R(xk |zk+1 )
(7)
is calculated for each particle. Then a probability mass function (PMF) of the form (i)
(i)
π ˆk+1 ∝ µ(Rk+1 )
(8)
is obtained. µ : < → [0, +∞] is a monotonically decreasing function, known as the generating function. The most intuitive choice of PMF would be (i)
µ1 (Rt ) = •
(i)−1
Rt
(9)
Particle Propagation New particles are drawn from an arbitrary conditional probability distribution function (PDF), pk+1 (xk+1 |xk ), with only constraint that Epk+1 (xk+1 |xk ) [xk+1 ] = f (xk ). and the associated cost is given as (i)
(i)
(i)
Ck+1 = λCˆk + 4Ck+1 ,
(10)
where, λ, which lies between 0 and 1, is the forgetting factor that controls the weights assigned to old (i) observations. 4Ck+1 is the incremental cost function. An intuitive and computationally simple choice of cost function can be of the form: (i) 4Ck+1
•
Estimation of state The PMF is once again defined as in the selection stage: (i) πk+1
∝
(i) µ(Ck+1 )
(12)
The estimated state is then calculated either as a minimum cost estimate or as a mean cost estimate. The minimum cost estimate at time k + 1 is computed as (i)
i0 = arg max{πk+1 }, i
(i )
0 ˜ min x 0:k+1 = xk+1
(13)
Similarly the mean estimate at time k + 1 is computed as ˜ mean x k+1 =
Ns X
(i)
(i)
πk+1 xk+1
(14)
i=1
II. S IMULATIONS The performance of various filtering algorithms was evaluated by analyzing the results obtained in the simulation of different applications using both synthetic as well as real data. Of the many experiments with synthetic data, where the filters were compared in controlled scenarios, one particular application with time varying system model has been included in this paper as it clearly demonstrates the superiority of the new CRPF in terms of robustness. Another experiment is presented in which we used real-world data to track the moving position of a robot. A. Time Series Model Time series models are used in a variety of fields where the system is changing gradually with time. This particular example finds its application in econometrics and it is typically used to evaluate and compare filtering methods. Here, both the state and measurement models are nonlinear. The state and measurements equations are given as: xk
=
zk
=
fk (xk−1 , k) + vk−1 x2k + wk 20
(15) (16)
where, fk (xk−1 , k) =
EKF
xk−1 25xk−1 + + 8 cos(1.2k) 2 1 + x2k−1
(17)
vk and wk , are modeled as zero-mean white Gaussian noise 2 sequences with variances σv2 = 10 and σw = 1, respectively [10]. Both Kalman filter based and SMC filters were implemented for this application. The root mean square error (RMSE) for
xestQKF
40
xest
PF
xest
CRPF
20
x
k
q
= ||zk+1 − h(xk+1 )|| (11) √ where q ≥ 1 and ||b|| = bT b denotes the norm of b.
x (real) xest
60
0
−20
−40
−60 0
20
40
60
80
100
time, k
Fig. 1.
Evolution of states.
different filter implementations was evaluated by performing 100 independent Monte Carlo simulations. The posterior Cram´er Rao lower bound was also evaluated during the same Monte Carlo runs. Figure 1 shows both the true evolution of states and the evolution of estimated states for different filters. The RMSE of the implemented filters is presented in figure 2. Here we can easily observe that the performance of the SPKF (QKF in this case) is better than the EKF, which is expected, taking into account the nonlinearity of the problem. The standard particle filter, simply indicated as PF in figures 1 and 2 was implemented using 50 particles. The CRPF filter was also implemented using the same number of particles. We can see here that the SMC filters (both PF and CRPF) outperform the Kalman like filters. This is the advantage of recursively propagating the whole distribution instead of their first two moments, of course, at the expense of some computational cost. It can also be observed that the PF in this case has slightly less RMSE than the CRPF. However, this was the case with Gaussian probabilistic model and since PF is using the true probabilistic model, it is expected to operate properly. In the second set of experiment, the unimodal Gaussian distribution of the state was replaced by a bimodal distribution. Here, since the PF and all Kalman based filters assume a unimodal Gaussian distribution, their performances were degraded. However, since CRPF makes no assumption about the distribution, its performance did not degrade as much as that of the PF and other Kalman based filters. This is illustrated by figure 3. B. Robot tracking using ZigBee and UWB sensors Besides the previous experiment with synthetic data, the filtering algorithms were tested with real-world data taken from the measurement campaign made within the NEWCOM++ project, an EU FP7 Network of Excellence. The aim of this project is to study and test the feasibility of WSNs so as to complement the GNSS based localization systems.
50 e
EKF
e
QKF
e
PF
rms
45
rms rms
ermsCRPF
40
CRB 35
RMSE
30 25 20 15 10 5 0
0
10
Fig. 2.
20
30
40
50 time, k
60
70
80
90
100
RMSE of different filter implementations.
50 e
EKF
e
QKF
e
PF
rms
45
rms rms
ermsCRPF
40
CRB 35
RMSE
30 25 20 15
where xk and yk are the robot coordinates at time k. Similarly, vk = [v1,k v2,k ]T is the state noise at time k. The state noise sequence is assumed to be a zero-mean Gaussian process with covariance Q i.e.,v ∼ N (0, Q). Q was chosen to be 0.1I2 . The observations were collected through a set of N sensors with known locations as discussed above. For the case of ZigBee sensors, the widely used log-normal model is used to calculate the received power. The observation at time k for the ith sensor is: ||rk − ri || zi,k (dBm) = P0 (dBm) − 10α log10 + wi,k d0 i = 1, . . . , N (19) where, P0 = −49.134 dBm is the power transmitted by the ZigBee node mounted on the robot, α = 3.313 is the path loss exponent, d0 = 1 m is the reference distance related to the Log Normal model for RSSI measurements, rk is the position of the robot at time k and ri is the known position of the anchor node i. wk = [w1,k w2,k . . . wN,k ]T is the measurement noise sequence which is again assumed to be zero-mean Gaussian with covariance RN ×N . Similarly for UWB sensors, the observation is directly in the form of noisy range measurements. The range measurement at time k for the ith sensor is: zi,k = ||rk − ri || + wi,k
10 5 0
Like with the ZigBee sensors, data was recorded with constant as well as varying speed of the robot. The dynamic state model of the robot is chosen as: xk xk−1 v1,k = + (18) yk yk−1 v2,k
0
10
20
30
40
50 time, k
60
70
80
90
100
Fig. 3. RMSE of different filter implementations for a bimodal state distribution.
In this experimental setup [11], a robot was moved in straight path along the corridor of a building. The robot took a 90o turn almost at the middle of its run. So the trajectory of the robot was ‘L’ shaped. Firstly, 21 ZigBee sensors were placed around the trajectory of the robot. The Received Signal Strength Indicator (RSSI) measured by each of the sensors were recorded, which was later combined in the filtering algorithm to produce the position estimate. The data was taken for two cases: once by keeping the speed of the robot constant and again by moving the robot with varying speed. Finally, the 21 ZigBee sensors were replaced by 12 UWB devices. Some of the UWB devices were located inside neighboring rooms and hence those measurements were in non line of sight conditions for the whole trajectory of the robot. The rough range estimates provided by each UWB sensors were recorded and later combined by the filtering algorithm for localization.
i = 1, . . . , N
(20)
We need not worry about choosing covariances for state and measurement models in case of CRPF. But to use any of the statistical reference filters, we must choose proper value of these covariances. It was found that a small value of state covariance should be used for proper tracking. To find the covariance for measurement model, the error of the measurements was calculated. For this purpose, first the true trajectory of the robot was calculated as we know how the robot was moved and with what velocity at each sampling instant. Knowing the true position at each sampling instant, the ideal theoretical value of measurements were then calculated for each node. For instance, with ZigBee Nodes, the theoretical RSSI for node i at time k can be calculated as: Rk,i (RSSItheoretical )k,i = P0 − 10α log10 (21) d0 where, Rk,i is the distance between the anchor node i and the true position of robot at time k. The error was then calculated by evaluating the difference of the real measurement and the theoretical one. This procedure was done off-line, as the setup we had used was controlled and reproducible. It was found that the average error for the UWB was in the order of 2 meters. Hence the measurement
7
20
10 8
5
14
6
13
9
12 4
18
17
15 20
16
16 y, meters
19 14
18 11 sensor locations true trajectory estimated trajectory
12
21 22
10
3
8 2
4
6
8 10 x, meters
12
14
2
16
(a) EKF 7
20
10 8
5
14
6
13
9
12 4
18
17
15 20
16
16 y, meters
19 14
18 11
12
sensor locations true trajectory estimated trajectory
10
21 22 3
8 2
4
6
8
10 12 x, meters
14
2
16
18
(b) CKF 7
20
10 8
5
14
6
9
13 12 4
18
17
15 20
16
16 y, meters
covariance was taken to be 22 = 4. Similarly, the average error was found to be in the order of around 5dB for the case of UWB measurements. For the experimental setup used, the order of error in the measurements are very high. This means that the filter should rely less on the measurement and more on the state model. This validates the reason for taking small covariance for the state model. Three filtering algorithms: namely, EKF, CKF and CRPF were implemented and compared in different scenarios. The focus was to study the behavior of the filters in different circumstances. Figure 4 shows the trajectory of the three filters for the case of constant speed with measurements taken using twenty-one ZigBee sensors. The RMSEs of the estimated trajectories were calculated using the expression of the form: v u J u1 X t RM SElocation,k = [(xk,j − x ˆk,j )2 + (yk,j − yˆk,j )2 ] J j=1 (22) where J is the total number of Monte Carlo runs, (x, y) is the true location and (ˆ x, yˆ) is the estimated location. 100 Monte Carlo runs were simulated for this purpose. Notice that the average is over the same dataset given by [11] considering different initialization points and also accounting that particle filtering methods are stochastic methods, and thus their realizations might vary within independent realizations. Figure 5 shows the RMSE plots for the three filters in the case of constant speed and using ZigBee sensor measurements. Here the performance of EKF and CKF are very similar and that of CRPF is slightly better than the other two filters. In fact all three filters seem to perform quite well with ZigBee measurements. This could be due the fact that there are too many ZigBee sensors for the given area of the experimental setup. Similarly, Figure 6 shows the RMSE in the case of using UWB measurements. Here we can see that the performance of CRPF is distinctly better than the other filters. Also, the CKF is seen to perform better than EKF, which is exactly as expected. The experiment for the case when the robot was moving with varying speed showed that the behavior of the filters were similar as in the case of constant speed but with slightly degraded performance for all filters. One of the major advantages of CRPF is that it uses a user defined cost function rather than relying on the probabilistic model of the system. So, it is often possible to improve the performance of the filtering algorithm by making some changes in the cost function which is suitable to the application. Keeping this in mind, the cost function of equation (11) was modified by multiplying it by a weight matrix. In case of UWB measurements, the inverse of the rough range measurement obtained from the UWB sensors itself, after normalization, was taken as the weight. The assumption in doing so is that if the sensors are close to the target, then the
19 14
18 11
12
sensor locations true trajectory estimated trajectory
10
21 22 3
8
2 2
4
6
8 10 x, meters
12
14
16
(c) CRPF Fig. 4. Trajectory of Robot moving with constant speed as estimated by different filters using ZigBee measurements along with the true trajectory of the robot.
path loss is less and hence these close ranges are more reliable. On the other hand, if the range measurement is large, it means that the sensor is far from the moving target and consequently it will suffer more path loss. Hence the far sensors are less reliable, and thus they are assigned lesser weight. Same principle is applied to calculate the weight matrix for ZigBee measurements. A low value of RSSI would mean that the sensor is far and a higher value would suggest a nearby sensor. So higher weight is given to the sensor having higher value of RSSI and lower weight for the one with low RSSI. In our experimental setup, the RSSI were in the range from −90 dBm to −35 dBm. So a weight is chosen such that it is
3.5
1.4 CKF EKF CRPF
2.5
1
2
0.8
1.5
0.6
1
0.4
0.5
0.2
0
0
20
40
60
80
CRPF CRPFWM
1.2
RMSE
RMSE
3
0
100
0
20
40
Time, k
60
80
100
Time, k
(a) ZigBee measurements
Fig. 5. RMSE of estimated trajectories using ZigBee Sensors for constant speed of robot.
4 CRPF CRPFWM
4 3.5
EKF CRPF CKF
3.5
3
3 2.5 RMSE
RMSE
2.5
2
2 1.5 1.5 1 1 0.5 0.5 0 0
0
20
40
60
80
100
0
20
40
60
80
100
Time, k
Time, k
(b) UWB measurements Fig. 6. RMSE of estimated trajectories using UWB Sensors for constant speed of robot.
inversely proportional to the absolute value of the RSSI. This implies that the weight matrix for ZigBee can be calculated in exactly the same way as with the case of UWB measurements, but replacing the range measurement by RSSI measurements. There was a good improvement in the performance with the inclusion of weight matrix for the case of UWB measurements and some improvement for the ZigBee measurements as well. This is better observed from the RMSE plots of Figure 7. CRPFW M indicates the RMSE plot of CRPF using weight matrix. The performance of the filters were further improved by removing the outliers in the measurement. With the knowledge of the expected range of measurements, certain threshold was set above which the measurements were considered as outliers and thus those measurements exceeding the set threshold were neglected. Since the measurement data obtained in our experiment was highly corrupted with errors, specially the ones close to the beginning and end of the run of the target, removal of outliers resulted in a good improvement of performance. This improvement in performance is demonstrated by Figure 8 through comparison of RMSE plots with and
Fig. 7. Comparison of RMSE of estimated trajectories using CRPF filter with and without using Weight Matrix for ZigBee and UWB measurements.
without the measurements. The comparison has been done for all three filters: EKF, CKF and CRPF; all using UWB measurements. EKFOR , CKFOR and CRPFOR represent EKF, CKF and CRPF algorithms with removal of outliers (subscript OR denotes outlier removal), respectively. Figure 9 shows the estimated trajectory using CRPF for UWB measurements, using both weight matrix and removal of outliers. III. C ONCLUSION From the above simulations it was found that the SPKFs, which came as a solution to address the non-linearity of system model, degraded in performance whenever the true distribution is not Gaussian. Moreover, these filters presented yet another challenge of having to properly tune the covariances of noise and initial distribution. The standard particle filter emerged as a promising solution to address non-Gaussian distributions. However, it requires a good knowledge of the true distribution. From the simulation of time series model, we saw that whenever the assumed model is different than the true one, PFs also suffer from severe degradation in performance. The new CRPF seems to address the problem of uncertainty of the model distributions quite nicely as it does not make any
19
20
y, meters
18 2.5 EKF EKFOR
sensor locations true trajectory estimated trajectory
18
22
13
16
17
12
14
20
11
15 16 14
2 12 10
RMSE
1.5
8
8 0
1
0
0
20
40
60
80
(a) EKF 2.5 CKF CKFOR 2
RMSE
1.5
1
0.5
0
20
40
60
80
6
8 10 x, meters
12
14
16
18
R EFERENCES
(b) CKF 3.5 CRPF CRPFOR
3
2.5
2
1.5
1
0.5
0
20
40
assumption about the noise distribution and simply propagates the particles based on some user defined ad-hoc cost function. From the above presented experiments, it has been seen that CRPF is more robust than other filters and works well with any noise distribution. The CRPF is also very flexible in the sense that the cost function can be modified in a way which would be more appropriate for a specific application. A minor change in the cost function, in the form of weight matrix, was seen to give good improvement as shown in the robot tracking application. From the analysis of all the results, it can be said that the CRPF could be the state of art technology in estimation problems as it offers various advantages such as ease of design and robustness with regard to the system’s probabilistic model.
100
Time, k
0
4
100
Time, k
0
2
Fig. 9. Estimated trajectory using CRPF filter that uses weight matrix and outliers removal.
0.5
RMSE
9
60
80
100
Time, k
(c) CRPF Fig. 8. Comparison of RMSE of estimated trajectories with and without the removal of outliers (using UWB measurement).
[1] S. M. Kay, Fundamentals of Statistical Signal Processing. Prentice Hall PTR, 1998. [2] S. J. Julier, J. Uhlmann, and H. F. Durrant-Whyte, “A new method for the nonlinear transformation of means and covariances in filters and estimators,” IEEE Transactions on Automatic Control, vol. 45, pp. 477– 482, 2000. [3] R. V. D. Merwe and E. Wan, “Sigma-point kalman filters for probabilistic inference in dynamic state-space models,” 2003. [4] I. Arasaratnam and S. Haykin, “Cubature kalman filters,” IEEE Transactions on Automatic Control, vol. 54, pp. 1254–1269, 2009. [5] I. Arasaratnam, S. Haykin, and R. J. Elliott, “Discrete time nonlinear filtering algorithms using gauss hermite quadrature,” Proceedings of the IEEE, vol. 95, pp. 953–977, 2007. [6] I. Arasaratnam and S. Haykin, “Square-root quadrature kalman filtering,” IEEE Transactions on Signal Proceedings, vol. 56, pp. 2589–2593, 2008. [7] B. Ristic, S. Arulampalam, and N. Gordon, Beyond the Kalman Filter: Particle filters for tracking applications. Artech House, 2004. [8] 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, pp. 174–188, 2002. [9] J. Miguez, M. F. Bugallo, and P. M. Djuric, “A new class of particle filters for random dynamic systems with unknown statistics,” EURASIP Journal on Applied Signal Proccessing, vol. 15, pp. 2278–2294, 2004. [10] N. Gordon, D. Salmond, and A. Smith, “Novel approach to nonlinear/non-gaussian bayesian state estimation,” IEEE Proceedings F Radar and Signal Processing, vol. 140, pp. 107–113, 1993. [11] D. Dardari and F. Sottile (Eds.), “WPR.B database: Annex of progress report II on advanced localization and positioning techniques: Data fusion and applications. Deliverable DB.3 Annex, 216715 Newcom++ NoE, WPR.B, December 2009.”