S : Signal strengths vector input(S = S[1],S[2],...,S[N]) Ouput:
The autocorrelation vector autocorr[N] for input signal strength vector S.
1: nFFT ← 2^(nextpow2(N) + 1) 2: F ← fft(mean-value(S) , nFFT) 3: F ← F * conj(F)
4: autocorr ← ifft(F)
5: autocorr ← autocorr / autocorr[1]
6: autocorr ← real(autocorr)
Table1. Auto_Correlation Function
Assume one training process gains 100 signal strengths, we divide up these 100 signal strengths into m parts dynamically. Table1 shows the algorithm to calculate autocorrelation of a sequence of signal samples.
When autocorrelation between the first and the last sample in one sequence of signal strengths is less than our threshold, we slice one segment up. Then calculate mean and variance value of each part and store them into radio map to substitute for original data. Now we acquire m slices of mean and variance values and have more information to estimate location. We call the divide procedure as Segment Process. Not only in offline calibration phase we do Segment Process, but in online estimation phase we execute it, as will introduce below.
2.3. Reducing Training Location Numbers
A lot of proposed research show high accuracy of location estimation. But they are all impractical due to high manual effort. We are incapable to train radio map for all buildings with high manual effort. Construct a location system that only requires little offline training effort is significant. These kinds of methods are called reducing calibration effort. Recent research which achieve high accuracy within 1 meter error distance calibrate data on all grid points. In our model we train data on one grid point in small room and within three in bigger one, and then interpolate data for all the other grid points. We will describe it in section 3.3.
3. LOCATION ESTIMATION MODEL 3.1. Variable Definitions
Assume one training we detect I APs, and gain N data for each AP. Let Si be N consecutive signal samples received from access point bi.
Si
= {ss
[1],ss
[2],ss
[3],…,ss
[N]}
Figure 3.Interpolation Model
Assume there are J positions in radio map RM. Let lj be jth location.
Xj
= {(S
1,S
2,S
3,…,S
I) | l
j} and RM = {X
1,X
2,…,X
J}
We use Segment Process to divide up n data into m parts, then we get values of mean and variance as follows:
Μi
={(µ
i1,µ
i2,µ
i3,…,µ
im) | X
j} and
Σi={(σ
i12,σ
i22,σ
i32,…,σ
im2) | X
j} 3.2. Probability Model
A lot of WLAN location systems propose probability model [7,8,11]. As small-scale fading investigates signal fluctuation in short period of time, our Segment Process divide one calibration into m small pieces of time.
Definitely Segment Process matches the claim of small-scale fading. Therefore, we adopt Rayleigh-like fading probability density function as our probability model. The model returns the location among the set of radio map RM that maximizes P(Si | Xj), 1≦ i ≦I, 1 ≦j ≦J, i.e.
3.3. Interpolation Model
For reducing calibration number of locations, most of the data of grid points on the radio map are gained by interpolating. Large-scale fading represents the relationship between path loss and signal attenuation.
Equation 3 and 4 are our interpolating models and we use them to calculate data for un-calibrated grid points on
Figure 4.Weighted Triangulation
radio map. An illustration is shown in figure 3, location A and B have been calibrated and location C need to be calculated. When only location A is observable to location C, we use equation 3 to infer signal strength on location C, and when both location A and B are visible, we use equation 4. All the other un-calibrating grid points are computed with the same way.
Ai
3.4. Location Deterministic Model
3.4.1. Location Estimation
In location deterministic model [2,4,5,6,9], two location models are proposed to estimate locations. We make use of Segment Process to improve the accuracy of estimation results. Before using two location deterministic models, we can estimate locations only by probability model. First we use Segment Process to slice our offline data into m parts, then calculate P(Si | Xj), 1≦i≦I, 1≦j≦J, for each
3.4.2. Weighted Triangulation Model
We choose three locations XA, XB, XC, which own the max probability values of P(Si | Xj)final, and use weighted triangulation to determine the outcome location. Figure 3 illustrates weighted triangulation. Being normalized, PA
equals to 0.5, PB equals to 0.3, PC equals to 0.2. As a consequence, the order of distance to estimation location from far to near is C,B,A, respectively.
(a) (b) Figure 5.(a) The cluster and (b) corresponding
Markov Chain
3.4.3. Time Correlation-based Model.
The location system is more appropriately to be implemented on the dynamic environment. We consider referring the correlation between locations. In each estimation, we form a cluster which consists with eight gird points surrounding the prior location and calculate correlation between prior location and all the other grid points in the cluster. The cluster is shown as figure 5(a), and corresponding Markov Chain is illustrated as figure 5(b). There is a limit that user moving can’t exceed average human velocity, otherwise the cluster space won’t be enough to afford the estimation.
As presenting in section 3.4.1, we use Segment Process to divide one estimation into m slices of brief results and combine them for ultimate output. In all brief calculation, system computes the correlation between prior estimation result and other gird points in the cluster.
As figure 5(b) showing, assume prior result is location A, then PAA, PAB,…, PAI are calculated. Let prior result, state A be πk, πk = P(XA) = I
P(S
i| X
A)
1 i∏
= . Let all grid points in cluster be πk+1, (PAA,PAB ,…, PAI) be state transition probability distribution A.
k 1
k
A π
π
+=
ηπk
m
1
max k
arg
output Π=
= , η is a normalizer
4. EXPERIMENTAL RESULT
In this section we discuss the experimental testbed and evaluate the performance of PILS with all the models in this paper.
4.1. Testbed
We performed our experiment in the second floor of the Dept of CS, National Cheng-Chi University. This building has a dimension of 11 × 52 meters. The building is equipped with 802.11b wireless LAN environment. Our experiment devices are IBM X21, six PCI GW-APIIT and
six BLW-04G APs. To form the radio map, the environment was modeled as a space of 235 locations, 215 locations inside the rooms and 20 along the corridors, each representing a 1.5×1.5 meter square grid cell.
Figure 6.Location Estimation Results
4.2. Data Collection
Since we deem that train data on too many locations is impractical, we attempt to calibrate on few locations and interpolate all the other points by our model. In our experimental environment, we collected 1 point in small rooms, 2 points in bigger ones, and 2 points in corridor.
Totally, we selected 23 locations, 9.7% in whole environment locations. On the other hand, system interpolated the rest 90.3%. In our opinion, newly computer owns high performance and can sustain vast data calculation.
We collected 300 samples at these 23 grid points and expected an error of about 10~15 cm due to the inaccuracies when clicking the interface of radio map.
4.3. Experimental Result
First we define M1 as weighted triangulation model, M2 as time correlation-based model. Figure 6 illustrates the effect of reducing the number of calibrated locations. The X axis represents calibrated node rate, and the Y axis shows the error distance. The four curves are our two location estimation models, and each model separates into two parts: old and new versions. Old version [10] is our former work and new is the progress in this paper. In most case, M1 performs better than M2. Since M2 gains worse results, but it owns faster calculation speed because M2 computes only in the cluster it formed. The other advantage of M2 is that the variance of error distance is smaller than M1, and it means estimation results are more stable .If we calibrate data on 100% points, our models can achieve average error distance around 1 meter. Once
we only calibrate data on 9.7% points, the results are within 2 meters, and it’s still great acceptable. We won’t show the figure to illustrate the results of varying threshold of autocorrelation due to the page limit. In our experiments, we gain best accuracy when the threshold is set to 0.5 and in average we slice one segment for 4 signal samples.
Figure 7.Comparison between M1(new), M2(old) and RADAR
In figure 7 we compare our models (with and without autocorrelation) with well-known WLAN location system RADAR [9] which is designed by Microsoft. Two experiments were held, one calibrated data on 9.7% grid points and interpolated the rest 90.3%, and the other calibrated data on 100% points. The results show that average error distances in our model are 1.5370 and 1.7731 m with 9.7% points and 0.786 and 0.9076 m with 100% points. The average error distances in RADAR are 2.4368 m with 9.7% points and 1.7588 m with 100%
points. It’s obvious that our system owns better location estimation result than RADAR because more information are acquired with the Segment Process and novel location estimation models are presented by us.
5. CONCLUSIONS
In this paper, we proposed our RF-based WLAN location and system named PILS. We analyze the variations of wireless channel propagation and develop models to solve them. Most variations of wireless channel propagation are caused by wireless channel fading which can be categorized into large-scale fading and small-scale fading.
The main idea of this paper is to reduce the calibration effort and keeps the result won’t decline too much. We proposed a methodology called Segment Process. When we do Segment Process, autocorrelation of signal samples is concerned. Autocorrelation model is presented to slice each segment dynamically. And the experimental results show that the use of autocorrelation model indeed
enhance our Segment Process. Both offline and online phases refer to the concept of Segment Process. In location deterministic model, we proposed weighted triangulation model and time correlation-based model. In online phase, weighted triangulation model chooses three deterministic locations which own higher probabilities and triangulate them for final output. Time correlation-based model considers the correlation of former output location for each determination and a Markov Chain is operated for calculating the correlation. We had taken a lot of experiments for each model and combination of them. Details of experiments are shown in section 4.3, and the result is well enough for constructing a really impractical location deterministic system.
Finally we compare our system with famed location system RADAR and demonstrate that better accuracy is presented by our system.
6. REFERENCES
[1]
A. Papoulis. Probability, Random Variables, and Stochastic Processes. McGraw-Hill, third edition, 1991.
[2]
Asim Smailagic and David Kogan, “Locating Sensing and Privacy In a Context-Aware Computing Environment”, in IEEE Wireless Communications, no. 5, Oct 2002, pp.10-17.
[3]
H. Hashemi, “The indoor radio propagation channel. In Proceedings of the IEEE”, volume 81, pages 943–968, 1993.
[4]
J. Krumm and J. C. Platt, “Minimizing calibration effort for an indoor 802.11 device location measurement system”, Technical report, Microsoft Research, 2003.
[5]
Ming-Hui Jin, Eric Hsiao-Kuang Wu, Yu-Ting Wang, Chin-Hua Hsu, “802.11-based Positioning System for Context Aware Applications”, Globecom2003
[6]
Ming-Hui Jin, Eric Hsiao-Kuang Wu, Yu-Ting Wang, Chin-Hua Hsu, “An 802.11-based Positioning System for Indoor Applications”, ACTA Press Proceeding (422) Communication Systems and Applications - 2004
[7]
Moustafa A. Youssef, Ashok Agrawala, A. Udaya Shankar, “WLAN Location Determination via Clustering and Probability Distributions”, in IEEE PerCom’03.
[8]