Horus Usenix
Horus Usenix
Horus Usenix
Abstract
We present the design and implementation of the Horus
WLAN location determination system. The design of the
Horus system aims at satisfying two goals: high accuracy
and low computational requirements. The Horus system
identifies different causes for the wireless channel variations and addresses them to achieve its high accuracy. It
uses location-clustering techniques to reduce the computational requirements of the algorithm. The lightweight
Horus algorithm helps in supporting a larger number of
users by running the algorithm at the clients.
We discuss the different components of the Horus system and its implementation under two different operating
systems and evaluate the performance of the Horus system on two testbeds. Our results show that the Horus
system achieves its goal. It has an error of less than 0.6
meter on the average and its computational requirements
are more than an order of magnitude better than other
WLAN location determination systems. Moreover, the
techniques developed in the context of the Horus system are general and can be applied to other WLAN location determination systems to enhance their accuracy.
We also report lessons learned from experimenting with
the Horus system and provide directions for future work.
Introduction
0.5
0.45
0.4
Probability
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
-52
-50
-38
-36
In this section, we identify the different causes of variations in the wireless channel quality and how they affect the WLAN location determination systems. We are
mainly concerned with the variations that affect the received signal strength. We start by describing our sampling process. Then, we categorize the variations in the
wireless channel as temporal variations and spatial variations. We performed all the experiments in this section in
a typical office building, measured during the day when
people are around.
2.1
Sampling Process
A key function required by all WLAN location determination systems is signal-strength sampling. We used a
Lucent Orinoco silver network interface card (NIC) supporting up to 11 Mbit/s data rate [3]. The Horus system
is implemented under both the Linux and Windows operating systems.
For the Linux OS, we modified [1] the Lucent Wavelan driver so that it returns the signal strength of probe
response frames received from all access points in the
NIC range using active scanning [25]; our driver was the
first to support this feature.
The scanning process output is a list of the MAC addresses of the access points associated with the signal
strength observed in this scan (through probe response
frames). Each scans result set represents a sample.
We also developed a wireless API [1] that interfaces
with any device driver that supports the wireless extensions [2]. The device driver and the wireless API have
been available for public download and have been used
by others in wireless research.
For the Microsoft Windows operating system, we used
a custom-built NDIS driver to obtain the signal strength
from the wireless card (using active scanning). This
gives us more control over the scanning process as described in Section 5.
We now describe the different causes of variations in
a wireless channel. We divide these causes into two categories: temporal variations and spatial variations.
Samples Correlation
Figure 2 shows the autocorrelation function of the samples collected from one access point (one sample per
second) at a fixed position. The figure shows that the
autocorrelation of consecutive samples (lag = 1) is as
high as 0.9. This high autocorrelation is expected as over
a short period of time the signal strength received from
an access point at a particular location is relatively stable
0.4
0 1 2 3 4 5 6 7 8 9 10
Time (Seconds)
0.2
0
-0.2
1000
2000
3000
4000
5000
6000
7000
8000
Time (Seconds)
200
150
100
50
0
-95
-0.4
0
250
Receiver sensitivity
0.6
Autocorr. coeff.
Autocorrelation coefficient
0.8
300
0.92
0.9
0.88
0.86
0.84
0.82
0.8
0.78
-90
-55
2.3.1
Large-Scale Variations
Small-Scale Variations
We performed an experiment to test the behavior of access points with different average signal strength at the
same location. During this experiment, we sampled the
signal strength from each access point at the rate of one
sample per second. Figure 3 shows the relation between
the average signal strength received from an access point
and the percentage of samples we receive from it during
a period of 5 minutes. The figure shows that the number
of samples collected from an access point is a monotonically increasing function of the average signal strength
of this access point. Assuming a constant noise level, the
higher the signal strength, the higher the signal to noise
ratio and the more probable it becomes that the 802.11b
card will identify the existence of a frame. The sharp
drop at about -81 dBm can be explained by noting that
the receiver sensitivity (minimum signal power required
to detect a frame) for the card we used was -82 dBm.
2.3
Spatial characteristics
Overview
70
72
6
4
6 6
6 8
68
70
66
10
20
68
66
6
6
2
6 6
66
64
0
0
4
62
6
8
16
75
70
30
X (centimeters)
40
50
Figure 5: Small-scale variations: Signal strength contours from an AP in a 30.4 cm (12 inches) by 53.3 cm
(21 inches) area.
70
14
8
10
12
Distance (Meter)
2
7
0
7
10
66
-60
60
-58
66
62
-56
15
65
-54
6
8
4
6
-52
62
20
664
2
-50
Y (centimeters)
-48
6
6
6 6
8 6
4
6
25
-46
60
74
6
4
-44
8
6
66
-62
3.1
30
-42
Applications
Estimated Location
Location API
Continuous-Space
Estimator
one access point is as high as 0.9. Assuming independence of samples from the same access point leads to the
undesirable result of degraded system performance as the
number of averaged samples is increased (as we demonstrate below, in Section 4).
3.4.1
Radio
Map
and
clusters
Radio Map
Builder
We use an autoregressive model to capture the correlation between different samples from the same AP.
Let st be the stationary time series representing the
samples from an access point, where t is the discrete time
index. st can be represented as a first order autoregressive model [7] as:
Small-Scale
Compensator
Discrete-Space
Estimator
Correlation
Modeler
st = st1 + (1 )vt
Correlation
Handler
Clustering
Figure 6: Horus Components: the arrows show information flow in the system. Shadowed blocks represent
modules used during the offline phase.
i.e., we want
argmaxx [P (x/s)]
(1)
(2)
k
Y
P (si /x)
(3)
i=1
3.4
Correlation Handling
;0 1
(4)
Mathematical model
3.4.2
(5)
Correlation modeler
Correlation handler
During the online phase, the correlation handler module averages the value of n consecutive samples from an
access point and passes this information to the discretespace estimator, which uses the distributions stored in the
radio map (taking correlation into account using the information in Section 3.4.1) to estimate the user location.
3.5
x=
p(i)X(i)
i=1
N
P
(6)
p(i)
i=1
where X(i)
Note that the estimated location x need not be one of the
radio map locations.
3.5.2
1
min(W, t)
t
X
xi
(7)
tmin(W,t)+1
3.6
Small-Scale Compensator
Dealing with small-scale variations (Figure 5) is challenging. Since the selected radio map locations are typically placed more than a meter apart, to limit the radio map size, the radio map does not capture small-scale
variations. This contributes significantly to the estimation errors in the current systems. The Horus system
In order to detect small-scale variations, the Horus system uses the heuristic that users location cannot change
faster than their movement rate. The system calculates
the estimated location using the standard radio map and
the inference algorithm, then calculates the distance between the estimated location and the previous user location. If this distance is above a threshold, based on the
user movement rate and estimation frequency, the system
decides that there are small-scale variations affecting the
signal strength.
3.6.2
To compensate for these small-scale variations, the system perturbs the received vector entries, re-estimates the
location, and chooses the nearest location to the previous
user location as the final location estimate. For example, if one sample includes a signal-strength observation
from each of k access points (s1 , s2 , . . . , sk ), the system
tries all 3k combinations in which each of the k observations i is replaced by one of three values, si , si (1 + d), or
si (1 d); we explore the parameter d in Section 4.2.4.
An enhancement of this approach is to perturb a subset
of the access points. The effect of the number of access
points to perturb and the value of d on accuracy is described in Section 4.
4.1.1
Experimental Evaluation
4.1
Experimental Testbed
Testbed 1
Testbed 2
Data collection
Table 1: Summary of the percentage enhancement of different components on the basic algorithm
Technique
Testbed 1 Testbed 2
Correlation Handling
19%
11%
Center of Mass
13%
6%
Time Averaging
24%
15%
Small-Scale Compensator 25%
21%
0.9
0.8
Probability
0.7
0.6
0.5
0.4
0.3
0.8
0.1
Non-Parametric
Parametric
0
0
Figure 9: Performance of the basic algorithm of the Horus system for the first testbed.
4.2
0.7
0.6
0.5
0.4
0.3
0.2
0.1
Without Corr.
With Corr.
0
1
2
3
4
Number of samples (n)
Figure 10: Average distance error with and without taking correlation into account for the first testbed.
Results
0.2
Correlation handler
0.7
Average Distance Error (Meter)
0.7
0.6
0.5
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0.4
0.3
0.2
0.1
20
40
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
2
4
6
8
Averaging window size (W)
10
Figure 12: Average distance error using the timeaveraging technique for the first testbed.
0.3
0.2
0.1
case of N = 1 is equivalent to the discrete-space estimator output. The figures show that the performance of the
Horus system is enhanced by more than 13% for N = 6.
Time-averaging Technique: Figure 12 shows the effect of increasing the parameter W (size of the averaging window) on the performance of the time-averaging
technique. The figures show that the larger the averaging window, the better the accuracy. The performance
of the Horus system is enhanced by more than 24% for
W = 10.
Small-scale compensator
0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2
Perturbation Fraction
4.2.4
0.4
0.5
10
0
0
0.6
Clustering module
0.7
Average distance error (Meter)
0.5
0.45
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
1
2
Number of Access Points Used
0.5
0.4
0.3
0.2
0.1
0
No Clust. 0.1
0.6
0.3
Threshold
0.5
0.7
0.9
0.8
Probability
0.7
0.6
0.5
0.4
0.3
0.2
Perturbation
Basic
0.1
0
0
2
4
Error Distance (Meter)
Figure 15: CDF for the distance error for the first testbed.
technique [21]. We use the parametric distribution technique. Table 2 shows the values of different parameters.
Figures 18 shows the comparison for the two testbeds
(the curve for the Radar system is truncated). Tables 3
summarizes the results. The table shows that the average
accuracy of the Horus system is better than the Radar
system by more than 89% for the first testbed and 82%
for the second testbed. The worst case error is decreased
by more than 93% for the first testbed and 70% for the
second testbed.
Comparing the probabilistic system in [21] to the Horus system shows that the average error is decreased by
more than 35% for the first testbed and 27% for the second testbed. The worst case error is decreased by more
than 78% for the first testbed and 70% for the second
testbed. These results show the effectiveness of the pro-
posed techniques.
The performance of the three systems is better in the
first testbed than the second testbed as the first testbed
has a higher density of APs per location and the calibration points were closer for the first testbed.
Moreover, the Horus system leads to more than an
order of magnitude savings in the number of multiplications required per location estimate compared to the
other systems (250 multiplications for Horus compared
to 2708 for the other two systems).
We also applied the enhancement discussed in this paper (without correlation handling) to the Radar system.
We summarize the results is Table 3. These results show
the effectiveness of the techniques proposed in the paper
and that these techniques are general and can be applied
to other WLAN location determination systems to enhance their accuracy.
Discussion
Table 3: Comparison of the Horus system and other systems (error in centimeters)
Testbed 1
Testbed 2
Median Avg Stdev 90% Max Median Avg Stdev 90%
Horus
39
42
28
86
121
51
64
53
132
System [21]
48
65
63
143
578
72
86
77
181
Radar
296 400
326
853 1757
341 361
184
611
Radar with Horus tech.
161 193
107
302
423
142 195
106
332
4000
3500
3000
2500
2000
1500
80
70
60
50
40
30
20
10
0
0.1
0.3
0.5
0.7
1000
500
0
No Clust. 0.1
0.3
Threshold
0.5
0.7
5.1
The Horus system can model the signal strength distributions received from the access points using parametric or
non-parametric distributions. The main advantage of the
non-parametric technique is the efficiency of calculating
the location estimate, while the parametric technique reduces the radio map size and smooths the distribution
shape which leads to a slight computational advantage of
the parametric technique over the non-parametric technique.
5.2
Max
289
991
967
483
The correlation handling and the continuous space estimator modules each use more than one sample to increase the accuracy of the system. However, a side effect
of this increased accuracy is that the latency of calculating the location estimate increases. In general, we have a
tradeoff between the accuracy required and the latency of
the location estimate. The higher the required accuracy,
the higher the number of samples required and the higher
the latency to obtain the location estimate. This decision
Probability
0.8
0.6
0.4
0.2
Horus
System [21]
Radar
0
0
2
3
Error Distance (Meter)
Probability
0.8
0.6
0.4
0.2
Horus
System [21]
Radar
0
0
2
3
Error Distance (Meter)
time.
The main factor that may affect the accuracy when
changing hardware is the wireless card. Our experience
shows that cards from the same manufacture are interchangeable. The good news is that a linear mapping exists between different NICs [13]. Unfortunately, some of
the cards in the market are so noisy [27] that with this
linear mapping the obtained radio map is not representative of the environment. We found that Orinoco cards
and Cisco cards are stable, in terms of signal-strength
measurements.
5.5
Related Work
the signal-space to the physical space is found by applying a weighted average, based on proximity, to the signal
space position.
The Nibble location system, from UCLA, uses a
Bayesian network to infer a user location [8]. Their
Bayesian network model include nodes for location,
noise, and access points (sensors). The signal to noise
ratio observed from an access point at a given location
is taken as an indication of that location. The system
also quantizes the SNR into four levels: high, medium,
low, and none. The system stores the joint distribution
between all the random variables of the system.
Another system, [21], uses Bayesian inversion to return the location that maximizes the probability of the received signal strength vector. The system stores the signal strength histograms in the radio map and uses them
in the online phase to estimate the user location. Yet,
another system, [17], applies the same technique to the
robotics domain.
The Horus system is unique in defining the possible
causes of variations in the received signal strength vector and devising techniques to overcome them, namely
providing the correlation modeler, correlation handler,
continuous space estimator, and small-space compensator modules. Moreover, it reduces the computational
requirements of the location determination algorithm by
applying location-clustering techniques. This allows the
Horus system to achieve its goals of high accuracy and
low energy consumption.
Conclusions
handling small-scale variations. The perturbation technique enhances the average distance error by more than
25% for the first testbed and more than 21% for the second testbed. Moreover, the worst-case error is reduced
by more than 30% for the two testbeds.
The basic Horus technique chooses the estimated location from the discrete set of radio map locations. We
described two techniques for allowing continuous-space
estimation: the Center of Mass technique and the TimeAveraging technique. Using the Center of Mass technique, the accuracy of the Horus system was increased
by more than 13% for the first testbed and by more than
6% for the second testbed compared to the basic technique. The Time-Averaging technique enhances the performance of the Horus system by more than 24% for the
first testbed and more than 15% for the second testbed.
The two techniques are independent and can be applied
together.
We also compared the performance of the Horus system to the performance of the Radar system. We showed
that the average accuracy of the Horus system is better
than the Radar system by more than 89% for the first
testbed and 82% for the second testbed. The worst case
error is decreased by more than 93% for the first testbed
and 70% for the second testbed. Comparing the probabilistic system in [21] to the Horus system shows that
the average error is decreased by more than 35% for the
first testbed and 27% for the second testbed. The worst
case error is decreased by more than 78% for the first
testbed and 70% for the second testbed. These results
show the effectiveness of the proposed techniques. In
terms of computational requirements, the Horus system
is more efficient by more than an order of magnitude.
The proposed modules are all applicable to any of
the current WLAN location determination systems. We
show the result of applying the techniques of the Horus
system to the Radar system. The results show that the
average distance error is reduced by more than 58% for
the first testbed and by more than 54% for the second
testbed. The worst case error is decreased by more than
76% for the first testbed and by more than 48% for the
second testbed.
As part of our ongoing work we are experimenting
with different clustering techniques. Automating the
radio-map generation process is a possible research area.
The Horus system provides an API for location-aware
applications and services. We are looking at designing
and developing applications and services over the Horus
system. A possible future extension is to dynamically
change the system parameters based on the environment,
such as changing the averaging window size as the user
speed changes or using a time-dependent radio map. We
are also working on the theoretical analysis of different
components of the system.
Acknowledgments
This work was supported in part by the Maryland Information and Network Dynamics (MIND) Laboratory,
its founding partner Fujitsu Laboratories of America,
and by the Department of Defense through a University
of Maryland Institute for Advanced Computer Studies
(UMIACS) contract.
Availability
The MAPI API and the Linux device drivers are available
for download at [1].
References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
http://www.cs.umd.edu/users/moustafa/Downloads.htm.
http://www.hpl.hp.com/personal/Jean Tourrilhes/.
http://www.orinocowireless.com.
A ZUMA , R. Tracking requirements for augmented reality. Communications of the ACM 36, 7 (July 1997).
BAHL , P., AND PADMANABHAN , V. N. RADAR: An InBuilding RF-based User Location and Tracking System. In IEEE
Infocom 2000 (March 2000), vol. 2, pp. 775784.
BAHL , P., PADMANABHAN , V. N., AND BALACHANDRAN , A.
Enhancements to the RADAR User Location and Tracking System. Tech. Rep. MSR-TR-00-12, Microsoft Research, February
2000.
B OX , G. E. P., J ENKINS , G. M., AND R EINSEL , G. C. Time
Series Analysis: Forcasting and Control, third ed. Prentice Hall,
1994.
C ASTRO , P., C HIU , P., K REMENEK , T., AND M UNTZ , R. A
Probabilistic Location Service for Wireless Network Environments. Ubiquitous Computing 2001 (September 2001).
C ASTRO , P., AND M UNTZ , R. Managing Context for Smart
Spaces. IEEE Personal Communications (OCTOBER 2000).
C HEN , G., AND KOTZ , D. A Survey of Context-Aware Mobile
Computing Research. Tech. Rep. Dartmouth Computer Science
Technical Report TR2000-381, 2000.
E NGE , P., AND M ISRA , P. Special issue on GPS: The Global
Positioning System. Proceedings of the IEEE (January 1999),
3172.
G WON , Y., JAIN , R., AND K AWAHARA , T. Robust Indoor Location Estimation of Stationary and Mobile Users. In IEEE Infocom
(March 2004).
Notes
1 The normalization is used to ensure that the sum of the probabilities of all locations equals one.