This article is an Open Access article distributed under the terms and conditions of the Creative Commons Attribution license
Accurate and lowcost autonomous selflocalization is a critical requirement of various applications of a largescale distributed wireless sensor network (WSN). Due to its massive deployment of sensors, explicit measurements based on specialized localization hardware such as the Global Positioning System (GPS) is not practical. In this paper, we propose a lowcost WSN localization solution. Our design uses received signal strength indicators for ranging, light weight distributed algorithms based on the springrelaxation technique for location computation, and the cooperative approach to achieve certain location estimation accuracy with a low number of nodes with known locations. We provide analysis to show the suitability of the springrelaxation technique for WSN localization with cooperative approach, and perform simulation experiments to illustrate its accuracy in localization.
Supported by the great development in RF and MEMS IC design, largescale distributed wireless sensor networks (WSNs) are widely applied to many areas involving monitoring, tracking, and controlling. Specific applications of wireless sensor networks include vehicle surveillance, environment monitoring, health care applications, and home automation [
Accurate and lowcost autonomous selflocalization of the sensors is a critical requirement in these WSNs. The main reason is that the locations of sensors are necessary in a variety of applications, such as environment monitoring, object detection, target tracking, and security surveillance. In these applications, sensor locations must be known to make sense of the reported data. Additionally, sensor location information can be very useful for geographic routing protocols [
Sensor localization is a challenging issue in the design and development of WSNs in various applications [
In general, a localization algorithm is often based on computation using obtained measurements with respect to devices with known absolute locations where the measurements may include ranges or angles in an absolute or a relative description, such as time of arrival (TOA), time difference of arrival (TDOA), angle of arrival (AOA), received signal strength (RSS), and others. The Global Positioning System (GPS) [
The attempt to design a practical localization algorithm for WSNs gives rise to the concept of
In this paper, a cooperative localization solution is developed for WSNs. Precisely, a node uses RSS information to estimate distances between itself and other nodes, then it executes algorithm based on springrelaxation technique. One known springrelaxation technique used for localization is studied by Priyantha
Inspired by AFL, we follow and extend the design concept to develop a fully distributed localization solution specifically for WSNs that are both onehop and multihop. We consider a WSN that consists of a small number of nodes whose locations are known with others whose locations are unknown. Our cooperative localization solution consists of two phases. The first phase alone can be viewed as a noncooperative localization algorithm whereas the second phase is based on cooperative approach. In the first phase, a sensor node uses RSS to estimate the distances between itself and all visible beacons. These distance inputs are processed using the springrelaxation technique to determine its location. Due to the small number of beacons and RSS ranging errors [
The rest of the paper is organized as follows. Section 2. presents our localization solution in details, and briefly discusses some design issues. Section 3. provides analysis focusing on the convergence and stationary properties of our solution. Section 4. presents the simulation results covering studies in system design and parameter design, and comparison to other related techniques. Finally, Section 5. summarizes our conclusions.
We shall now describe our system setup followed by our proposed solution, which is a fully distributed and absolute localization solution specifically designed for both onehop and multihop WSNs. Our considered WSN consists of
Our algorithm uses RSS as a measure for ranging between a sensor and its onehop neighbors, which can be either sensors or beacons. Precisely, each
To explain the concept of springrelaxation technique for the localization, we consider a simple example that consists of five beacons and a sensor whose location is to be determined. In the concept of springrelaxation technique, the considered example is equivalent to having a moving particle (
The particle attached to a set of springs receives forces from them when they are compressed or stretched. The net force applies on the particle is the vector sum of all received forces. When the particle begins at a particular location with nonzero net force, the net force moves the particle to a new location and the net force changes accordingly. The particle continues to move until the net force becomes zero, and the particle comes to rest. This resting location, indicated by the grey ring in
From Hookeβs law, the magnitude of the force
The instantaneous displacement will cause a change in force applied by each spring on the particle. This change in force leads to a new net force on the particle which then changes the instantaneous displacement of the particle again. As this process continues, the particle moves and will eventually rest at an equilibrium location where the net force is zero.
Localization using springrelaxation technique mimics the behavior of the spring network for the computation of the estimated location.
We will now describe the realization of (1)β(3) in our solution more precisely. Recall the notations defined previously,
The net force on
To mimic the evolution of the spring network, our algorithm updates the locations of sensors in iterations. In each iteration, the algorithm moves
In this phase, each sensor first makes an initial guess of its location that is irrelevant to its actual location and can be obtained by random assignment, then ranges to each of its visible beacons, and uses the estimated distance from signal strength to iteratively refine this initial guess. Precisely, each
Coarse Location Estimation
//For 
INPUT: received signal strengths 
OUTPUT: phase 1 estimate of 
ββ 
ββ 
ββββ 
ββββββ

ββββββ

ββββ 
ββ 
ββ 
In the algorithm, there are several design parameters that are used to adjust the algorithm behavior and control the algorithm execution. Threshold is a constant that used to define the visibility or connectivity. If the received signal strength
It should be pointed out that it is not a necessity for every sensor to have visible beacons for practical purpose. Instead, we assume that every sensor has at least three noncollinear neighboring sensors, and this assumption can be easily met in practical applications with large network size and high node density. In multihop applications where many sensors reside outside the transmission range of available beacons, those outside sensors will keep their initial guesses as the output of phase 1, and let the refinement process in phase 2 to handle the location estimation with the help of neighboring sensors. The advantage the knowledge of beacon locations constantly brings will be transferred eventually to all sensors in a hopbyhop manner. As a matter of fact, our localization solution aims to provide accurate location estimation with minimal system requirement and deployment effort, e.g., decentralized structure and low coverage of beacons.
After phase 1, a coarse location estimate of all sensor locations is provided. Applying the same springrelaxation technique in a different domain, phase 2 works on phase 1 estimates to refine the results in a cooperative way. In phase 2,
Estimated Location Refinement
//For 
INPUT: received signal strengths 
OUTPUT: phase 2 refined estimate of 
ββ 
ββ 
ββββ 
ββββββ

ββββββ

ββββ 
ββ 
ββ 
ββUpdate the 
In this phase, the algorithm updates the signal strength and estimation location in every iteration. Due to the noise in the signal strength measures, this constant update causes fluctuation in the computed location. A tighter control in
In this section, we analyze the stability of each phase of the solution. In phase 1, a sensor gathers the location and distance information from each of its visible beacons, and starts the execution of
In phase 2, a sensor exchanges the location and distance information not only from each of its visible beacons, but also from all its neighboring sensors. Moreover, the sensor updates this information constantly during the execution of
Our algorithm performs iteration of computation, and in our design, the iteration terminates when the net force falls below a threshold where this weak force has no longer significant contribution to the estimated location of the sensor. Based on extensive simulation experiments, it is indicated in [
We first show the algorithm convergence property in the simple onedimensional (1D) setup. We shall use the concept of springrelaxation for the discussion, which is equivalent to our algorithm. We assume that there is a single location, which we called a
Consider
In the following, we shall prove that in 1D setup, if there exist a unique stopping point where the net force is zero, at any other location, the net force is nonzero, and the force points towards the stopping point. In (4), we define that the leftward (resp. rightward) force carries a negative (resp. positive) sign.
Given that as
We now show that β
Recall that
Given that there is a point
In the above discussion, we make no description on the step size of each movement of the estimated location. The analysis is valid for infinitesimal step size, or equivalently
Moreover, it is possible that a system setup gives more than one stopping points. In practice, such a setup should be avoided as it creates ambiguity in the localization. We here illustrate multiple stopping points using a twobeacon setup. Let
Similar approach can be adopted for the illustration of convergence property in a twodimensional setup. Consider
We call the zone where a particular spring experiences compression a compression zone of the spring or the beacon. If the straight line does not cross the compression zone of a beacon, then we have
For the case that the straight line touches or crosses the compression zone of a beacon, we have 
Using this setup, following the proof given in Proposition 1, it can be shown that with the existence of a unique stopping point, at any other location along the straight line, there exist an net force where its image projected on the straight line points towards the stopping point which moves the node nearer to the stopping point. As the algorithm iterates, the location of the node will eventually converged to the stopping point. Note that since we only show that the image of a force along the line connecting the stopping point and the arbitrary chosen location points towards the the stopping point, the node may not necessarily moves along the straight line back to the only stopping point. The node may move to a new location nearer to the stopping point not necessarily on the straight line, but we can redraw another line for that new location and then apply the same argument to show that the next location of the node will again be nearer to the stopping point than that of the current location.
For illustration simplicity, we consider a scenario shown in
We use the notation
According to our algorithm, since both
With the above result, using time series analysis, we further get
From the last result, the variances of
From the above simple scenario, we see that while the measured signal strength fluctuates over the time, the estimated location also fluctuates and stays stationary around its true location, even for the sensor where none of its neighbors is a beacon. This stationary property suggests that cooperative approach for the springrelaxation technique maintains stability in location estimation.
We use the following path loss model for the radio propagation [
In this section, we conduct simulation experiments to study the impact of protocol design parameters on the location estimation accuracy in onehop setup using Matlab. The simulation environment is a coordinated square map of size 100 m Γ 100 m with
In phase 1, the more iterations the algorithm executes, the closer the estimated location of a sensor approaches its stopping point. Due to the RSS ranging error, the eventual stopping point may not be the true location. The task of phase 1 is mainly to bring the estimated location to the stopping point, and then the location estimation continues with phase 2 to bring further from the stopping point to the true location. Therefore, for the performance of phase 1, our interest is to investigate the estimation error by measuring the distance between the estimated location of a particular sensor and its eventual stopping point rather than its true location. In other words, we measure
Starting with some preparation experiments, we were able to narrow down the value range of
As can be seen from the figure,
Moreover, the figure also shows that the estimation error generally reduces as
While the previous results suggest that
Similar to that of phase 1, in
The evolution of location estimation error for a particular sensor is plotted in
One extension of the algorithm is that we can let
Using the chosen values for parameters, we test the overall accuracy of our proposed localization solution using the measure of location estimation error given in (9).
To further show the performance advantages of our proposed method, we compare the accuracy performance of our proposed solution to other solution that can be deployed to perform localization in the same environment without additional specialized localization hardware. For this performance comparison, we select the
One additional requirement for kNN approach is the database construction of RSS fingerprints through a sitesurvey prior to the localization. For the database construction, the more sampling points are performed, the better is the performance. With the same setup of the map size, the placement of beacons and the number of sensors, as well as the same path loss model and lognormal shadowing, we conduct performance studies for the kNN approach using different number of survey points via simulation, and report the results in
Furthermore, we compare our proposed solution to maximumlikelihood estimators (MLEs) for sensor location estimation [
We then enlarge the map to 350 m Γ 350 m to investigate the performance of our solution in twohop networks. The same number of beacons and placement scheme are used for the beacons. Whereas the number of sensors
Given the same beacon coverage, it can be expected that as the number of sensors increases, the network connectivity will increase, thus more sensorsβ locations can be resolved using springrelaxation, which is reflected in
In this paper, we proposed a localization solution consisting of two phases of localization algorithm based on springrelaxation technique for largescale distributed wireless sensor networks. We showed that springrelaxation technique is suitable for multihop cooperative localization. Our proposed solution is based on the springrelaxation technique and thus inherits its implementation simplicity. Moreover, our design requires only a few beacons with known locations to compute the location estimates of all sensors. In our simulation experiments, we demonstrated the overall accuracy of our design and favorable performance over both kNN and MLE approaches.
The authors wish to express their gratitude to the anonymous reviewers for their invaluable comments.
The simple example of five beacons and a sensor.
The plot of
A scenario for a beacon node and two sensor nodes.
The estimation error with different
The convergence speed with different
The evolution of location estimation error for the observed sensor with different
CDF of the location estimation error from two phases.
The estimated locations from two phases comparing to the true locations. (a) phase 1 estimated locations; (b) phase 2 estimated locations.
Location estimation produced by our algorithm versus KNN and MLE. (a) our estimated locations; (b) KNN estimated locations; (c) MLE estimated locations.
The variables involved in
Variable  Definition 

estimated distance between the transmitter and the receiver [m]  
transmitted power level [dBm]  
received power level [dBm]  
antenna gain of the transmitter [dBi]  
antenna gain of the receiver [dBi]  
Ξ»  signal wavelength [m] 
path loss exponent  
Gaussian random variable with a standard deviation of 
The accuracy performance of the kNN approach with various number of sampling points equally spread on a 100 m by 100 m map.
The number of survey points  Average accuracy (m) 

5 by 5  24.88 
10 by 10  22.15 
20 by 20  18.90 
40 by 40  17.73 
80 by 80  16.11 
160 by 160  15.81 
500 by 500  15.31 
Sensor deployment parameters and accuracy performance of the proposed algorithm versus MLE on a 350 m by 350 m square map.
Ns  Connectivity  Unsolved (%)  Mean error (m)  Mean error of MLE (m) 

100  4.13  13%  42.4  172.72 
200  5.56  5%  26.02  176.93 
300  6.06  2.33%  24.72  160.86 
400  7.03  0.6%  23.94  171.24 
500  7.99  0.5%  23.12  174.31 
600  8.82  0.33%  22.63  161.91 