Algorithms For Location Estimation Based On RSSI Sampling
Algorithms For Location Estimation Based On RSSI Sampling
Algorithms For Location Estimation Based On RSSI Sampling
1 Introduction
Estimating the location of a roaming sensor is a fundamental task for most
sensor networks applications. For example, if a sensor network has been deployed
to provide protection against fire (in this case, sensor nodes report a sudden
increase in temperature), we want to know the location of the sensor that triggers
an alert so that action can be taken accordingly. Additionally, some routing
protocols for sensor networks, such as geographical routing [15, 44], make routing
decisions based on the knowledge of the locations of the sensor nodes. Common
location estimation protocols that are widely adopted in practice assume that
there are some fixed nodes (base stations) that know their location which are
called beacons. These nodes send a signal to the sensor nodes that want to
determine their location. According to the intensity (or for example the angle)
of this signal, the sensor node can have an estimate of the distance between them
and the beacons.
After performing a certain number of such measurements for different bea-
cons, the sensor node has to combine all this information (for RSSI (Received
Signal Strength Indicator), this information is the power of each individual sig-
nal and the coordinates of the corresponding transmitter) in order to estimate
its location. However one could ask the following question: Why cannot we use a
Geographic Positioning System (GPS) to efficiently achieve the task of localiza-
tion? The answer is that a GPS requires a strong computing platform which is
not available in sensor networks. Sensor nodes are typically very low-computing
power units that can efficiently perform only basic arithmetic operations; Re-
quiring the execution of complex arithmetic operations on a sensor node would
entail a quick depletion of its battery which is not desirable for most practical
applications. Finally, the localization problem gets even more difficult because
the available power on the sensor node is limited: therefore no accurate mea-
surements of the signal can be made (since an accurate measurement requires
more computing power) which means that the measurements are prone to er-
rors. This is something that should also be taken into consideration and treated
accordingly.
Therefore, any location estimation algorithm should have the following re-
quirements:
1. The sensor node should avoid complex and time consuming computations,
which would deplete its energy supply (typically a low-cost battery) rapidly;
2. The computations should take into consideration the error in the measure-
ments, which can be large.
sensor node. However, they do not describe how their algorithms can be imple-
mented on a sensor node to estimate its own location. Moreover, their method
does not take into account the basic parameters of the RSSI model (standard
deviation and path loss exponent) and thus gives incorrect results.
In this paper, we formulate the correct probability distribution of the position
of a sensor node based on one reading produced with the RSSI model. Due to
the errors implicit in the RSSI model, it is unrealistic to try to compute a good
estimation of the location of the sensor node based only on a single measurement
(or even few measurements) from each beacon. Such an approach would be
so inaccurate to make the estimate practically worthless. Notwithstanding this
difficulty, we show that a reliable estimation of the location can be achieved by
processing a reasonably small number of readings of the signals.
Especially for indoor positioning systems, this is an assumption that has been
extensively used. For example, in [13, 14], the position estimation is based on a
location fingerprint t = [t1 t2 . . . tN ], where N is the number of beacons and ti
(i = 1, . . . , N ) is the mean value of the received signal strength over a certain
time window. Also, in [3, 9, 20, 42], experiments with various sample sizes are
presented where the samples are used to compute certain features of the signal
strength such as the standard deviation and the path loss exponent. Finally, [12]
presents simulations that use various number of samples, where more than 50
samples to filter out the errors in the probability distribution are used.
We show that using only the mean of the measurements is not a correct
procedure, due to the lognormal distribution of the distance from the beacon (see
Theorem 3). Instead of using directly the mean value, we use another value that
is adequate according to the specific underlying probability distribution of the
distance. The number of samples that are used vary from 20 to 60 and obviously
the accuracy of the computed location grows with the number of samples. Finally,
once the sampling has been performed, we show how to seek the minimum of a
function that approximates the actual location with small computational effort.
value of the received power and combines it with the mean and the standard
deviation of the sample readings using a steepest descent approach [37]. We
show that our method is simple and efficient and provides a good estimation
of the position. Note that using multiple sample readings is necessary for a
reliable location estimation since the probability distribution of the location
for a single sample implies that the domain within which the sensor lies with
high probability has large area.
3. We describe an implementation of our location estimation algorithm that is
suitable for execution on standard sensor hardware and we analyze the re-
sults of an extensive simulation of the execution of the algorithm in TOSSIM
[10, 18]. Our simulation shows that our method has accuracy that is compa-
rable to or better than that of previous methods.
2 Theoretical Framework
This section provides a formal probabilistic framework for estimation of the
position of a sensor node from power measurements.
rˆi
i = − 1 ∈ [−1, +∞). (1)
ri
The commonly accepted transmission model [31] expresses the received power
pi (in dBm) as
ri
pi = p0 + 10n log (2)
r0
where p0 is the received power in dBm at a reference distance r0 and n is the
path loss exponent which is a constant depending on the transmission medium
(indoors, outdoors) and ranges typically from 2 to 4. In some environments, such
as buildings, stadiums and other indoor environments, the path loss exponent
can reach values in the range of 4 to 6. On the other hand, a waveguide type of
propagation may occur in tunnels, where the path loss exponent drops below 2.
We recall that if the received power in mW at a point k is Pk , and Pk is
the received power at some reference point k (again in mW), then the received
power pk in dBm at point k is defined as
The measured power, however, differs from that given in Equation (2); due to
channel fading (variation of the received signal power caused by changes in trans-
mission medium or path), the measured power is pˆi = pi +x. The random variable
x represents the medium-scale channel fading and is typically modelled as Gaus-
sian zero-mean with variance σ 2 (in dBm). Typically, σ is as low as 4 and as
high as 12 (this implies that the error may be large). Inserting pˆi and rˆi into
(2), we get
rˆi
pˆi = p0 + 10n log (4)
r0
where now the measured power pˆi in dBm relates to the measured distance rˆi by
the sensor. By combining the above equations, we get that the relation between
the measured distance and the actual distance is
x
rˆi = ri 10 10n (5)
which gives
x
i = 10 10n − 1. (6)
node. We have that the probability density function of the actual position (x, y)
of the sensor node is given by
2
10n exp − 10n log √ r
ˆ
2
i
2
/2σ 2
(x−xi ) +(y−yi )
(i)
PX,Y (x, y) = √ .
2πσ 2π ln(10)((x − xi )2 + (y − yi )2 )
As we will see later, if we use only one measurement, we may end up with a
density function having more than one maximum. Moreover, the computation
of this maximum on a sensor node is a difficult task since there is no simple
analytical expression for the maximum of the probability distribution. Also,
there is no suitable analytical expression for the integrals needed to compute the
probability for a certain region. Due to space limitations, the proofs of the two
theorems can be found in the full version of the paper.
3 Location Estimation
In this section, we develop an algorithm for location estimation based on several
samples. This algorithm does not involve any complex calculations (such as
square roots) which is very important to consider when we develop algorithms
to be executed on sensor nodes, due to the sensor’s modest computing power.
Algorithms for Location Estimation Based on RSSI Sampling 79
3.1 Algorithm
As we saw in the previous section, after completing the sampling procedure, we
derive estimates for r12 , r22 , r32 , given by Theorem 3. Our aim is to formulate a
function whose minimum will yield a good approximation of the sensor’s location.
This function should be convex and also its derivatives should not include roots.
Suppose now we have three beacons located at (x1 , y1 ), (x2 , y2 ), (x3 , y3 ). Let
f (x, y) be the function
3
f (x, y) = ((x − xi )2 + (y − yi )2 − ri2 )2 . (7)
i=1
Note that if all 3 circles intersect at the same point (x0 , y0 ), this function has
minimum 0 at (x0 , y0 ). Unfortunately, minimizing that function is not an easy
task, if we are restricted on the available primitives. Hence we are going to use
methods that are based on the gradient of the function. The good feature about
such methods is that we can get to a point very close to the minimum in a small
number of computationally simple iterations. Indeed, let
∂f (x, y)
3
α(x, y) = =4 (x − xi )((x − xi )2 + (y − yi )2 − ri2 ) (8)
∂x i=1
and
∂f (x, y)
3
β(x, y) = =4 (y − yi )((x − xi )2 + (y − yi )2 − ri2 ) (9)
∂y i=1
be the partial derivatives of f . Note that the above expressions are computable
on a sensor node. The function z = f (x, y) describes a convex solid surface
with obvious definitions of “interior” and “exterior”. Initially, we make a guess
for our point (this is required by all steepest descent methods [37]). Suppose,
for uniformity, we choose as our initial point (x0 , y0 ) the centroid of the beacon
triangle. We compute the vector v which is orthogonal to the tangent plane T and
T
pointing toward the exterior. Hence v = α(x0 , y0 ) β(x0 , y0 ) −1 . Let now P be
the vertical plane containing v applied to (x0 , y0 , f (x0 , y0 )). Since P is a vertical
plane, any normal vector w of P will have a zero z-component. Additionally, w is
T
orthogonal to v and therefore may be chosen as w = −β(x0 , y0 ) α(x0 , y0 ) 0 .
We seek the vector q pointing towards the minimum of the function. Such vector
belongs to P and is orthogonal to v (q is orthogonal both to v and w), i.e.,
T
q = α(x0 , y0 ) β(x0 , y0 ) α2 (x0 , y0 ) + β 2 (x0 , y0 ) .
Now we compute the intersection point (x0 , y0 ) of the line (with the surface
z = 0) passing by (x0 , y0 , f (x0 , y0 )) which is collinear with the direction q and
the xy-plane. The parametric equation of this line is (x, y, z) = (x0 + tqx , y0 +
tqy , f (x0 , y0 ) + tqz ) for all t ∈ R. The new point (x0 , y0 ) is then given by
f (x0 , y0 )α(x0 , y0 ) f (x0 , y0 )β(x0 , y0 )
(x0 , y0 ) = x0 − 2 , y0 − 2 .
α (x0 , y0 ) + β 2 (x0 , y0 ) α (x0 , y0 ) + β 2 (x0 , y0 )
80 C. Papamanthou, F.P. Preparata, and R. Tamassia
The described process gives a new point (x0 , y0 ). This point is expectedly closer
to the point that corresponds to the minimum of f as we follow the direction
of the gradient as long as the products α(x0 , y0 )α(x0 , y0 ) > 0 and β(x0 , y0 )
β(x0 , y0 ) > 0. When this condition no longer holds, we have “overshot”; to
remedy, we backtrack to the previous point referred here as (x, y) and apply a
typical steepest descent method with very small rate λ. We therefore compute
our new point (x , y ) by setting
(x , y ) = (x − λα(x, y), y − λβ(x, y)). (10)
We continue this process until the gradients α(x, y), β(x, y) change sign. At that
point we stop and we report the final point as our estimation. Here we should
emphasize the fact that it is important to take samples of adequate size. Taking
samples implies a better behavior for f , meaning that there would be only one
minimum and therefore the algorithm will quickly converge to the minimum. As
far as the value of the variable λ is concerned, this variable is chosen to be small
enough and inversely proportional to the size of the grid since these features of
λ force the second repeat loop of the algorithm to converge quickly. This has
been observed in the experiments. For the experiments, the value of λ is equal
to 1000−m/100 .
4 Simulation
In this section, we present and analyze extensive simulation results of our
method. We have run our experiments with TOSSIM [10, 18], a widely used
simulator of the TinyOS operating system for sensor networks.
Algorithms for Location Estimation Based on RSSI Sampling 81
10
frequency
0
0 2 4 6 8 10 12 14 16 18 20
distance from actual position
Table 2. Comparison of existing work. In each row, we display the bibliographic ref-
erence and the respective average localization error (d), the size of the area of the
experiments A, the ratio √dA and finally the number of samples used by each method.
Note that it is not always feasible to compare between different methods since the
settings used can be different. N.A. stands for “not applicable” and it means that
the certain method does not refer explicitly to the number of samples used or that the
sampling technique is not used.
√
reference error d simulation area A d/ A number of samples
[3] 3 22.5 × 45.5 0.090 20
[32] 3 16 × 40 0.118 N.A.
[4] 4 35 × 40 0.107 250
[29] 7.62 13.71 × 32 0.360 40
[1] 3 500 0.130 N.A.
[30] 6 60 × 60 0.100 N.A.
[5] 1.83 10 × 10 0.183 20
[35] 0.8 6×6 0.130 50
[19] 13 18751 0.094 N.A.
[43] 10 26 × 49 0.280 N.A.
[38] 3.5 60 × 120 0.058 N.A.
[16] 0.82 5×5 0.164 N.A.
our scheme 4.350 50 × 50 0.087 25
our scheme 3.020 50 × 50 0.064 50
√d = 0.06). Note that previous methods use more than three beacon nodes (see
A
for example [28] where O(m) beacons are placed in the area of localization for
an m × m grid).
5 Conclusions
In this paper, we have analyzed the RSSI model for location estimation in sensor
networks. Given a normal distribution for the error in dBm, we compute the
correct probability distribution of the sensor’s location and then we adopt this
probability distribution in a theoretical analysis of sampling the measurements
for location estimation. We finally give a simple algorithm that can be executed
on sensor nodes; its complexity, for a constant number of beacons, is proportional
to the size of the sample.
Location estimation in sensor networks presents several trade-offs. If higher
accuracy is desired, one has to deploy more beacons or use more samples. Using
a large number of beacons and samples causes significant energy consumption.
The energy-optimal case occurs when only three beacons are deployed and an
estimation of the actual point is based on the probability distribution computed
by taking into consideration only one measurement. This solution, however, gives
unacceptable errors. Additionally, performing computations with the exact prob-
ability distribution is unrealistic, since it involves complex formulas. Hence, were
we to depend on few measurements, off-line computed data must be stored as
84 C. Papamanthou, F.P. Preparata, and R. Tamassia
tables within the sensor, which immediately creates a storage problem. However,
one can use more samples, thus increasing energy consumption.
Acknowledgments
This research was supported by the U.S. National Science Foundation under
grants IIS–0324846 and CCF–0830149 and by the Center for Geometric Com-
puting and the Kanellakis Fellowship at Brown University. The views in this
paper do not necessarily reflect the views of the sponsors. We thank Goce Tra-
jcevski for useful discussions.
References
[1] Alippi, C., Vanini, G.: A RSSI-based and calibrated centralized localization tech-
nique for wireless sensor networks. In: Proc. IEEE Int. Conf. on Pervasive Com-
puting and Communications Workshops (PERCOMW), pp. 301–306 (2006)
[2] Atmel Corporation. ATM128 Datasheet, Revised 2461-09/03 (2003)
[3] Bahl, P., Padmanabhan, V.N.: RADAR: An in-building RF-based user location
and tracking system. In: Proc. IEEE Conf. on Computer Communications (IN-
FOCOM), pp. 775–784 (2000)
[4] Brunato, M., Battiti, R.: Statistical learning theory for location fingerprinting in
wireless LANs. Computer Networks 47(6), 825–845 (2005)
[5] Bulusu, N., Heidemann, J., Estrin, D.: GPS-less low cost outdoor localization for
very small devices. IEEE Personal Communications Magazine 7(5), 28–34 (2000)
[6] Capkun, S., Hubaux, J.-P.: Secure positioning of wireless devices with application
to sensor networks. In: Proc. IEEE Conf. on Computer Communications (INFO-
COM), pp. 1917–1928 (2005)
[7] Dil, B., Dulman, S., Havinga, P.: Range-based localization in mobile sensor net-
works. In: Römer, K., Karl, H., Mattern, F. (eds.) EWSN 2006. LNCS, vol. 3868,
pp. 164–179. Springer, Heidelberg (2006)
[8] Doherty, L., Pister, K.S.J., Ghaoui, L.E.: Convex optimization methods for sensor
node position estimation. In: Proc. IEEE Conf. on Computer Communications
(INFOCOM), pp. 1655–1663 (2001)
[9] Faria, D.B.: Modeling signal attenuation in IEEE 802.11 wireless LANs. vol. 1.
Technical Report TR-KP06-0118, Stanford University (2005)
[10] Gay, D., Levis, P., von Behren, R., Welsh, M., Brewer, E., Culler, D.: The nesC
language: A holistic approach to networked embedded systems. In: Proc. ACM
Conf. on Programming Language Design and Implementation (PLDI), pp. 1–11
(2003)
[11] He, T., Huang, C., Blum, B.M., Stankovic, J.A., Abdelzaher, T.: Range-free lo-
calization schemes for large scale sensor networks. In: Proc. of the Int. Conf. on
Mobile Computing and Networking (MOBICOM), pp. 81–95 (2003)
[12] Hu, L., Evans, D.: Localization for mobile sensor networks. In: Proc. of the Int.
Conf. on Mobile Computing and Networking (MOBICOM), pp. 45–57 (2004)
[13] Kaemarungsi, K., Krishnamurthy, P.: Modeling of indoor positioning systems
based on location fingerprinting. In: Proc. IEEE Conf. on Computer Commu-
nications (INFOCOM), pp. 1012–1022 (2004)
Algorithms for Location Estimation Based on RSSI Sampling 85
[14] Kaemarungsi, K., Krishnamurthy, P.: Properties of indoor received signal strength
for WLAN location fingerprinting. In: Proc. Int. Conf. on Mobile and Ubiquitous
Systems (MOBIQUITOUS), pp. 14–23 (2004)
[15] Karp, B., Kung, H.T.: GPSR: Greedy perimeter stateless routing for wireless
networks. In: Proc. of the Int. Conf. on Mobile Computing and Networking (MO-
BICOM), pp. 243–254 (2000)
[16] Krohn, A., Hazas, M., Beigl, M.: Removing systematic error in node localisation
using scalable data fusion. In: Langendoen, K.G., Voigt, T. (eds.) EWSN 2007.
LNCS, vol. 4373, pp. 341–356. Springer, Heidelberg (2007)
[17] Kuo, S.-P., Tseng, Y.-C., Wu, F.-J., Lin, C.-Y.: A probabilistic signal-strength-
based evaluation methodology for sensor network deployment. In: Proc. Int. Conf.
on Advanced Information Networking and Applications (AINA), pp. 319–324
(2005)
[18] Levis, P., Lee, N., Welsh, M., Culler, D.: TOSSIM: accurate and scalable simula-
tion of entire TinyOS applications. In: Proc. Int. Conf. on Embedded Networked
Sensor Systems (SENSYS), pp. 126–137 (2003)
[19] Lorincz, K., Welsh, M.: MoteTrack: A robust, decentralized approach to RF-based
location tracking. Personal and Ubiquitous Computing 11(6), 489–503 (2007)
[20] Lymberopoulos, D., Lindsey, Q., Savvides, A.: An empirical characterization of ra-
dio signal strength variability in 3-D IEEE 802.15.4 networks using monopole an-
tennas. In: Römer, K., Karl, H., Mattern, F. (eds.) EWSN 2006. LNCS, vol. 3868,
pp. 326–341. Springer, Heidelberg (2006)
[21] Lynch, C., Reilly, F.O.: Processor choice for wireless sensor networks. In: Proc.
ACM Workshop on Real-World Wireless Sensor Networks (REALWSN), pp. 52–
68 (2005)
[22] Maróti, M., Völgyesi, P., Dóra, S., Kusý, B., Nádas, A., Lédeczi, Á., Balogh, G.,
Molnár, K.: Radio interferometric geolocation. In: Proc. Int. Conf. on Embedded
Networked Sensor Systems (SENSYS), pp. 1–12 (2005)
[23] Moore, D., Leonard, J.J., Rus, D., Teller, S.J.: Robust distributed network local-
ization with noisy range measurements. In: Proc. Int. Conf. on Embedded Net-
worked Sensor Systems (SENSYS), pp. 50–61 (2004)
[24] Nagpal, R., Shrobe, H.E., Bachrach, J.: Organizing a global coordinate system
from local information on an ad hoc sensor network. In: Zhao, F., Guibas, L.J.
(eds.) IPSN 2003. LNCS, vol. 2634, pp. 333–348. Springer, Heidelberg (2003)
[25] Nasipuri, A., Li, K.: A directionality based location discovery scheme for wireless
sensor networks. In: Proc. ACM Int. Workshop on Wireless Sensor Networks and
Applications (WSNA), pp. 105–111 (2002)
[26] Niculescu, D., Badrinath, B.R.: Ad hoc positioning system (APS) using AOA. In:
Proc. IEEE Conf. on Computer Communications (INFOCOM), pp. 1734–1743
(2003)
[27] Niculescu, D., Nath, B.: DV based positioning in ad hoc networks. Telecommuni-
cation Systems 22, 267–280 (2003)
[28] Ochi, H., Tagashira, S., Fujita, S.: A localization scheme for sensor networks based
on wireless communication with anchor groups. In: Proc. Int. Conf. on Parallel
and Distributed Systems (ICPADS), pp. 299–305 (2005)
[29] Prasithsangaree, P., Krishnamurthi, P., Chrysanthis, P.K.: On indoor position
location with wireless LANs. In: Proc. IEEE Int. Symposium on Personal, Indoor,
and Mobile Radio Communications (PIMRC), pp. 720–724 (2002)
[30] Ramadurai, V., Sichitiu, M.L.: Localization in wireless sensor networks: A proba-
bilistic approach. In: Proc. Int. Conf. on Wireless Networks (ICWN), pp. 275–281
(2003)
86 C. Papamanthou, F.P. Preparata, and R. Tamassia
[31] Rappaport, T.S., Rappaport, T.: Wireless Communications: Principles and Prac-
tice, 2nd edn. Prentice-Hall, Englewood Cliffs (2001)
[32] Roos, T., Myllymaki, P., Tirri, H., Misikangas, P., Sievanen, J.: A probabilistic
approach to WLAN user location estimation. International Journal of Wireless
Information Networks 9(3), 155–166 (2002)
[33] Savvides, A., Han, C.-C., Strivastava, M.B.: Dynamic fine-grained localization in
Ad-Hoc networks of sensors. In: Proc. of the Int. Conf. on Mobile Computing and
Networking (MOBICOM), pp. 166–179 (2001)
[34] Savvides, A., Park, H., Srivastava, M.B.: The bits and flops of the n-hop multi-
lateration primitive for node localization problems. In: Proc. ACM Int. Workshop
on Wireless Sensor Networks and Applications (WSNA), pp. 112–121 (2002)
[35] Shen, X., Wang, Z., Jiang, P., Lin, R., Sun, Y.: Connectivity and RSSI based
localization scheme for wireless sensor networks. In: Huang, D.-S., Zhang, X.-P.,
Huang, G.-B. (eds.) ICIC 2005. LNCS, vol. 3645, pp. 578–587. Springer, Heidel-
berg (2005)
[36] Sichitiu, M., Ramadurai, V.: Localization of wireless sensor networks with a mobile
beacon. In: Proc. IEEE Conf. on Mobile Ad-hoc and Sensor Systems (MASS), pp.
177–183 (2004)
[37] Snyman, J.A.: Practical Mathematical Optimization: An Introduction to Ba-
sic Optimization Theory and Classical and New Gradient-Based Algorithms.
Springer, Heidelberg (2005)
[38] Stoleru, R., Vicaire, P., He, T., Stankovic, J.A.: StarDust: a flexible architec-
ture for passive localization in wireless sensor networks. In: Proc. Int. Conf. on
Embedded Networked Sensor Systems (SENSYS), pp. 57–70 (2006)
[39] Texas Instruments. MSP430C13x1 Datasheet (Revised September 04, 2004)
[40] Wackerly, D., Mendenhall, W., Scheaffer, R.: Mathematical Statistics with Appli-
cations, 6th edn. Duxbury Advanced Series (2002)
[41] Whitehouse, K., Karlof, C., Culler, D.: A practical evaluation of radio signal
strength for ranging-based localization. In: ACM Mobile Computing and Com-
munications Review, pp. 41–52 (2007)
[42] Xiang, Z., Song, S., Chen, J., Wang, H., Huang, J., Gao, X.: A wireless LAN-based
indoor positioning technology. IBM J. Res. Dev. 48(5/6), 617–626 (2004)
[43] Yedavalli, K., Krishnamachari, B., Ravula, S., Srinivasan, B.: Ecolocation: a se-
quence based technique for RF localization in wireless sensor networks. In: Proc.
Int. Conf. on Information Processing in Sensor Networks (IPSN), p. 38 (2005)
[44] Yu, Y., Govindan, R., Estrin, D.: Geographical and energy aware routing: A re-
cursive data dissemination protocol for wireless sensor networks. Technical Report
UCLA/CSD-TR-01-0023, UCLA Computer Science Department (2001)