Abstract

Due to uneven deployment of anchor nodes in large-scale wireless sensor networks, localization performance is seriously affected by two problems. The first is that some unknown nodes lack enough noncollinear neighbouring anchors to localize themselves accurately. The second is that some unknown nodes have many neighbouring anchors to bring great computing burden during localization. This paper proposes a localization algorithm which combined niching particle swarm optimization and reliable reference node selection in order to solve these problems. For the first problem, the proposed algorithm selects the most reliable neighbouring localized nodes as the reference in localization and using niching idea to cope with localization ambiguity problem resulting from collinear anchors. For the second problem, the algorithm utilizes three criteria to choose a minimum set of reliable neighbouring anchors to localize an unknown node. Three criteria are given to choose reliable neighbouring anchors or localized nodes when localizing an unknown node, including distance, angle, and localization precision. The proposed algorithm has been compared with some existing range-based and distributed algorithms, and the results show that the proposed algorithm achieves higher localization accuracy with less time complexity than the current PSO-based localization algorithms and performs well for wireless sensor networks with coverage holes.

1. Introduction

Recently, wireless sensor networks (WSNs) have been applied in various applications, where the sensor nodes’ location information helps us to understand the sensed data in spatial context, and it is also useful for the other protocols including coverage, deployment, and routing [1, 2]. However, sensor nodes are usually randomly deployed by a vehicle robot or aircraft, so they have no prior knowledge of their locations. A simple solution is to equip each sensor node with a global positioning system (GPS) device, but the weakness of high cost and energy consumption makes it is infeasible for large-scale deployment. Therefore, the determination of sensor nodes’ positions, which is referred to as localization, is one of key technologies of WSNs.

The development of microelectronic, wireless communication leads to applications of large-scale WSNs containing hundreds even thousands of sensor nodes deployed in a prohibitively large region. For example, CitySee [3] project deployed 1,200 sensor nodes in an urban area, and LAINet [4] is deployed in a whole forest. Because distributed localization approach allows each sensor node to estimate its own location without any central control or computation unit, which alleviates large communication overhead, so they are more suitable for localization of large-scale WSNs than centralized methods. Further, because many applications require absolute positions such as longitude and latitude, the localization algorithm should be anchors based [5, 6], where anchors are the sensor nodes knowing their global positions, and the rest sensor nodes, referred to as unknown nodes, are localized based on beacon messages broadcasted by anchors. The localization procedure is often iterative because anchors are significantly less than unknown nodes, so some unknown nodes are localized by their neighbour localized unknown nodes instead of anchors. Both the anchors and localized unknown nodes are referred to as reference nodes in this paper.

Due to random deployment of WSNs, the anchors are not evenly distributed, so localization performance is seriously affected by two problems. The first is that some unknown nodes lack enough noncollinear neighbouring anchors to localize themselves accurately. The second is that some unknown nodes have many neighbouring anchors to bring great computing burden during localization. This paper proposes an algorithm combining niching particle swarm optimization (PSO) and reliable references selection to conquer the above problems, in order to localize as many unknown nodes as possible with high localization precision. The main contributions contain the following:(i)It proposes a reliable reference node selection approach based on localization precision, distance to unknown node, and degree of collinearity among reference nodes, in order to obtain a minimum and sufficient set of the best neighbouring references to localize an unknown node.(ii)It presents a niching PSO algorithm to localize an unknown node and selects the best parameters and stop criteria of PSO according to localization precision and number of iterations, in order to conquer ambiguous localization and improve localization precision.(iii)It presents localization algorithms for unknown nodes with less than three neighbour reference nodes, in order to localize as many unknown nodes as possible while guaranteeing localization precision.

The organizations of the rest of this paper are as follows. Section 2 briefly reviews existing localization algorithms for WSNs. Section 3 introduces localization problem and PSO algorithm and presents basic idea of the proposed algorithm. Sections 4, 5, and 6 propose details of our localization algorithm, namely, reliable reference node selection, niching PSO-based localization, and localization algorithms for unknown nodes with less than three neighbour reference nodes. Section 7 analyses time and communication complexities of the proposed algorithm in theory and compares the proposed algorithm with the other algorithms by simulations. The conclusion and future works are given in Section 8.

Lots of localization algorithms have been developed, and most of them consist of two stages: measurement of geographical information between sensor nodes and estimation of positions of unknown nodes. According to different geographical information used in localization, these algorithms can be classified into range-free and range-based.

Typical range-free algorithms include centroid, MDS (Multidimensional Scaling), and DV-hop (Distance-Vector hop). Centroid uses the centroid [7] or weighted centroid [8] of positions of neighbour reference nodes as position estimation of an unknown node. These methods rely heavily on number of anchors, and their localization errors are large [9]. MDS [10] computes all pair-wise shortest path between sensor nodes and then applies MDS to get an initial map. Centralized computation is used to estimate positions of sensor nodes, which imposes heavy communication burden on WSNs. MDS can also be applied by each sensor nodes itself in a distributed scheme [11], but the distributed version requires a procedure of local maps combination to determine the entire layout, which increases complexity and is impossible to complete combination if there are many disjoint patches in a given WSN [10]. DV-hop [12] consists of two message flooding phases to determine average hop length between two anchors, and an unknown node estimates its position by trilateration when it receives at least three anchor messages. There is much room to improve localization accuracy of DV-hop, and many enhancements have been proposed, such as checkout DV-hop [13], selective 3-anchor DV-hop [13], DV-hop algorithm based on locally weighted linear regression [14], etc., but they also need flood messages through WSNs. Both MDS and DV-hop are based on the shortest path between sensor nodes, but this path is often zigzag especially in WSNs with coverage holes. To cope with this problem, new methods are utilized to estimate distances between sensor nodes in two-stage centralized range-free localization algorithm [9] and connectivity-based anchor-free three-dimensional localization algorithm [15], but they still need message flooding. Hence, range-free algorithms consume a considerable amount of power when they are applied to large-scale WSNs. Moreover, these algorithms perform satisfactorily when the network has a relatively even node distribution, but their performance is poor for the network of nonuniform node distribution [15].

Range-based algorithms need equip additional hardware to measure distance or angle. The popular ranging techniques include RSS (Received Signal Strength), ToA (Time of Arrival), TDoA (Time Difference of Arrival), and AoA (Angle of Arrival) [16]. After obtaining range information between an unknown node and its neighbour reference nodes, equations about the location of this unknown node can be gained, and they can be solved by an optimization method, such as maximum likelihood [17], least-square calibration [18], second-order cone programming [19], etc. Because evolutionary algorithms require less computational efforts than traditional optimization algorithms, which are more suitable for implementation on individual sensor node [20], they have been pervasively applied to localization problems, such as artificial neural network [21], genetic algorithm [22], and fuzzy logic and extreme learning machines [23].

PSO algorithm performs better in terms of localization accuracy, computational complexity and/or convergence speed compared with the other optimization methods [2430]. PSO and BFA (Bacterial Foraging Algorithm) are applied to localize a WSN deployed by an unmanned aerial vehicle in [24], and simulation results showed that PSO is faster than BFA. The proposed method in [25] divides unknown nodes into two modes: sensor nodes with at least three neighbour reference nodes and sensor nodes with less than three neighbour reference nodes. For an unknown node of the second mode, it utilizes a similar DV-Distance [12] approach to estimate the distance to a multihop anchor and then applies PSO to localize. Gauss-Newton algorithm (GNA) and PSO are applied to localize the sparse WSNs in [26], and simulation results showed that PSO outperforms GNA with large pedometer error. H-best PSO (HPSO) proposed by [27] divides the swarm of particle into several subswarms, and each particle updates according to global and local best fitness. The hybrid PSO proposed in [28] replaces positions of a half of particles with positions close to the best particle, leading to faster convergence than standard PSO. The fuzzy-extreme learning machine with PSO [29] uses resultant force to move approximate node location closer to actual position. PSO-based improved DV-hop algorithm [30] uses PSO to correct estimated positions after DV-hop.

Generally, localization algorithms utilize all neighbour reference nodes to estimate location of an unknown node, which may lead to high localization error, so a reliable anchor selection process is needed. The methods proposed in [31] select three anchors based on minimal hop counts to an unknown node. The selective 3-anchor DV-hop algorithm [13] selects any three noncollinear anchors to form a 3-anchor group and correspondingly generates a 3-anchor estimated position. Reliable anchor pair selection method [32] selects reliable anchor pairs by observing their average hop progresses and estimates the distances to the reliable anchors by geometric approximation of the node. These methods are DV-based, so they are not feasible for range-based localization algorithms. A concept of confidence value is introduced in [33] to alleviate error propagation effect in localization of underwater WSNs, and this value is defined as a decreasing function of localization error, but it does not consider other factors, such as collinearity of anchors and distances to unknown node.

3. Background and Basic Idea of Proposed Localization Algorithm

3.1. Localization Problem Statement

Definition 1 (anchors). The sensor nodes whose positions are known before localization are called anchors. The set of anchors of a WSN is denoted by , where is the number of anchors. The position of anchor is denoted by .

Definition 2 (unknown nodes, actual position). The sensor nodes that need to be located by a certain localization algorithm are called unknown nodes. The set of unknown nodes of a WSN is denoted by , where is the number of unknown nodes. The actual positions of is denoted by , which is not known in real application.

Definition 3 (neighbour). Let be the radius of communication range of sensor nodes. Given two sensor nodes and , if is located in the radio range of , is referred to as a neighbour of . Because all sensor nodes have the same communication range, is also a neighbour of .

Definition 4 ((range-based) localization). Give a WSN consists of sensor nodes, including anchors and unknown nodes, the distances between any pair of neighbour nodes can be measured. The (range-based) localization problem is to localize the unknown nodes using the positions of anchors and distances between neighbour nodes.

Definition 5 (estimated position). If an unknown node is localized during localization, it will get an estimated position, and it becomes a localized unknown node. The estimated position of is denoted by .
Obviously, the purpose of localization is to make for .

Definition 6 (reference nodes). During localization, both anchors and localized unknown nodes are called reference nodes. The set of reference nodes is denoted by . The position of reference node is denoted by . Obviously, if is anchor , ; if is localized unknown nodes , .

Definition 7 (actual distance, measured distance, and estimated distance). An unknown node and a reference node have three types of distances:(i)Actual distance: distance between the actual positions of and . It is denoted by .(ii)Measured distance: distance measured by a certain technique. It is denoted by . Because any measurement technique has error to some extent, we assume , where is a Gaussian distribution.(iii)Estimated distance: distance between the estimated position of and . It is denoted by .Figure 1 shows an example of these types of distances between and .
Suppose unknown node has neighbour reference nodes , we can solve the following equations to get :where is unknown quantity to solve and is position of . Due to the distance measurement error , , i.e., we cannot get the actual position of in general case. Using estimated position , the estimated distance isSince the actual distance is not known, the objective of localization is to minimize the difference between and . Therefore, the problem of localizing is formulated aswhere , which gives more influence to those reference nodes nearer to , represents the degree of irregularity of the communication range of sensor nodes, and is the side length of the deployment region of WSN. In real applications, the communication range of sensor nodes is not a perfect circle due to multipath fading, unstable signal propagation, and noise, so is introduced in (3). Given , the communication range of a sensor node varies randomly in different directions between an upper bound and a lower bound [34].
The first constraint guarantees the solution locates within the communication range of all neighbouring reference nodes, and the second constraint guarantees the solution locates within the deployment region. The third constraint denotes has neighbour reference nodes.
Due to the distance measurement error , in (3) is often a multimodal function, so we have to use optimization algorithm to solve it. It has been proved that PSO can solve this problem well in related references; this paper tries to improve its performance further.

Definition 8 (localization error). The distance between the actual and estimated positions of is called its localization error, which is denoted by . Obviously, Localization error is an important criterion to evaluate a localization algorithm.

3.2. Particle Swarm Optimization Algorithm

PSO is a popular multidimensional optimization algorithm, which models the behaviour of a flock of birds searching for corn [35]. In PSO, a swarm of particles explores in a D-dimensional hyperspace to search the global solution of an objective/fitness function. Three D-dimensional vectors are used to describe a particle : current location ; the previous location of the best fitness; and current velocity . Besides, denotes the position of the best particle so far. The basic procedure of PSO is shown in Algorithm 1.

 Initialize a swarm of particles in the given search space with random positions and velocities.
while stop criteria are not met do
  Compute the fitness values of all particles.
  Compute for all particles, and .
  Update particle according to the following formula:
,
end while

In , and are, respectively, cognitive and social acceleration coefficients, and are random numbers uniformly distributed in (0,1), and is inertia weight defined aswhere is maximum number of allowable iterations and and are, respectively, maximum and minimum weight. Further, velocities are bounded within to prevent particles from exceeding the search space. The stop criteria in line 2 used in existing PSO-based localization algorithms arewhere is the acceptable minimal (also the optimal) value of .

Most of the existing PSO-based localization algorithms are based on the above PSO version, and we call it standard PSO (SPSO). This paper also investigates CPSO (PSO with constriction coefficient) [36], which applies constriction coefficient to prevent explosion, ensure convergence, and eliminate the arbitrary parameter. The update formula of CPSO iswhere , .

3.3. Basic Idea of Proposed Localization Algorithm

The localization procedure is distributed and iterative. The anchors broadcast beacon messages, including its identifier, coordinate, and information to measure distance, to its neighbour sensor nodes, and the unknown nodes receiving at least three beacon messages are localized. These localized unknown nodes become new reference nodes to provide beacon messages to their neighbours. This procedure is repeated until none of unlocalized unknown nodes can receive at least three beacon messages. If some unknown nodes are not localized yet, they request beacon messages of reference nodes in two and three hops to assist their localization. Therefore, an unknown node may appear as one of the following modes during localization:(i)Mode 1: it has at least three neighbour anchors.(ii)Mode 2: it has less than three neighbour anchors, but it has at least three neighbour reference nodes.(iii)Mode 3: it has less than three neighbour reference nodes.

The unknown node of Mode 1 and Mode 2 selects reliable reference nodes before estimating its location by niching PSO algorithm, and the unknown node of Mode 3 needs special localization algorithm. These algorithms are presented in the next three sections.

4. Reliable Reference Node Selection

Reliability of a reference node is based on its localization error and distance to an unknown node. Localization error cannot be computed in real applications due to the absence of actual positions of unknown nodes, but the sequence of iterative localization and of PSO-based localization algorithm represent localization error to a great extent. Therefore, the reliability of reference node to localize an unknown node is defined aswhere , , and are, respectively, the sequence of iterative localization of , measured distance between and , and fitness of . , , and are weights of different parts of . is defined aswhere is a reference node to localize . is defined aswhere is the estimated location of to localize .

Further, of is a normalization function to map variable to , which is defined as

Note that and are derived from the corresponding variables (i.e., , , or ) of all neighbour reference nodes of , instead of all reference nodes of whole WSN. Moreover, according to the definition of each variable.

Reference node with the largest is chosen as the first reliable one. If there are several reference nodes have the same , each of them can be selected as the first reliable reference node. The second one is chosen based on the following value:

The reason of removing the second part of is illustrated in Figure 2(a). Suppose has 6 neighbour reference nodes , and and are shown in Table 1. is chosen as the first one. If we still use to select the second one, is the best choice. Whichever reference node we choose as the third one, the triangle formed by these chosen reference nodes will be too narrow and long to judge whether they are collinear or not.

Reference node with the largest is chosen as the second, so is chosen in Figure 2. If several reference nodes have the same , the farthest to the first chosen reference node is selected. After selecting two reference nodes, the rest reliable reference nodes are chosen based on and degree of collinearity among reference nodes. Any three reference nodes can form a triangle, and we utilize the minimal internal angle of this triangle to measure degree of collinearity of these reference nodes. If is smaller than a predefined threshold , the observed reference node is nonreliable. As shown in Figure 2(b), cannot be chosen after and if , although of is the second largest. is chosen as the third one. This process is repeated until all neighbour reference nodes of are investigated.

The detailed selection algorithm is presented in Algorithm 2. This algorithm takes the set of all neighbour reference node of an unknown node as input and returns the set of reliable reference nodes . Lines 1 and 2 choose the first reliable reference node , and lines 3-5 choose the second one . Line 9 removes reference nodes being collinear with current set of reliable reference nodes . Line 10 computes . Line 12 appends reference nodes with into . Note that may contain only two reference nodes according to this algorithm. If so, is localized by Algorithm 4 with and as inputs.

Input: unknown node and its neighbour references set ,
Output: selected reference nodes set
 Compute   for all
 Compute for all  
,  
while   do
  
  if   is not collinear with any two elements of   then
  
  if    then
    
  end if
  end if
  
end while
return

5. Niching PSO-Based Localization Algorithm

5.1. Choice of Stop Criteria of PSO

The stop criteria of PSO determine number of iterations and consequently determine time complexity of localization algorithm. There are three types of stop criteria: a prespecified maximum number of iterations, achievement of a specified acceptable solution, and lack of change in a certain successive iteration [35]. The existing PSO-based localization methods utilize , which is the combination of the first two criteria.

Obviously, if , so , then is feasible. However, in real applications, and it is difficult to give a feasible . If we observe the curves of , as shown in Figure 3 taking three test cases as examples, we can find that drops significantly before the first 100 iterations, and it keeps the same during the last 300 iterations. We also perform simulations with 1,200 different test cases using PSO-based localization algorithm and count the maximum number of iterations of the same continuous . The results are illustrated in Figure 4. There are more than 99.08% test cases keeping the same during 200 continuous iterations. On the contrary, the first iteration to achieve the final does not obey any rule, as shown in Figure 5.

Therefore, if is very large, it may waste many iterations when the same repeats continuously; but if is small, it may not achieve the best fitness. We adopt the combination of above-mentioned three stop criteria instead of , as shown in Algorithm 3.

Input: unknown node and the set of selected neighbour references
Output: estimated position of
 Initialize the search space , and divide into disjoint parts
 Evaluate the distances of to each
 Generate a group of particles in each region
 Evaluate the fitness values of all particles
 Evaluate   of all particles, and   of particles group
, ,
,
for    to    do
  for    to    do
   if    then
    Update particles of group
    Re-evaluate the fitness of these particles
    Update and
    if  then
     return  
    else  if    then
     
    else
     
    end if
    if    then
     
    end if
   end if
   end for
   if    then
    return  
   end if
  end for
  return  
Input: unknown node and its neighbour references
Output: estimated position of if can be localized
measured distances of to
positions of
roots of
if    then
  return  
else
  
   if   =   then
   return    cannot be localized
   end  if
   
  if    then
   return  
   else
   
   if    then
    
   else
    
   end if
   solution of Algorithm 3 using as inputs
   return  
  end if
end if
5.2. Niching PSO-Based Localization Algorithm

We investigate the unknown node with low localization accuracy and find that these sensor nodes are often localized at the symmetric positions of their true coordinates, which is referred to as flexible ambiguity in rigid theory [37]. Although localization algorithms based on rigid theory can cope with this problem, they need identify global-rigid patches [38, 39]. In this paper, niching technique is utilized to cope with this problem. Niching is an important technique for multimodal optimization, and lots of existing niching PSO algorithms require a niching parameter based on Euclidean distance or topology among particles [40, 41], where each particle still searches for the optima in entire space.

In the proposed algorithm, particles are divided into several subswarms, and each group searches for different subregions of the whole search space of PSO. The final result is the best particle of all subswarms. Because the reference nodes chosen by Algorithm 2 are noncollinear, this method can achieve a unique and best estimation. Moreover, the particles are constricted in a fixed subregion, so it does not need a niching parameter based on the calculation of Euclidean distance. The detailed localization algorithm is shown in Algorithm 3.

In Algorithm 3, the radio range of sensor nodes is represented by its circumscribed square. For an anchor, the side length of the square is . For a localized unknown node, the side length is , because the localization error of unknown node is less than , according to simulation results of Section 7.4. In first, the algorithm generates search space of particles based on the following method (line 1):(i) Case 1. If has at least two neighbour references and , is defined as

where and are, respectively, coordinates of the top left and bottom right corners of , if , otherwise .(ii) Case 2, If has only one neighbour reference node , is the circumscribed square of the communication range of .

is divided into equal and disjoint subregions further. The distance of to is evaluated in line 2. It is calculated as follows:(i) Case 1. If is a neighbour reference node, .(ii) Case 2. If is selected by line 17 in Algorithm 4, the distance is

where ( is measured distance between and ( and () is estimated distance from ( to .(iii) Case 3. If is selected by line 19 in Algorithm 4, the distance is(iv) Case 4. If is or generated by line 8 or 10 in Algorithm 5, the distance is(v) Case 5. If is obtained by line 15 in Algorithm 5, the distance is

Input: unknown node and its neighbour reference
Output: estimated position of if can be localized
measured distances of to
positions of
if    then
  return   cannot be localized
end if
if    then
  
else
  
  
  if    then
   return    cannot be localized
  end if
  
end if
return   solution of Algorithm 3 using as inputs

Lines 3-7 generate a group of particles in each search region and initialize some variables. is the local best position of particle group , records the number of successive iterations with same , and decides whether particle group continues to update or not. Lines 8-29 are main iteration process of niching PSO. There are four thresholds:(i) judges the difference between current and previous .(ii) and decide the maximum repeated times of the same , and .(iii) determines the degree of acceptance of . For particle group , if an unacceptable repeats more than times, or a nearly acceptable