Location information of sensor nodes plays a critical role in many wireless sensor network (WSN) applications and protocols. Although many localization algorithms have been proposed in recent years, they usually target at dense networks and perform poorly in sparse networks. In this paper, we propose two componentbased localization algorithms that can localize many more nodes in sparse networks than the stateoftheart solution. We first develop the
Basic Common nodesbased Localization Algorithm
, namely BCLA, which uses both common nodes and measured distances between adjacent components to merge components. BCLA outperforms CALL, the stateoftheart componentbased localization algorithm that uses only distance measurements to merge components. In order to further improve the performance of BCLA, we further exploit the angular information among nodes to merge components, and propose the
Componentbased Localization with Angle and Distance information
algorithm, namely CLAD. We prove the merging conditions for BCLA and CLAD, and evaluate their performance through extensive simulations. Simulations results show that, CLAD can locate more than 90 percent of nodes in a sparse network with average node degree 7.5, while CALL can locate only 78 percent of nodes in the same scenario.
1. Introduction
W
ireless sensor networks (WSNs) are composed of a large number of randomly deployed sensor nodes in an ad hoc manner. Because WSNs can be easily deployed in hostile environments without predeployed infrastructures, they were widely applied in many fields in recent years, e.g., military surveillance
[1]
, medical care
[2]
, wildlife monitoring applications
[3]
, environment monitoring
[4
,
5]
, and rescue after disasters
[6]
. As a key part of the future Internet of Things that can provide ubiquitous sensing ability, WSNs have attracted more and more research attention in recent years.
Location information of sensor nodes plays a vital role in many WSN applications and protocols. For example, in many WSN applications, the collected data should be labeled with the positions where they are collected. Otherwise, these data would be meaningless because they cannot provide useful information to users. Location information of sensor nodes is also critical in protocols and algorithms designed for WSNs, e.g., coverage optimization
[7

9]
, target tracking
[10
,
11]
and geographical routing
[12
,
13]
.
In order to obtain locations of sensor nodes, many localization algorithms have been proposed in recent years
[14

17]
. In a localization algorithm, there are usually some special nodes called
anchors
that know their positions in advance (e.g., via GPS). The other nodes are called
unknown nodes
which need to calculate their positions with the position information of anchors and distance/angular measurements between adjacent nodes. Generally, if an unknown node can obtain enough distance measurements to anchors (e.g., more than three anchors in 2dimensinoal space or more than four anchors in 3dimensional space), it can uniquely determine its position. A node that can uniquely determine its position is called a
localizable node
. A network in which all the nodes are localizable is called a localizable network. Whether a network is localizable or not is determined by the global topology of the network
[18
,
19]
.
It is challenging to localize all the nodes in the network even when the network is localizable, especially when the network is sparse, e.g., the average node degree is smaller than 10
[20

22]
. Traditional localization algorithms usually localize individual sensors one by one. We call such algorithms as
sequence localization algorithms
. Sequence localization algorithms can localize only a subset of localizable networks, e.g., wheel networks
[20]
and trilaterationordering networks
[23]
. The main difficulty in localizing sparse networks is that it is difficult to find a proper ordering of nodes such that sequence localization can be performed for one node after another. Moreover, there might be no such an ordering in sparse networks, even when they are localizable. In order to overcome these limitations, componentbased localization algorithms were proposed in
[21
,
22]
. In componentbased localization algorithms, sensor nodes are grouped into different components. Each component is a subnetwork that can be localized with sequence localization algorithms. Every component constructs its local coordinate system. The local coordinate systems of different components are then combined to form the global coordinate system. However, in existing componentbased algorithms
[21
,
22]
, components are not overlap with each other, and thus they can use only distance measurements between adjacent components to perform component combination, which limits the total number of nodes that can be localized when the network is very sparse.
In this paper, we propose two componentbased localization algorithms that can localize many more nodes in sparse networks than the stateoftheart componentbased localization algorithm CALL
[21
,
22]
. We first develop the
B
asic
C
ommon nodesbased
L
ocalization
A
lgorithm, namely BCLA, which uses both common nodes and distance measurements to merge adjacent components. BCLA thus can localize more nodes than CALL, which uses only distance measurements to merge adjacent components. Considering that angular information among nodes can be obtained in many sensor networks
[14
,
15]
, we further develop CLAD, the
C
omponentbased
L
ocalization algorithm with
A
ngle and
D
istance information. By utilizing angular information among nodes, CLAD can localize more nodes than BCLA and CALL do. Simulation results show that, in sparse networks with average node degree 7.5 and 5 percent anchor ratio, CLAD successfully localizes more than 90 percent of all the nodes in the network, while CALL localizes only 78 percent of nodes in the same scenario.
The rest of this paper is organized as follows. Section 2 reviews related work. In Section 3, the conditions for combining two components with both common nodes and distance measurements are derived, and the detailed design of the BCLA algorithm is presented. Section 4 gives the design and analyses of the CLAD algorithm that exploits angular measurements among nodes when combining components. Simulation results are reported and discussed in Section 5. Finally, conclusion remarks are given in Section 6.
2. Related Work
The localizability theory of sensor networks has attracted a lot of research attention in the past several years
[18

21
,
26]
. A sensor network is uniquely localizable in 2D space if and only if its topology graph is globally rigid and it contains more than three anchors
[18]
. When the network is not uniquely localizable as a whole, we should consider the conditions under which its subnetworks or separate nodes can be uniquely localizable. In
[19
,
24]
the authors gave conditions for nodes in a subnetwork to be uniquely localizable: 1) The topology of the subnetwork is redundant rigid; 2) the subnetwork is triconnected; and 3) the subnetwork has at least 3 anchors. These conditions are abbreviated as RRT3B
[24]
. RRT3B is a sufficient condition for a node to be uniquely localizable, and it can be used to find the maximum number of uniquely localizable nodes in a network.
It remains challenging to localize all the uniquely localizable nodes in the network even when the network is uniquely localizable, especially when the network is very sparse
[20]
. The difficulty is that it is difficult to find a trilateration ordering
[23]
of nodes in which they can be sequentially localized one after another. In order to overcome this problem, in
[20]
the authors introduced the concept of finitely localizable nodes, which has finite possible positions. They then proposed the Sweeps algorithm, which records all the possible positions for every node and gradually resolves the ambiguity by adding more distance constraints. Sweeps relaxes the requirement on trilateration ordering of nodes, and thus can localize more nodes than sequence trilaterationbased algorithms. However, Sweeps requires that nodes can be ordered in bilateration ordering and thus cannot localize all the localizable nodes in many cases
[20

22]
. Moreover, Sweeps requires that the nodes can form a cycle in order to solve the ambiguity caused by multiple possible positions of a node, and thus has exponentially time complexity in the worst case.
In order to mitigate the effects of node ordering on the localization coverage, in
[22]
the authors proposed a componentbased localization algorithm called CALL. Different from Sweeps and other sequence localization algorithms, CALL groups nodes into components and performs localization on the component level. It first constructs local coordinate system for every component, and then merges local coordinate systems to form a global coordinate system. Because CALL does not require special ordering of nodes, it can localize more nodes than Sweeps does in sparse networks. However, CALL uses only distance measurements to merge adjacent components, which greatly limit the number of nodes it can localize.
Componentbased localization algorithms might be sensitive to distance measurement errors, as pointed out in
[27]
. To guarantee the robustness of componentbased localization algorithms and obtain accurate localization results when the distance measurements contain errors, in
[27]
the authors proposed the ErrorTolerant Componentbased algorithm (ETOC). The core idea of ETOC is to realize a component only when the width of the anchors in the component is large than a threshold. This can help mitigate the flip ambiguities when the anchors are nearly collinear. We note that ETOC uses the similar idea as proposed in this paper but for different purposes. In ETOC, distance measurements between components are used to enhance the robustness when realizing components, while in our algorithms the distances between components are used to help merge adjacent components. Moreover, in this paper we also exploit angular information to help component mergence. On the other hand, our algorithms also face the robustness issues mentioned in
[27]
. We can enhance the robustness of our algorithms by using the technique proposed in ETOC.
Localization for 3D Surface sensor networks has attracted a lot of attention in recent years
[28

30]
. In
[28]
the authors discussed the challenges in 3D surface localization and proposed a solution to single value 3D surface networks, i.e., the networks in which any two nodes have different projects on the xy plane. They also proposed a layered approach to localizing nodes in general 3D surface networks. This approach is extended in
[29]
to divide a general 3D surface network into a minimal set of single value surface networks. The partitioned single value surface networks are then individually localized and combined to form a global coordinate system. However, the aforementioned approaches both assume that the height information of sensor nodes is known in advance. To mitigate this requirement, in
[30]
the authors exploited digital terrain model (DTM) of 3D surfaces to help localization in 3D surface networks. These solutions all require dense deployment of sensor nodes.
In
[31]
the authors proposed a localization protocol based on approximate convex decomposition, namely ACDL, to localize nodes deployed in concave networks. ACDL first divides the concave network into a set of convex subnetworks, and applies multidimensional scaling (MDS) technique in each subnetwork to obtain a local coordinate system. The local coordinate systems of subnetworks are then combined to form a global coordinate system. Different from traditional convex relaxation approaches, in
[32]
the authors proposed a nonconvex optimization approach to solve the localization problem, which can achieve similar (or even better) localization accuracy as traditional convex optimization based approaches but with lower time complexity. In
[33]
, the authors discussed how to localize a group of autonomous underwater vehicles (AUVs) in order to guarantee that all the AUVs can arrive at their destinations with their locations being traceable during the whole mission. In
[34]
, the authors use the time of charge sequences among different sensors to localize nodes in rechargeable sensor networks. They solutions are sequence localization algorithms, and they require dense deployment of sensors. Different from them, the algorithms proposed in this paper are componentbased localization algorithms, which are more suitable to sparse networks.
3. BCLA: The Basic Common NodesBased Localization Algorithm
In this section, we first derive the conditions under which two components can be merged and then give the detailed design of the BCLA algorithm.
 3.1 Component Merging Conditions
The key issue in componentbased localization algorithms is to merge adjacent components. Generally speaking, a component is a group of nodes that forms a uniquely localizable subnetwork. After components are generated, each component constructs its local coordinate system. Then all the local coordinate systems are merged into one global coordinate system. If there are more than three anchors in the network, the global coordinate system can be translated to the absolute coordinate system determined by the anchors. In the traditional coordinate system registration methods
[25]
, two components have to share at least three common nodes in order to register nodes in one coordinate system into another. However, when the network is very sparse, it is rare to have enough common nodes between two adjacent components. In the CALL algorithm
[21
,
22]
, the authors proved that two components can be uniquely merged with four distance measurements between nodes in different components. The CALL algorithm can merge components when there is no common node and when there are at least three common nodes between two components. In this paper, we consider how to merge two components when there is exact one and exact two common nodes between two components to further improve the localization coverage.
In the following, we give the conditions of merging two components with both the common nodes and distance measurements between two components. We first prove the conditions on merging two components when they share only one common node, then give the merging conditions when two components share two common nodes.
 3.1.1 When Two Components Have One Common Node
When two components have only one common node, we have the following theorem.
Theorem 1
: Given two components
A
and
B
that are both uniquely localizable and have a common node: 1)
B
can be uniquely merged into
A
if there are two edges connecting
A
and
B
with distinct nodes; 2)
B
can be finitely merged into
A
if there is one edge connecting
A
and
B
. Here unique mergence means that nodes in
B
have unique positions after mergence, and finite mergence means that nodes in
B
have finite possible positions after mergence.
Proof
: We first prove claim 1). As shown in
Fig. 1
(a),
A
and
B
are two uniquely localizable components sharing a common node
b
. The solid lines
ad
and
ce
indicate distance measurements between nodes in
A
and
B
. The dashed lines
bd
,
be
, and
de
indicate the implicit distances that can be calculated according to the coordinates of nodes in local coordinate system (note that
b
,
d
and
e
are all in component
B
). Because node
b
is a common node, we know its position in
A’s
coordinate system. If we know the positions of node
d
and
e
in A’s coordinate system, the component mergence problem could be reduced to the trivial case when two components share three common nodes. We now give a method to derive the positions of nodes
d
and
e
in the coordinate system of component
A
.
Merging conditions when two components share one common node
Denote the positions of nodes
a
,
b
and
c
in component
A
by (
x_{a}
,
y_{a}
), (
x_{b}
,
y_{b}
) and (
x_{c}
,
y_{c}
), respectively. Note that these positions are all known because the three nodes are all in component
A
. We use (
x
_{1}
,
y
_{1}
) and (
x
_{2}
,
y
_{2}
) to denote the positions of nodes
d
and
e
in component
A
. Note that these positions are unknown and we need to calculate them. As shown in
Fig. 1
(a), we can obtain five equations as below:
Note that because nodes
b
,
d
and
e
are in the same component, the distances
d_{bd}
,
d_{be}
and
d_{de}
can be calculated according to their positions in component
B
. The distances
d_{ad}
and
d_{ce}
are measured distances.
There are five equations containing four unknown variables in (1), and thus we can determine the unique values of (
x
_{1}
,
y
_{1}
) and (
x
_{2}
,
y
_{2}
). After we obtain the positions of nodes
d
and
e
in component
A
, we can uniquely merge component
B
into component
A
because there are three nodes that know their positions in both components. Thus claim 1) holds.
We now prove claim 2). As shown in
Fig. 1
(b),
A
and
B
are two uniquely localizable components. Because node
d
knows its distance to two nodes in component
A
(i.e., nodes
a
and
b
), it has only two possible coordinates in component
A
. Because node
e
knows its distance to node
b
and
d
, for each possible position of node
d
, we can calculate two possible positions of node
e
. For each combination of the coordinates of node
d
and node
e
, we can merge component
B
into component
A
. Because there are finite combinations of the coordinates of node
d
and node
e
, component
B
can be finitely merged into component
A
. Note that although node
d
have two possible positions and node
e
have four possible positions, there are only two correct combinations of their coordinates because the distance between node
d
and node
e
must be equal to
d_{de}
.
When components
A
and
B
are only finitely localizable, we have the following corollary:
Corollary 1:
Given two components
A
and
B
that have a common node and are both finitely localizable, they can be finitely merged if there is one edge linking two distinct nodes (both cannot be the common node) in the two components.
 3.1.2 When Two Components Have Two Common Nodes
When two components share two common nodes, we have the following theorem:
Theorem 2:
Given two components
A
and
B
that are both uniquely localizable and have two common nodes: 1)
B
can be finitely merged into
A
; 2)
B
can be uniquely merged into A if there is one edge connecting
A
and
B
.
Proof
: We first prove claim 1). As shown in
Fig. 2
(a),
A
and
B
have two common nodes. Thus
d
has two possible positions in component
A
. It is easy to see that nodes in component
B
can be finitely merged into component
A
by using the finite combinations of the coordinates of
a
,
c
and
d
.
Merging conditions when two components share two common nodes
We now prove claim 2). As shown in
Fig. 2
(b), the solid line
bd
indicates the measured distance between
b
and
d
. The dashed lines
ad
and
cd
indicate the implicit distances that can be calculated according to the coordinates of nodes. Because
a
and
c
are common nodes, their positions in both components are known. Thus, if we know the position of
d
in
A
’s coordinate system, we can uniquely merge component
B
with component
A
.
Denote the positions of
a
,
b
and
c
in the coordinate system of component
A
by (
x_{a}
,
y_{a}
), (
x_{b}
,
y_{b}
) and (
x_{c}
,
y_{c}
), respectively. Note that these positions are known because they are all in component
A
. We use (
x
_{1}
,
y
_{1}
) to denote the position of
d
in component
A
. As shown in
Fig. 2
(a), we can obtain three equations as below:
With the three equations in (2), we can uniquely determine the values of
x
_{1}
and
y
_{1}
, i.e., we can calculate the position of
d
in component
A
, and consequently uniquely merge component
B
into component
A
. ■
We need to point out that node
d
cannot be grouped into component
A
, because it has only one distance measurements to nodes in component
A
. The distances
d_{ad}
,
d_{ac}
are not measured distances; they are implicit distances that are calculated according to the coordinates of nodes. For example,
d
may be far away from
a
and
c
and thus the distance between them cannot be directly measured. However, the distances between them can be calculated according to their coordinates, because they are in the same component. This is different from the traditional trilateration localization method that requires three directly measured distances.
 3.2 Design of BCLA
BCLA consists of four phases: component generation, local coordinate system construction, component combination, and an optional phase that is used to translate positions of nodes to absolute positions when there are enough anchors in the network.
Fig. 3
gives the framework of BCLA. In the following, we describe each phase in detail.
The framework of the BCLA algorithm
 3.2.1 Component Generation
The component generation phase consists of three stages. In the first stage, all the nodes are initialized as
waitingforgrouping
state. In the second stage, if there are three nodes that can form a triangle (i.e., they are connected to each other) and at least one of them is in the waitingforgrouping state, then the triangle is used as a seed to form a component. If a node has more than three edges linked to nodes in a component, it is added into that component. The component is extended until no more nodes can be added into it. After a component is formed, we mark all the nodes in that component as
grouped
. The second state is recursively executed until no further components could be formed. At last, in the third stage, all the nodes that are not grouped into any components are marked as
isolated
nodes.
When finding a triangle to form a cmoponent in the second stage, we require that at least one node of the triangle is in the waitingforgrouping stat. With this restriction, the number of generated components can be controlled. Otherwise, the number of generated components may exponentially increase along with the number of nodes in the network. Meanwhile, the components generated with this approach can overlap with each other, and thus provide more opportunities to localize more nodes by using both common nodes and distances in component merging. In contrast, in CALL
[21]
the components do not overlap with each other, and thus relay on only distances between adjacent components to perform merging, which limits the number of nodes that can be localized.
 3.2.2 Local Coordinate System Construction
After components are generated, we construct local coordinate systems for every component. As same as in CALL
[21]
, we use the three nodes that form the triangle to establish the coordinate system. Denote the three nodes by
a
,
b
,
c
, respectively. As shown in
Fig. 4
, we put
a
at the original point (0, 0), put
b
on the positive
x
axis with coordinate (
d_{ab}
, 0), and put
c
in the first quadrant of the coordinate system and denote its coordinate as (
p
,
q
). According to the measured distances between the three nodes, we have the following equations:
where
d_{bc}
and
d_{ac}
denote the distances between
b
and
c
and between
a
and
c
, respectively. Note that because
c
is in the first quadrant,
q
is positive, i.e.,
q
>0. We can calculate the values of
p
and
q
according to equations in (3) as:
After the local coordinate system is established, the positions of other nodes could be calculated by using the trilateration method.
Local coordinate system construction
 3.2.3 Component Combination
In this phase, local coordinate systems of individual components are merged into a global coordinate system. We select the component that has the largest number of nodes as the starting component, and merge other components and isolated nodes into this component. There are two cases to be considered:
Combination of components
: When two components satisfy the merging conditions given in Theorem 1 and Theorem 2, we combine them into one component. Denote the component containing more nodes as component
A
, and denote the component containing fewer nodes as component
B
. We then merge component
B
into component
A
. If component
B
can be uniquely merged into component
A
, we assign a unique position for every node in
B
. If the component can only be finitely merged into component
A
, we record all the possible positions of nodes in component
B
. We will introduce a position pruning method to reduce the number of possible positions of nodes in
B
in Section 3.3.
Combination of isolated nodes
: Isolated nodes can only be finitely merged into a component. When an isolated node has two edges associated to two distinct nodes in a component, we merge the node into the component, and record all its possible positions. Similarly, we will prune impossible positions of isolated nodes by using the method introduced in Section 3.3.
 3.2.4 Translation to Absolute Coordinate System
This is an optional phase. When there are enough anchors in the final merged component, we can register the component in the absolute coordinate system determined by the anchors. In order to do this, we first form a new component that contains only anchor nodes, and then register the merged component into this component.
 3.3 Illogical Position Pruning
When components are finitely merged, BCLA needs to record all the possible positions of a node in order to increase the chances of merging more components. However, in the worst case, the number of possible positions of nodes might exponentially increase with the number of nodes in the component. This results in high time and space overhead. In order to reduce the time and space complexity during the merging process, the illogical node positions should be removed as early as possible. In
[22]
, the authors proposed a rangingmodelbased estimation (RMBE) method to evaluate the confidence of a merged or realized component, which could be used to cut candidate results whose confidence values are below a threshold. We adopt this method to further prune illogical positions in the results obtained by BCLA.
The basic idea is to infer whether two nodes should obtain distance measurement between them or not, according to their possible position combinations. The combination is marked as illogical if the inferred result contradicts with the actually observed result. Due to the limited distance measuring capability of nodes, two nodes can measure their distance only when the distance is smaller than a threshold. Thus, for a possible position combination of two nodes, if the distance calculated according to the nodes’ position is actually larger than the threshold, the position combination is marked as illogical. Otherwise, if the distance calculated according to the position combination is far smaller than the threshold but actually not distance measurement between is obtained, then the position combination is also marked as illogical. For a possible position
p
of a node, if all the position combinations containing
p
are illogical, we remove
p
from the node’s possible position set. After each component merging, we execute this position pruning process to remove illogical positions of all the nodes in the component to reduce the time complexity.
Fig. 5
shows an example of illogical position pruning. In this example, we assume that two nodes can measure their distance if the distance is smaller than a threshold
r
. Node
a
obtains two distance measurements to nodes
b
and
c
, respectively. Thus it has two possible positions, i.e.,
p
and
p’
. If
a
locates at
p’
, it should obtain the distance measurements to
d
and
e
, i.e.,
d_{a’e}
and
d_{a’d}
. However, actually these two distance measumenrents are not obtained. Thus
p’
is an illogical position of
a
and should be pruned. With this illogical position pruning method,
a
can be uniquely localized.
Illogical position pruning
 3.4 Comparison with CALL
In this section, we investigate the intrinsic reason why BCLA outperforms CALL
[21
,
22]
. In CALL, components do not overlap with each other, and thus they can use only distance measurements to merge components. Due to this restriction, CALL may neglect some cases in which two components could be merged in BCLA but could not be merged in CALL. For example, even in some cases two components could be merged with common nodes and distance measurements, CALL fails to merge them because the two components cannot be merged with only distance measurements. Thus BCLA localizes more nodes than CALL.
We use
Fig. 5
to illustrate an example. As we have pointed out in the previous section, in BCLA the two components, namely component
abc
and component
cde
can be finitely merged because they share a common node and there is an enge between them. After applying the illogical position pruning, the two components can be uniquely merged. However, the two components cannot be uniquely merged in CALL. If we use
abc
to form a component, then node
d
and node
e
will become isolated nodes because they cannot form a component. Similarly, if use
cde
to form a component, then node
a
and node
b
will become isolated nodes. In both cases the two nodes can only be finitely merged into the component.
Fig. 6
plots the rate of such special cases when the average node degree changes from 5 to 10. We can observe that when the network is very sparse, this special case happens more often than when the network is dense. When the average node degree is 6, the ratio of this special case takes around 30 percent. This is the intrinsic reason why BCLA outperforms CALL in very sparse networks.
The rate of special cases when the network degree varies
4. CLAD: ComponentBased Localization with Angle and Distance Information
In this section, we discuss how to further improve the performance of BCLA when angular information among nodes can be obtained.
 4.1 Inferring Distance between Nodes with Angular Measurement
The angular measurements can be used to infer distance between two nodes that are not neighbors. For example, as shown in
Fig. 7
(a), originally the distance between
d
and
f
is unknown, and thus component
A
and component
B
cannot be uniquely merged because they don’t satisfy the merging condition given in Theorem 1. However, if the angle
α
between
db
and
bf
is known, we can infer the distance between
d
and
f
according to the low of cosines:
After
d_{df}
is calculated, the two components can be uniquely merged. In the following, we give conditions on unique or finite merging of two components when angular information among nodes can be obtained.
Merging condition when two components have one common node and angle among nodes can be obtained
 4.2 Component Merging Condition with Angular Information
When Two Components Have One Common Node:
As shown in
Fig. 7
(a), there is only one distance measurements
d_{ae}
between component
A
and component
B
. According to the mergence conditions of BCLA, the two components
A
and
B
cannot be uniquely merged. However, if we know the angle
α
, the distance between
d
and
f
can be inferred, because distance
d_{bd}
and
d_{bf}
can be calculated according to their coordinates in component
A
and component
B
, respectively. In this case,
A
and
B
can be uniquely merged.
Similarly, as shown in
Fig. 7
(b), when either of the two angles
α
and
β
is known, the two components A and B can be finitely merged even when there are no distance measurements between them. This is because
d_{ac}
( or
d_{ad}
) can be calculated by using
α
(
β
) and
d_{ab}
and
d_{bc}
(or
d_{bd}
), which can all be calculated according to their coordinates in the two components.
When Two Components Have Two Common Nodes:
Figure 8
shows the merging condition of two components when they have two common nodes. As there is no edge between component A and component B, they can be only finitely merged in BCLA. However, if we know
α
or
β
, we can calculate the distance
d_{ce}
or
d_{cd}
, with which the two components can be uniquely merged.
Merging condition when two components have two common nodes and angle among nodes can be obtained
 4.3 Design of CLAD
CLAD differs from BCLA only in the component mergence phase. Different from BCLA, when we merge two components in CLAD, we consider both distance measurements and angular measurements. Besides the merging conditions specified for BCLA in Section III, we use the following additional conditions when merging two components:

If two components have two common nodes and one of the two angles (αandβ) can be measured (Fig. 8), then the two components can be uniquely merged;

If the two components have only one common node and there is one edgeae(ordf) between them, then when alphaαcan be measured (Fig. 7(a)), the two components can be uniquely merged;

If two components have only one common node and there is no edge between them, then whenαorβcan be measured (Fig. 7(b)), the two components can be finitely merged.
5. Simulation Results
 5.1 Experiment Setup
We use two metrics to evaluate the performance of the proposed algorithm. The first metric is
localization ratio
, which is defined as the ratio of uniquely localized nodes to all the nodes in the network. The second metric is
localization accuracy
, which is defined as the average localization error over all the localized nodes in the network. A node’s localization error is defined as the Euclidean distance between its estimated position and its groundtruth position. When a node is not uniquely localized, we define its localization error as the maximum distance between the node's groundtruth location and its candidate positions. To be consistent with existing researches
[21]
, we measure the localization error as a multiple of the communication radius
r
.
The main parameters that may impact the performance of different algorithms include the average network degree, the distance measurement error, the angle measurement error, and the anchor ratio. We tune the average network degree by deploying different number of nodes in the network. The size of the deployment region is a 10
r
X10
r
square region, where
r
is the communication radius of sensor nodes. In the default setting, we deploy 200 nodes in the network. The nodes are uniformly deployed in the network, and this results in an average network degree of approximately 6.5. We change the scale of the network by changing the number of nodes deployed in the network to investigate its impact on the peroformance of the proposed algorithms. In default, we assume that the distance and angle measurements are accurate and the communication is ideal. To be consistent with previous studies
[21
,
22]
, we set the the default anchor ratio as to 5%. We randomly select 5% nodes and use them as anchors, i.e., every sensor node has a probability of 0.05 to be a anchor node. We investigate the impact of distance/angle measurement error on the localization accuracy in Section 5.5 and 5.6, respectively.
We compare BCLA and CLAD with the stateoftheart componentbased localization algorithm CALL
[22]
. The reported data here are averaged over 50 randomly generated network topologies.
 5.2 Impact of Average Network Degree
We first evaluate how the average network degree affects the localization ratio of different algorithms.
Fig. 9
plots the localization ratio of the three algorithms when the anchor ratio is 5%. It can be observed that BCLA and CLAD both localize more nodes than CALL. CLAD and BCLA perform much better than CALL when the network is extremely sparse. For example, when the average network degree is 5.5, CLAD can uniquely localize more than 50% nodes in the network, while CALL can localize only less than 30% nodes. The performance gaps between our algorithms and CALL become insignificant when the network becomes denser. When the average network degree is larger than 10, the localization ratios of the three algorithms are nearly the same. This indicates that our two algorithms are more suitable to sparse networks.
Impact of average network degree on localization ratio of different algorithm
Fig. 10
(a) and
Fig. 10
(b) plot the ratio of finitely localized nodes and the average number of candidate positions when the node is finitely localized in different algorithms. As shown in
Fig. 10
(a), the ratio of uniquely localized nodes in BCLA and CLAD is smaller than that in CALL. This is because in our algorithms, some illogical position candidates are pruned by using the distance constraints, as have been discussed in Section 3.3. The utilization of the angular information in CLAD further reduces the ratio of finite localized nodes by converting some finite localized nodes into unique localized nodes furthermore. It can be seen from
Fig. 10
(b) that the average possible position estimates in BCLA and CLAD is much less than that in CALL.
Impact of average network degree on: (a) Finitely localized node ratio; (b) number of candidate positions
Fig. 11
shows the ratio of nodes in the largest component of CLAD and CALL. Because CLAD utilizes angle information to group nodes, it obviously can merge more nodes than CALL under different average network degree. We observe that the increasing average network degree has impact on the ratio of nodes in the maximum components. When the network reaches middle density (the average network degree is 9), the largest component can cover almost 80% nodes in CLAD and 70% nodes in CALL, respectively. This also shows that angular information could effectively improve the localization ratio.
The ratios of nodes in the largest component in CLAD and CALL
 5.3 Impact of Anchor Ratio
The ratio of anchors impact the performance of our algorithm.
Fig. 12
shows the localization ratio of BCLA and CLAD when the anchor ratio changes for two network degree, i.e., when the average network degree is extremely low (6) and middle (9). We observe that when the anchor ratio increases, both algorithms can uniquely locate more nodes. When the average network degree is 9 (which means that the network is middle dense), BCLA and CLAD could uniquely localize almost 100% nodes even when the anchor ratio is as low as 5%. When the network is extremely sparse (the average network degree is 6), CLAD could localize more nodes than BCLA. This is because CLAD uses both distance constraint and angle information to perform component merging. In fact, in our simulations, when the average degree is greater than 9, the improvement of CLAD over BCLA is very insignificant. In such cases, the increase of anchor ratio does not affect the performance of BCLA and CLAD.
The localization ratio of BCLA/CLAD when anchor ratio changes
 5.4 Impact of Distance Measurement Error on Localization Accuracy
Fig. 13
(a) plots localization accuracy of the three algorithms when relative distance measurement error changes from 0.01 to 0.1. For example, assume that the groundtruth distance between two nodes is
d
, then the measured distance falls into [0.95
d
,1.05
d
] if the relative distance estimation error is 0.05. Recall that in CLAD distances between some nonadjacent nodes are inferred by using the erroneous distance measurement and the angular information among nodes. When these inferred distances are used in localization, they might cause error accumulation problem. Thus the localization accuracy of CLAD is a bit lower than that of BCLA. In contrast, CALL uses only existing edges to reduce the potential positions of nodes, and thus for some nodes that BCLA and CLAD can uniquely localize it can only finitely localize. This consequently makes CALL’s accuracy lower than that of BCLA and CLAD.
Localization accuracy of different algorithms versus relative distance measurement error: (a) average accuracy, (b) CDF
We plot the cumulative distribution functions (CDFs) of localization error in different algorithms when the relative distance measurement error is 5% in
Fig. 13
(b). BCLA and CLAD outperform CALL because they can uniquely localize more nodes. The median localization accuracy in the three algirthms are similar, namely, 0.15r, 0.19r, and 0.21r for BCLA, CLAD, and CALL, respectively. However, the ratios of nodes with large localization error in CLAD and CALL are significantly larger than that in BCLA. For the example, the 90th percentile localization error is about 0.4r in BCLA, while the 90th percentile localization errors are 0.5r and 0.74r in CLAD and CALL. The reason is as follows. In CLAD, some components use angular information that contains error to perform component merging. Although this can help localize more nodes, this also magnifies the localization error. In CALL, some nodes cannot obtain unique location estimations, and thus the localization error is relatively large.
 5.5 Impact of Angle Measurement Error on Localization Accuracy
Fig. 14
(a) shows the localization accuracy of CLAD when average node degree is 7. We can observe that the accuracy degrades when angle measurement error increases. We can also observe that, by increasing the number of anchors, the localization accuracy can be effectively improved. This is because with more anchors the distance inferred from angle information can be more acurate, and thus CLAD can relieve the accuracy degradation caused by angle measurement noisy.
Fig. 14
(b) plots the accuracy of CLAD when the angle measurement error increases. We observe that with higher node degree the accuracy degradation is also relieved.
Localization accuracy of CLAD when angle measurement error varies
Fig. 15
plots the CDF of nodes’ localization error in CLAD for different combinations of anchor ratio and node degree, assuming that the relative algular measurement error is 5%. We can observe that when the localization accruacy improves when both anchor ratio and node degree increases. When there are more anchors, compoments can be merged in early stages and the possible number of candidate positions of nodes can be decreased, and thus the localization accuracy improves. When the node degree increases, components have larger chance to be merged and more nodes can be uniquely localized. From
Fig. 15
, we can also observe that the node degree has larger impact on the localizaton error than anchor ratio does.
CDF of nodes’ localization error in CLAD for different combinations of anchor ratio and node degree.
 5.6 Percent of Nodes Using Angle Information
Fig. 16
plots the ratio of nodes using angle information among all the localized nodes when the average node degree increases. In cases when the network is very sparse, i.e., when the average degree is less than six, it is difficult to infer distance between nonadjacent node pairs because the links between nodes are very sparse. Thus the improvement caused by utilizing angle information in insignificant. Angle information shows its advantage when the network density is middle, i.e., when the average degree is between 7 and 9. In this case, it is easy to infer distance between nonadjacent nodes, which greatly improves the ratio of uniquely localized nodes. However, when the network degree is high, e.g., when network degree is larger than 9, the links between nodes is dense enough to uniquely merge adjacent components and thus the improvement caused by using angle information is also limited. To summarize, the improvement caused by using angle information is most significant when the network is in middle density.
Percent of nodes using angle information in different degree.
6. Conclusion
In this paper, we proposed two component based localization algorithms, namely BCLA and CLAD, which can achieve high localization coverage (i.e., the ratio of uniquely localized nodes in the network) in sparse WSNs. Different from CALL, the stateoftheart componentbased localization algorithm, BCLA and CLAD group nodes into overlapping components and utilize both common nodes and distance measurements between adjacent components to merge components, and thus greatly improves localization coverage. CLAD further uses angle information to improve the localization coverage. Simulation results show that, CLAD can uniquely localize more the 90 percent nodes in a sparse network with average node degree 7.5, while CALL can localize only 78 percent of all nodes. Besides, the localization accuracy of BCLA and CLAD is also higher than that of CALL. In the future, we will investigate how to further improve the localization coverage and localization accuracy of componentbased algorithms by simultaneously merging more than two components.
BIO
Shigeng Zhang received the BSc, MSc, and DEng degrees, all in Computer Science, from Nanjing University, China, in 2004, 2007, and 2010, respectively. He is currently an Assistant Professor in School of Information Science and Engineering at Central South University, China. His research interests include Cloud Computing, Internet of Things, wireless sensor networks, and RFID systems. He has published more than 30 technique papers in international journals and conferences. He is a member of IEEE, a member of ACM, and a member of CCF.
Shuping Yan received the BSc degree in Computer Science from Hunan Normal University, China, in 2014. Currently, she is a master student in the School of Information Science and Engineering at Central South University, China. Her research interests include Internet of Things, indoor localization algorithms and systems.
Weitao Hu received his BSc and MSc degrees in Computer Science from Central South University in 2011 and 2014, respectively. His research interests include localization in wireless sensor networks.
Jianxin Wang received his BSc and MSc degrees in Computer Science from Central South University of Technology, P. R. China, and his PhD degree in Computer Science from Central South University. Currently, he is the vice dean and a professor in the School of Information Science and Engineering, Central South University, Changsha, Hunan, P.R. China. Jianxin Wang is currently serving as executive editor of International Journal of Bioinformatics Research and Applications and serving in the editorial board of International Journal of Data Mining and Bioinformatics. He has also served as a program committee member for many international conferences. He was a program committee cochair for the 7th and 8th International Symposium on Bioinformatics Research and Applications (ISBRA2011 and ISBRA2012), will be a program committee cochair for the 8th International Frontiers of Algorithmics Workshop (FAW2014) and 10th International Symposium on Bioinformatics Research and Applications (ISBRA2014). His current research interests include algorithm analysis and optimization, parameterized algorithm, bioinformatics and computer networks. He has published more than 200 papers in various International journals and refereed conferences. He is a senior member of the IEEE.
Kehua Guo received his PhD degree in Computer Science from Nanjing Univeristy of Science and Technology in 2008. He was an Associate Professor in the School of Information Science and Engineering at Central South University since 2012. Currently, he is a visiting Scholar in Texas A&M University. His research interests focus on green computing, transparent computing and multimedia computing..
Ren F.Y.
,
Huang H.N.
,
Lin C.
2003
“Wireless sensor networks,”
Journal of Software
14
(1)
1282 
1291
Wang C.
,
Xing L.
,
Vokkarane V.M.
2013
“Reliability modeling of wireless sensors,”
in Proc. of Annual Reliability and Maintainability Symposium
1 
6
Baratch M.
,
Meratnia N.
,
Havinga PJ
,
Skidmore A.
2013
“Sensing Solutions for Collecting SpatioTemporal Data for Wildlife Monitoring Applications: A Review,”
MDPI/Sensors
13
(5)
6054 
6088
Navarr M.
,
Davis TW
,
Liang Y.
,
Liang X.
“ASWP: a longterm WSN deployment for environmental monitoring,”
in Proc. of the 12th Int. Conf. on Information Processing in Sensor Networks
2013
351 
352
Guan XP
2013
“RealTime Localization Algorithm for Maritime Search and Rescue Wireless Sensor Network,”
International Journal of Distributed Sensor Networks
2013 
Liu M.
,
Liu B.
,
Wen Y.
2013
“An Efficient Data Evacuation Strategy for Sensor Networks in Postdisaster Applications,”
International Journal of Distributed Sensor Networks
2013 
Liao ZF
,
Wang JX
,
Zhang SG
,
Cao JN
,
Min GY
2014
“Minimizing Movement for Target Coverage and Network Connectivity in Mobile Sensor Networks,”
Accepted to appear in IEEE Transactions on Parallel and Distributed Systems
Luo WZ
,
Wang JX
,
Guo J
,
Chen JE
2014
“Parameterized complexity of Maxlifetime Target Coverage in wireless sensor networks,”
Theoretical Computer Science
518
32 
41
DOI : 10.1016/j.tcs.2013.06.008
Liao ZF
,
Wang JX
,
Zhang SG
,
Zhang X
2013
“A Deterministic Sensor Placement Scheme for Full Coverage and Connectivity Without Boundary Effect in Wireless Sensor Networks,”
Ad hoc & sensor wireless networks
19
(34)
327 
351
Zhen J
,
Bhuiyan MZA
,
Liang SH
,
Xing XF
,
Wang GJ
2014
“Auctionbased adaptive sensor activation algorithm for target tracking in wireless sensor networks,”
Future Generation Computer Systems
39
(10)
88 
99
DOI : 10.1016/j.future.2013.12.014
Wang GJ
,
Bhuiyan MZA
,
Cao JN
,
Wu J
2014
“Detecting Movements of a Target Using Face Tracking in Wireless Sensor Networks,”
IEEE Transactions on Parallel and Distributed Systems
25
(4)
939 
949
DOI : 10.1109/TPDS.2013.91
Wang JX
,
Liu ZX
,
Zhang SG
,
Zhang X
2014
“Defending collaborative false data injection attacks in wireless sensor networks,”
Information Sciences
254
39 
53
DOI : 10.1016/j.ins.2013.08.019
Liu AF
,
Ren J
,
Li X
,
Chen ZG
,
Shen S
2012
“Design principles and improvement of cost function based energy aware routing algorithms for wireless sensor networks,”
Computer Networks
56
(7)
1951 
1967
DOI : 10.1016/j.comnet.2012.01.023
Koubaa A.
,
Jamaa M.B.
,
AlHaqbani A.
“An empirical analysis of the impact of RSS to distance mapping on localization in WSNs,”
in Proc. of the 3rd International Conference on Communications and Networking
2012
1 
7
Anusha K.
,
Gosul M.
,
Kumar GD
2012
“Localization of Mobile Nodes in Wireless Networks with Correlated in Time Measurement Noise,”
International Journal of Computational Science and Engineering
4
(9)
1587 
1593
Yan Y.
,
Wang H.
,
Shen X.
“Efficient convex optimization method for underwater passive source localization based on RSS with WSN”
in Proc. of IEEE Int. Conf. on Signal Processing, Communication and Computing
2012
171 
174
Gao Y.
,
Zhao WS
,
Jing C.
2012
“WSN node localization algorithm based on adaptive particle swarm optimization,”
IEEE Applied Mechanics and Materials
143
302 
306
Aspnes J.
,
Eren T.
,
Goldenberg DK
2006
“A theory of network localization,”
IEEE Transactions on Mobile Computing
5
(12)
1662 
1678
DOI : 10.1109/TMC.2006.174
Eren T.
,
Goldenberg OK
,
Whiteley W.
“Rigidity, computation, and randomization in network localization,”
in Proc. of the 23rd Annual Joint Conf. of the IEEE Computer and Communications Societies
2004
2673 
2684
Fang J.
,
Cao M.
,
Morse A.S.
“Localization of sensor networks using Sweeps,”
in Proc. of 45th IEEE Conf. on Decision and Control
2006
4645 
4650
Wang X.
,
Luo J.
,
Li S.
“Component Based Localization in Sparse Wireless Ad Hoc and Sensor Networks,”
in Proc. of IEEE Int. Conf. on Network Protocols
2008
288 
297
Wang X.
,
Luo J.
,
Liu YH
,
Li SS
,
Dong DZ
2011
“Component Based Localization in Sparse Wireless Networks,”
IEEE/ACM Transactions on Networking
19
(12)
540 
548
DOI : 10.1109/TNET.2010.2072965
Anderson BD
,
Belhumeur PN
,
Eren T.
2009
“Graphical properties of easily localizable sensor networks,”
Wireless Networks
15
(2)
177 
191
DOI : 10.1007/s1127600700349
Goldenberg DK
,
Krishnamurthy A.
“Network localization in partially localizable networks,”
in Proc. of 24th IEEE Annual Joint Conf. of the IEEE Computer and Communications Societies
2005
313 
326
Bachrach J.
,
Taylor C.
2005
“Localization in Sensor Networks,”Handbook of Sensor Networks Algorithms and Architectures, Chapter 9
WILEY & SONS
277 
310
Zhang SG
,
Cao JN
,
Chen LJ
,
Chen DX
2010
“Accurate and energyefficient rangefree localization for mobile sensor networks,”
IEEE Transaction on Mobile Computing
9
(6)
897 
910
DOI : 10.1109/TMC.2010.39
Wang XP
,
Liu YH
,
Yang Z
,
Lu K
,
Luo J
“Robust componentbased localization in sparse networks”
IEEE Transactions on Parallel and Distributed Systems
25
(5)
1317 
1327
DOI : 10.1109/TPDS.2013.85
Zhao Y
,
Wu HY
,
Jin M
,
Xia S
“Localization in 3D surface sensor networks: Challenges and solutions,”
in Proc. of the 31st Annual IEEE Int. Conf. on Computer Communications
2012
55 
63
Zhao Y
,
Wu H
,
Jin M
,
Yang Y
,
Zhou H
,
Xia S
“Cutandsew: A distributed autonomous localization algorithm for 3d surface wireless sensor networks,”
in Proc. of the 14th ACM Int. Symposium on Mobile Ad Hoc Networking and Computing
2013
69 
78
Yang Y
,
Jin M
,
Wu HY
“3D surface localization with terrain model,”
in Proc. of the 33rd Annual IEEE Int. Conf. on Computer Communications
2014
46 
54
Liu WP
,
Wang D
,
Jiang HB
,
Liu WY
,
Wang CG
“Approximate Convex Decomposition Based Localization in Wireless Sensor Networks,”
in Proc. of the 31st Annual IEEE Int. Conf. on Computer Communications
2012
1853 
1861
Ji SS
,
Sze KF
,
Zhou ZR
,
So A MC
,
Ye YY
“Beyond convex relaxation: A polynomialtime nonconvex optimization approach to network localization,”
in Proc. of the 32nd Annual IEEE Int. Conf. on Computer Communications
2013
2499 
2507
Liu J
,
Wang ZH
,
Peng Z
,
Cui JH
,
Fiondella L
“Suave: Swarm underwater autonomous vehicle localization,”
in Proc. of the 33rd Annual IEEE Int. Conf. on Computer Communications
2014
64 
72
Shu YC
,
Cheng P
,
Gu Y
,
Chen JM
,
He T
“TOC: Localizing wireless rechargeable sensors with time of charge,”
in Proc. of the 33rd Annual IEEE Int. Conf. on Computer Communications
2014
388 
396