Kalman Filter-Based Indoor Position Tracking with Self-Calibration for RSS Variation Mitigation

This paper investigates the indoor position tracking problem under the variation of received signal strength (RSS) characteristic from the changes of device statuses and environmental factors. A novel indoor position tracking algorithm is introduced to provide reliable position estimates by integrating motion sensor-based positioning (i.e., dead-reckoning) and RSS-based fingerprinting positioning with Kalman filter. In the presence of the RSS variation, RSS-based fingerprinting positioning provides unreliable results due to different characteristics of RSS measurements in the offline and online phases, and the tracking performance is degraded. To mitigate the effect of the RSS variation, a recursive least square estimation-based self-calibration algorithm is proposed that estimates the RSS variation parameters and provides the mapping between the offline and online RSS measurements. By combining the Kalman filter-based tracking algorithm with the self-calibration, the proposed algorithm can achieve higher tracking accuracy even in severe RSS variation conditions. Through extensive computer simulations, we have shown that the proposed algorithm outperforms other position tracking algorithms without self-calibration.


Introduction
The indoor position tracking has received a great deal of attention for location-based services such as indoor navigation, retail, and entertainment services [1]. Different indoor position tracking algorithms [2][3][4][5][6][7][8][9][10] have been introduced based on Bayesian filters such as Kalman filter and particle filter. The common feature of these algorithms is that the position of a mobile device is estimated by fusing two independent position estimates. One is based on the device's motion dynamics which can be measured by embedded sensor (i.e., inertial measurement unit) readings. Another is obtained from fingerprinting positioning using received signal strength (RSS) measurements from network access points (APs). Specifically, in the RSS-based fingerprinting positioning, the position of a mobile device is estimated by measuring the similarities between the currently obtained RSS measurements and the ones in a prebuilt radio map. (The radio map consists of a set of RSS observations from APs at reference points (RPs) with prior position information. The step for the radio map construction is called the offline phase, and the positioning step is referred to as the online phase.) Unfortunately, in practice, RSS varies significantly over time because of not only the effects of noise, interference, multipath, and shadowing, but also the changes in device types, orientations, and environmental factors (e.g., temperature, humidity, open/closed door, and indoor population) [8,[10][11][12][13][14]. Hence, the RSS-position dependency in the radio map becomes invalid, and the fingerprinting positioning results are unreliable in the presence of the RSS variation. Moreover, many of the previously developed tracking algorithms may fail to track the position of the mobile device. Some of the tracking algorithms [5,6] concatenate on the constraint that only the RPs within an allowable range from the sensor-based position estimate are used for the RSS-based fingerprinting positioning in order to improve the robustness to the RSS variation. However, the selection of relevant RPs can be vulnerable to the sensor biases, and the position tracking error can increase over time. 2 International Journal of Distributed Sensor Networks Several algorithms were proposed to mitigate the effect of the RSS variation by mapping the online RSS measurements to the offline measurements based on a linear fitting model [11][12][13][15][16][17][18]. This is referred to as the calibration. To find the mapping between the offline and online RSS measurements, a number of RSS observations are collected after the radio map construction, but before the online phase. By comparing those observations and the ones in the radio map, the linear fitting parameters can be derived, which represent the RSS variation from the offline observations. The estimates of the fitting parameters, also referred to as the RSS variation parameters, are then used to create a mapping between the offline and online measurements [13,15,16]. This approach is deemed effective for increasing the compatibility of the old radio map with the changes causing the RSS variation. However, the mapping may be invalid in the online phase when significant changes between the calibration and online phases occurred. Moreover, it is impossible to find the RSS variation parameters for all pairs of commercial available devices.
In this paper, we propose a novel Kalman filter-based indoor position tracking algorithm with self-calibration to provide more accurate positioning results under the RSS variation. For the RSS variation mitigation (self-calibration), a recursive least square estimation-(RLSE-) based solution is presented that continuously estimates the RSS variation parameters between the offline and online RSS measurements with the position estimate of the Kalman filter. Since the proposed algorithm is able to create a mapping between the offline and online RSS observations and to calibrate the RSS measurements in real time, any additional burden and assumptions for calibration are not required. With the use of the calibrated RSS measurements, the proposed algorithm enables higher positioning accuracy for different devices with a single radio map.
The rest of this paper is organized as follows. Section 2 briefly discusses previous developed indoor position tracking algorithms. Section 3 provides the preliminary experiment results and the RSS variation model. Section 4 introduces a novel Kalman filter-based indoor positioning algorithm with the RLSE-based self-calibration. Section 5 provides the simulation results to evaluate the performance of the proposed algorithm in comparison with other position tracking algorithms. Section 6 concludes this paper.

Related Work
For several years, many Bayesian filter-based algorithms have been developed to solve the indoor position tracking problem by using inertial motion sensor and RSS measurements, which are available in most commercial devices. According to the nature of the state motion and measurement models, the type of Bayesian filters can be determined (i.e., Kalman filter for linear and Gaussian systems and particle filter for nonlinear and non-Gaussian systems).
As pedestrian movements can be described as a simple linear Gaussian motion model [6], the Kalman filter was applied to many tracking algorithms. The early applications of Kalman filter can be found in [2,3]; however, they are vulnerable to the RSS variation. Recently, many efforts have been made to improve the robustness of the Kalman filterbased algorithms to the RSS variation. In [5], the compressive sensing technique was adopted to find the best subset of RPs under the physical proximity constraint to the sensorbased position estimate in order to avoid the selection of irrelevant RPs from the RSS variation. In [6], a nonparametric information filter was developed for the enhancement of Kalman filter, and it was applied to the indoor position tracking problem. Also, the RP selection based on the confidence level was proposed in [6] to improve the robustness to the RSS variation. The nature of particle filters is to have the robustness to unknown model errors (i.e., RSS variation). In this regard, particle filter-based tracking algorithms were introduced in [8,9]. In [8], especially, the RSS peak-based approach was proposed that selects the RP of the maximum RSS for the AP whose RSS peak is detected by observing the latest RSS measurements. However, this approach can be only applicable for corridor environments.
A number of Bayesian filter-based algorithms have been proposed for indoor position tracking, and several attempts have been made to handle the RSS variation problem. However, when the degree of the RSS variation and the sensor biases are severe, their tracking performance can still deteriorate, and the tracking error can increase over time.
In our preliminary study [10], we introduced a heuristic approach to self-calibration using a weighted sum method for position tracking. In this paper, as the enhancement to our previous approach, a Kalman filter-based tracking algorithm combined with RLSE-based self-calibration is proposed to effectively combat the RSS variation problem.

Experimental Demonstration of the RSS Variation in
Different Measurement Settings. The RSS variation, defined as the significant difference between the offline and online RSS measurements, is frequently observed due to the changes in device types and environmental settings. Figure 1 shows the cumulative distribution function (CDF) of a RSS observation measured by Pantech Vega R3 and Samsung Galaxy S2 on two different days. Each device collected 500 RSS measurements at a distance of 8 m from the same WiFi AP. The empirical cumulative distribution functions are denoted by markers, and the normal fit distribution for each measurement set is represented by a colored line in Figure 1. The mean and variance for each RSS measurement set are given in Table 1. It is surprising that even the same device without changing experimental settings yields very different RSS characteristics. For example, in our experiments, the red and green lines which are the CDFs of RSS obtained with the same device on the different days are separated by 5.3 dBm. It is practically impossible to clearly identify the factors resulting in such RSS gaps, and it is only roughly estimated that the device types, temperature, humidity, and physical changes of surrounding environments are all contributing the RSS gaps through experiments [8].
International Journal of Distributed Sensor Networks   Figure 2 shows how the RPs are selected by thenearest neighbor (KNN) algorithm [19], which is the most representative fingerprinting algorithm, for two different scenarios. For the sake of simplicity, only one AP is deployed, and the number of RPs selected with the KNN algorithm is set to be 9. In the first scenario, it is assumed that the system and environmental settings are identical in the offline and online phases. The result is illustrated in Figure 2(a) where the size of the selected RP, denoted by an upper triangle, represents the similarity between the offline and online RSS measurements. In this case, those RPs that are nearby the true position are selected, and the position estimate contains a small error. In the second scenario, it is assumed that the devices and environmental factors in the online phase are different from those in the offline phase and that the RSS variation occurs. As can be seen in Figure 2(b), the selected RPs are very much scattered over the experimental region due to the RSS gap between the offline and online measurements. As a result, a considerably large error is included in the position estimate.

RSS Variation Model.
The coordinate vector of a mobile device in a two-dimensional space is denoted by l = [ , ] where is the transpose operation. In this paper, we consider a two-dimensional space for simplicity, but our model can be extended to a three-dimensional space without any additional assumptions. For the radio map construction in the offline phase, RSS measurements from APs are collected at RPs. Let Φ be the position coordinate of the th RP ( = 1, 2, . . . , ). The offline RSS vector at the th RP is denoted by represents the offline RSS from the th AP. Let l be the true position of the mobile device at time in the online phase. We denote the online RSS vector at l by m ≜ m(l ) = [ 1 (l ), 2 (l ), . . . , (l )] . According to [8], the online RSS vector m at position l can be modeled as a lineartransformation function: where ℎ and are unknown linear fitting (RSS variation) parameters that represent the variation between the offline and online RSS observations, 1 is the × 1 vector whose elements are all one, and n is the × 1 zero-mean Gaussian noise vector with covariance ℎ 2 2 I where 2 is the power of shadowing and multipath in the offline phase and I is the identity matrix of size . Several experimental results have already verified the validation of this simple model [8,11]. Note that ℎ and can be different according to environmental changes, device types, device orientations, and so on. In practice, they may vary over time with the changes in device statuses, but it is assumed that the variations are negligible and considered part of the noise. Hence, we assume that the RSS variation parameters {ℎ, } remain constant during the online phase. It is worth noting that d(l ) is not available for l ̸ = Φ , for all . In the proposed algorithm, d(l ) for l ̸ = Φ is approximated with {d(Φ )} =1 . This will be discussed later.

Kalman Filter-Based Position Tracking with RLSE-Based Self-Calibration
This section introduces a novel indoor position tracking algorithm that continuously estimates the position of a mobile device and RSS variation parameters for self-calibration. The proposed algorithm is comprised of two parts: Kalman filterbased position tracking and RLSE-based self-calibration as illustrated in Figure 3. In the Kalman filter-based position tracking part, the current position of the mobile device is estimated by adding the previous position estimate and the position displacement from inertial sensor readings (sensorbased positioning). The sensor-based position estimate is then combined with the position estimate from RSS-based fingerprinting positioning. The output of the Kalman filtering algorithm is used as the input of the RLSE algorithm to estimate the RSS variation parameters. Through the onlineto-offline RSS mapping, we can obtain the calibrated RSS measurements in which the RSS variation effect is removed. Then, the calibrated RSS measurements are used for fingerprinting positioning. With the effective combination of two algorithms, the positioning accuracy can be significantly improved in the presence of the RSS variation.   should be properly given to design a Kalman filtering algorithm. In this paper, the simple linear models, which are typically used in the related literature, are adopted. Although the state vector consists of the x-y coordinates of the mobile device in this paper, it can be simply extended to include the velocity and acceleration of the device as described in [5,6].
where l −1 represents the mobile device's position at the previous step and u is the displacement in position during the time interval between − 1 and . The random variable w represents the zero-mean Gaussian process noise with covariance matrix Q = [w w ].
(ii) Measurement model. Let z = [ FP , FP ] be the position estimate of the mobile device at time by using fingerprinting with the calibrated RSS measurements instead of using raw online RSS measurements m . Then, the measurement model is written as International Journal of Distributed Sensor Networks 5 where the random variable k representing the measurement noise follows the zero-mean Gaussian distribution with covariance R = [k k ]. The procedure to obtain the position estimate z with the fingerprinting positioning will be discussed with the RLSE-based RSS variation mitigation algorithm in the following subsection.
It is assumed that the initial position estimatel 0 of the mobile device and its covariance matrix P 0 are known.l 0 can be obtained by using landmarks or other memoryless positioning algorithms, and P 0 can be determined according to the uncertainty level ofl 0 . Since the focus of this paper is on position tracking, the discussion on estimating the initial position is omitted. According to the dynamic model, the position of the mobile device can be predicted as and its covarianceP is computed bỹ where P −1 is the covariance matrix ofl −1 , which is the position estimate at the previous step. u is obtained from the inertial sensor readings, and it is given by where Δ is the travel distance, which can be estimated by peak step detection [20] and the Weinberg method [21]. The moving direction is determined by using the magnetic, accelerometer, and/or gyroscope sensors (see details in [22]). The estimate error covariance P is denoted by where e = l −l . Then, the predicted positionl is updated with the measurement z as follows: where the Kalman gain K and the covariance matrix P are determined as The current position of the mobile device is determined asl .

RLSE-Based Self-Calibration for RSS Variation Mitigation.
This subsection introduces how the RSS variation parameters {ℎ, } can be estimated during the position tracking and how the online RSS measurements can be compatible with the radio map. Our approach is to estimate {ℎ, } based on the RLSE and to recover d(l ) from m based on the estimates of {ℎ, }. Letĥ and̂be the estimates of the RSS variation parameters at time . For clarity, the RSS vector after self-calibration witĥ ℎ and̂is denoted byd . Following (1), the calibrated RSS vectord can be derived aŝ In the proposed algorithm, the calibrated RSS vector is used as the measurements for fingerprinting positioning where the KNN algorithm [19] is exploited.
The problem now is to estimate the RSS variation parameters ℎ and . To formulate this problem as the least square estimation problem, we rewrite the linear relationship in (1) as where ∝ 1/‖l − Φ ‖ denotes the weight for the th RP and satisfies ∑ = 1. Defineĝ = [ĥ ,̂] as the vector containing the estimates of the RSS variation parameters at time . Since the initial position estimatel 0 is given, the initial estimate of g can be estimated based on the least square estimation: whereĈ 0 = [d(l 0 ), 1 ] and m 0 is the online RSS measurement vector at the initial step. If the number of APs is small, g 0 becomes inaccurate due to insufficient measurements. It has been reported that ℎ is typically around 1 [11]. Thus, it is assumed thatĥ 0 = 1 for sparse AP settings, and the RLSE-based self-calibration algorithm provideŝ0 only as the sample mean:̂0 Recall that (l 0 ) is the RSS measurement from the th AP at the initial step. At any time ,ĝ can be updated from the previous estimateĝ −1 with the RLSE [23]: The matrix J controls the weight of the measurement m , and it is computed as where Σ is updated as follows: with Σ 0 = (Ĉ 0Ĉ0 ) −1 . The overall procedure of the proposed algorithm is described in Algorithm 1.

Performance Evaluation
In this section, the performance of the proposed algorithm is evaluated through MATLAB simulations. To verify the effectiveness of the proposed algorithm, the proposed algorithm is compared with another two Kalman filter-based position tracking algorithms with uncalibrated RSS measurements (i.e., raw online RSS vector m ). We note that the comparison algorithms also use the same motion and measurement models for position tracking as described in Section 4.1, but different fingerprinting results are used according to the algorithms. One of the comparison algorithms exploits the KNN algorithm [19], and another uses the rank-based fingerprinting (RBF) algorithm [24] for fingerprinting positioning. Since the KNN and RBF algorithms are used in many positioning algorithms, they are chosen for comparison as benchmark.
For clarity, we refer to the comparison algorithms as the uncalibrated KNN-based (uKNN) tracking algorithm and the uncalibrated RBF-based (uRBF) tracking algorithm, respectively.
For simulations, an experimental region of 20 m × 20 m is considered. The number of APs changes from 4 to 32, and all the APs are randomly deployed in the region. The RSS radio map is constructed with RSS vectors at 121 RPs with a uniform separation of 2 m. The log-distance propagation model is assumed for the offline RSS from the th AP at arbitrary position l : (l ) = − 10 log 10 (l ) + , where = −40 dBm is the signal power at the reference distance (typically 1 m), = 2 is the path loss exponent, (l ) is the Euclidean distance between l and the th AP, and is a zero-mean Gaussian noise with a variance of 10.
Although the model parameters may be different for each AP in practice, all the APs are assumed to have the same values for simplicity in the simulations. The moving trajectory of a mobile device is designed to encircle the experimental region as shown in Figure 6, and the size of the displacement in position during the time interval is assumed to be one (i.e., ‖u ‖ = 1 where ‖ ⋅ ‖ is the Euclidean norm). For the Kalman filter implementation, the design parameters are given as Q = I 2 , R = 25I 2 , and P 0 = 0.001I 2 . The initial position l 0 is assumed to be perfectly known so that l 0 = l 0 . The number of RPs selected for fingerprinting positioning is fixed to be 9. To investigate the effect of the RSS variation, the simulations were conducted for two possible scenarios (ℎ, ) = (0.95, 5) and (ℎ, ) = (0.95, 15). According to the RSS variation parameters, different RSS vectors are obtained in the online phase. To emulate the real environment, all the simulation parameters were determined based on our preliminary experiments and the results in [8,11,25]. The simulation results are averaged over 100 Monte Carlo simulations. Figure 4 presents the true RSS variation parameters along with the corresponding estimates by using the proposed algorithm for = 12. To provide the analysis of the estimation over time, we consider a scenario in which the mobile device repeats the same rectangular trajectory (see Figure 6) three times. The results oscillate quite rapidly within 20 estimations, but after their changes become very small, and the errors in the scale and bias parameters are less than 0.05 and 3, respectively. Figure 5 shows the CDF of the difference between RSS measurements in the offline and online phases for statistical analysis. The difference in RSS is defined as      ) with the offline RSS measurements. However, it is clearly shown that the RSS difference is significantly reduced by using the proposed RMSE-based self-calibration algorithm in both cases. Over 90 percent of the calibrated RSS measurements have a difference of 6 dBm with the offline RSS measurements. The results indicate that the proposed RLSE-based self-calibration algorithm can effectively remove the RSS variation effect by using the estimates of the RSS variation parameters. With the great reduction of the RSS difference, it is expected that the proposed position tracking algorithm can achieve higher positioning accuracy compared to the other algorithms.

Position
Tracking Performance for =12 APs. Figure 6 presents an example of the device's position tracking with the three tracking algorithms for (ℎ, ) = (0.95, 15). In the figure, the RPs and the APs are denoted by x markers and green diamonds, respectively. As expected from the results in Figures 4 and 5, the proposed algorithm using calibrated RSS measurements can track the position of the mobile device more accurately than the other algorithms that use uncalibrated ones.
The empirical CDFs of the positioning errors of the tracking algorithms are shown in Figure 7. The uKNN and uRBF algorithms experience the degradation in the position tracking performance when the RSS variation becomes more severe; that is, (ℎ, ) = (0.95, 15). However, the proposed algorithm can achieve the similar tracking accuracy regardless of the extent of the RSS variation. It should be emphasized that near 90 percent of the position estimates with the proposed algorithm have errors less than 1 m for (ℎ, ) = (0.95, 15), whereas only 4 percent and 13 percent of the estimates using the uKNN and uRBF algorithms achieve the same accuracy. The simulation results verified that the position of the mobile device can be precisely tracked by using the proposed algorithm in severe RSS variation conditions.

Effect of the Number of APs on Tracking Performance.
The number of APs affects the performance of many algorithms that use the RSS-based fingerprinting positioning. To investigate the effect of the number of APs, we conducted simulations under varying the number of APs from 4 to 32. The results are presented in Figures 8 and 9. As seen in Figure 8, the errors in the estimates of the RSS variation parameters using the RLSE-based self-calibration algorithm decrease with the increase of the APs, and the errors converge when ≥ 16. Figure 9 shows the average positioning errors of the position tracking algorithms with respect to the number of APs. As the number of APs increases, the similarities among RSS vectors at different positions decrease more rapidly due to the increase in the dimension of the RSS vector. Consequently, the position tracking performance of all the tracking algorithms is improved. Moreover, in the case of the proposed algorithm, the RSS parameter estimations become more accurate with a larger number of APs. This is another reason for the performance enhancement in the proposed algorithm. An interesting result is observed that the proposed algorithm can achieve higher positioning accuracy with fewer APs than the uKNN and uRBF algorithms. The performance of the proposed algorithm with 4 APs is similar to or even better than that of the other algorithms with 32 APs. Through the simulations, we demonstrated that the proposed algorithm is effective for scenarios where a small number of APs are deployed.

Conclusions
In this paper, we proposed a novel indoor position tracking algorithm that tracks the position of a mobile device with self-calibration to improve the robustness of the RSS variation from the changes of various factors between the offline and online phases. In the proposed algorithm, the device's position is estimated by fusing two position estimates from inertial sensor readings and RSS-based fingerprinting positioning with Kalman filtering. The proposed algorithm also performs self-calibration based on the RLSE to derive the mapping between the offline and online RSS observations and to mitigate the effect of the RSS variation while tracking position. By using the calibrated RSS measurements in fingerprinting positioning, the proposed algorithm enables different devices to achieve higher positioning accuracy with a single radio map. With the extensive computer simulations, we showed that the proposed algorithm outperforms International Journal of Distributed Sensor Networks    Predicted position from motion sensor readings at timê l : Position estimate (the output of Kalman filter-based tracking algorithm) at timẽ P : Covariancematrixofl P : Covariancematrixofl C : Linear transformation matrix [d(l ), 1 ] g : Estimates of RSS variation parameters [ĥ,̂] at time .