Wipp: Wi-fi Compass for Indoor Passive Positioning with Decimeter Accuracy

In recent decades, the proliferation of smart phones, tablets, and wireless networks has fostered a growing interest in indoor passive positioning. The Wi-Fi-based passive positioning systems can provide Location-Based Services (LBSs) to the third party such as market and security departments. Most of the existing systems are based on the Receive Signal Strength Indication (RSSI) information, which are generally time-consuming and susceptible to environmental change. To overcome this problem, we propose the Wi-Fi compass for indoor passive positioning system (WIPP), an Angle of Arrival (AOA) based passive positioning system using the existing commodity Wi-Fi network. In this paper, we first propose a new algorithm for the joint estimation of AOA and Time of Arrival (TOA) measurements based on the fine-grained Channel State Information (CSI), which is collected by an off-the-shelf Wi-Fi device equipped with only three antennas. Second, we use the affinity propagation clustering algorithm to identify the direct signal path from the target to each Wi-Fi Access Point (AP). Finally, we deploy the WIPP in an actual indoor environment to conduct the performance comparison with the well-known radio-frequency (RF) based system for locating and tracking users inside buildings (RADAR), as well as the conventional passive positioning system using the AOA solely. The experimental results show that the WIPP is able to achieve the median positioning error 0.7 m, which is much lower than the ones by the RADAR system and the conventional system using the AOA solely.


Introduction
With the significantly growing interest in Location-Based Services (LBSs), positioning applications start to play an important role in our daily life.In outdoor environments, people have adopted Global Navigation Satellite Systems (GNSSs) such as the Global Positioning System (GPS) and BeiDou System to conduct the positioning [1][2][3].However, these systems fail to work in many indoor or underground environments due to the fact that the signal from the satellites is generally blocked by the buildings or ground.In addition, the complex environmental noise and interference make the indoor positioning challenging.
At the same time, people have begun to have an urgent demand for indoor positioning.For example, they want to have the navigation information for each room in an unknown building.As another example, they hope to get local coupons when shopping in a large-scale shopping mall.Nowadays, much of the concern of outdoor positioning has been shifted to indoor positioning.
According to the role of the target in positioning, the indoor positioning systems can be classified into the active and passive positioning systems.For the active positioning systems such as the Received Signal Strength Indicator (RSSI) based [4][5][6][7][8][9][10][11] and motion sensors based [12,13] positioning systems, the target scans the RSSI from the nearby Access Points (APs) or gathers the data from the sensors to locate itself.On the contrary, in the passive positioning systems, the target, as the signal source, does not participate in the positioning process.Instead, several APs with known locations are deployed to detect the signal from the target.In addition, a server is generally required to gather the positioning information such as RSSI from different APs, and then run the positioning algorithm.Compared with the active positioning systems, the passive positioning systems are more attractive for the third-party providers of LBSs.
Up to now, a large number of systems have been proposed to achieve the indoor positioning [4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20].The systems based on the propagation modeling are susceptible to the environmental change and the interference from other networks [21].The systems using the Radio Frequency Identification (RFID) or Bluetooth signal require special module to collect the RSSI measurement.For the systems using the location fingerprinting, the fingerprint database is required to be updated with the time going on to guarantee the reliability of the systems.Some other systems using the Time of Arrival (TOA) measurement require the dedicated hardware for time synchronization.In addition, the non-line-of-sight (NLOS) propagation property also poses a challenge for the implementation of these systems.
Different from the approaches above, we propose the Wi-Fi compass for indoor passive positioning system (WIPP), an Angle of Arrival (AOA) based passive positioning system using the existing commodity Wi-Fi network, with decimeter accuracy for indoor positioning.The WIPP is robust, which can achieve high positioning accuracy even under the serious multi-path fading.Specifically, the WIPP consists of a batch of three-antenna APs with known locations.The APs are used to collect the signal from the target, and then send it to the server to conduct the positioning.In general, the WIPP is a promising system for indoor passive positioning, which combines the remarkable features of robustness and generality, and meanwhile achieves high positioning accuracy.
The main contribution of this paper is to propose a new algorithm for the joint estimation of AOA and TOA measurements based on the fine-grained Channel State Information (CSI), which is collected by an off-the-shelf Wi-Fi device equipped with only three antennas.Once the AOA and TOA measurements with respect to each AP are accurately estimated, the WIPP can achieve high positioning accuracy by using the simple triangulation approach.The main challenge is about the accurate estimation of AOA and TOA measurements under the multi-path fading.To address this problem, some previous work [22,23] proposed that the number of antennas should be larger than the number of signal paths for each AP, which limits the application.By considering the fact that under the IEEE 802.11n protocol, the CSI contains the information related to the AOA and TOA measurements in each subcarrier, the WIPP conducts the joint estimation of AOA and TOA measurements based on the CSI.The proposed algorithm is able to achieve the accurate estimation of AOA measurement even if the TOA measurement is inaccurate (The TOA measurement cannot be accurately estimated due to the synchronization error between the target and APs [16]).To enhance the accuracy further, we introduce an enhanced two-dimensional (2D) spatial smoothing algorithm to de-correlate the coherent multi-path signal.
In our system, we rely on the affinity propagation clustering algorithm to identify the direct signal path from the coherent multi-path signal.Many previous studies [24,25] have addressed that the indirect signal paths deteriorate the positioning accuracy since they generate the bias of AOA and TOA measurements.Although various approaches have been proposed to overcome the negative impact of indirect signal paths on positioning accuracy [26,27], the problem of the misidentification of direct signal path still exists.Since the estimation of AOA and TOA measurements with respect to the indirect signal paths has larger variance compared with the one with respect to the direct signal path, we select the affinity propagation clustering algorithm to identify the direct signal path.
After the direct signal path is identified, we continue to conduct the positioning by using the Least-Squares Method (LSM).Under the actual deployment, the performance of WIPP is compared with the one achieved by the well-known radio-frequency (RF) based system for locating and tracking users inside buildings (RADAR) and the conventional system using the AOA solely.We find that: • The positioning accuracy of the WIPP is higher than the one by the RADAR system and the conventional system using the AOA solely.In our testbed, the median error of the WIPP is only 0.7 m, while the ones of the other two systems are 2.3 and 1.5 m, respectively.• Another significant advantage of the WIPP is about the simple system design and low maintenance cost.There is no requirement of fingerprint database construction or hardware modification.
The rest of the paper is organized as follows.Section 2 presents some related work on Wi-Fi indoor passive positioning.Section 3 describes the WIPP in detail, which consists of the main modules of joint AOA and TOA estimation algorithms based on the CSI, 2D spatial smoothing algorithm, and phase correction approach.Section 4 evaluates the performance of the WIPP in an actual Wi-Fi indoor environment.Finally, the conclusion and some future directions are given in Section 5.

Related Works
As we know, the widely-used location fingerprinting based Wi-Fi indoor passive positioning systems generally involve two phases: offline and online phases.In the offline phase, the RSSI measurements are recorded with the corresponding coordinates as the location fingerprints to construct the fingerprint database.Then, in the online phase, the newly-recorded RSSI measurements are matched against the pre-constructed fingerprint database to conduct the positioning of the target.Most of the location fingerprinting based Wi-Fi indoor passive positioning systems such as the RADAR [4] are able to achieve the meter level accuracy.However, their performance significantly depends on the reliability of fingerprint database.In addition, the fingerprint database construction is time consuming and labor intensive, which also requires the database updating as the environmental layout changes.To reduce the deployment and management burden, the organic indoor location system [5] merges the offline and online phases that were distinct in earlier work into a single state.Besides, the automatic Wi-Fi based room fingerprinting for indoor localization system (ARIEL) [6] proposed a zone-based clustering algorithm to accurately and automatically identify the in-room occupancy hotspot(s) by using the Wi-Fi signature, and, meanwhile, a motion-based clustering algorithm to identify the inter-zone correlation.
More recently, with the rapid development of smart antenna technique, indoor passive positioning systems depending on AOA measurement have become popular.Kangas proposed an AOA based positioning system by using the base stations of the Long Term Evolution (LTE) system [28].Kumar relied on the Synthetic Aperture Radar (SAR) technique to design the Ubicarse positioning system [29], which achieves the median error 0.39 m.Gjengset constructed the prototype of the ArrayTrack positioning system [30], in which three APs are integrated for the sake of constructing a large antenna array.Tzur estimated the AOA measurement based on the principle of interferometer direction finder [31].However, the systems mentioned above have many limitations.The Ubicarse positioning system requires the modification of the target with the purpose of supporting the rotation of antenna.The ArrayTrack positioning system cannot be easily implemented by using the commercial Wi-Fi network due to the requirement of AP integration.It is not an easy task to accurately estimate the AOA measurement based on the principle of interferometer direction finder under the multi-path fading.

System Description
The architecture of the WIPP is shown in Figure 1.The WIPP incorporates four main components as follows: CSI collection: The CSI contains the channel information which includes the magnitude and phase of sub-carriers with respect to each antenna.We rely on the off-the-shelf Intel5300 Network Interface Card (NIC) [32] to collect the CSI.
Joint estimation of AOA and TOA measurements: By using the existing commodity Wi-Fi AP with only three antennas, the WIPP has the capability of estimating the AOA measurement accurately based on the proposed joint estimation of AOA and TOA measurements.In addition, the WIPP applies an enhanced 2D spatial smoothing algorithm to de-correlate the coherent multi-path signal to enhance the accuracy further.
Identification of direct signal path: According to the volatility of AOA and TOA measurements, the WIPP depends on the affinity propagation clustering algorithm to distinguish the direct and indirect signal paths.
Target positioning: Based on the estimated AOA measurement with respect to each AP, the WIPP uses the LSM to conduct the positioning of the target.

Multi-path signal
Antenna array

Propagation Model Construction
Different from the outdoor open environment, there is always serious multi-path fading in indoor environment, as shown in Figure 2. The target sends the signal, while the APs nearby receive the signal from multiple paths.On the network side, when the signal from multiple paths is received by the antenna array, the AOA measurement brings different phase shifts with respect to different antennas.In this paper, we assume that the distance between receiver and transmitter is far larger than signal wavelength.Therefore, the signal from the same direction received by the antenna array is considered parallel.As shown in Figure 3, we define the interval of nearby antennas and AOA measurement as d and θ respectively.Then, the difference of propagation distances between two nearby antennas equals to dsinθ.By assuming that the directions of the signal from N different paths are θ 1 , θ 2 , ..., θ N , the signal with the direction θ k received at the i -th antenna, x i,k (t), is expressed as where s k (t) is the signal with the direction.θ k received at the first antenna.a k is the fading of the signal with the direction θ k .f 0 is the signal frequency.c is the speed of light.By considering the noise, the signal received at the i -th antenna, s i (t), is expressed as where n i (t) is the noise received at the i -th antenna.The noise received at different antennas is assumed to be uncorrelated and have the same mean of zero and variance of δ 2 .

Angle of Arrival (AOA) Measurement Estimation
The most popular algorithm used for AOA estimation is the multiple signal classification (MUSIC) algorithm [22,23,33], by which the number of antennas is generally required to be larger than the number of signal paths.Thus, the AOA estimation by using the MUSIC algorithm with a small number of antenna elements in an indoor environment always forms a challenging task.To address the problem mentioned above, we propose a new algorithm for the joint estimation of AOA and TOA measurements based on the fine-grained CSI which is collected by an off-the-shelf Wi-Fi device equipped with only three antennas.The Orthogonal Frequency Division Multiplexing (OFDM) technique adopted by IEEE 802.11n protocol separates the signal channel into multiple orthogonal subcarriers.Since the CSI contains channel information such as amplitude attenuation and phase shift, we use it to construct the channel transfer matrix to describe the channel characteristic of each subcarrier.In the WIPP, we select the Intel5300 NIC to collect the CSI of 30 different subcarriers.Since each AP has three antennas, the CSI with respect to each AP is described as where csi m,n is a complex number containing the information of amplitude attenuation and phase shift of the n-th subcarrier with respect to the m-th antenna.By considering the 30 orthogonal subcarriers, the signal received at three antennas is described as where T is a 1 × 90 vector of received signal.x m,n (t) is the signal with the n-th frequency received at the m-th antenna.
T is a 1 × 90 noise vector.n m,n (t) is the noise with the n-th frequency received at the m-th antenna.S (t) = [s 1 (t) , s 2 (t) , ..., s K (t)] T is the signal vector corresponding to the K signal paths.A= [a (θ 1 , τ 1 ) , a (θ 2 , τ 2 ) , ..., a (θ K , τ K )] is the 90 × K direction matrix.a (θ k , τ k ) is a 90 × 1 direction vector which is described as In Equation ( 5), ) is a 30 × 1 vector and where ∆f is the frequency interval.τ k and θ k are the TOA and AOA measurements of the signal from the k -th signal path.Since the CSI contains the information of amplitude attenuation and phase shift of each subcarrier with respect to each antenna, we conduct the Fourier transformation of Equation ( 4) to jointly estimate the TOA and AOA measurements of the signal, which is described as where T is a 1 × 90 vector of CSI collected at 3 antennas.
T is a K × 1 amplitude attenuation vector.β k is the amplitude attenuation of the signal from the k -th signal path.
We continue to define the covariance matrix of CSI as where the notation "H" denotes the complex conjugate transpose operation.The previous K eigenvectors of R are corresponding to the signal, while the latter 90 − K eigenvectors are corresponding to the noise.Thus, the noise space is constructed as where ) is the k -th eigenvector corresponding to the noise.Since the eigenvectors corresponding to the noise are orthogonal to the direction vectors in A, the pseudo-spectrum which is also used in [34] can be calculated by Since the signal from different paths received at the same antenna is generally coherent, the covariance matrix of signal is probably singular, which will result in the unavailability of the conventional MUSIC algorithm [35].The existing approaches of de-correlating the coherence of signal normally follow the process of dividing the antennas into several sub-antenna arrays, and then estimating the AOA measurement by averaging the output of the covariance matrix of sub-antenna arrays [34,35].However, these approaches fail to utilize the information of subcarriers, and consequently cannot guarantee the effectiveness of the estimation of AOA measurement.To de-correlate the coherence of signal, we introduce a new enhanced 2D spatial smoothing algorithm.
To address this problem, the WIPP separates the antennas into several sub-antenna arrays, as well as the subcarriers into several subsets.This process is shown in Figure 4.As the rectangular window slides, the CSI can be separated into 22 different subsets, and each of them contains 20 subcarriers with two neighboring antennas.The purpose of selecting 20 subcarriers is to guarantee that the number of direction measurement units is larger than the number of signal paths.Based on the result of CSI separation, we reconstruct the matrix of CSI collected at three antennas as In Equation (11), each of column denotes a subset of CSI corresponding to 20 subcarriers at two neighboring antennas.Then, based on Equation (11), the direction vector, a (θ k , τ k ) , in Equation (5)  can be rewritten as where . At the same time, the amplitude attenuation vector, β, can be rewritten as Finally, we rely on Equations ( 6), ( 7), (10), and (11) to achieve the joint estimation of AOA and TOA measurements.In addition, we conduct some simulations to examine the performance of the joint estimation of AOA and TOA measurements.In the simulations, the number of antennas for each AP is set as three.The 30 signal frequencies occupy the range from 5.19 to 5.22 GHz with the same interval of 1 MHz.By assuming that the signal from different paths is incoherent, Figure 5 shows the result of joint estimation of AOA and TOA measurements with the signal having the AOA measurement 25.5 • , 15 • , 9 • , −13.5 • , −42 • , or −59.5 • and TOA measurement 43 ns, 10 ns, 25 ns, 37 ns, 8 ns, or 76 ns.From this figure, we can find that both the AOA and TOA measurements are estimated accurately by using the proposed algorithm.From Figure 6, we can find that the AOA and TOA measurements may not be estimated accurately without using the proposed 2D spatial smoothing algorithm for signal decorrelation under the coherent signal condition.

Signal Path Identification
In this section, we will study the performance of signal path identification.To distinguish the direct and indirect signal paths, the existing approaches [36][37][38] are mainly based on the criterion that the direct signal path is corresponding to the smallest TOA measurement.However, these approaches are limited in practical use due to the problems of the large number of indirect signal paths in indoor environments, as well as the difficulty of guaranteeing the time synchronization between the Wi-Fi APs and receiver.
In the WIPP, the direct signal path is identified by using the concept of the volatility of AOA and TOA measurements.In concrete terms, the AOA and TOA measurements corresponding to the direct signal path are normally featured with small variation, while the ones corresponding to the indirect signal path are probably with large variation, which has also been discussed in [39].Based on this, we use the affinity propagation clustering algorithm to classify the AOA and TOA measurements into different clusters.The ones corresponding to the direct signal path are much likely to be merged together into the same cluster, and, meanwhile, the diameter of each cluster indicates the variation of the corresponding AOA and TOA measurements.
To achieve the affinity propagation clustering [40,41], we first define ϕ i = aoa i toa i T as the vector of the i -th joint AOA and TOA measurement, where the notation "T" denotes the transpose operation.The matrix of the joint AOA and TOA measurements is shown below.
where N stands for the number of the joint AOA and TOA measurements.Second, we rely on the pairwise similarity function s(i,j) in Equation (15) to depict the similarity between the i -th and j -th joint AOA and TOA measurements: Third, as discussed in [40], we define two types of messages: responsibility message r(i,j), which denotes the information about the clustering center; and availability message a(i,j), which denotes the attachment relations between the joint AOA and TOA measurements and clusters.During the clustering, the i -th joint AOA and TOA measurement sends the responsibility message which is the accumulated fitness of the j -th joint AOA and TOA measurement to be selected as the cluster center to each candidate cluster.By taking all the potential cluster centers j' into account, the responsibility message r(i,j) is calculated by where the availability message a(i,j) is calculated by Equation (18).In addition, the self-responsibility r(i,i) equals r (i,i) = median {s (i,j) , ∀i,j ∈ {1, 2, ..., N}} , ( where the notation "median" represents the median operation.At the same time, the availability message is sent from i -th candidate cluster center to j -th candidate cluster center.a(i,j) describes the accumulated fitness for i -th joint AOA and TOA measurement to select j -th measurement as its center, such as Similarly, by considering the requirement of positive responsibility message, the self-availability a(j,j) which is the accumulated fitness of the j -th joint AOA and TOA measurement to be selected as the cluster center equals a (j,j) = ∑ i' =j max {0, r (i',j)}.(19) Finally, the responsibility message and availability message are transmitted between different adjacent joint AOA and TOA measurements until the optimal cluster centers are obtained.
In concrete terms, the steps of affinity propagation clustering are as follows: Step 1: Calculate the similarity s(i,j) between the i -th and j -th joint AOA and TOA measurements; Step 2: Initialize the responsibility message r(i,j) and availability message a(i,j) as 0, and set the number of iterations n equal to 0; Step 3: Update the responsibility message and availability message based on Equations ( 16) and ( 18) respectively, and then set n = n + 1; Step 4: Calculate j' = arg max j∈{1,2,...,N} {a(i,j) + r(i,j)} .If j' = i, select the i -th joint AOA and TOA measurement as the cluster center; and otherwise, select the j'-th joint AOA and TOA measurement as the cluster center; Step 5: Repeat Steps 3 and 4 until the number of iterations exceeds 200 or the cluster centers are not changed for 50 consecutive iterations.

Experimental Results
In the experiments, the Intel5300 (Intel Corporation, Santa Clara, CA, USA) Wi-Fi NIC (Network Interface Card) equipped with three antennas (see Figure 7) is selected as the receiver and the CSI is collected by using the Linux CSI tool, as discussed in [32].The NIC supports 30 subcarriers for each antenna.All receivers are set on the channel with 40 MHz bandwidth and operate at 5.2 GHz band.In addition, the interval of adjacent antennas is set as 2.88 cm restricted by half-wavelength.

AOA Measurement Estimation
Figure 10 shows the geometrical relations of the target and an AP.In this section, we aim to demonstrate that the WIPP is able to accurately estimate the AOA measurements for both the direct and indirect signal paths, and, meanwhile, compare the WIPP with the conventional passive positioning system using the AOA solely.The Cumulative Distribution Functions (CDFs) of errors in AOA measurement estimation by the WIPP and the conventional passive positioning system using the AOA solely are compared in Figure 14.From this figure, we can find that by using the WIPP, the mean of errors is about 3 • and 70% errors are within 4 • , which are much smaller than the ones by the conventional passive positioning system using the AOA solely.We continue to examine the impact of the height of target on AOA measurement estimation.In the experiments, the target is placed with the height 120, 170, and 200 cm, respectively, while the APs are placed with the fixed height 200 cm.The CDFs of errors in AOA measurement estimation are shown in Figure 15.From this figure, we can find that the WIPP achieves the highest accuracy in AOA measurement estimation when the APs and target are placed with the same height.In this case, the mean of errors is about 2 • and 90% errors are within 4 • .With the increase of the height difference between the APs and target, the performance of AOA measurement estimation deteriorates.For instance, the mean of errors increases to 3 • and 5 • , and the percentages of errors within 4 • decrease to 78% and 60% when the height difference is 30 and 80 cm, respectively.

Target Location Estimation
Testbed construction: The testbed is a lab with the dimensions of 15 m by 10 m, as shown in Figure 8.
System process: Three Wi-Fi NICs act as the APs with known locations and height, while the location of the target equipped with Wi-Fi module is unknown.Each AP collects the CSI from the target, and then sends it to the server.The server conducts the joint estimation of AOA and TOA measurements to identify the direct signal path with respect to each AP, and finally estimates the target locations.
Performance comparison: The WIPP is compared with two existing indoor passive positioning systems, the RADAR system and the conventional system using the AOA solely.For better comparison with the most well-known RADAR system, we add three more APs [42]-AP4, AP5, and AP6-in the target environment.Furthermore, the Reference Points (RPs) [43] (with black dots) are uniformly calibrated with the interval of 0.6 m and the test points (with red triangles) are randomly selected, as shown in Figure 16.In addition, the purpose of choosing the conventional system using the AOA solely the comparison is due to the reason that it is effective and also independent of hardware modification.
Figure 17 shows the CDFs of errors in target location estimation by the WIPP, RADAR system, and the conventional system using the AOA solely.As can be seen from Table 1, the WIPP achieves the Root Mean Square Error (RMSE) 0.7 m and 90% errors within 2 m, which performs much better than the RADAR system and the conventional system using the AOA solely.

Conclusions
In this paper, we propose a new Wi-Fi-based indoor passive positioning system with decimeter accuracy.The proposed system, WIPP, enables conducting the joint estimation of AOA and TOA measurements by using the existing commodity Wi-Fi APs with only three antennas.Compared with the RADAR system and the conventional system using the AOA solely, the WIPP is demonstrated to perform best in indoor passive positioning with the RMSE 0.7 m and 90% errors within 2 m.In the future, we will continue to investigate the impact of AP density, as well as the geometrical layout of APs in positioning accuracy.In addition, we will also study the relations of the height difference between the APs and target, and the accuracy of AOA measurement estimation.

Figure 5 .
Figure 5. Result of joint estimation of Angle of Arrival (AOA) and Time of Arrival (TOA) measurements.

Figure 6 .
Figure 6.Pseudo-spectrum of AOA and TOA measurements (a) without spatial smoothing; (b) with spatial smoothing.

Figure 10 .
Figure 10.Geometrical relations of the target and an Access Point (AP).

Figures 11 -Figure 11 .
Figures 11-13 show an example of the result of AOA measurement estimation for test point P4.From these figures, we can find that the estimated AOA measurements with respect to AP1, AP2, and AP3 are 58.5 • , −19 • , and −40 • , which are very close to the real ones 59.04 • , −16.7 • , and −39.8 • , respectively.In addition, after the affinity propagation clustering, the AOA measurements corresponding to the direct signal path has a smaller variation compared with the ones corresponding to the indirect signal path.

Figure 12 .Figure 13 .
Figure 12.Result of AOA measurement estimation with respect to AP2.(a) result of joint estimation of AOA and TOA measurements; (b) result of affinity propagation clustering.

Figure 14 .
Figure 14.Cumulative Distribution Functions (CDFs) of errors in AOA measurement estimation.

Figure 15 .
Figure 15.CDFs of errors in AOA measurement estimation under different heights of the target.

Figure 17 .
Figure 17.CDFs of errors in target location estimation.

Table 1 .
Comparison of target localization accuracy.