^{1}

^{2}

^{1}

^{2}

We introduce a system for multiple target range-based localization systems, such as those based on time-of-arrival (TOA) and received signal strength indicator (RSSI) for distance measurement estimations. In order to improve the accuracy of the location estimation for all target nodes, our system makes use of distance estimations between target nodes as well as between anchor and target nodes, and weights for all nodes. We propose variations on two popular localization algorithms and compare their accuracy against that of the conventional algorithms using simulations and experiments. Our results show that our proposal consistently offers a better localization accuracy than the conventional algorithms.

Localization in wireless sensor networks (WSNs) is a very active research field. Many applications make use of sensor location information, either because the application requires it directly, as in asset tracking, or because of a support application, as in location-aware routing. Use of the global positioning system (GPS) is widely deployed, but in addition to elevated equipment costs and high battery consumption, it suffers from deployability limited to outdoor scenarios, and has a typical accuracy of only a few meters, which may or may not be appropriate, depending on the application.

A solution to the localization problem usually falls into one of two categories:

For range-based solutions, there are several systems for estimating distances between nodes, among them

Range-based localization research has recently focused on mitigating the adverse effects of the Nonline-of-sight (NLOS) problem [

Tracking multiple nodes at the same time is not a new idea. Research on this field traces as far as 1979 [

In this paper, we propose a novel yet simple method for making use of distance measurements between target nodes for improving the accuracy of a range-based localization system. We evaluate two common algorithms and provide variants for multiple target localization that also make use of node weights determined by their localization estimation accuracy. We then validate our proposal with simulations and experiments. Even though our proposal can be used with either TOA or RSSI for distance estimations, we make use of RSSI in our validations, because of the small cost and complexity of implementing the solution.

The rest of this paper is organized in the following manner. In Section

Let us consider a WSN composed of

The sensor localization problem consists of determining a

Let us consider the distance between two nodes

For electromagnetic signals which propagate at the speed of light, it is necessary to either have very tightly synchronized clocks, or have the distances involved to be in the thousands of kilometers, as in GPS. It is also possible to use slower signals, such as ultrasound [

The received signal strength indicator (RSSI) can also be used to estimate the distance between two nodes, by considering that a signal transmitted with known power

The RSSI can be easily measured at the radio chip, and measurements are readily available on most sensor network platforms, including those that implement IEEE 802.15.4.

Both TOA and RSSI are susceptible to multipath and fading and other sources of error, which in the end will affect the accuracy of the final location estimation. A localization algorithm should take these problems into account and do something to mitigate them. We consider the scenario in which every pair of sensors are within communication range and have a direct line of sight, therefore having a complete set of distance estimations between all sensors.

Conventionally, any node can calculate its own location by knowing only the locations of the anchor nodes, and distance estimations from those anchors, which can be measured by each node. Two algorithms are considered.

The location estimation can be thought of as a nonlinear optimization problem, in which the sum of square residuals

The Malguki algorithm [

An important observation for the Malguki algorithm is that as the location estimate approaches a solution, the magnitude of

We propose including the usage of measurements performed by targets, as well as those by the anchors, in an effort to increase the accuracy of the final solution by incrementing the amount of measurements with which to work. Since anchors and targets are equipped with similar or equal radio hardware, we expect for distance estimations

Instead of choosing whether a distance measurement is used or not, we propose the definitions of weights

In order to achieve this, we propose modified versions of the localization algorithms so they make use of the proposed weights, as well as methods for determining the actual weights. For the least-squares equation, we propose the following variation:

Now, weight measurements should be carefully constructed in such a way that a node whose location has not yet been correctly estimated has a weight of 0 while nodes with more accurate estimations have larger weights. Anchor nodes should have weights fixed at 1. In addition, the method for calculating the weights should be different for each localization algorithm, since they usually provide different solutions.

In order to do this, we propose the following iterative algorithm:

anchor weights are set to 1,

target weights are set to 0,

calculate location estimations for all targets,

recalculate target weights based on their current locations.

Steps (3) and (4) should be repeated either a fixed number of times or periodically in timed intervals.

For the least squares algorithm, since the estimated location is the one that yields the smallest

For Malguki, as we mentioned earlier, the closer the solution is to converging, the smaller the magnitude of

Since both these algorithms make use of distance estimations, they can be used with any technique that yields distance estimations, such as RSSI, TOA, or TDoA.

We chose the CC2420 equipped MICAz platform because of its ubiquity and low cost. A custom program was written in nesC and TinyOS, so each sensor broadcasts all the RSSI measurements from all other sensors. A base station was set to capture all of these messages and forward them to a workstation for further processing.

The sensors were placed on a classroom, and distances ranging from 0.5 m to 4.2 m, between each pair of sensors were measured. In total, more than 5 million RSSI measurements were taken and recorded. The results can be viewed on Figure

Measured RSSI versus known distance.

Using the parameters discovered in the previous section, we evaluated our solution using numerical simulations. A 3 m × 3 m virtual space was generated, with four anchors, one at each corner. For each simulation, the virtual space was populated with an increasing number of target nodes that goes from 5 to 100 in steps of 5, each node with a location determined by a pair of uniformly distributed random values: one for its

Then all sensors were set to exchange distance measurements, with artificially added measurement errors. In order to simulate the RSSI behavior in a manner similar to the one revealed in the previous section, we calculated each distance measurement in the following manner:

The results for various values for

RMSE versus number of targets with various values for

Smaller values of

The results while varying the values for

RMSE versus number of targets with various values for

With values of

Simulation results, RMSE versus number of target nodes.

Simulation results show unsurprisingly, that the conventional algorithms have no variation as more or less targets are involved, simply because each target is evaluated independently of all others.

These results also indicate that the RMSE for the proposed algorithms is better in all cases. We attribute the success of our proposal to the notion that the more anchor nodes in the system, the smaller the location estimation error will be. We generalize this idea, so the more distance measurements in the system, the smaller the location estimation error will be. Since the same radio chips were used for anchor and target nodes, there is no reason to suppose that the distance measurements between anchors are of less quality than those made by anchor nodes.

It was then only necessary to give these measurements a smaller weight into the final calculation, when the location of the source for the distance measurement is inaccurate.

In our proposal, the least-square algorithm offers a better precision than Malguki, which is consistent with the results from the conventional approach.

Even though both the weighted least-squares and Malguki algorithms offer better accuracy as the amount of target sensors increases, the enhancement also becomes smaller as the amount of sensors increases.

Finally, we performed an experiment using the same platform previously explained in Section

Experimental setting.

Experimental sensor placement patterns.

All sensors were set to periodically broadcast a message containing the measured RSSI from other sensors, which were then captured by a base station and sent to a centralized workstation where the localization algorithm was executed.

As it can be viewed in Figure

Experimental results, RMSE for different algorithms for three different experiments.

In this paper, we proposed versions of two popular range-based localization algorithms, that make use of distance measurements between target nodes, and weights for target nodes to improve the accuracy of the final localization solution. The accuracy of our proposals was then compared against that of the conventional approaches, with both simulations and experiments. All the results show that our proposal consistently offers an accuracy improvement, even for as few as 4 anchors and 10 targets. The RMSE was reduced even up to 59% of the RMSE of the conventional approach in an experimental setting.

This proposal can be used in settings where more than one target node is to be localized, such as mobile phone location, wireless tag location in indoor environments, industrial parts localization, among many other applications.

Further research into this area could be directed towards evaluating the case in which not all nodes are within communication range of each other, or when there is no line of sight between nodes. The proposed weighing mechanism can also be used for other purposes different from direct accuracy improvement, such as parameter tuning, or even localization without anchors.