An Eliminating Method to Improve Localization Accuracy

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%.


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.
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.
International Journal of Distributed Sensor Networks

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 PLA ( 1 ) of 1 . PLA ( 1 ) is the possible location area of the anchor node 1 . The center, 1 , is the coordinate position of anchor node 1 measured by GPS. The radius, , is the absolute error of 1 's coordinate position measured by GPS. Figure 1(b) shows PCC ( 1 ) and VCC ( 1 ) of 1 . PCC ( 1 ) is the possible communication circle of the anchor node 1 ; its radius is 1 max + . ICC ( 1 ) is the inevitable communication circle of anchor node 1 ; its radius is 1 min − . Figure 1(c) shows PLA ( +1 ) and PLC ( +1 ) of +1 . PLA ( +1 ) is the possible area of the unknown node +1 . PLC ( +1 ) is the possible circle of the unknown node +1 ; its radius is +1 MAX and its center is +1 . Figure 2 shows PCC ( +1 ) and ICC ( +1 ) of +1 . PCC ( +1 ) is the possible communication circle of the unknown node +1 ; the radius is  Figure 3 shows VCC ( , ). VCC ( , ) is the virtual communication circle of node relative to node . If the path with minimum hop-count from the source node to the destination node passes through nodes and + 1, then the radius of the circle is equal to the sum of those nodes' maximum communication radii. And, is the center of VCC ( , ).

Assumptions
Assumption 1. Every anchor node knows its own standard communication radius: the maximum communication radius and the minimum communication radius.  Assumption 3. Every node can find its neighbors by utilizing the neighbor discovery algorithm [15,16].

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.
Step 1. Unknown node puts the network area Ω as the initial PLA.
Step 2. 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.
Step 3. 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 VCC ( , ) (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 VCC ( , ) and PLA of node : the circle VCC ( , ) passes through PLA of node ; the circle VCC ( , ) contains PLA of node . The descriptions of these two situations are shown as follows. (1) The circle VCC ( , ) passes through the PLA of node : firstly, the algorithm finds all the vertexes of 's present PLA which locates outside the circle VCC ( , ) 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 VCC ( , ). Secondly, draw a tangent of the circle VCC ( , ) 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 VCC ( , ), respectively. The remaining part is the new PLA of node .
(2) The circle VCC ( , ) contains the present PLA of node : keeps its present PLA unchanged.
Step 4. 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 ICC ( ) (the inevitable communication circle of anchor neighbor ). There are two situations of position between node 's present PLC and circle ICC ( ): there is an intersection between node 's present PLC and circle ICC ( ); there is no intersection between node 's present PLC and circle ICC ( ). The descriptions of these two situations are shown as follows.
(1) There is an intersection between node 's present PLC and circle ICC ( ): in this case, there must be two intersection points between node 's present PLC and the circle ICC ( ). 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 ICC ( ). The remaining part is the new PLA of node .
(2) There is no intersection between node 's present PLC and circle ICC ( ): keeps its present PLA unchanged.
Step 5. 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.
Step 6. 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 VCC ( , ) (the virtual communication circle of unknown neighbor relative to node ; if the hopcount 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 VCC ( , ) and unknown node 's present PLA: the circle VCC ( , ) passes through unknown node 's present PLA; the circle VCC ( , ) contains unknown node 's present PLA. The descriptions of these two situations are shown as follows.
(1) The circle VCC ( , ) passes through unknown node 's present PLA: firstly, the algorithm finds all the vertexes of node 's present PLA outside the circle VCC ( , ) 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 VCC ( , ). Secondly, draw a tangent of the circle VCC ( , ) 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 VCC ( , ), respectively. The remaining part is the new PLA of node .
(2) The circle VCC ( , ) contains present PLA of node : keeps its present PLA unchanged.
Step 7. 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 ICC ( ) (the inevitable communication circle of unknown neighbor ). There are two situations of position between node 's present PLC and circle ICC ( ): there is an intersection between node 's present PLC and circle ICC ( ); there is no intersection between node 's present PLC and circle ICC ( ). The descriptions of these two situations are shown as follows.
(1) There is an intersection between node 's present PLC and circle ICC ( ): in this case, there must be two intersection points between node 's present PLC and the circle ICC ( ). 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 ICC ( ). The remaining part is the new PLA of node .
(2) There is no intersection between node 's present PLC and circle ICC ( ): keeps its present PLA unchanged.
Step 8. 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.
International Journal of Distributed Sensor Networks 5 (1) for ( = + 1; ≤ ; ++) (2) do PLA ( ) ← Ω (Ω: the area of whole network) (3) Find each who is a ℎ-hop anchor neighbor of (4) The maximum hop found is ℎ (5) P h a s e1 : eliminates PLA by utilizing VCC ( , ) P h a s e2 : eliminates PLA by utilizing ICC ( ) (7) do Find each who is an -hop unknown neighbor (8) n o d eo f (9) The maximum hop found is (10) P h a s e3 : eliminates PLA by utilizing VCC ( , ) P h a s e4 : eliminates PLA by utilizing ICC ( ) then eliminates the part of present PLA ( ), (8) which is away from VCC ( , )  International Journal of Distributed Sensor Networks (5) Draw ICC ( ) (6) if there is a intersection between PLC ( ) and ICC ( ) (7) then eliminates the part of present PLA ( ), (8) which is close to ICC ( ) (9) if ICC ( ) contains PLA ( ) (10) if there is not a intersection between PLC ( ) and ICC ( ) (c) Use of VCC ( +1 , 3 ) Figure 4: Use of the one-hop and two-hop anchor nodes.

Algorithm Implementation
Now we show the specific algorithm steps for unknown node +1 to explain how the algorithm NPLA is implemented.
Step 1. Unknown node +1 puts the network area Ω as its initial PLA.
Step 2. Unknown node +1 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: 1 , 2 , and 3 ; 1 is the 1 hop anchor neighbor of unknown node +1 ; 2 and 3 are 2 hop anchor neighbors of unknown node +1 .
Step 3. Unknown node +1 traverses all its anchor neighbors in the ascending order of hop-count which is from its anchor neighbor to itself.
(4) Every tangent in (3) cuts +1 's present PLA into two parts. Then put every tangent as a dividing line to eliminate the region of +1 's present PLA away from the circle PCC ( 1 ), respectively. The remaining part (convex polygon ABCD) is the new PLA of +1 .
(2) Find all the vertexes of +1 's present PLA outside the circle VCC ( +1 , 2 ) and obtain three vertexes: , , and . Then link anchor node 2 '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 VCC ( +1 , 2 ): 1, 2, and 3.
(4) Every tangent in (3) cuts +1 's present PLA into two parts. Then put every tangent as a dividing line to eliminate the region of +1 's present PLA which is away from the circle VCC ( +1 , 2 ), respectively. The remaining part (convex polygon CEFGH) is the new PLA of +1 .
(2) Find all the vertexes of +1 's present PLA outside the circle VCC ( +1 , 3 ) and obtain two vertexes: and . Then link anchor node 3 '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 VCC ( +1 , 3 ).
(4) Every tangent in (3) cuts +1 's present PLA into two parts. Then put every tangent as a dividing line to eliminate the region of +1 's present PLA which is away from the circle VCC ( +1 , 3 ), respectively. The remaining part (convex polygon CEFIJ) is the new PLA of +1 .
Step 4. Unknown node +1 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.
(2) There are two points of intersection between +1 's present PLC and the circle ICC ( 2 ): and . Link to to get a line.
(3) The line in (2) cuts +1 's present PLA into two parts. Then put the line as a dividing line to eliminate the region of +1 's present PLA closing to the circle ICC ( 2 ). The remaining part (convex polygon EFIKL) is the new PLA of +1 .
(2) There are two points of intersection between +1 's present PLC and the circle ICC ( 3 ): and . Link to to get a line.
(3) The line in (2) cuts +1 's present PLA into two parts. Then put the line as a dividing line to eliminate the region of +1 's present PLA closing to the circle ICC ( 3 ). The remaining part (convex polygon FIKMN) is the new PLA of +1 .
Step 5. Every unknown node ( + 1 ≤ ≤ ) executes Step 2 to Step 4 to get a new PLA. Unknown node +1 finds 8 International Journal of Distributed Sensor Networks Figure 7: Use of PCC ( +2 ). 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: +2 , +3 , and +4 ; +2 is the 1 hop unknown neighbor of unknown node +1 and +3 and +4 are 2 hop unknown neighbors of unknown node +1 .
Step 6. Unknown node +1 traverses all its unknown neighbors in the ascending order of hop-count which is from its unknown neighbor to itself.
(2) Find all the vertexes of +1 's present PLA outside the circle PCC ( +2 ) and obtain one vertex: . Then link +2 to vertex to get a line. Then there is one intersection point between the line and circle PCC ( +2 ). (4) The tangent in (3) cuts +1 's present PLA into two parts. Then put this tangent as a dividing line to Figure 9: Use of VCC ( +1 , +4 ).
eliminate the region of +1 's present PLA which is away from the circle PCC ( +2 ). The remaining part (convex polygon FIOPMN) is the new PLA of +1 .
(2) Find all the vertexes of +1 's present PLA outside the circle VCC ( +1 , +3 ) and obtain one vertex: . Then link +3 to vertex to get a line. Then there is one point of intersection between the line and circle VCC ( +1 , +3 ). (4) The tangent in (3) cuts +1 's present PLA into two parts. Then put this tangent as a dividing line to eliminate the region of +1 's present PLA which is away from the circle VCC ( +1 , +3 ). The remaining part (convex polygon FIOPMQR) is the new PLA of +1 .
(2) Find all the vertexes of +1 's present PLA outside the circle VCC ( +1 , +4 ) and obtain two vertexes: and . Then link +4 to every vertex to get a line, respectively. Then there are two points of intersection between these two lines and circle VCC ( +1 , +4 ).
(4) The tangent in (3) cuts +1 's present PLA into two parts, respectively. Then put every tangent as a dividing line to eliminate the region of +1 's present PLA which is away from the circle VCC ( +1 , +4 ). The remaining part (convex polygon FIOPMQR) is the new PLA of +1 .
Step 7. Unknown node +1 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.
(2) There are two points of intersection between +1 's present PLC and the circle ICC ( +3 ). Link these two points to get a line.
Then put the line as a dividing line to eliminate the region of +1 's present PLA closing to the circle ICC ( +3 ). The remaining part (convex polygon FVWTUQR) is the new PLA of +1 .
(2) There are two points of intersection between +1 's present PLC and the circle ICC ( +4 ). Link these two points to get a line.
Then put the line as a dividing line to eliminate the region of +1 's present PLA closing to the circle ICC ( +4 ). The remaining part (convex polygon WTUQRXY) is the new PLA of +1 .
Step 8. Unknown node +1 executes Step 2 to Step 7 iteratively until its present PLA does not change. Unknown node +1 can get a final PLA. Then +1 computes the gravity center of its final PLA as its estimated position.

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, MAX , and . 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.

Simulation Placement.
Anchor nodes and unknown nodes are distributed in a 1000 * 1000 m 2 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. Figure 10: Use of ICC ( +3 ). Figure 11: Use of ICC ( +4 ).

Basic Parameters
(1) Anchor node degree (AD) is the average number of anchor nodes per unit circle.
(2) Unknown node degree (UD) is the average number of unknown nodes per unit circle.
(3) 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 (4) GPS error is the position error of the anchor node localized by GPS.

Performance Parameters
(1) Localization error ( ) is as follows: where is the estimated coordinate of unknown node ( ) and is real coordinate of . The number of unknown nodes is .
is '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) MAX is the radius of possible location circle of unknown node.
(3) is the product of MAX 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 MAX and the area of the final PLA.
All distances including error estimation are normalized to units of node radio range ( ) to ensure the generally applicable results in our evaluation. When evaluating localization schemes, the most important measurements for comparison are localization error, MAX , and . In our simulation, we take several influence factors into consideration: (1) anchor node

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 MAX 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 MAX and of APIT are bigger.

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 MAX and 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 MAX and of NPLA decrease as UD increases.

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 MAX 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 MAX of NPLA increases as shown in Figure 14(b). But the area of final PLA in NPLA is still small, so the 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, MAX , and are the biggest in all algorithms.

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, MAX , and in all algorithms increase as DOI increases as we can see in Figures 15(a), 15(b), and 15(c). NPLA utilizes hopcount 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.

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.

Ω :
The whole network area : Th ea n c h o rn o d e ,1 ≤ ≤ , represents node whose position is known already : The unknown node, + 1 ≤ ≤ , represents node whose position is unknown : The standard communication radius of the node : The relative error of anchor's coordinate position measured by GPS : The absolute error of anchor's coordinate position measured by GPS The unknown node set through the path from source node to destination node with the least hops, except node and node . Here, is unknown node and is anchor or unknown node ( , )

VCC :
The radius of the virtual communication circle of node relative to node . Consider ( , ) VCC = PCC + ∑ max ( ∈ { , }) VCC ( , ): The virtual communication circle of node relative to node ; the radius is ( , ) VCC . When is anchor node, the center is . When is unknown node, the center is .