Node localization is essential in wireless sensor networks (WSNs). However, due to limited node energy and overhead network, node localization faces many challenges in WSNs. In addition, it is difficult to meet the requirement of localization accuracy and energy consumption at the same time in existing algorithms. In this paper, we proposed a novel eliminating algorithm called NPLA which achieves high localization accuracy and reduces energy consumption effectively. It makes full use of multiple-hop neighbor nodes of unknown node to eliminate the possible location area (PLA) of the unknown node. Simulations show that the localization error of algorithm NPLA can be controlled within 20%.
1. Introduction
Wireless sensor networks (WSNs) have been widely applied in target tracking, intrusion detection, and some related fields. However, most of such applications are based on the location information of the target. Therefore, node localization is essential and fundamental in the research of WSNs.
So far, there are many localization algorithms exiting in the world. Based on whether they measure the distance or not, those localization algorithms can be grouped into two categories: the range-based method and the range-free method [1, 2]. The range-based localization method estimates the node position by measuring the physical distance or the angle among sensor nodes. After the distance or angle has been determined, the location can be estimated. There are many rang-based localization methods which had been proposed during the past decades such as time of arrival (TOA) [3], time difference of arrival (TDOA) [4], angle of arrival (AOA) [5], and received signal strength indicator (RSSI) [6]. And many of them had been applied in practical scene, for example, TOA based indoor human tracking system [7] and the real-time health monitoring system [8]. In spite of the good localization accuracy of the range-based method, the study of node localization is recently focused on the range-free method. That is because the range-free methods such as DV-Hop [9], Amorphous [10], Bounding Box [11], APIT [12], DRLS [13], and SOM [14] do not need additional hardware and can be deployed easily. However, there are some common problems of the present range-free methods: (1) the localization accuracy is low and (2) the computation is complex. These problems cause more energy consumption to the overhead network.
In order to improve the localization accuracy and reduce the computation, based on the possible location area (PLA) of the unknown node, we propose an eliminating algorithm named NPLA. It eliminates the possible location area (PLA) constantly, where the unknown node was located in. In our algorithm, in addition to utilizing the communication range and hop-count message of all nodes, we also take full advantage of the possible location circle (PLC) of the unknown node to improve the accuracy of localization. Given the fact that the unknown node in WSNs is majority, NPLA can still obtain better localization accuracy. Analysis of simulation shows that the proposed NPLA algorithm can improve the localization accuracy significantly.
The rest of the paper is organized as follows. Section 2 lists the related work. Section 3 depicts the definitions and assumptions. Section 4 describes the algorithm. Section 5 describes the algorithm implementation. Section 6 introduces the simulation settings and analyzes the simulation performance. Finally, Section 7 concludes the paper.
2. Related Work
Over the past ten years, node localization algorithm mainly concentrates on the range-free field in wireless sensor network, and many range-free localization algorithms have been proposed, such as DV-Hop [9], Amorphous [10], Bounding Box [11], APIT [12], DRLS [13], and SOM [14].
DV-Hop algorithm proposed by Niculescu and Nath is the earliest range-free localization algorithm [9]. This algorithm first gets hop count between nodes by flooding information. Second, it calculates average hop distance using the hop count between anchor nodes. Third, it calculates the distance between unknown nodes and anchor nodes utilizing average hop distance and hop count. At last, it computes node coordinates using trilateration. DV-Hop algorithm achieves better effects in a homogeneous distribution network. However, if the nodes in the network are unevenly distributed, average hop distance calculation will have larger deviations; for this reason, the localization accuracy will be affected seriously.
Based on the DV-Hop, Nagpal et al. proposed algorithm Amorphous [10] which uses node communication radius as the average distance per hop. By this algorithm, although the network communication overhead is reduced and the calculation is simple, the positioning error is large. And subsequent algorithms modified the average hop distance to improve the positioning accuracy.
Simic and Sastry proposed Bounding Box [11] at the same period. The algorithm reduces the possible location area of unknown node by using the one-hop anchor neighbors of the node. And the implement of this algorithm is simpler. However, in this algorithm, it considers that the communication radius of all nodes is the same which is inconsistent with the real world scenario. And it also needs the higher density of anchor nodes.
He et al. introduced the point-in-triangulation test (PIT) to the wireless sensor networks and proposed APIT [12] localization algorithm. In APIT [12], an unknown node uses the PIT method to test whether it locates in the triangles constituted by its three different one-hop anchor neighbors or not. If the unknown node locates within several triangles, the possible position of it is the overlapping region of those triangles. However, those unknown nodes whose one-hop anchor neighbor number is less than three cannot be located. In addition, the implement of APIT [12] is simple, but the communication cost is relatively large for PIT testing.
To improve accuracy, Sheu et al. proposed a distributed range-free localization scheme (DRLS) [13] for static WSNs. In this scheme, each node gathers the nearby anchors' locations and then estimates its own location. The paper improved the grid-scan algorithm and derived a vector-based refinement scheme.
Giorgetti et al. proposed the SOM (self-organizing maps) algorithm [14], which is based on a neural network formalism known as self-organizing map and generates virtual coordinates that describe the relative positions of nodes [10]. The SOM [14] algorithm estimates the distance between every possible pairs of nodes roughly by using the shortest path algorithm and deduces the pairs of nodes distance by utilizing multidimensional scaling method and locates unknown nodes by using the position of anchor nodes.
To improve the accuracy of existing range-free localization algorithm, we propose a scheme called NPLA. We contrast the localization performance between DV-Hop [9], APIT [12], SOM [14], and NPLA in Section 6. According to the results of simulation, NPLA performs best in most scenarios.
3. Definition and Assumptions
3.1. Definition
To describe our method more conveniently, we list those definitions and symbols used in our paper in the Abbreviations Section. Before describing our method, we explain some definitions as follows.
Figure 1(a) shows of . is the possible location area of the anchor node . The center, , is the coordinate position of anchor node measured by GPS. The radius, , is the absolute error of 's coordinate position measured by GPS.
Caption of some symbols used.
Figure 1(b) shows and of . is the possible communication circle of the anchor node ; its radius is . is the inevitable communication circle of anchor node ; its radius is .
Figure 1(c) shows and of . is the possible area of the unknown node . is the possible circle of the unknown node ; its radius is and its center is .
Figure 2 shows and of . is the possible communication circle of the unknown node ; the radius is . is the inevitable communication circle of the unknown node ; the radius is .
and of .
Figure 3 shows . is the virtual communication circle of node s relative to node d. If the path with minimum hop-count from the source node s to the destination node d passes through nodes p and , then the radius of the circle is equal to the sum of those nodes’ maximum communication radii. And, O is the center of .
.
3.2. Assumptions
Assumption 1.
Every anchor node knows its own standard communication radius: the maximum communication radius and the minimum communication radius.
Assumption 2.
No auxiliary devices in the wireless sensor network.
Assumption 3.
Every node can find its neighbors by utilizing the neighbor discovery algorithm [15, 16].
4. Algorithm Description
In NPLA, every unknown node synthesizes the position information and hop-count of its all neighbors to itself, which includes not only anchor neighbors but also unknown neighbors, to determine its estimated position. In detail, every unknown node utilizes its neighbors’ virtual communication circles relative to itself and the inevitable communication circles of its neighbors to narrow its own PLA. After traversing all anchor neighbors in the network, every unknown node also traverses all its unknown neighbors to help it to locate itself. When the value of the unknown node's PLA will not change, then the unknown node computes the gravity center of its present PLA as its estimated position.
The concrete method includes the following steps.
Step1. Unknown node puts the network area Ω as the initial PLA.
Step2. Unknown node finds all its anchor neighbors in the network by utilizing neighbor discovery algorithm. And, it collects the position information of its anchor neighbors as well as hop-count information between its anchor neighbors and itself.
Step3. Unknown node traverses all its anchor neighbors in the ascending order of hop-count which is from its anchor neighbor to itself. Above all, unknown node calculates (the virtual communication circle of anchor neighbor relative to node . If the hop-count from a anchor neighbor to unknown node is 1, the virtual communication circle of this anchor neighbor relative to node is the possible communication circle of this anchor neighbor). There are two situations of position between circle and PLA of node : the circle passes through PLA of node ; the circle contains PLA of node . The descriptions of these two situations are shown as follows.
The circle passes through the PLA of node : firstly, the algorithm finds all the vertexes of 's present PLA which locates outside the circle and then links every found vertex to the GPS positional coordinates of anchor neighbor to get a line, respectively. There is a point of intersection between every line and the circle . Secondly, draw a tangent of the circle through every intersection point, respectively. Every tangent cuts node 's present PLA to two parts. Lastly, put every tangent as a dividing line to eliminate the region of 's present PLA, which is away from the circle , respectively. The remaining part is the new PLA of node .
The circle contains the present PLA of node : keeps its present PLA unchanged.
Step4. Unknown node traverses all its anchor neighbors in the ascending order of hop-count which is from its anchor neighbor to itself. Here, hop-count is bigger than 1. Above all, unknown node determines its present PLC and (the inevitable communication circle of anchor neighbor ). There are two situations of position between node 's present PLC and circle : there is an intersection between node 's present PLC and circle ; there is no intersection between node 's present PLC and circle . The descriptions of these two situations are shown as follows.
There is an intersection between node 's present PLC and circle : in this case, there must be two intersection points between node 's present PLC and the circle . Firstly, the algorithm links these two points of intersection to get a line, and the line cuts node 's present PLA into two parts. Lastly, put the line as a dividing line to eliminate the region of 's present PLA close to the circle . The remaining part is the new PLA of node .
There is no intersection between node 's present PLC and circle : keeps its present PLA unchanged.
Step5. Every unknown node executes Step 2 to Step 4 to get a new PLA. Unknown node finds all its unknown neighbors in the network utilizing neighbor discovery algorithm and gets the position as well as hop-count information of its unknown neighbors to itself.
Step6. Unknown node traverses all its unknown neighbors in the ascending order of hop-count which is from its anchor neighbor to itself. Above all, unknown node determines the present (the virtual communication circle of unknown neighbor relative to node ; if the hop-count which is from an unknown neighbor to unknown node is 1, the virtual communication circle of this unknown neighbor relative to node is the possible communication circle of this unknown neighbor). There are two situations of position between circle and unknown node 's present PLA: the circle passes through unknown node 's present PLA; the circle contains unknown node 's present PLA. The descriptions of these two situations are shown as follows.
The circle passes through unknown node 's present PLA: firstly, the algorithm finds all the vertexes of node 's present PLA outside the circle and then links every found vertex to the center of the unknown neighbor 's present PLC to get a line, respectively. There is an intersection point between every line and the circle . Secondly, draw a tangent of the circle through every intersection point, respectively. Every tangent cuts node 's present PLA into two parts. Lastly, put every tangent as a dividing line to eliminate the region of 's present PLA, which is away from the circle , respectively. The remaining part is the new PLA of node .
The circle contains present PLA of node : keeps its present PLA unchanged.
Step7. Unknown node traverses all its unknown neighbors in the ascending order of hop-count which is from its unknown neighbors to itself. Here, hop-count is bigger than 1. Above all, unknown node determines its present PLC and (the inevitable communication circle of unknown neighbor ). There are two situations of position between node 's present PLC and circle : there is an intersection between node 's present PLC and circle ; there is no intersection between node 's present PLC and circle . The descriptions of these two situations are shown as follows.
There is an intersection between node 's present PLC and circle : in this case, there must be two intersection points between node 's present PLC and the circle . Firstly, the algorithm links these two intersection points to get a line, and the line cuts node 's present PLA into two parts. Lastly, put this line as a dividing line to eliminate the region of 's present PLA close to the circle . The remaining part is the new PLA of node .
There is no intersection between node 's present PLC and circle : keeps its present PLA unchanged.
Step8. Unknown node executes Step 2 to Step 7 iteratively until its present PLA is not changed. Then the unknown node gets a final PLA. computes the gravity center of its final PLA to obtain its estimated position. Similarly, every unknown node in the network executes the same operation as node does to obtain an estimated position.
Pseudocode of algorithm NPLA is shown in Pseudocode 1.
Pseudocode 1: Pseudocode of algorithm NPLA.
() for (; ; j++)
() do (Ω: the area of whole network)
() Find each who is a h-hop anchor neighbor of
() The maximum hop found is
() Phase 1: eliminates PLA by utilizing
() Phase 2: eliminates PLA by utilizing
() do Find each who is an l-hop unknown neighbor
() node of
() The maximum hop found is
() Phase 3: eliminates PLA by utilizing
() Phase 4: eliminates PLA by utilizing
Phase 1: eliminates PLA by utilizing
() for (; ; h++)
() {
() for (; ; s++)
() {
() Draw
() if passes through
() then eliminates the part of present ,
() which is away from
() if contains
() then keeps present
() }
() }
Phase 2: eliminates PLA by utilizing
() for (; ; h++)
() {
() for (; ; s++)
() {
() Draw
() if there is a intersection between and
() then eliminates the part of present ,
() which is close to
() if contains
() if there is not a intersection between and
() }
() }
Phase 3: eliminates PLA by utilizing
() for (; ; l++)
() {
() for (; ; t++)
() {
() Draw
() if passes through
() then eliminates the part of present ,
() which is away from
() if contains
() then keeps present
() }
() }
Phase 4: eliminates PLA by utilizing
() for (; ; l++)
() {
() for (; ; t++)
() {
() Draw
() if there is a intersection between and
() then eliminates the part of present ,
() which is close to
() if contains
() if there is not a intersection between and
() }
() }
5. Algorithm Implementation
Now we show the specific algorithm steps for unknown node to explain how the algorithm NPLA is implemented.
Step1. Unknown node puts the network area Ω as its initial PLA.
Step2. Unknown node finds all its anchor neighbors in the network utilizing neighbor discovery algorithm and gets the position information and hop-count (hop-count is less than 3) to itself. Three anchor neighbors are found: , , and ; is the 1 hop anchor neighbor of unknown node ; and are 2 hop anchor neighbors of unknown node .
Step3. Unknown node traverses all its anchor neighbors in the ascending order of hop-count which is from its anchor neighbor to itself.
Step3.1. Unknown node uses the of anchor node (), as shown in Figure 4(a).
Draw the circle of anchor node .
Find all the vertexes of 's present PLA outside the circle and obtain four vertexes: , , , and . Then, link anchor node 's GPS coordinate position to every vertex to get a line, respectively. Then there are four points of intersection between these four lines and circle : , , , and .
Draw the tangent of circle through , , , and , respectively.
Every tangent in (3) cuts 's present PLA into two parts. Then put every tangent as a dividing line to eliminate the region of 's present PLA away from the circle , respectively. The remaining part (convex polygon ABCD) is the new PLA of .
Use of the one-hop and two-hop anchor nodes.
Step3.2. Unknown node uses the of anchor node , as shown in Figure 4(b).
Draw the circle .
Find all the vertexes of 's present PLA outside the circle and obtain three vertexes: B, A, and D. Then link anchor node 's GPS coordinate position to every vertex to get a line, respectively. Then there are three points of intersection between these three lines and circle : , , and .
Draw the tangent of circle through , , and , respectively.
Every tangent in (3) cuts 's present PLA into two parts. Then put every tangent as a dividing line to eliminate the region of 's present PLA which is away from the circle , respectively. The remaining part (convex polygon CEFGH) is the new PLA of .
Step3.3. Unknown node uses the of anchor node , as shown in Figure 4(c).
Draw the circle .
Find all the vertexes of 's present PLA outside the circle and obtain two vertexes: H and G. Then link anchor node 's GPS coordinate position to every vertex to get a line, respectively. Then there are two points of intersection between these two lines and circle .
Draw the tangent of circle through the two points of intersection in (2), respectively.
Every tangent in (3) cuts 's present PLA into two parts. Then put every tangent as a dividing line to eliminate the region of 's present PLA which is away from the circle , respectively. The remaining part (convex polygon CEFIJ) is the new PLA of .
Step4. Unknown node traverses all its anchor neighbors in the ascending order of hop-count which is from its anchor neighbor to itself. Here, hop-count is bigger than 1.
Step4.1. Unknown node uses the of anchor node , as shown in Figure 5.
Draw 's present PLC and the circle .
There are two points of intersection between 's present PLC and the circle : T and S. Link T to S to get a line.
The line in (2) cuts 's present PLA into two parts. Then put the line as a dividing line to eliminate the region of 's present PLA closing to the circle . The remaining part (convex polygon EFIKL) is the new PLA of .
Use of .
Step4.2. Unknown node uses the of anchor node , as shown in Figure 6.
Draw 's present PLC and the circle .
There are two points of intersection between 's present PLC and the circle : X and Y. Link X to Y to get a line.
The line in (2) cuts 's present PLA into two parts. Then put the line as a dividing line to eliminate the region of 's present PLA closing to the circle . The remaining part (convex polygon FIKMN) is the new PLA of .
Use of .
Step5. Every unknown node executes Step 2 to Step 4 to get a new PLA. Unknown node finds all its unknown neighbors in the network utilizing neighbor discovery algorithm and gets the position information and hop-count (hop-count is less than 3) to itself. Three unknown neighbors are found: , , and ; is the 1 hop unknown neighbor of unknown node and and are 2 hop unknown neighbors of unknown node .
Step6. Unknown node traverses all its unknown neighbors in the ascending order of hop-count which is from its unknown neighbor to itself.
Step6.1. Unknown node uses the of unknown node (), as shown in Figure 7.
Draw the circle .
Find all the vertexes of 's present PLA outside the circle and obtain one vertex: K. Then link to vertex K to get a line. Then there is one intersection point between the line and circle .
Draw the tangent of circle through the point of intersection in (2).
The tangent in (3) cuts 's present PLA into two parts. Then put this tangent as a dividing line to eliminate the region of 's present PLA which is away from the circle . The remaining part (convex polygon FIOPMN) is the new PLA of .
Use of .
Step6.2. Unknown node uses the of unknown node , as shown in Figure 8.
Draw the circle .
Find all the vertexes of 's present PLA outside the circle and obtain one vertex: N. Then link to vertex N to get a line. Then there is one point of intersection between the line and circle .
Draw the tangent of circle through the point of intersection in (2).
The tangent in (3) cuts 's present PLA into two parts. Then put this tangent as a dividing line to eliminate the region of 's present PLA which is away from the circle . The remaining part (convex polygon FIOPMQR) is the new PLA of .
Use of .
Step6.3. Unknown node uses the of unknown node , as shown in Figure 9.
Draw the circle .
Find all the vertexes of 's present PLA outside the circle and obtain two vertexes: M and P. Then link to every vertex to get a line, respectively. Then there are two points of intersection between these two lines and circle .
Draw the tangent of circle through two points of intersection in (2), respectively.
The tangent in (3) cuts 's present PLA into two parts, respectively. Then put every tangent as a dividing line to eliminate the region of 's present PLA which is away from the circle . The remaining part (convex polygon FIOPMQR) is the new PLA of .
Use of .
Step7. Unknown node traverses all its unknown neighbors in the ascending order of hop-count which is from its unknown neighbors to itself. Here, hop-count is bigger than 1.
Step7.1. Unknown node uses the of unknown node , as shown in Figure 10.
Draw 's present PLC and the circle .
There are two points of intersection between 's present PLC and the circle . Link these two points to get a line.
The line in (2) cuts 's present PLA into two parts. Then put the line as a dividing line to eliminate the region of 's present PLA closing to the circle . The remaining part (convex polygon FVWTUQR) is the new PLA of .
Use of .
Step7.2. Unknown node uses the of unknown node , as shown in Figure 11.
Draw 's present PLC and the circle .
There are two points of intersection between 's present PLC and the circle . Link these two points to get a line.
The line in (2) cuts 's present PLA into two parts. Then put the line as a dividing line to eliminate the region of 's present PLA closing to the circle . The remaining part (convex polygon WTUQRXY) is the new PLA of .
Use of .
Step8. Unknown node executes Step 2 to Step 7 iteratively until its present PLA does not change. Unknown node can get a final PLA. Then computes the gravity center of its final PLA as its estimated position.
6. Simulation and Evaluation
This section describes the simulation parameters and model we use in our evaluation and then provides a detailed quantitative analysis by comparing the performance of our method with other range-free localization algorithms like DV-HOP [9], APIT [12], and SOM [14]. When evaluating localization schemes, the most important parameters of comparison are localization error, , and P. We use several influence factors to simulate the experiments: (1) anchor node degree, (2) unknown node degree, (3) degree of irregularity (DOI), and (4) GPS error.
6.1. Simulation Placement
Anchor nodes and unknown nodes are distributed in a m2 square in our simulations. There are 50 anchor nodes and 620 unknown nodes in the default setting. In order to simplify the computation, average radio radius of each node is assumed to be 100 m. Each simulation experiment tests 20 times to improve computational accuracy. Also, in order to simulate the realistic scenario, we take the degree of irregularity (DOI) and GPS error into consideration.
6.2. Simulation Parameters
6.2.1. Basic Parameters
Anchor node degree (AD) is the average number of anchor nodes per unit circle.
Unknown node degree (UD) is the average number of unknown nodes per unit circle.
Degree of irregularity (DOI) is the maximum radio range variation per unit degree change in the direction of radio propagation. There are upper bound and lower bound of the communication radius. Consider
GPS error is the position error of the anchor node localized by GPS.
6.2.2. Performance Parameters
Localization error () is as follows:
where is the estimated coordinate of unknown node (i) and is real coordinate of i. The number of unknown nodes is n. is i's radio radius. In our simulation test, we not only calculate localization error of localized unknown nodes but also calculate average error of unlocated nodes, which is why the performance of APIT in our paper is different from paper [8].
(2) is the radius of possible location circle of unknown node.
(3) P is the product of and the area of the final PLA of the unknown node. For some algorithms, even though the location area of unknown node is small, the localization error may be bigger. So, it is difficult to test the true performance of those algorithms by other parameters. But the performance of algorithm can be evaluated accurately by considering and the area of the final PLA.
All distances including error estimation are normalized to units of node radio range (R) to ensure the generally applicable results in our evaluation. When evaluating localization schemes, the most important measurements for comparison are localization error, , and P. In our simulation, we take several influence factors into consideration: (1) anchor node degree, (2) unknown node degree, (3) degree of irregularity (DOI), and (4) GPS error.
The final estimated position of both DV-Hop and SOM are points, so the data do not have and P. The and P of APIT and NPLA are shown in the following simulation figures: Figures 12(b)-12(c), Figures 13(b)-13(c), Figures 14(b)-14(c), and Figures 15(b)-15(c).
Varying AD: unknown number = 620, DOI = 0.1, and GPS error = 0.05.
Varying UD: anchor number = 50, DOI = 0.1, and GPS error = 0.05.
Varying GPS: anchor number = 50, unknown number = 0.1, and DOI = 0.1.
Varying DOI: anchor number = 50, unknown number = 0.1, and GPS error = 0.05.
6.3. Localization Error, , and P versus AD
We analyze the effect of varying the average numbers of anchor node per unit circle in experiment.
It is found that the localization error decreases as anchor nodes degree increase in Figure 12(a). The reason is that when AD increases, the numbers of anchor nodes increase in the wireless network, so the localization accuracy could be improved inevitably. APIT utilizes the anchor nodes to constitute the triangle. If the density of the anchor node is too low, the number of triangles is less, so the localization result is not so satisfied. NPLA algorithm performs better than APIT on this occasion, which is because NPLA not only uses the communication range of anchor nodes but also utilizes the PLA of the unknown node. As shown in Figure 12(b), the of NPLA is lower, and it changes slightly when AD increases. The final localization area is a prolate polygon due to the algorithm feature in APIT, so and P of APIT are bigger.
6.4. Localization Error, , and P versus UD
We research the impact of UD on the precision of localization estimation and other performance in this experiment. The localization error of both APIT and NPLA decreases slightly as UD increases as shown in Figure 13(a), but the localization error of APIT is larger. Because APIT did not utilize unknown nodes to assist in reducing the PLA of unknown node in its design, both and P of APIT are not be affected as shown in Figures 13(b) and 13(c). However, when UD increases, NPLA has more information of unknown neighbors to utilize. So the localization error of NPLA is smaller than others. The and P of NPLA decrease as UD increases.
6.5. Localization Error, , and P versus GPS Error
In real environment, the error located by GPS of anchor nodes cannot be ignored; we take the GPS error into consideration in our simulation. The first step of NPLA algorithm is utilizing the information of anchor neighbors to eliminate the PLA. When the position deviation of anchor node's increases, the localization error will increase accordingly as shown in Figure 14(a); also, the has a rapid change in the same condition as shown in Figure 14(b). Because the shape of the polygon is affected by the communication range of anchor nodes when eliminating the PLA of unknown nodes, the of NPLA increases as shown in Figure 14(b). But the area of final PLA in NPLA is still small, so the P of NPLA keeps low. In APIT, when GPS error increases, the inaccuracy of nodes' coordinate position will increase and then lead to the deviation of triangle in APIT. So the localization error, , and P are the biggest in all algorithms.
6.6. Localization Error, , and P versus DOI
We also consider the effect of degree of irregularity (DOI) to the performance of the algorithm.
According to the definition of DOI, when DOI increases, the real communication range of node is more uncertain. So the localization error of algorithms which use communication range to locate unknown nodes such as DV-Hop and NPLA is affected obviously. The localization error, , and P in all algorithms increase as DOI increases as we can see in Figures 15(a), 15(b), and 15(c). NPLA utilizes hop-count information only to eliminate unknown node's PLA rather than measure the distance. And it depends on not only hop-count information but also other information to locate unknown nodes, so the performance in NPLA is better than other algorithms.
6.7. Evaluation Discussion
From the comparison above, NPLA performs better than others. To reduce the computational complexity, NPLA, which is a distributed algorithm, just uses unknown node's neighbors within three-hop. And NPLA keeps the PLA of an unknown node as a convex polygon in every step to further reduce the computation overhead. In general, the energy consumption of NPLA is less than most of other algorithms.
7. Conclusion
In this paper, we proposed a novel eliminating method NPLA for unknown nodes, which narrows the possible location area (PLA) of unknown node by utilizing the VCCs and ICCs of its anchor neighbors and unknown neighbors. Even though there are only few anchor nodes in the wireless network, NPLA can still get better localization accuracy. Taking GPS error and DOI into account, the localization error is still acceptable.
Footnotes
Abbreviations
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgments
This research is supported partly by China NSF 61373091,61202478,6093301,11102124,and 71102113 and the US NSF Grant CNS-0917097.
References
1.
ChengX.ShuH.LiangQ.DuD. H.-C.Silent positioning in underwater acoustic sensor networksIEEE Transactions on Vehicular Technology2008573175617662-s2.0-4484910865910.1109/TVT.2007.912142
2.
ChengX.ThaelerA.XueG.ChenD.TPS: a time-based positioning scheme for outdoor wireless sensor networksProceedings of the 23rd AnnualJoint Conference of the IEEE Computer and Communications SocietiesMarch 2004Hong Kong268526962-s2.0-834422287010.1109/INFCOM.2004.1354687
3.
PottieG. J.KaiserW. J.Wireless integrated network sensorsCommunications of the ACM200043551582-s2.0-034585123510.1145/332833.332838
4.
PriyanthaN. B.ChakrabortyA.BalakrishnanH.The cricket location-support systemProceedings of the 6th Annual International Conference on Mobile Computing and Networking (MobiCom '00)August 200032432-s2.0-003453909410.1145/345910.345917
5.
SavvidesA.HanC.-C.StrivastavaM. B.Dynamic fine-grained localization in ad-hoc networks of sensorsProceedings of the 7th Annual International Conference on Mobile Computing and Networking (MobiCom '01)July 20011661792-s2.0-003477593010.1145/381677.381693
6.
HightowerJ.BorrielloG.A survey and taxonomy of location systems for ubiquitous computingIEEE Computer200134857662-s2.0-0035424017
7.
GengY.HeJ.DengH.PahlavanK.Modeling the effect of human body on TOA ranging for indoor human tracking with wrist mounted sensorProceedings of the 16th IEEE International Symposium on Wireless Personal Multimedia Communications (WPMC '13)June 2013Atlantic City, NJ, USA16
8.
GengY.ChenJ.PahlavanK.Motion detection using RF signals for the first responder in emergency operations: a PHASER projectProceedings of the IEEE 24th International Symposium on Personal Indoor and Mobile Radio Communications (PIMRC '13)September 2013London, UK35836410.1109/PIMRC.2013.6666161
9.
NiculescuD.NathB.DV based positioning in ad hoc networksTelecommunication Systems2003221–42672802-s2.0-003870364010.1023/A:1023403323460
10.
NagpalR.ShrobeH.BachrachJ.Organizaing a global coordirate systerm from local information on an ad hoc sensor networkInformation Processing in Sensor Networks: Proceedings of the 2nd International Workshop, IPSN 2003, Palo Alto, CA, USA, April 22-23, 200320032634Berlin, GermanySpringer333348Lecture Notes in Computer Science10.1007/3-540-36978-3_22
11.
SimicS. N.SastryS.Distributed localization in wireless ad hoc networks2001
12.
HeT.HuangC.BlumB. M.StankovicJ. A.AbdelzaherT.Range-free localization schemes for large scale sensor networksProceedings of the 9th Annual International Conference on Mobile Computing and Networking (MobiCom '03)September 2003San Diego, Calif, USA81952-s2.0-154232908110.1145/938985.938995
13.
SheuJ.-P.ChenP.-C.HsuC.-S.A distributed localization scheme for wireless sensor networks with improved grid-scan and vector-based refinementIEEE Transactions on Mobile Computing200879111011232-s2.0-4814909472510.1109/TMC.2008.35
14.
GiorgettiG.GuptaS. K. S.ManesG.Wireless localization using self-organizing mapsProceedings of the 6th International Conference on Information Processing in Sensor Networks (IPSN '07)April 2007Cambridge, Mass, USA2933022-s2.0-3534892125210.1145/1236360.1236399
15.
ChenL.GuY.GuoS.HeT.ShuY.ZhangF.ChenJ.Group-based discovery in low-duty-cycle mobile sensor networksProceedings of the 9th Annual IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks (SECON '12)June 2012Seoul, Republic of Korea5425502-s2.0-8486792866810.1109/SECON.2012.6275824
16.
ChenL.GuoS.ShuY.ZhangF.GuY.ChenJ.HeT.Poster: selective reference mechanism for neighbor discovery in low-duty-cycle wireless sensor networksProceedings of the 9th ACM Conference on Embedded Networked Sensor Systems (SenSys '11)November 2011Washington, DC, USA3673682-s2.0-8345520808110.1145/2070942.2070993