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

Authors: Sangwoo Lee; Bongkwan Cho; Bonhyun Koo; Sanghwan Ryu; Jaehoon Choi; Sunwoo Kim
Journal: International Journal of Distributed Sensor Networks
 (2015)

---

## Abstract

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.


---

## Body

## 1. 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–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–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.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–13, 15–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. Section2 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.


## 2. 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 filter-based 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 sensor-based 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.


## 3. Preliminary Experiments and RSS Variation Model

### 3.1. 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. Figure1 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].Table 1
Mean and variance of measured RSS.
Condition
Vega R3
Galaxy S2
Galaxy S2
(day 1)
(day 1)
(day 2)
Mean (dBm)
-
48.83
-
43.11
-
48.40
Variance
0.388
0.335
0.399Figure 1
Preliminary experiment results with (a) Vega R3 at day 1, (b) Galaxy S2 at day 1, and (c) Galaxy S2 at day 2.Figure2 shows how the RPs are selected by the K-nearest 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.Figure 2
Selected RPs and position estimate by using the KNN algorithm in two different scenarios.
(a)
No RSS variation scenario
(b)
RSS variation scenario


### 3.2. RSS Variation Model

The coordinate vector of a mobile device in a two-dimensional space is denoted byl=[x,y]T where T 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 A APs are collected at S RPs. Let Φs be the position coordinate of the sth RP (s=1,2,…,S). The offline RSS vector at the sth RP is denoted by d(Φs)=[d1(Φs),d2(Φs),…,dA(Φs)]T where da(Φs) represents the offline RSS from the ath AP. Let lt be the true position of the mobile device at time t in the online phase. We denote the online RSS vector at lt by mt≜m(lt)=[m1(lt),m2(lt),…,mA(lt)]T. According to [8], the online RSS vector mt at position lt can be modeled as a linear-transformation function: (1)mt=hdlt+b1A+nt,where h and b are unknown linear fitting (RSS variation) parameters that represent the variation between the offline and online RSS observations, 1A is the A×1 vector whose elements are all one, and nt is the A×1 zero-mean Gaussian noise vector with covariance h2σ2IA where σ2 is the power of shadowing and multipath in the offline phase and IA is the identity matrix of size A. Several experimental results have already verified the validation of this simple model [8, 11]. Note that h and b 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 {h,b} remain constant during the online phase. It is worth noting that d(lt) is not available for lt≠Φs, for all s. In the proposed algorithm, d(lt) for lt≠Φs is approximated with {d(Φs)}s=1S. This will be discussed later.


## 3.1. 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. Figure1 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].Table 1
Mean and variance of measured RSS.
Condition
Vega R3
Galaxy S2
Galaxy S2
(day 1)
(day 1)
(day 2)
Mean (dBm)
-
48.83
-
43.11
-
48.40
Variance
0.388
0.335
0.399Figure 1
Preliminary experiment results with (a) Vega R3 at day 1, (b) Galaxy S2 at day 1, and (c) Galaxy S2 at day 2.Figure2 shows how the RPs are selected by the K-nearest 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.Figure 2
Selected RPs and position estimate by using the KNN algorithm in two different scenarios.
(a)
No RSS variation scenario
(b)
RSS variation scenario


## 3.2. RSS Variation Model

The coordinate vector of a mobile device in a two-dimensional space is denoted byl=[x,y]T where T 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 A APs are collected at S RPs. Let Φs be the position coordinate of the sth RP (s=1,2,…,S). The offline RSS vector at the sth RP is denoted by d(Φs)=[d1(Φs),d2(Φs),…,dA(Φs)]T where da(Φs) represents the offline RSS from the ath AP. Let lt be the true position of the mobile device at time t in the online phase. We denote the online RSS vector at lt by mt≜m(lt)=[m1(lt),m2(lt),…,mA(lt)]T. According to [8], the online RSS vector mt at position lt can be modeled as a linear-transformation function: (1)mt=hdlt+b1A+nt,where h and b are unknown linear fitting (RSS variation) parameters that represent the variation between the offline and online RSS observations, 1A is the A×1 vector whose elements are all one, and nt is the A×1 zero-mean Gaussian noise vector with covariance h2σ2IA where σ2 is the power of shadowing and multipath in the offline phase and IA is the identity matrix of size A. Several experimental results have already verified the validation of this simple model [8, 11]. Note that h and b 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 {h,b} remain constant during the online phase. It is worth noting that d(lt) is not available for lt≠Φs, for all s. In the proposed algorithm, d(lt) for lt≠Φs is approximated with {d(Φs)}s=1S. This will be discussed later.


## 4. 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 filter-based position tracking and RLSE-based self-calibration as illustrated in Figure3. 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 (sensor-based 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 online-to-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.Figure 3
Block diagram of the proposed position tracking algorithm with self-calibration.


### 4.1. Kalman Filter-Based Indoor Position Tracking

The state dynamic (time evolution) model and the measurement model 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 thex-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].(i)
State dynamic model. Let lt=[xt,yt]T be the true position coordinate of the mobile device at time t. The dynamic of the mobile device’s position can be modeled by the linear stochastic difference equation: (2)lt=lt-1+ut+wt,wherelt-1 represents the mobile device’s position at the previous step and ut is the displacement in position during the time interval between t-1 and t. The random variable wt represents the zero-mean Gaussian process noise with covariance matrix Qt=EwtwtT.(ii)
Measurement model. Let zt=[xtFP,ytFP]T be the position estimate of the mobile device at time t by using fingerprinting with the calibrated RSS measurements instead of using raw online RSS measurements mt. Then, the measurement model is written as (3)zt=lt+vt,where the random variablevt representing the measurement noise follows the zero-mean Gaussian distribution with covariance Rt=EvtvtT. The procedure to obtain the position estimate zt 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 P0 are known. l^0 can be obtained by using landmarks or other memoryless positioning algorithms, and P0 can be determined according to the uncertainty level of l^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 (4)l~t=l^t-1+utand its covariance P~t is computed by (5)P~t=Pt-1+Qt,where Pt-1 is the covariance matrix of l^t-1, which is the position estimate at the previous step. ut is obtained from the inertial sensor readings, and it is given by (6)ut=Δtcos⁡θtΔtsinθt,where Δt is the travel distance, which can be estimated by peak step detection [20] and the Weinberg method [21]. The moving direction θt is determined by using the magnetic, accelerometer, and/or gyroscope sensors (see details in [22]). The estimate error covariance Pt is denoted by (7)Pt=EetetT,where et=lt-l^t. Then, the predicted position l~t is updated with the measurement zt as follows: (8)l^t=l~t+Ktzt-l~t,where the Kalman gain Kt and the covariance matrix Pt are determined as (9)Kt=P~tP~t+Rt-1,Pt=P~t-KtP~t.The current position of the mobile device is determined as l^t.


### 4.2. RLSE-Based Self-Calibration for RSS Variation Mitigation

This subsection introduces how the RSS variation parameters{h,b} 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{h,b} based on the RLSE and to recover d(lt) from mt based on the estimates of {h,b}. Let h^t and b^t be the estimates of the RSS variation parameters at time t. For clarity, the RSS vector after self-calibration with h^t and b^t is denoted by d^t. Following (1), the calibrated RSS vector d^t can be derived as (10)d^t=h^t-1mt-b^t1A.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 parametersh and b. To formulate this problem as the least square estimation problem, we rewrite the linear relationship in (1) as (11)mt=Ctg+nt,where Ct=d(lt),1A and g=h,bT. Here, d(lt) is unavailable if lt≠Φs for any s. For lt≠Φs, the offline RSS vector d(lt) can be approximated as (12)dlt≈∑s=1S‍ωsdΦs,where ωs∝1/lt-Φs denotes the weight for the sth RP and satisfies ∑s‍ωs=1.Defineg^t=[h^t,b^t]T as the vector containing the estimates of the RSS variation parameters at time t. Since the initial position estimate l^0 is given, the initial estimate of g can be estimated based on the least square estimation: (13)g^0=C^0TC^0-1C^0Tm0,where C^0=[d(l^0),1A] and m0 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 h is typically around 1 [11]. Thus, it is assumed that h^0=1 for sparse AP settings, and the RLSE-based self-calibration algorithm provides b^0 only as the sample mean: (14)b^0=1A∑a=1A‍ma(l0)-da(l^0).Recall that ma(l0) is the RSS measurement from the ath AP at the initial step. At any time t, g^t can be updated from the previous estimate g^t-1 with the RLSE [23]: (15)g^t=g^t-1+Jtmt-C^tg^t-1.The matrix Jt controls the weight of the measurement mt, and it is computed as (16)Jt=Σt-1C^tTC^tΣt-1C^tT+IA-1,where Σt is updated as follows: (17)Σt=I2-JtC^tΣt-1with Σ0=(C^0TC^0)-1. The overall procedure of the proposed algorithm is described in Algorithm 1.Algorithm 1:Proposed Kalman filter-based indoor position tracking algorithm with RLSE-based self-calibration.
Input: l^0, P0, ut, m(lt)
Output: l^t
Initialization
(1) Approximated(l^0) using (12)
(2) Deriveg^0 using (13)
Position Tracking & Self-calibration
(3) Predict current positionl~t using (4)
(4) Compute covarianceP~t using (5)
(5) Approximated(l^t) using (12)
(6) ComputeJt and Σt using (16) and (17)
(7) Computeg^t using (15)
(8) Estimated^t using (10)
(9) Derivezt with fingerprinting positioning using d^t
(10) ComputeKt and Pt using (9)
(11) Estimate current positionl^t using (8)
(12)t←t+1
(13)if new measurements ut and m(lt)   then
(14)   Go toPosition Tracking & Self-calibration phase and repeat
(15)end if


## 4.1. Kalman Filter-Based Indoor Position Tracking

The state dynamic (time evolution) model and the measurement model 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 thex-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].(i)
State dynamic model. Let lt=[xt,yt]T be the true position coordinate of the mobile device at time t. The dynamic of the mobile device’s position can be modeled by the linear stochastic difference equation: (2)lt=lt-1+ut+wt,wherelt-1 represents the mobile device’s position at the previous step and ut is the displacement in position during the time interval between t-1 and t. The random variable wt represents the zero-mean Gaussian process noise with covariance matrix Qt=EwtwtT.(ii)
Measurement model. Let zt=[xtFP,ytFP]T be the position estimate of the mobile device at time t by using fingerprinting with the calibrated RSS measurements instead of using raw online RSS measurements mt. Then, the measurement model is written as (3)zt=lt+vt,where the random variablevt representing the measurement noise follows the zero-mean Gaussian distribution with covariance Rt=EvtvtT. The procedure to obtain the position estimate zt 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 P0 are known. l^0 can be obtained by using landmarks or other memoryless positioning algorithms, and P0 can be determined according to the uncertainty level of l^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 (4)l~t=l^t-1+utand its covariance P~t is computed by (5)P~t=Pt-1+Qt,where Pt-1 is the covariance matrix of l^t-1, which is the position estimate at the previous step. ut is obtained from the inertial sensor readings, and it is given by (6)ut=Δtcos⁡θtΔtsinθt,where Δt is the travel distance, which can be estimated by peak step detection [20] and the Weinberg method [21]. The moving direction θt is determined by using the magnetic, accelerometer, and/or gyroscope sensors (see details in [22]). The estimate error covariance Pt is denoted by (7)Pt=EetetT,where et=lt-l^t. Then, the predicted position l~t is updated with the measurement zt as follows: (8)l^t=l~t+Ktzt-l~t,where the Kalman gain Kt and the covariance matrix Pt are determined as (9)Kt=P~tP~t+Rt-1,Pt=P~t-KtP~t.The current position of the mobile device is determined as l^t.


## 4.2. RLSE-Based Self-Calibration for RSS Variation Mitigation

This subsection introduces how the RSS variation parameters{h,b} 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{h,b} based on the RLSE and to recover d(lt) from mt based on the estimates of {h,b}. Let h^t and b^t be the estimates of the RSS variation parameters at time t. For clarity, the RSS vector after self-calibration with h^t and b^t is denoted by d^t. Following (1), the calibrated RSS vector d^t can be derived as (10)d^t=h^t-1mt-b^t1A.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 parametersh and b. To formulate this problem as the least square estimation problem, we rewrite the linear relationship in (1) as (11)mt=Ctg+nt,where Ct=d(lt),1A and g=h,bT. Here, d(lt) is unavailable if lt≠Φs for any s. For lt≠Φs, the offline RSS vector d(lt) can be approximated as (12)dlt≈∑s=1S‍ωsdΦs,where ωs∝1/lt-Φs denotes the weight for the sth RP and satisfies ∑s‍ωs=1.Defineg^t=[h^t,b^t]T as the vector containing the estimates of the RSS variation parameters at time t. Since the initial position estimate l^0 is given, the initial estimate of g can be estimated based on the least square estimation: (13)g^0=C^0TC^0-1C^0Tm0,where C^0=[d(l^0),1A] and m0 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 h is typically around 1 [11]. Thus, it is assumed that h^0=1 for sparse AP settings, and the RLSE-based self-calibration algorithm provides b^0 only as the sample mean: (14)b^0=1A∑a=1A‍ma(l0)-da(l^0).Recall that ma(l0) is the RSS measurement from the ath AP at the initial step. At any time t, g^t can be updated from the previous estimate g^t-1 with the RLSE [23]: (15)g^t=g^t-1+Jtmt-C^tg^t-1.The matrix Jt controls the weight of the measurement mt, and it is computed as (16)Jt=Σt-1C^tTC^tΣt-1C^tT+IA-1,where Σt is updated as follows: (17)Σt=I2-JtC^tΣt-1with Σ0=(C^0TC^0)-1. The overall procedure of the proposed algorithm is described in Algorithm 1.Algorithm 1:Proposed Kalman filter-based indoor position tracking algorithm with RLSE-based self-calibration.
Input: l^0, P0, ut, m(lt)
Output: l^t
Initialization
(1) Approximated(l^0) using (12)
(2) Deriveg^0 using (13)
Position Tracking & Self-calibration
(3) Predict current positionl~t using (4)
(4) Compute covarianceP~t using (5)
(5) Approximated(l^t) using (12)
(6) ComputeJt and Σt using (16) and (17)
(7) Computeg^t using (15)
(8) Estimated^t using (10)
(9) Derivezt with fingerprinting positioning using d^t
(10) ComputeKt and Pt using (9)
(11) Estimate current positionl^t using (8)
(12)t←t+1
(13)if new measurements ut and m(lt)   then
(14)   Go toPosition Tracking & Self-calibration phase and repeat
(15)end if


## 5. 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 vectormt). 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 theath AP at arbitrary position lt: (18)dalt=K-10γlog⁡10δalt+χt,where K=-40 dBm is the signal power at the reference distance (typically 1 m), γ=2 is the path loss exponent, δa(lt) is the Euclidean distance between lt and the ath AP, and χt 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., ut=1 where · is the Euclidean norm). For the Kalman filter implementation, the design parameters are given as Qt=I2, Rt=25I2, and P0=0.001I2. The initial position l0 is assumed to be perfectly known so that l^0=l0. 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 (h,b)=(0.95,5) and (h,b)=(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.


### 5.1. Validation of the RMSE-Based Self-Calibration Algorithm

Figure4 presents the true RSS variation parameters along with the corresponding estimates by using the proposed algorithm for A=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 the average Euclidean distance between the offline RSS vector d(lt) and the RSS vector used in fingerprinting positioning. Note that mt, which is the uncalibrated RSS vector, is used in the uKNN and uRBF tracking algorithms, and the calibrated RSS vector d^t is exploited in the proposed algorithm. As can be seen in the figure, 90 percent of the raw online RSS measurements mt show a difference of near 12 dBm for (h,b)=(0.95,5) and of near 22 dBm for (h,b)=(0.95,15) 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.Figure 4
RSS variation parameters tracking with the proposed algorithm.
(a)
Scale (h) parameter estimation
(b)
Bias (b) parameter estimationFigure 5
Difference between the offline and online RSS vectors in the presence of the RSS variation.Figure 6
An example of device’s position tracking with the uKNN, uRBF, and proposed algorithms.


### 5.2. Position Tracking Performance forA=12 APs

Figure6 presents an example of the device’s position tracking with the three tracking algorithms for (h,b)=(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 Figure7. The uKNN and uRBF algorithms experience the degradation in the position tracking performance when the RSS variation becomes more severe; that is, (h,b)=(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 (h,b)=(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.Figure 7
Empirical CDFs of the positioning errors of the uKNN, uRBF, and proposed algorithms.


### 5.3. 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 Figures8 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 A≥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.Figure 8
Average errors in the estimates of the RSS variation parameters for different AP numbers.
(a)
Scale (h) parameter estimation error
(b)
Bias (b) parameter estimation errorFigure 9
Average positioning errors of the position tracking algorithms for different AP numbers.


## 5.1. Validation of the RMSE-Based Self-Calibration Algorithm

Figure4 presents the true RSS variation parameters along with the corresponding estimates by using the proposed algorithm for A=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 the average Euclidean distance between the offline RSS vector d(lt) and the RSS vector used in fingerprinting positioning. Note that mt, which is the uncalibrated RSS vector, is used in the uKNN and uRBF tracking algorithms, and the calibrated RSS vector d^t is exploited in the proposed algorithm. As can be seen in the figure, 90 percent of the raw online RSS measurements mt show a difference of near 12 dBm for (h,b)=(0.95,5) and of near 22 dBm for (h,b)=(0.95,15) 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.Figure 4
RSS variation parameters tracking with the proposed algorithm.
(a)
Scale (h) parameter estimation
(b)
Bias (b) parameter estimationFigure 5
Difference between the offline and online RSS vectors in the presence of the RSS variation.Figure 6
An example of device’s position tracking with the uKNN, uRBF, and proposed algorithms.


## 5.2. Position Tracking Performance forA=12 APs

Figure6 presents an example of the device’s position tracking with the three tracking algorithms for (h,b)=(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 Figure7. The uKNN and uRBF algorithms experience the degradation in the position tracking performance when the RSS variation becomes more severe; that is, (h,b)=(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 (h,b)=(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.Figure 7
Empirical CDFs of the positioning errors of the uKNN, uRBF, and proposed algorithms.


## 5.3. 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 Figures8 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 A≥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.Figure 8
Average errors in the estimates of the RSS variation parameters for different AP numbers.
(a)
Scale (h) parameter estimation error
(b)
Bias (b) parameter estimation errorFigure 9
Average positioning errors of the position tracking algorithms for different AP numbers.


## 6. 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 the other algorithms even if the number of APs is small and the RSS variation is severe. The real implementation and the experimental analysis remain as future work.



---

*Source: 674635-2015-08-13.xml*