#### Abstract

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.

#### 1. Introduction

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: *range-free solutions* make use only of routing information to estimate the location of a sensor, and benefit of the simplicity and low cost of only exchaning routing information; while *range-based solutions* make use of one or more methods to estimate the distance between two nodes, usually an anchor and a target node.

For range-based solutions, there are several systems for estimating distances between nodes, among them *time of arrival* (TOA), in which the duration between a signal's transmission and its reception is measured; and *received signal strength indicator* (RSSI), in which the difference between the transmitted and received signal powers are measured, and the difference is used to estimate the distance between two nodes. Nevertheless, TOA implementations require either tightly synchronized clocks or a slower signal (such as ultrasound) [1], which increases the equipment complexity, price, and battery consumption. On the other hand, RSSI is widely known for being quite inaccurate for estimating distances [2].

Range-based localization research has recently focused on mitigating the adverse effects of the Nonline-of-sight (NLOS) problem [3, 4], while focusing on a single target. However, most applications require multiple assets to be located and tracked simultaneously. In this case, even though it is possible to independently apply a single-target solution for all nodes, it is our belief that distance estimations performed between target nodes have information which can be used to improve the localization accuracy for all nodes.

Tracking multiple nodes at the same time is not a new idea. Research on this field traces as far as 1979 [5], and recently there is an increased interest on this field, such as for parameter tuning [6] or for the definition of common coordinates for mobile robot localization [7]. Multiple target localization and tracking has a vast amount of potential in many applications, such as mobile phone tracking, location-aware indoor services and emergency service coordination.

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 2, we formally define the localization problem. In Section 3, we present two common algorithms for solving this problem. In Section 4, we introduce our proposal. In Section 5, we introduce the experimental platform and present the results of an RSSI-distance measurement campaign whose results are then used in the following two sections. In Section 6, we validate our solution using numerical simulations. In Section 7, we show the experimental results of our proposal. Finally, in Section 8, we conclude this work.

#### 2. Problem Definition

Let us consider a WSN composed of wireless nodes, each one located at , for . A node can either be an *anchor node* if its location is known a priori, or a *target node* if its location is unknown. We consider anchor nodes, and target nodes, such as . For clarity, let us consider that the first nodes are the anchor nodes, and the following are the target nodes.

The sensor localization problem consists of determining a *location estimation *, for each target node by taking measurements and exchanging information between nodes. The accuracy of the entire estimation can be calculated by means of the root mean square error (RMSE) between the locations and the estimations in the following manner:

Let us consider the distance between two nodes and as . There are various methods for estimating distances between a pair of nodes. Time of arrival (TOA) consists of transmitting a signal from node and measuring the time it takes for it to arrive at node . For a signal that propagates at a known speed , which was measured as , the distance between sensors and can be estimated as .

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 [1].

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 will be received with a measurable power , which decreases exponentially as the distance between the two nodes increases. One way to model the relationship between the path loss and the distance between the two nodes is provided by the log-distance model [8]:
where is the path loss as measured at a unit distance, is the *decay factor*, and is a zero-mean normally distributed random variable with standard deviation , to account for multipath, shadowing, and other effects. The values for both and are equal for all nodes, and must be previously determined.

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.

#### 3. Conventional Approach

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.

##### 3.1. Least Squares

The location estimation can be thought of as a nonlinear optimization problem, in which the sum of square residuals between the distance estimations and the calculated distances for a given location is to be minimized. In other words, for a candidate location : where denotes the norm of a vector. A simple algorithm to approximate the which yields the minimum value of consists in computing the expression at a discrete set of points equally distributed within the search space. This approach offers good accuracy, in exchange for large computation times.

##### 3.2. Malguki

The Malguki algorithm [9] is an alternative solution. An initial estimate is arbitrarily or randomly initialized, and then iteratively refined by comparing the distance estimations with the distance calculations between the anchor nodes and the current estimate. If the distance estimation is smaller, the location estimation will be pulled towards the anchor, while if it is larger, the location estimate will be pushed away from the anchor. In other words, for a given iteration : where is a positive scalar value that represents the adaptation rate of the algorithm. A small value of will lead for the algorithm to converge too slowly while a large value may cause it to become unstable and not converge at all. is the vector in which the estimation moves, and is defined in the following manner: The main advantage of this algorithm is its speed. However, its accuracy is lower than that of the least squares approach.

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

#### 4. Proposal

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 between targets to be of similar accuracy as those between anchors and targets, therefore as long as a target node's location has been correctly estimated, all measurements (previous and subsequent, as long as the nodes are stationary) performed from that node are just as useful as those performed by anchor nodes. Likewise, a distance estimation cannot be used if the location of the measuring node is unknown.

Instead of choosing whether a distance measurement is used or not, we propose the definitions of weights for every node (), based on the accuracy of the location estimation, so distance measurements performed by nodes with larger weights should have more impact on the final solution than those performed by nodes with smaller 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: while for Malguki, we propose the following variation: Note that in both cases, we modified the equations so the summation goes all the way to instead of , which means that we are now considering all nodes, not only anchor nodes. Also, we have included the weights as a factor for each iteration of the summation. Finally, we have changed all references of to , since the real locations of target nodes are unknown. In order to use the known locations for the anchor nodes, we need to define

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: (1)anchor weights are set to 1, (2)target weights are set to 0,(3)calculate location estimations for all targets, (4)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 , we propose calculating the weights in the following manner: where is a tuning constant parameter dependent on the environment.

For Malguki, as we mentioned earlier, the closer the solution is to converging, the smaller the magnitude of will be. Therefore, we propose the following weight calculation method: where , as well as , is a tuning constant dependent on the environment. Both and should be carefully chosen, as large values will result in very small weights leading to low usage of the target-to-target measurements, therefore leading to little accuracy improvements, while larger values will result in large weights that may affect the solution as much as leading it not to converge.

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.

#### 5. Experimental Setting

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 1. A logarithmic regression showed that the values approximate a log-distance curve, with βdBm and , with and βdBm. For all cases, we set the transmission power to 0 dBm, and the received power was calculated based on RSSI measurements as indicated on the technical documents provided by the platform manufacturer.

#### 6. Simulation Results

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 coordinate, and the other for its coordinate.

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: where is a zero-mean normally distributed random variable with βdBm, as previously measured. All sensors were then located using the previous algorithms, and the results were compared. In order to determine values for and , we performed the same simulations with different values for each of these variables. For each value of or , the entire simulation was performed 100 times, and the RMSEs for all runs were then averaged.

##### 6.1. Least-Squares

The results for various values for , for the least-squares algorithm, visible in Figure 2 show that as long as is not set to a very low value below 0.4, results have little variation. Also, results for values of greater than 1 yielded results similar to those with values closer to 1. We believe this is caused because after the first iteration, even with as few as 4 anchor nodes, target nodes will have relatively good location estimations, which can be useful to enhance the location estimation from the second iteration, even if they have a fixed weight of 1.

Smaller values of yield smaller improvements in the RMSE, simply because the new target to target measurements make a smaller contribution to the final location estimation.

##### 6.2. Malguki

The results while varying the values for for Malguki can be seen in Figure 3. In this case, we chose several logarithmically spaced values , so the difference in values can be easily perceived. For small values of , the results are similar to those for the least-squares algorithm: since target nodes have less influence in the final location estimation, the estimation enhancement is less pronounced as becomes smaller. However, as the value of increases, the probability for the target measurements to yield a worse estimation than the previous one becomes larger. If this is the case, on each iteration the estimation will be worse and therefore the solution will not converge, as it can be seen in Figure 3.

##### 6.3. Comparison between Proposal and Conventional Approach

With values of and , we then performed a thorough simulation, with 10000 runs for each amount of targets, for each algorithm, to compare against the single target versions of the least squares and Malguki algorithms. The results can be visible in Figure 4.

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.

#### 7. Experimental Results

Finally, we performed an experiment using the same platform previously explained in Section 5. 4 anchor, and 10 target sensors were placed in an empty classroom visible on Figure 5. Using the same parameters as with the simulations, we performed three experiments, each one with a different placement pattern, as can be viewed in Figure 6.

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 7, results show that even on an experimental setting with as few as 4 anchors and 10 target sensors, the proposed algorithms offer better results than those of the conventional algorithms, which may by themselves be unusable. The best accuracy improvement for the least-squares was in Experiment 1, with an RMSE in the proposed algorithm, 37% smaller than that of the conventional algorithm. For Malguki, the best improvement was in Experiment 3, with a 59% RMSE improvement over the conventional algorithm.

#### 8. Conclusion

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.