<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s110403908</article-id>
<article-id pub-id-type="publisher-id">sensors-11-03908</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Multi-Hop Localization Algorithm Based on Grid-Scanning for Wireless Sensor Networks<xref ref-type="fn" rid="fn1-sensors-11-03908">*</xref></article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Wan</surname><given-names>Jiangwen</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Guo</surname><given-names>Xiaolei</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Yu</surname><given-names>Ning</given-names></name><xref ref-type="corresp" rid="c1-sensors-11-03908"><sup>†</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Wu</surname><given-names>Yinfeng</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Feng</surname><given-names>Renjian</given-names></name></contrib>
<aff id="af1-sensors-11-03908">School of Instrument Science and Opto-Electronics Engineering, Beijing University of Aeronautics and Astronautics (Beihang University), Beijing 100191, China; E-Mails: <email>jwwan@buaa.edu.cn</email> (J.W.); <email>xiaoleiguo@aspe.buaa.edu.cn</email> (X.G.); <email>yfwu@buaa.edu.cn</email> (Y.W.); <email>rjfeng@buaa.edu.cn</email> (R.F.)</aff></contrib-group>
<author-notes><fn id="fn1-sensors-11-03908">
<label>*</label>
<p>Based on “Grid-Scan-based Multi-hop Localization Algorithm for Wireless Sensor Networks”, by Xiaolei Guo, Ning Yu, Renjian Feng, Yinfeng Wu and Jiangwen Wan, which appeared in 2010 IEEE Sensors Conference Proceedings. © 2010 IEEE.</p></fn>
<corresp id="c1-sensors-11-03908">
<label>†</label> Author to whom correspondence should be addressed; E-Mail: <email>sensory@buaa.edu.cn</email>; Tel.: +86-10-8233-8089; Fax: +86-10-8233-9889.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2011</year></pub-date>
<pub-date pub-type="epub">
<day>31</day>
<month>3</month>
<year>2011</year></pub-date>
<volume>11</volume>
<issue>4</issue>
<fpage>3908</fpage>
<lpage>3938</lpage>
<history>
<date date-type="received">
<day>6</day>
<month>1</month>
<year>2011</year></date>
<date date-type="rev-recd">
<day>18</day>
<month>3</month>
<year>2011</year></date>
<date date-type="accepted">
<day>18</day>
<month>3</month>
<year>2011</year></date></history>
<permissions>
<copyright-statement>© 2011 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2011</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>For large-scale wireless sensor networks (WSNs) with a minority of anchor nodes, multi-hop localization is a popular scheme for determining the geographical positions of the normal nodes. However, in practice existing multi-hop localization methods suffer from various kinds of problems, such as poor adaptability to irregular topology, high computational complexity, low positioning accuracy, <italic>etc.</italic> To address these issues in this paper, we propose a novel <italic>Multi-hop Localization algorithm based on Grid-Scanning</italic> (MLGS). First, the factors that influence the multi-hop distance estimation are studied and a more realistic multi-hop localization model is constructed. Then, the feasible regions of the normal nodes are determined according to the intersection of bounding square rings. Finally, a verifiably good approximation scheme based on grid-scanning is developed to estimate the coordinates of the normal nodes. Additionally, the positioning accuracy of the normal nodes can be improved through neighbors’ collaboration. Extensive simulations are performed in isotropic and anisotropic networks. The comparisons with some typical algorithms of node localization confirm the effectiveness and efficiency of our algorithm.</p></abstract>
<kwd-group>
<kwd>wireless sensor networks</kwd>
<kwd>multi-hop localization</kwd>
<kwd>feasible region</kwd>
<kwd>grid-scanning</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Recent advances in the fields of wireless communication, micro-electro-mechanical systems (MEMS) and embedded processing have enabled the emergence of wireless sensor networks (WSNs). WSNs consist of a large number of low-cost, low-consumption, small-size, and multi-functional sensor nodes. Usually, they are randomly deployed (e.g., nodes are scattered from the air) in complex environments to execute a wide variety of tasks, such as environmental monitoring, bush fire surveillance, wildlife behavior studies, target tracking, battlefield spying, <italic>etc.</italic> ([<xref ref-type="bibr" rid="b1-sensors-11-03908">1</xref>–<xref ref-type="bibr" rid="b3-sensors-11-03908">3</xref>]). For these purposes, each sensor node needs to collaborate with others in sensing events of interest by exchanging acquired data. If the data sent by a node carries no or incorrect position information, they would be meaningless or even harmful. In addition, the positions of sensor nodes are in great demand for some location-aware network protocols, such as location-based routing, data aggregation, node querying, <italic>etc.</italic> Therefore, node localization is an important subject in WSNs. In recent years, various node localization schemes for WSNs have been proposed and a comprehensive survey is provided in [<xref ref-type="bibr" rid="b4-sensors-11-03908">4</xref>–<xref ref-type="bibr" rid="b6-sensors-11-03908">6</xref>] and the references therein.</p>
<p>The task of WSN node localization is to determine the positions of sensor nodes without initial location information (normal or unknown nodes) based on the knowledge of sensor nodes with initial location information (anchor or beacon nodes) and inter-node distance or bearing measurements. Since anchor nodes usually obtain their coordinates from global positioning system (GPS) receivers or manual configuration in fixed places, raising the number of anchor nodes will significantly increase the cost of network deployment. They should therefore make up only a small proportion of nodes in large-scale WSNs. Thus, many normal nodes may fail to estimate their positions due to their short-range measurement. To solve this problem, three types of localization schemes are proposed, namely, centralized algorithms, recursive algorithms, and multi-hop algorithms.</p>
<p>In centralized algorithms, a powerful processing node collects all inter-node measurements to produce a global topology map of the WSN and then distributes all the nodes’ location information to the network. Typical centralized algorithms include MDS-MAP [<xref ref-type="bibr" rid="b7-sensors-11-03908">7</xref>], SDP [<xref ref-type="bibr" rid="b8-sensors-11-03908">8</xref>], SA [<xref ref-type="bibr" rid="b9-sensors-11-03908">9</xref>], <italic>etc.</italic> Centralized algorithms are likely to provide more accurate location estimates than others, but they are less energy-efficient. This is because shuttling every node’s measurement data to the central node would bring about high energy consumption and put too high a strain on nodes that are close to the central node. In addition, centralized algorithms have poor scalability and generally are not suitable for application in large-scale WSNs. Contrary to centralized algorithms, recursive and multi-hop algorithms are two distributed localization technologies. In recursive algorithms, the localization process propagates from an area that is close to the initial anchor nodes to an area where the initial anchor nodes are inaccessible. Any normal node that has estimated its position becomes a secondary anchor node, and broadcasts its coordinates to assist other nodes in estimating their locations. Recursive algorithms perform well in small-scale networks, but in large-scale WSNs, they suffer from the adverse effects of error propagation and accumulation. With the increased number of iterations, the localization errors would be progressively transmitted and amplified, eventually leading to unbounded errors. In multi-hop algorithms, the normal nodes are not necessarily the one-hop neighbors of anchor nodes. At any time, each node only exchanges its available estimates to anchor nodes acquired so far with its immediate neighbors. Based on the local information collected from neighbors, most normal nodes could be localized simultaneously. Multi-hop algorithms could prevent the propagation of localization errors. They have better real-time performance and require less communication overhead. Therefore, multi-hop localization has received more and more attention in recent years.</p>
<p>In this paper, we analyze the advantages and disadvantages of existing node localization schemes and propose a novel <italic>Multi-hop Localization algorithm based on Grid-Scanning</italic> (MLGS) for large-scale WSNs [<xref ref-type="bibr" rid="b10-sensors-11-03908">10</xref>]. Our contributions can be summarized as follows:
<list list-type="order">
<list-item>
<p>To improve the topology adaptability and accuracy of multi-hop localization, we study the factors that influence the multi-hop distance estimation and give a quantitative rule for setting the weight of reference information, based on which a more realistic weighted constrained multi-hop localization model is constructed.</p></list-item>
<list-item>
<p>We come up with a novel approach to determine the scope of node coordinates. Due to the uncertainties in estimated distances, the normal nodes could not be localized in fixed points accurately. Usually, they could only be bounded in a certain region. In this paper, we define the feasible region as the intersection of bounding square rings. By computing the feasible region, we are able to restrict the candidates of node coordinates within a small scope.</p></list-item>
<list-item>
<p>We design a lightweight and local optimum-avoidable method for the estimation and refinement of node coordinates based on grid-scanning, which is very suitable to senor nodes of limited energy and computing power. Extensive simulations show that MLGS has higher localization accuracy and less computation cost than existing typical schemes, and can perform well, even in anisotropic networks.</p></list-item></list></p>
<p>The remainder of the article is organized as follows. Section 2 discusses some of the previous works on WSN node localization. Section 3 formulates the multi-hop localization problems and introduces the necessary definitions. Section 4 presents in detailed the MLGS algorithm procedure. Section 5 evaluates the performance of MLGS through experiments. Finally, Section 6 concludes this paper.</p></sec>
<sec>
<label>2.</label>
<title>Related Works</title>
<sec>
<label>2.1.</label>
<title>Centralized Algorithms</title>
<p>In the literature, there exist three main kinds of centralized localization algorithms [<xref ref-type="bibr" rid="b5-sensors-11-03908">5</xref>]: multidimensional scaling (MDS), convex programming and stochastic optimization approaches. Shang <italic>et al.</italic> [<xref ref-type="bibr" rid="b7-sensors-11-03908">7</xref>] proposed a centralized algorithm called MDS-MAP. By applying MDS technology to the matrix comprised by the distances or hop counts between all pairs of nodes, the relative positions of all nodes can be obtained. MDS-MAP is robust to measurement errors and only needs a small number of anchor nodes (three or more for 2D, four or more for 3D) to estimate the absolute coordinates of normal nodes. For a network that has <italic>n</italic> nodes, MDS-MAP needs to take <italic>O</italic>(<italic>n</italic><sup>3</sup>) operations to compute all nodes’ coordinates. With the increase of network size, the operations of MDS-MAP increase dramatically. To make MDS-MAP more applicable to WSNs and have a better performance in irregularly-shaped networks, Shang <italic>et al.</italic> [<xref ref-type="bibr" rid="b11-sensors-11-03908">11</xref>] improved MDS-MAP to a distributed fashion by using patches of relative maps, namely, MDS-MAP(P). The main idea of MDS-MAP(P) is to build a local map at each node of the immediate vicinity and then merge these maps together to form a global map. Since a large number of iterations are required for MDS-MAP(P) to converge, the communication and computation cost in map-merging process is high.</p>
<p>Doherty <italic>et al.</italic> [<xref ref-type="bibr" rid="b12-sensors-11-03908">12</xref>] modeled the peer-to-peer communication of all nodes as a set of geometric constraints and yielded the global solutions of all unknown coordinates using convex optimization technology. They also gave a method for placing rectangular bounds around the possible positions for all normal nodes. Providing that the constraints are tight enough, the estimated values of this scheme are close to the actual positions of normal nodes. However, when the network density is small or the anchor nodes are not placed around the network boundary, the performance of this scheme would decrease significantly. Biswas <italic>et al.</italic> [<xref ref-type="bibr" rid="b8-sensors-11-03908">8</xref>] formulated WSNs localization as a semi-definite programming (SDP) problem through relaxation. The optimization problem is set up so as to minimize the errors in sensor positions for fitting the distance measurements. Similar to MDS-MAP, SDP requires only a few anchor nodes to estimate the positions of all normal nodes in WSNs, but it still demands extensive storage and computation when the network size is large.</p>
<p>To solve the problem of flip ambiguity in WSNs localization, Kannan <italic>et al.</italic> [<xref ref-type="bibr" rid="b9-sensors-11-03908">9</xref>] proposed a two-phase localization (SAL) algorithm based on simulated annealing, and it is still a centralized algorithm. Simulated annealing is a stochastic optimization technique that is robust against being trapped in local minima. In the first phase of SAL, simulated annealing is used to obtain the initial location estimation. Then, a second phase of optimization is performed only on those nodes that are likely to have flip ambiguity problems based on the neighborhood information of nodes. SAL gives better accuracy than SDP and does not propagate localization errors, but SAL may fail to identify the flipped node when the network density is low, and the computation and communication cost of SAL is higher.</p></sec>
<sec>
<label>2.2.</label>
<title>Iterative Algorithms</title>
<p>Iterative localization schemes, such as the <italic>ad hoc</italic> localization system (AHLoS) [<xref ref-type="bibr" rid="b13-sensors-11-03908">13</xref>], usually have a three-phase process. In the first phase, the normal nodes estimate the distances to their neighboring anchor nodes. In the second phase, the normal nodes compute their coordinates using the ranging information and the positions of their neighboring anchor nodes. In the third phase, any normal node that has estimated its position becomes an anchor node and assists other nodes in calculating their coordinates. This process iterates to estimate the positions of as many nodes as possible. Although iterative algorithms only need a small number of clustered anchors to localize the majority of normal nodes, they suffer from the propagation and accumulation of localization errors, especially in large-scale WSNs.</p>
<p>Most recent research works on iterative localization are focus on how to minimize the jeopardy of accumulated errors. Liu <italic>et al.</italic> [<xref ref-type="bibr" rid="b14-sensors-11-03908">14</xref>] studied some questions such as where localization error comes from and how it propagates from a node to another one, and then developed an error control mechanism based on the characterization of node uncertainty and the active selection strategy of anchor nodes. The error control mechanism uses only local knowledge and can mitigate the effect of error propagation for both range and directional sensors to a certain extent. Yu <italic>et al.</italic> [<xref ref-type="bibr" rid="b15-sensors-11-03908">15</xref>] proposed a two-stage localization scheme. First, localization starts from the nodes with the largest numbers of neighboring anchors and priority is always given to nodes with more neighboring anchors or localized nodes. Then, the locations of all neighboring nodes are exploited to improve localization accuracy. During the localization process, a number of measures are also taken to ensure the reliability of each location estimate to avoid abnormal errors and reduce error propagation. Vemula <italic>et al.</italic> [<xref ref-type="bibr" rid="b16-sensors-11-03908">16</xref>] formulated the sensor localization from a probabilistic point of view and proposed four schemes that incorporate anchor position uncertainty to estimate the distribution (mean and covariance) of node coordinates, including iterative least squares (LS) and Bayesian (BS) methods, Monte Carlo importance sampling (IS) and cost-based (CS) methods. These schemes above have relatively good performance in inhibiting the accumulation of localization errors, but the high computational complexity and increased communication cost limit their application in practice.</p></sec>
<sec>
<label>2.3.</label>
<title>Multi-Hop Algorithms</title>
<p>By approximating the length of the shortest path to the Euclidean distance, multi-hop localization schemes can infer the distances between any pairs of non-neighboring nodes. Based on the idea of Distance Vector (DV) routing and GPS positioning, Niculescu <italic>et al.</italic> [<xref ref-type="bibr" rid="b17-sensors-11-03908">17</xref>] proposed DV-distance (range-based) and DV-hop (range-free) algorithms. They are the origination of multi-hop localization schemes for WSNs. In both algorithms, each anchor node first broadcasts a message that carries its location information to its immediate neighbors. Then, the message is propagated in WSNs in a controlled flood manner that is similar with the distance vector routing. At the same time, each normal node estimates the lengths of shortest paths or minimum hop counts to anchor nodes. If a normal node obtains the estimates to at least three (for 2D) or four (for 3D) anchor nodes, its position can be calculated by using multilateration. DV-distance and DV-hop are low-cost localization solutions, but their accuracy is built on the assumption that the shortest path between a pair of nodes is close to a straight line, which may not always be achievable in anisotropic or sparse networks.</p>
<p>Lim <italic>et al.</italic> [<xref ref-type="bibr" rid="b18-sensors-11-03908">18</xref>] designed a proximity-distance map (PDM) to characterize the anisotropic features of WSNs. Actually, PDM is a semi-centralized algorithm. First, the anchor nodes derive an optimal linear transformation collaboratively to map the precise Euclidean distances and the proximities between pairwise anchors. Then, the map is sent to normal nodes to assist them in modifying their multi-hop distance estimations. The intuition of PDM is that the topology character of entire WSNs can be well represented by anchor nodes, but it is not the case in anchor clustered networks. Cheng <italic>et al.</italic> [<xref ref-type="bibr" rid="b19-sensors-11-03908">19</xref>] investigated the effect of adverse placement and density of anchors on the accuracies of different algorithms, and developed an algorithm called hybrid localization (HyBloc) to provide reliable localization service with a limited number of clustered anchors. HyBloc combines two techniques, MDS-MAP and PDM. First, MDS-MAP is used to increase the number of anchor nodes in order to extend the anchor coverage of PDM. Then, the normal nodes are localized through PDM. HyBloc could give results as accurate as those of MDS-MAP and is less susceptible to the adverse effect of anchor placement, but it requires more communication and computation cost than PDM.</p>
<p>Shang <italic>et al.</italic> [<xref ref-type="bibr" rid="b20-sensors-11-03908">20</xref>] studied the effect of anchor selection on multi-hop localization of WSNs. The experimental results show that using only the four nearest anchor nodes could get better localization performance in most cases. In the rest of this paper, we denote this algorithm as 4-Multihop. Wong <italic>et al.</italic> [<xref ref-type="bibr" rid="b21-sensors-11-03908">21</xref>] proposed a density-aware hop-count localization (DHL) algorithm. In DHL, node density is considered and an empirical range ratio (the ratio of expected hop distance to node’s transmission range for a given local density) table is constructed to reduce the overestimation of multi-hop distances. Xiao <italic>et al.</italic> [<xref ref-type="bibr" rid="b22-sensors-11-03908">22</xref>] proposed a novel scheme called reliable anchor-based localization (RAL) to eliminate the adverse impact of detoured paths from unreliable anchor nodes. Based on the theoretical analysis of the minimum hop length for uniformly distributed networks, a reliable minimal hop-length table that can help to judge whether a multi-hop path is severely detoured is constructed offline. At runtime, each node only utilizes the distance constraints obtained from reliable anchors to determine its position. Wang <italic>et al.</italic> [<xref ref-type="bibr" rid="b23-sensors-11-03908">23</xref>] presented an improved multi-hop algorithm called i-Multihop to minimize the effect of erroneous multi-hop estimated distances on node localization. i-Multihop has higher computational complexity. First, the upper bound constraints are used to filter out the incorrect distance estimations and the estimated position is pinpointed to the intersection constrained by the correct distances. Second, the distance fitting is used to fit correct distance measurements, which makes the final estimated position is not affected by the layout of anchor nodes. Wan <italic>et al.</italic> [<xref ref-type="bibr" rid="b24-sensors-11-03908">24</xref>] were concerned with the optimization problem for coordinate calculation in node localization and proposed three schemes based on least squares (LS) and multilateration, namely, Taylor-LS, weighted Taylor-based least squares (WLS) and constrained total least squares (CTLS). Moreover, a generalized Cramér-Rao lower bound (CRLB) is developed to theoretically analyze the performance of multi-hop localization approaches. Although these methods above can guarantee localization performance under certain conditions, most of them may expose certain problems in practice, which include: (1) lacking a local or global geometrical view of WSNs, they are vulnerable to irregular network topologies, (2) unreasonable to treat every reference information in a same priority, especially the one-hop information and the multi-hop one, their localization accuracy needs to be improved, (3) high computational complexity and easy to get stuck at local optimum. These problems inspire the work of this paper.</p></sec></sec>
<sec>
<label>3.</label>
<title>Preliminaries</title>
<sec>
<label>3.1.</label>
<title>Problem Formulation</title>
<p><xref ref-type="fig" rid="f1-sensors-11-03908">Figures 1</xref> and <xref ref-type="fig" rid="f2-sensors-11-03908">2</xref> show two different types of WSNs. The solid dots ‘
<inline-graphic xlink:href="sensors-11-03908i1.gif"/>’ and hollow dots ‘○’ represent anchor nodes and normal nodes, respectively. In <xref ref-type="fig" rid="f1-sensors-11-03908">Figure 1</xref>, all nodes are randomly scattered in a 200 × 200 square area to form an isotropic network, while all nodes in <xref ref-type="fig" rid="f2-sensors-11-03908">Figure 2</xref> are deployed in an H-shaped area to form an anisotropic network. In practice, the anisotropic characteristic results from certain unavoidable reasons, such as non-convex deployment region, node failure or movement, different node densities, obstacle interfering, <italic>etc.</italic> A typical example of anisotropic network is that WSNs are deployed in streets of urban areas where nodes may be separated from each other by buildings, which results in H-shape topology. Without loss of generality, we consider a network consisting of <italic>m</italic> anchor nodes and <italic>n</italic> normal nodes. The identities (IDs) of anchor nodes are from 1 to <italic>m</italic> and those of normal nodes are from <italic>m +</italic> 1 to <italic>m + n</italic>. Each node’s communication and ranging radius is <italic>R</italic>. The network graph can be defined as <bold><italic>G</italic></bold> = (<bold><italic>V</italic></bold><italic><sub>m</sub></italic> ∪ <bold><italic>V</italic></bold><italic><sub>n</sub></italic>, <bold><italic>E</italic></bold>), where <bold><italic>V</italic></bold><italic><sub>m</sub></italic> and <bold><italic>V</italic></bold><italic><sub>n</sub></italic> are respectively anchor node set and normal node set. <bold><italic>E</italic></bold> is measurable distance set of all pairs of neighboring vertexes (<italic>i</italic>, <italic>j</italic>), <italic>i</italic>, <italic>j</italic> ∈ <bold><italic>V</italic></bold><italic><sub>m</sub></italic> ∪ <bold><italic>V</italic></bold><italic><sub>n</sub></italic>. The objective of WSNs localization is to recover the coordinates of the vertexes in normal node set <bold><italic>V</italic></bold><italic><sub>n</sub></italic> under the constraints of edge set <bold><italic>E</italic></bold> and anchor node set <bold><italic>V</italic></bold><italic><sub>n</sub></italic>. The coordinates of node <italic>N<sub>p</sub></italic> can be described by <bold><italic>X</italic></bold><italic><sub>p</sub></italic> = [<italic>x<sub>p</sub></italic>, <italic>y<sub>p</sub></italic>]<italic><sup>T</sup></italic>. The Euclidean distance from <italic>N<sub>p</sub></italic> to its neighbor <italic>N<sub>q</sub></italic> is <italic>d<sub>pq</sub></italic> = ‖<bold><italic>X</italic></bold><italic><sub>p</sub></italic>–<bold><italic>X</italic></bold><italic><sub>q</sub></italic>‖<sub>2</sub>. The corresponding measurable distance is <italic>d′<sub>pq</sub></italic> = <italic>d<sub>pq</sub></italic> + <italic>ɛ<sub>pq</sub></italic>, where the ranging error <italic>ɛ<sub>pq</sub></italic> ∈ (−<italic>αd<sub>pq</sub></italic>, <italic>αd<sub>pq</sub></italic>). The ranging error factor <italic>α</italic> reflects the ranging capability of sensor nodes.</p>
<p>In multi-hop scenarios, through hop by hop dissemination of the estimated distances to anchor nodes in a controlled flooding manner [<xref ref-type="bibr" rid="b17-sensors-11-03908">17</xref>], the normal node <italic>N<sub>a</sub></italic> can estimate the distance <italic>d′<sub>ai</sub></italic> to the anchor node <italic>N<sub>i</sub></italic>. <italic>d′<sub>ai</sub></italic> includes three cases:
<list list-type="order">
<list-item>
<p>If <italic>N<sub>a</sub></italic> and <italic>N<sub>i</sub></italic> are neighboring nodes, <italic>N<sub>a</sub></italic> can measure the distance to <italic>N<sub>i</sub></italic>. Thus <italic>d′<sub>ai</sub></italic> is the measurable distance between <italic>N<sub>a</sub></italic> and <italic>N<sub>i</sub></italic>.</p></list-item>
<list-item>
<p>If <italic>N<sub>a</sub></italic> and <italic>N<sub>i</sub></italic> are non-neighboring nodes, but <italic>N<sub>a</sub></italic> does not exceed the TTL (time to live) field of <italic>N<sub>i</sub></italic>’s propagation packets, <italic>d′<sub>ai</sub></italic> can be approximated by the length of shortest path between <italic>N<sub>a</sub></italic> and <italic>N<sub>i</sub></italic>.</p></list-item>
<list-item>
<p>If <italic>N<sub>a</sub></italic> exceeds the TTL field of <italic>N<sub>i</sub></italic>’s packets, <italic>d′<sub>ai</sub></italic> can’t be estimated by multi-hop information transmission. Thus we denote <italic>d′<sub>ai</sub></italic> = ∞.</p></list-item></list></p>
<p>As shown in <xref ref-type="fig" rid="f1-sensors-11-03908">Figure 1</xref>, when <italic>N<sub>a</sub></italic> gets enough estimated distances <italic>d′<sub>ai</sub></italic> (<italic>i</italic> = 1, 2, ⋯, <italic>K</italic> to anchor nodes, a system of Euclidean equations can be set up:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:msqrt>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:msqrt>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mo>⋮</mml:mo></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>K</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mi>K</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:msqrt>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>K</mml:mi></mml:mrow>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>K</italic> represents the maximum number of estimated distances <italic>N<sub>a</sub></italic> gets (in <xref ref-type="fig" rid="f1-sensors-11-03908">Figure 1</xref>, <italic>K</italic> = 6). In 2D scenarios, the node localization problem can be seen as solving an intersection point among several circles. In this case, at least three estimated distances are required to determine a normal node’s position. Similarly, in 3D scenarios, it requires at least four spheres to determine an intersection point, <italic>i.e.</italic>, <italic>K</italic> should be no less than four. In our paper, we mainly consider the 2D localization problem.</p>
<p>If <italic>d′<sub>ai</sub></italic> is accurate, solving (1) can obtain the true value of <italic>N<sub>a</sub></italic>’s coordinates <bold><italic>X</italic></bold><italic><sub>a</sub></italic> = [<italic>x<sub>a</sub></italic>, <italic>y<sub>a</sub></italic>]<italic><sup>T</sup></italic>. However, due to ranging errors and approximations of multi-hop distances, <italic>d′<sub>ai</sub></italic> suffers from certain uncertainty which directly leads to the localization errors of sensor nodes. Especially in anisotropic networks, the shortest paths between pairs of non-neighboring nodes may be distorted by concave area and deviate far away from the Euclidean distances (e.g., the shortest path <italic>P<sub>a</sub></italic><sub>1</sub> between <italic>N<sub>a</sub></italic> and <italic>N</italic><sub>1</sub> shown in <xref ref-type="fig" rid="f2-sensors-11-03908">Figure 2</xref>). In this case, approximating the lengths of shortest paths to Euclidean distances would give rise to erroneous localization results. How to mitigate the influence of irregular network topology on node localization and improve the localization accuracy is one topic of our study.</p>
<p>Various optimization approaches have been proposed to solve the multilateration problems, among which nonlinear least squares solver (e.g., Levenberg-Marquardt method) and Taylor-series estimator are the most commonly used. However, most of these optimization methods are complex and resource-intensive and therefore usually not applicable to resource-limited sensor nodes. In addition, these methods contain an iterative operation procedure which usually converges to a local minimum close to the initial point. To get a better solution, they need an ideally initial point that is approaching to node’s actual position, but it is not an easy task to obtain such a point. Therefore, reducing the computational complexity and preventing the local optimum from emergence is another main topic of this paper.</p></sec>
<sec>
<label>3.2.</label>
<title>Definitions</title>
<p>Before describing our MLGS algorithm, we introduce some necessary definitions:
<list list-type="order">
<list-item>
<p><italic>Local density</italic> (<italic>LD</italic>) [<xref ref-type="bibr" rid="b21-sensors-11-03908">21</xref>]: the number of neighboring nodes per node’s communication area. If <italic>N<sub>a</sub></italic> has <italic>T<sub>a</sub></italic> neighboring nodes, we denote the local density of <italic>N<sub>a</sub></italic> as <italic>LD<sub>a</sub></italic> = <italic>T<sub>a</sub></italic>. Given a network consisting <italic>n</italic> nodes, its network connectivity is defined as the average value of <italic>n</italic> nodes’ local densities.</p></list-item>
<list-item>
<p><italic>Multi-hop density</italic> (<italic>MHD</italic>): if the shortest path <italic>P</italic><sub>1</sub><italic><sub>K</sub></italic> between node <italic>N</italic><sub>1</sub> and <italic>N<sub>K</sub></italic> passes nodes {<italic>N</italic><sub>1</sub>, <italic>N</italic><sub>2</sub>, ⋯, <italic>N<sub>K</sub></italic>}, the sum of the <italic>K</italic> nodes’ local densities is defined as <italic>P</italic><sub>1</sub><italic><sub>K</sub></italic>’s multi-hop density. We denote that:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">MHD</mml:mi>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mi>K</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>K</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">LD</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:math></disp-formula></p></list-item>
<list-item>
<p><italic>Multi-hop count</italic> (<italic>MHC</italic>): the minimal number of hops between a pair of non-neighboring nodes (also the number of line segments in a shortest path). If the shortest path <italic>P</italic><sub>1<italic>K</italic></sub> passes <italic>K</italic> nodes, <italic>P</italic><sub>1<italic>K</italic></sub>’s multi-hop count is <italic>MHC</italic><sub>1<italic>K</italic></sub> = <italic>K</italic> − 1.</p></list-item>
<list-item>
<p><italic>Bounding square ring</italic> (<bold><italic>BSR</italic></bold>): the constraint region in the shape of square ring where a normal node is. Based on the estimated distance <italic>d′<sub>ai</sub></italic>, <italic>N<sub>a</sub></italic> can obtain one of its bounding square rings, which is denoted as <bold><italic>BSR</italic></bold><italic><sub>ai</sub></italic>.</p></list-item>
<list-item>
<p><italic>Feasible region</italic> (<bold><italic>FR</italic></bold>): the intersection area of <italic>N<sub>a</sub></italic>’s all bounding square rings is defined as <italic>N<sub>a</sub></italic>’s feasible region. In general, the smaller <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> is, the more accurately <italic>N<sub>a</sub></italic>’s coordinates can be pinpointed. Therefore, the size of <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> can be regard as the criterion of reckoning the localization accuracy of node <italic>N<sub>a</sub></italic>.</p></list-item></list></p>
<p>The details of bounding square ring and feasible region will be discussed in Section 4.3.1.
<list list-type="simple">
<list-item>
<p>(6) <italic>Grid granularity</italic> (<italic>g</italic>): a normal node’s feasible region can be divided into some sub-grids of equal size, the size of a sub-grid is called grid granularity. It can be represented by the ratio of side length of a sub-grid to node’s communication radius. The details of grid granularity will be described in Section 4.3.2.</p></list-item></list></p></sec></sec>
<sec>
<label>4.</label>
<title>MLGS Algorithm</title>
<p>In this section, we describe the proposed MLGS algorithm for WSN node localization. In general, MLGS can be divided into four phases: network initialization, construction of multi-hop localization model, estimation of node coordinates, and localization refinement (an optional phase). The details of each phase are given in the following.</p>
<sec>
<label>4.1.</label>
<title>Network Initialization</title>
<p>Similar but not identical to the DHL algorithm proposed by Wong <italic>et al.</italic> [<xref ref-type="bibr" rid="b21-sensors-11-03908">21</xref>], in MLGS, the network is initialized in a controlled flood manner that is aware of path-length (in distance) and multi-hop density. We also set a TTL field for propagation packets to reduce the communication cost of sensor nodes. The steps of network initialization are shown as follows (see <xref ref-type="fig" rid="f3-sensors-11-03908">Figure 3</xref>):</p>
<p><bold><italic>Step</italic></bold> <bold>1.</bold> Each node first broadcasts a challenge packet ‘I’m <italic>N<sub>p</sub></italic>. Who is my neighbor?’. Any node that receives the challenge packet then sends a response packet ‘I’m <italic>N<sub>q</sub></italic>. I’m your neighbor.’ to the corresponding node. All nodes count the number of respond packets they receives to get their local densities. At the same time, all nodes measure the distances to their neighboring nodes.</p>
<p><bold><italic>Step</italic></bold> <bold>2.</bold> Each anchor node <italic>N<sub>i</sub></italic> broadcasts a location information packet <bold><italic>F</italic></bold><italic><sub>i</sub></italic> = {<italic>i</italic>, <bold><italic>X</italic></bold><italic><sub>i</sub></italic>, <italic>MHC<sub>i</sub></italic>, <italic>MHD<sub>i</sub></italic>, <italic>d′<sub>i</sub></italic>} that contains its ID <italic>i</italic> and coordinates <bold><italic>X</italic></bold><italic><sub>i</sub></italic>. Here, <italic>MHD<sub>i</sub></italic> is multi-hop density of the shortest path to <italic>N<sub>i</sub></italic>. Its initial value is <italic>N<sub>i</sub></italic>’s local density <italic>LD<sub>i</sub></italic>. <italic>MHC<sub>i</sub></italic> and <italic>d′<sub>i</sub></italic> are multi-hop count and length of the shortest path to <italic>N<sub>i</sub></italic>, respectively. Both initial values are set to 0.</p>
<p><bold><italic>Step</italic></bold> <bold>3.</bold> When node <italic>N<sub>p</sub></italic> receives <bold><italic>F</italic></bold><italic><sub>i</sub></italic> that is directly transmitted by <italic>N<sub>i</sub></italic> (<italic>N<sub>p</sub></italic> is <italic>N<sub>i</sub></italic>’s neighboring node), it upgrades <bold><italic>F</italic></bold><italic><sub>i</sub></italic> to {<italic>i</italic>, <bold><italic>X</italic></bold><italic><sub>i</sub></italic>, <italic>MHC<sub>i</sub></italic> + 1, <italic>MHD<sub>i</sub></italic> + <italic>LD<sub>p</sub></italic>, <italic>d′<sub>i</sub></italic> + <italic>d′<sub>pi</sub></italic>}, then stores and forwards the new <bold><italic>F</italic></bold><italic><sub>i</sub></italic>.</p>
<p><bold><italic>Step</italic></bold> <bold>4.</bold> When node <italic>N<sub>p</sub></italic> receives <bold><italic>F</italic></bold><italic><sub>i</sub></italic> that is forwarded by its neighboring node <italic>N<sub>q</sub></italic> (<italic>N<sub>p</sub></italic> is not <italic>N<sub>i</sub></italic>’s neighboring node), it first examines whether it received <bold><italic>F</italic></bold><italic><sub>i</sub></italic> before. If not, same to step 3, <italic>N<sub>p</sub></italic> updates <bold><italic>F</italic></bold><italic><sub>i</sub></italic> to {<italic>i</italic>, <bold><italic>X</italic></bold><italic><sub>i</sub></italic>, <italic>MHC<sub>i</sub></italic> + 1, <italic>MHD<sub>i</sub></italic> + <italic>LD<sub>p</sub></italic>, <italic>d′<sub>i</sub></italic> + <italic>d′<sub>pq</sub></italic>}, stores and forwards the new <bold><italic>F</italic></bold><italic><sub>i</sub></italic>. Otherwise, there are two cases:
<list list-type="order">
<list-item>
<p>If <italic>d′<sub>i</sub></italic> + <italic>d′<sub>pq</sub></italic> &lt; <italic>d′<sub>i</sub></italic>(<italic>old</italic>), where <italic>d′<sub>i</sub></italic>(<italic>old</italic>) is the multi-hop estimated distance <italic>N<sub>p</sub></italic> has stored, <italic>N<sub>p</sub></italic> updates <bold><italic>F</italic></bold><italic><sub>i</sub></italic> and stores it. When <italic>MHC<sub>i</sub></italic> + 1 &lt; TTL, <italic>N<sub>p</sub></italic> forwards the new <bold><italic>F</italic></bold><italic><sub>i</sub></italic>. Otherwise, <italic>N<sub>p</sub></italic> doesn’t forward it.</p></list-item>
<list-item>
<p>If <italic>d′<sub>i</sub></italic> + <italic>d′<sub>pq</sub></italic> ≥ <italic>d′<sub>i</sub></italic>(<italic>old</italic>), <italic>N<sub>p</sub></italic> discards the newly received <bold><italic>F</italic></bold><italic><sub>i</sub></italic>.</p></list-item></list></p>
<p><bold><italic>Step</italic></bold> <bold>5.</bold> Repeat steps 3 and 4 until there is no message exchange in the network. Finally, the normal nodes can get the multi-hop counts, the multi-hop densities and the lengths of shortest paths to the anchor nodes that do not exceed the range of TTL.</p></sec>
<sec>
<label>4.2.</label>
<title>Construction of Multi-Hop Localization Model</title>
<p>When normal node <italic>N<sub>a</sub></italic> gets enough estimated distances <italic>d′<sub>ai</sub></italic>(<italic>i</italic> = 1, 2, ⋯, <italic>K</italic> to anchor nodes, a multi-hop localization model can be constructed based on the principle of weighted constrained least squares estimator:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math display="block">
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mtext mathvariant="bold-italic">X</mml:mtext>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mtext>arg min</mml:mtext></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold-italic">X</mml:mtext>
<mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:munder>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>K</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold-italic">X</mml:mtext>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold-italic">X</mml:mtext>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext>subject to</mml:mtext>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold-italic">X</mml:mtext>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>∈</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold-italic">FR</mml:mtext>
<mml:mi>a</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mtext mathvariant="bold-italic">X</mml:mtext>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> is the estimative value of <italic>N<sub>a</sub></italic>’s coordinates <bold><italic>X</italic></bold><italic><sub>a</sub></italic>. <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> is the feasible region of <italic>N<sub>a</sub></italic>. The weight <italic>w<sub>ai</sub></italic> of reference information {<bold><italic>X</italic></bold><sub><italic>i</italic></sub>, <italic>d′<sub>ai</sub></italic>} is in inverse proportion to distance estimation error <italic>Δ<sub>ai</sub></italic>. The bigger <italic>Δ<sub>ai</sub></italic> is, the smaller <italic>w<sub>ai</sub></italic> is, <italic>i.e.</italic>, <italic>w<sub>ai</sub></italic>∝(1/<italic>Δ<sub>ai</sub></italic>).</p>
<p>We mainly discuss the rules for setting <italic>w<sub>ai</sub></italic> in this sub-section. How to determine the feasible region <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> will be discussed in Section 4.3.1. Since the multi-hop distance estimation errors mainly arise from the approximations between the lengths of the shortest paths and the Euclidean distances, they are usually larger than the direct ranging errors. Consequently, the multi-hop reference information should be assigned to a smaller weight in multi-hop localization. According to multi-hop count <italic>MHC<sub>ai</sub></italic>, we set <italic>w<sub>ai</sub></italic> as follows:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">MHC</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&lt;</mml:mo>
<mml:mi>p</mml:mi>
<mml:mo>≤</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>&lt;</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">MHC</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi></mml:msub>
<mml:mo>≤</mml:mo>
<mml:mtext>TTL</mml:mtext></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>if</mml:mtext>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">MHC</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi></mml:msub>
<mml:mo>&gt;</mml:mo>
<mml:mtext>TTL</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>When 1 &lt; <italic>MHC<sub>ai</sub></italic> ≤ TTL, the value of <italic>p</italic> is complex. Each of the shortest paths should be assigned different weights according to the bending degrees of broken lines, <italic>i.e.</italic>, a winding path should have smaller weight than a straight one. In the following, we analyze it in detail.</p>
<p>Firstly, multi-hop density is an important parameter that affects the multi-hop estimated distance. As can be seen from <xref ref-type="fig" rid="f4-sensors-11-03908">Figure 4(a)</xref>, in a dense network, an approximately straight multi-hop path is likely to exist between pairwise nodes.</p>
<p>The length of the shortest path <italic>P<sub>ac</sub></italic> between <italic>N<sub>a</sub></italic> and <italic>N<sub>c</sub></italic> is close to their Euclidean distance. Smaller distance estimation error makes <italic>P<sub>ac</sub></italic> a higher confidence level. In contrast, if nodes are sparsely deployed [see <xref ref-type="fig" rid="f4-sensors-11-03908">Figure 4(b)</xref>], it is difficult to find a direct multi-hop path between a pair of non-neighboring nodes. The shortest path <italic>P<sub>ac</sub></italic> is generally more winding than that in <xref ref-type="fig" rid="f4-sensors-11-03908">Figure 4(a)</xref>. <xref ref-type="fig" rid="f4-sensors-11-03908">Figure 4(c)</xref> is a combination of the two cases above. Nodes <italic>N<sub>a</sub></italic>, <italic>N<sub>b</sub></italic> and <italic>N<sub>c</sub></italic> have lower local densities, the shortest path <italic>P<sub>ac</sub></italic> is a winding broken line. However, nodes <italic>N<sub>d</sub></italic> and <italic>N<sub>e</sub></italic> have higher local densities, the shortest path <italic>P<sub>ce</sub></italic> between <italic>N<sub>c</sub></italic> and <italic>N<sub>e</sub></italic> is close to a straight line. When we evaluate the bending degree of the shortest path <italic>P<sub>ae</sub></italic> between <italic>N<sub>a</sub></italic> and <italic>N<sub>e</sub></italic>, all nodes’ local densities in <italic>P<sub>ae</sub></italic> should be considered together. Generally, the larger the multi-hop density is, the more accurate the multi-hop estimated distance is. Therefore, the weight <italic>w<sub>ai</sub></italic> should be proportional to <italic>MHD<sub>ai</sub></italic>.</p>
<p>Secondly, with the increase of <italic>MHC<sub>ai</sub></italic>, the number of line segments in <italic>P<sub>ai</sub></italic> rises, which reduces the probability that <italic>P<sub>ai</sub></italic> is close to a straight line. In this case, approximating the length of <italic>P<sub>ai</sub></italic> to the Euclidean distance <italic>d<sub>ai</sub></italic> between <italic>N<sub>a</sub></italic> and <italic>N<sub>i</sub></italic> would bring larger localization errors. In order to mitigate the influence of the multi-hop distance estimation errors on node localization, we should lower the weight of multi-hop reference information. Therefore, <italic>w<sub>ai</sub></italic> should be in inverse proportion to <italic>MHC<sub>ai</sub></italic>. In addition, with the increase of ranging error factor <italic>α</italic> (<italic>i.e.</italic>, nodes’ ranging capability declines), we should appropriately raise the confidence level of multi-hop reference information to weaken the impact of direct ranging results on node localization, since the weight of one-hop reference information remains a constant value of 1 in (4). Based on the analysis above and the results of numerous simulations, the weight <italic>w<sub>ai</sub></italic> of multi-hop reference information can be set as follows:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext>exp</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>*</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">MHC</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mi>r</mml:mi></mml:msup>
<mml:mo>*</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="italic">MHD</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">MHC</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>∗</mml:mo>
<mml:msub>
<mml:mi mathvariant="italic">LD</mml:mi>
<mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mi>t</mml:mi></mml:msup>
<mml:mtext>    </mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>⋯</mml:mo></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>The base number in the third part of <xref ref-type="disp-formula" rid="FD5">Equation (5)</xref> represents the ratio of all nodes’ average density to the target node’s local density. In most cases, <xref ref-type="disp-formula" rid="FD5">Equation (5)</xref> could satisfy the requirement that the weight <italic>w<sub>ai</sub></italic> of multi-hop reference information is no more than 1. If extreme case of <italic>w<sub>ai</sub></italic> &gt; 1 appears, we set <italic>w<sub>ai</sub></italic> = 1. To determine the optimal values of indexes <italic>r</italic> and <italic>t</italic>, we have done numerous simulations in various network environments. The results show that we could usually get more ideal localization accuracy when both <italic>r</italic> and <italic>t</italic> are set to 1. Taking the scenarios shown in <xref ref-type="fig" rid="f1-sensors-11-03908">Figures 1</xref> and <xref ref-type="fig" rid="f2-sensors-11-03908">2</xref> as examples, we vary <italic>r</italic> and <italic>t</italic> from 1 to 10 and use classical weighted least squares estimator to compute the coordinates of normal nodes. The average localization errors in both scenarios are shown in <xref ref-type="fig" rid="f5-sensors-11-03908">Figures 5</xref> and <xref ref-type="fig" rid="f6-sensors-11-03908">6</xref>, respectively.</p>
<p>The change trend of average errors with varying <italic>r</italic> and <italic>t</italic> in isotropic network is nearly consistent to that in anisotropic network. And the minimum points in both figures usually appear in the lower-left corners of the curved surfaces where both <italic>r</italic> and <italic>t</italic> are equal to 1.</p></sec>
<sec>
<label>4.3.</label>
<title>Estimation of Node Coordinates</title>
<p>To simplify the computational complexity of node localization and prevent getting stuck at local optimum, we propose a novel method to estimate the coordinates of normal nodes. First, the feasible regions of normal nodes are determined by calculating the intersection of bounding square rings. Then, the coordinates of normal nodes are estimated through a lightweight grid-scanning procedure. The details of this method are shown as follows.</p>
<sec>
<label>4.3.1.</label>
<title>Determination of Feasible Region</title>
<p>Since the size of feasible regions can reflect the localization accuracy of normal nodes, it is an important task to determine the range of <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> in model (3). In this part, we present how to calculate the feasible regions of normal nodes based on the intersection of bounding square rings. This scheme could restrict the candidates of node coordinates to a small scope.</p>
<p><xref ref-type="fig" rid="f7-sensors-11-03908">Figure 7</xref> shows two bounding square rings that are obtained according to the geometrical constraints between pairs of neighboring or non-neighboring nodes. The dashed circles represent sensor nodes’ communication ranges, and the shadow areas represent <italic>N<sub>a</sub></italic>’s bounding square rings.</p>
<p>In <xref ref-type="fig" rid="f7-sensors-11-03908">Figure 7(a)</xref>, normal node <italic>N<sub>a</sub></italic> and anchor node <italic>N</italic><sub>1</sub> are neighboring nodes. <italic>N<sub>a</sub></italic> can measure the distance to <italic>N</italic><sub>1</sub>. The measurable distance is denoted as <italic>d′</italic><sub><italic>a</italic>1</sub>. As the ranging error <italic>ɛ<sub>a</sub></italic><sub>1</sub> ∈ (−<italic>αd</italic><sub><italic>a</italic>1</sub>, <italic>αd</italic><sub><italic>a</italic>1</sub>), the Euclidean distance <italic>d<sub>a</sub></italic><sub>1</sub> satisfies the following condition:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math display="block">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>α</mml:mi></mml:mrow></mml:mfrac>
<mml:mo>≤</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>≤</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>α</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>We can infer that <italic>N<sub>a</sub></italic> is in the circular ring <bold><italic>C</italic></bold><italic><sub>a</sub></italic><sub>1</sub> of which the outer radius is <italic>R</italic><sub><italic>a</italic>1</sub> = <italic>d′</italic><sub><italic>a</italic>1</sub> / (1 − <italic>α</italic>) and the inner radius is <italic>r</italic><sub><italic>a</italic>1</sub> = <italic>d′</italic><sub><italic>a</italic>1</sub> / (1 + <italic>α</italic>). The side lengths of the circumscribed and inscribed squares in <bold><italic>C</italic></bold><sub><italic>a</italic>1</sub> are respectively <italic>O</italic><sub><italic>a</italic>1</sub> = 2<italic>R<sub>a</sub></italic><sub>1</sub> and 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mn>2</mml:mn></mml:msqrt>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. The shadow area encircled by the circumscribed and inscribed squares is one of <italic>N<sub>a</sub></italic>’s bounding square rings, and we denote it as:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">BSR</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mtext> </mml:mtext>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>×</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mi>I</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>In <xref ref-type="fig" rid="f7-sensors-11-03908">Figure 7(b)</xref>, <italic>N<sub>a</sub></italic> and anchor node <italic>N</italic><sub>2</sub> are non-neighboring nodes, but <italic>N<sub>a</sub></italic> can receive <italic>N</italic><sub>2</sub>’s location information packet through multi-hop information transmission in the range of TTL. Without loss of generality, we take two hops for example. The shortest path <italic>P<sub>a</sub></italic><sub>2</sub> between <italic>N<sub>a</sub></italic> and <italic>N</italic><sub>2</sub> passes normal node <italic>N<sub>b</sub></italic>. Since <italic>N<sub>a</sub></italic> is not in the communication range of <italic>N</italic><sub>2</sub>, the Euclidean distance <italic>d<sub>a</sub></italic><sub>2</sub> between them is bigger than <italic>R</italic>. Suppose the Euclidean and measurable distance between <italic>N<sub>a</sub></italic> and <italic>N<sub>b</sub></italic> are <italic>d<sub>ab</sub></italic> and <italic>d′<sub>ab</sub></italic>, and those between <italic>N<sub>b</sub></italic> and <italic>N</italic><sub>2</sub> are <italic>d<sub>b</sub></italic><sub>2</sub> and <italic>d′</italic><sub><italic>b</italic>2</sub>. Thus the estimated distance between <italic>N<sub>a</sub></italic> and <italic>N</italic><sub>2</sub> is:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math display="block">
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="italic">ab</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mi mathvariant="italic">ab</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>ɛ</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Based on −<italic>αd<sub>ab</sub></italic> ≤ <italic>ɛ<sub>ab</sub></italic> ≤ <italic>αd<sub>ab</sub></italic> and −<italic>αd<sub>b</sub></italic><sub>2</sub> ≤ <italic>ɛ<sub>b</sub></italic><sub>2</sub> ≤ <italic>αd<sub>b</sub></italic><sub>2</sub>, we can infer that:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math display="block">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="italic">ab</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≤</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>≤</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="italic">ab</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Further:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math display="block">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mi>α</mml:mi></mml:mrow></mml:mfrac>
<mml:mo>≤</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="italic">ab</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub>
<mml:mo>≤</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mn>2</mml:mn></mml:mrow>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mi>α</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>According to <italic>d<sub>a</sub></italic><sub>2</sub>&gt;<italic>R</italic> and <italic>d<sub>a</sub></italic><sub>2</sub>≤<italic>d<sub>ab</sub></italic>+<italic>d<sub>b</sub></italic><sub>2</sub>, we have <italic>R</italic> &lt; <italic>d</italic><sub><italic>a</italic>2</sub> ≤ <italic>d′</italic><sub><italic>a</italic>2</sub> / (1 − <italic>α</italic>). Therefore, <italic>N<sub>a</sub></italic> is also in the circular ring <bold><italic>C</italic></bold><italic><sub>a</sub></italic><sub>2</sub> of which the outer radius and inner radius are <italic>R</italic><sub><italic>a</italic>2</sub> = <italic>d′</italic><sub><italic>a</italic>2</sub> / (1 − <italic>α</italic>) and <italic>r<sub>a</sub></italic><sub>2</sub> = <italic>R</italic>, respectively. Using the same method above, we can get <italic>N<sub>a</sub></italic>’s another bounding square ring <bold><italic>BSR</italic></bold><italic><sub>a</sub></italic><sub>2</sub>.</p>
<p><xref ref-type="fig" rid="f8-sensors-11-03908">Figure 8</xref> is the integration of <xref ref-type="fig" rid="f7-sensors-11-03908">Figure 7(a,b)</xref>. When <italic>N<sub>a</sub></italic> gets all its bounding square rings <bold><italic>BSR</italic></bold><italic><sub>ai</sub></italic>(<italic>i</italic> = 1, 2,⋯, <italic>K</italic>), its feasible region <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> (grid area) can be obtained by calculating the intersection of bounding square rings:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">FR</mml:mi>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>∩</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>K</mml:mi></mml:munderover></mml:mstyle>
<mml:msub>
<mml:mi mathvariant="bold-italic">BSR</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula></p>
<p>Details of computing <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> are provided in <xref ref-type="app" rid="app1">Appendix A</xref>.</p></sec>
<sec>
<label>4.3.2.</label>
<title>Search of Node Coordinates</title>
<p>After obtaining the feasible region <bold><italic>FR</italic></bold><italic><sub>a</sub></italic>, we can employ the classical constrained nonlinear programming solvers, such as sequential quadratic programming (SQP), to work out the optimal value of the objective function in model (3). However, the classical optimization approaches usually involve an iterative computation procedure. In each iterative computation, numbers of complex arithmetical operations (such as matrix inversion, matrix multiplication, eigenvalue determination, <italic>etc.</italic>) are required, which is a severe challenge to the resource-limited sensor nodes. As the number of reference information increases, the computation cost increases dramatically. In addition, the iterative procedure of these methods needs an initial point and easily converge to a local minimum close to the initial point, especially when there is much inaccurate reference information. To solve these problems, a lightweight grid-scanning method is proposed to search the close to optimal values of node coordinates.</p>
<p>Suppose the grid granularity for coordinate estimation is <italic>g</italic>. The value of <italic>g</italic> is determined by some factors, such as range error factor, network connectivity, desired localization accuracy, <italic>etc.</italic> According to <italic>g</italic>, <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> can be divided into a number of sub-grids of equal size (see <xref ref-type="fig" rid="f8-sensors-11-03908">Figure 8</xref>). Regarding the coordinates of all sub-grid’s centers as samples of <bold><italic>X</italic></bold><italic><sub>a</sub></italic>, we can get a sample set:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">Ω</mml:mi>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>U</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> is a sample <italic>of</italic> <bold><italic>X</italic></bold><italic><sub>a</sub></italic> and <italic>U</italic> is the total number of samples. If the area of <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> is <italic>A<sub>a</sub></italic>, we have <italic>U</italic> = <italic>A<sub>a</sub></italic>/(<italic>gR</italic>)<sup>2</sup>.</p>
<p>In <xref ref-type="app" rid="app1">Appendix A</xref>, the computation of feasible region <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> is converted to the problem of calculating the intersection of rectangular sub-regions. As can be seen from <xref ref-type="fig" rid="f26-sensors-11-03908">Figure B</xref> in <xref ref-type="app" rid="app1">Appendix</xref>, the final output is <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> = <bold><italic>Array</italic>_<italic>FR</italic></bold><italic><sub>a</sub></italic>, where <bold><italic>Array</italic>_<italic>FR</italic></bold><italic><sub>a</sub></italic> is an array consisting of <italic>n</italic> rectangles. This means that the irregular feasible region is divided into several regular rectangles. We further divide each rectangle into sub-grids, so that samples for coordinate estimation can be easily exacted.</p>
<p>After getting <italic><bold>Ω</bold><sub>a</sub></italic>, an optimal sample that brings the objective function in model (3) to the smallest value can be found through scanning <italic><bold>Ω</bold><sub>a</sub></italic> from beginning to end. The final output 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> of this search procedure is the close to optimal value of <bold><italic>X</italic></bold><italic><sub>a</sub></italic>.</p>
<p>This grid-scanning approach only needs simple arithmetical and comparison operations. It not only has low computational complexity, but also can prevent getting stuck at local optimum. In addition, when the number of reference information increases, it only requires a modest increase in memory consumption and arithmetical operations over those of the classical optimization methods. Therefore, it is a lightweight and efficient method. And it is very suitable to sensor nodes with limited computing and storage capability.</p></sec></sec>
<sec>
<label>4.4.</label>
<title>Localization Refinement</title>
<p>After node <italic>N<sub>a</sub></italic> gets its initial coordinates 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, it can optionally step into the phase of localization refinement through collaborating with its neighbors. The following are the refinement procedure.</p>
<p><bold><italic>Step</italic></bold> <bold>1.</bold> <italic>N<sub>a</sub></italic> first broadcasts its estimated coordinates and the total number <italic>U</italic> of samples it get in the previous phase. Then, a weighted refinement model for <italic>N<sub>a</sub></italic> can be constructed based on the broadcast coordinates of <italic>N<sub>a</sub></italic>’s neighbors and the measurable distances between <italic>N<sub>a</sub></italic> and its neighbors:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math display="block">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mo>⁡</mml:mo>
<mml:mo> </mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>⁡</mml:mo></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mi>a</mml:mi></mml:msub></mml:mrow></mml:munder>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>J</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi mathvariant="italic">ab</mml:mi></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="true">‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>b</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow>
<mml:mo stretchy="true">‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mrow></mml:math></disp-formula>where 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>b</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>J</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula> is the broadcast coordinates of <italic>N<sub>a</sub></italic>’s neighboring node <italic>N<sub>b</sub></italic>. <italic>J</italic> is the number of <italic>N<sub>a</sub></italic>’s neighbors. 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="italic">ab</mml:mi>
<mml:mrow>
<mml:mo>′</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> is the measurable distance between <italic>N<sub>a</sub></italic> and <italic>N<sub>b</sub></italic>. <italic>v<sub>ab</sub></italic> is the weight of reference information 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>b</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>d</mml:mi>
<mml:mi mathvariant="italic">ab</mml:mi>
<mml:mrow>
<mml:mo>′</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>. And <italic>t</italic> is the iteration number of refinement, with an initial value of 0.</p>
<p>Here, we briefly discuss how to set the value of weight <italic>v<sub>ab</sub></italic>. When <italic>N<sub>b</sub></italic> is an anchor node, we should set <italic>v<sub>ab</sub></italic> a bigger value. In contrast, if <italic>N<sub>b</sub></italic> is a normal node, <italic>v<sub>ab</sub></italic> should be set a smaller value according to the estimated accuracy of <italic>N<sub>b</sub></italic>’s coordinates. Since the localization accuracy of normal nodes can be evaluated by the size of feasible regions, <italic>v<sub>ab</sub></italic> should be in inverse proportion to the total number <italic>U</italic> of samples in 4.3.2. In collaborative refinement, this weighting mechanism not only contributes to the improvement of localization accuracy, but also helps to prevent the localization error from propagation.</p>
<p><bold><italic>Step</italic></bold> <bold>2.</bold> The grid-scanning scheme can also be used to seek the close to optimal value of model (13). As can be seen from <xref ref-type="fig" rid="f9-sensors-11-03908">Figure 9</xref>, a square of which the center coordinates and the size length are respectively 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and <italic>L</italic> (generally no more than <italic>R</italic>) is regarded as <italic>N<sub>a</sub></italic>’s feasible region for localization refinement, and it is denote as:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math display="block">
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">FR</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mi>L</mml:mi>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>×</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mi>L</mml:mi>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mi>L</mml:mi>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>Suppose the grid granularity for localization refinement is <italic>r</italic> (<italic>r</italic> ≤ <italic>g</italic>). According to 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">FR</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>, a sample set <bold><italic>Θ</italic></bold><italic><sub>a</sub></italic> can be obtained by dividing 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">FR</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> into a number of sub-grids:
<disp-formula id="FD15">
<label>(15)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">Θ</mml:mi>
<mml:mi>a</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where the number of samples is <italic>V</italic> = <italic>L<sup>2</sup></italic>/(<italic>rR</italic>)<sup>2</sup>. Through scanning <bold><italic>Θ</italic></bold><italic><sub>a</sub></italic>, the close to optimal value of model (13) can be obtained, denoted as 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>. <italic>N<sub>a</sub></italic> upgrades its estimated coordinates to 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>.</p>
<p><bold><italic>Step</italic></bold> <bold>3.</bold> <italic>N<sub>a</sub></italic> broadcasts its new coordinates. Set <italic>t</italic> = <italic>t</italic> + 1. Repeat steps 1 and 2 until the accuracy (
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>≤</mml:mo>
<mml:mi>r</mml:mi></mml:mrow></mml:math></inline-formula>) is satisfied or the maximum iteration number is reached, whichever comes earlier. The final 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold-italic">X</mml:mi>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> is the refinement coordinates of <italic>N<sub>a</sub></italic>.</p></sec></sec>
<sec>
<label>5.</label>
<title>Performance Evaluation</title>
<p>In this section, we conduct extensive simulations to study the performance of MLGS algorithm in the isotropic network shown in <xref ref-type="fig" rid="f1-sensors-11-03908">Figure 1</xref> and the anisotropic network (H-shape) shown in <xref ref-type="fig" rid="f2-sensors-11-03908">Figure 2</xref>. All simulations are run in MatLab R2010a. To reduce the influence of outliers, we run each simulation 100 times and take the average results as the final data points. The default parameters of WSNs are shown in <xref ref-type="table" rid="t1-sensors-11-03908">Table 1</xref>. Unless specified, we use the default parameters in simulations. We mainly discuss the localization performances of the following four algorithms:
<list list-type="order">
<list-item>
<p>The proposed algorithm without refinement phase, denoted as MLGS, in which the grid granularity <italic>g</italic> for coordinate estimation is defaulted as 0.1<italic>R</italic>.</p></list-item>
<list-item>
<p>The proposed algorithm with refinement phase, denoted as MLGS(R), in which the grid granularity <italic>r</italic> for localization refinement is defaulted as 0.05<italic>R</italic>.</p></list-item>
<list-item>
<p>The 4-Multihop algorithm proposed by Shang <italic>et al</italic> [<xref ref-type="bibr" rid="b20-sensors-11-03908">20</xref>], in which only the four nearest anchor nodes get involved in coordinate estimation. The optimization method employed in 4-Multihop is Taylor-series estimator.</p></list-item>
<list-item>
<p>The i-Multihop algorithm proposed by Wang <italic>et al.</italic> [<xref ref-type="bibr" rid="b23-sensors-11-03908">23</xref>], which combines upper bound and distance consistency, and has higher computational complexity. In i-Multihop, the sequential quadratic programming method is used to solve the constrained nonlinear optimization problem.</p></list-item></list></p>
<sec>
<label>5.1.</label>
<title>Distribution of Node Localization Errors</title>
<p>First, we analyze the distribution of node localization errors in the default environments. The localization errors are represented by the ratio of the Euclidean distances between estimated coordinates and actual coordinates to node’s communication radius. <xref ref-type="fig" rid="f10-sensors-11-03908">Figures 10</xref> and <xref ref-type="fig" rid="f11-sensors-11-03908">11</xref> present the distribution boxplots for isotropic and anisotropic networks, respectively. The y-axis of both figures is drawn in log-scale. In isotropic network, 4-Multihop gives the worst performance. Its average and median errors are respectively 23.24% and 13.36%, and its maximum outlier is even close to 800%. The average and median errors of i-Multihop are almost the same as those of MLGS. But the errors of i-Multihop are more scattered. The maximum outlier of i-Multihop reaches 200.50% (compared with 103.29% of MLGS). MLGS(R) has an average error of 7.17% and a median error of 4.08%, which is a significant improvement in localization accuracy. In anisotropic network, 4-Multihop is less affected by irregular shape because it only uses the four nearest anchor nodes in calculating the coordinates of normal nodes. Compared with <xref ref-type="fig" rid="f10-sensors-11-03908">Figure 10</xref>, we can see that the accuracy of i-Multihop declines vastly. The average error of i-Multihop reaches 21.67%, but it is still lower than that of 4-Multihop (26.53%). MLGS and MLGS(R) are robust to irregular topologies. Their average errors, median errors and maximum outliers in anisotropic network are almost the same as those in isotropic network, and much smaller than those of 4-Multihop and i-Multihop.</p></sec>
<sec sec-type="discussion">
<label>5.2.</label>
<title>Impact of TTL</title>
<p><xref ref-type="fig" rid="f12-sensors-11-03908">Figures 12</xref> and <xref ref-type="fig" rid="f13-sensors-11-03908">13</xref> show the comparison results of average localization errors and localization coverage rates with various TTL. With the increase of TTL, the normal nodes could get more and more reference information for their localization, so the localization coverage rates of four algorithms grow gradually. When TTL reaches 5, the coverage rates in both networks are approaching to 100%. Since raising TTL could increase the communication cost in localization, we try to keep TTL a smaller value in the premise of localizing most nodes. That is the reason why we set the default value of TTL to 5 in simulations.</p>
<p>In isotropic network, 4-Multihop performs the worst. Its average error varies significantly when TTL ≤ 5 and remains generally stable (about 23%) after TTL &gt; 5. The localization accuracies of MLGS, MLGS(R) and i-Multihop are less affected by TTL and are always better than that of 4-Multihop. Among them, MLGS(R) gives the smallest localization error of about 10%. Through the accuracy of i-Multihop slightly exceeds that of MLGS when TTL ≥ 6, but it is always lower than that of MLGS(R). In anisotropic network, 4-Multihop still has the lowest accuracy. i-Multihop is greatly affected by irregular network, and its average error is about 5% higher than that of MLGS when TTL ≤ 5. With the increase of TTL, the number of distance constraints in i-Multihop rises, and the accuracy of i-Multihop is gradually near to that of MLGS. Through refinement, MLGS(R) can increase the localization accuracy by more than 5%. And in most cases, its average error is less than 10% of the communication radius of sensor nodes.</p></sec>
<sec sec-type="discussion">
<label>5.3.</label>
<title>Impact of Network Connectivity</title>
<p>In this part, we vary the communication radius of sensor nodes and get the accuracy comparisons of four algorithms under different network connectivity, ranging from 6 to 15 (see <xref ref-type="fig" rid="f14-sensors-11-03908">Figures 14</xref> and <xref ref-type="fig" rid="f15-sensors-11-03908">15</xref>). In general, the probability that a shortest path between pairwise nodes is close to a straight line grows as network connectivity increases, which directly results in the improvement of multi-hop localization accuracy. In isotropic network, the performance of MLGS(R) is better than those of three other algorithms. It gives an average error of less than 3.5% for high network connectivity (no less than 12). When network connectivity is smaller than 9, the accuracy of i-Multihop is higher than that of MLGS. However, the average localization error of i-Multihop gradually converges to about 11% and exceeds those of MLGS and 4-Multihop. In anisotropic network, the variation trend of average localization errors of four algorithms is similar to that in isotropic network, but the gap among the four algorithms becomes more evident. The localization accuracies of MLGS and MLGS(R) are always better than those of i-Multihop and 4-Multihop. When network connectivity is 6, the average error of MLGS is less than 40%, above which the localization error will significantly affect the application performance of WSNs [<xref ref-type="bibr" rid="b25-sensors-11-03908">25</xref>]. When network connectivity reaches 10, the average error of MLGS is below 10% and it can be further reduced to less than 5% through refinement, while the two other algorithms give larger average errors of more than 20%.</p></sec>
<sec sec-type="discussion">
<label>5.4.</label>
<title>Impact of Ranging Error</title>
<p><xref ref-type="fig" rid="f16-sensors-11-03908">Figures 16</xref> and <xref ref-type="fig" rid="f17-sensors-11-03908">17</xref> show the statistics for performance of four algorithms with different ranging error factors. With the increase of ranging errors, the accuracies of four multi-hop algorithms drop gradually. Among them, i-Multihop is the most sensitive to ranging errors. In isotropic network, the average error of i-Multihop is near to 10% when <italic>α</italic> &lt; 0.1, while that of MLGS is about 12%. However, when <italic>α</italic> increases to 0.1, the two algorithms produce similar results. And after that, the average error of i-Multihop increases substantially and even exceeds that of 4-Multihop when <italic>α</italic> = 0.35.</p>
<p>As can be seen from <xref ref-type="fig" rid="f16-sensors-11-03908">Figure 16</xref>, we can infer that MLGS and MLGS(R) are robust with respect to high ranging errors. When <italic>α</italic> increases to 0.5, the average localization error of MLGS is still smaller than 40% of node’s communication radius. Through refinement, the average error can be further reduced to 30%. In anisotropic network, MLGS and MLGS(R) perform consistently better than 4-Multihop and i-Multihop under all ranging error factors considered. Compared with the latter two algorithms, MLGS can improve localization accuracy by 10%∼20%, and further increase by 5% after refinement. When <italic>α</italic> = 0.25, the average errors of 4-Multihop and i-Multihop are more than 30%, while those of MLGS and MLGS(R) are only less than 18%.</p></sec>
<sec sec-type="discussion">
<label>5.5.</label>
<title>Impact of Grid Granularity on MLGS Algorithm</title>
<p>From previous investigations, we draw a conclusion that MLGS produces better results in most cases. Here, we discuss the impact of grid granularity <italic>g</italic> on localization accuracy of MLGS under various ranging error factors (see <xref ref-type="fig" rid="f18-sensors-11-03908">Figures 18</xref> and <xref ref-type="fig" rid="f19-sensors-11-03908">19</xref>). In both figures, the decimals in the legends represent the values of grid granularity <italic>g</italic> for coordinate estimation. Generally, the localization accuracy of MLGS improves with grid granularity <italic>g</italic> declining. However, when <italic>g</italic> reduces to a certain extent, any further decrease of <italic>g</italic> does not yield any significant improvement in accuracy. In isotropic network, the average localization error with <italic>α</italic> = 0.1 can be reduced by 4.97% as <italic>g</italic> decreases from 0.4 to 0.2, while only 3.23% as <italic>g</italic> decreases from 0.2 to 0.1. In anisotropic network, the corresponding descents of average errors with <italic>α</italic> = 0.1 are 5.64% and 2.06%, respectively. In addition, with the increase of <italic>α</italic>, the impact of grid granularity <italic>g</italic> on localization accuracy drops gradually. For example, MLGS(0.1) and MLGS(0.2) nearly have the equivalent performance when <italic>α</italic> = 0.4. In the phase of coordinate estimation, there is <italic>U</italic> ∝ (1/<italic>g</italic><sup>2</sup>), where <italic>U</italic> represents the number of samples. Thus, reducing <italic>g</italic> would make <italic>U</italic> grow significantly, which further leads to the increase of computation cost required in localization. The quantitative analysis of computation cost will be present in Section 5.6. In practice, we should determine the optimal grid granularity <italic>g</italic> based on the trade-off of localization accuracy and computation cost.</p></sec>
<sec>
<label>5.6.</label>
<title>Comparisons of Computation Cost</title>
<p>In this part, we discuss the computation cost of 4-Multihop, i-Multihop and MLGS with the metric of total computation time for calculating the coordinates of all normal nodes under different degrees of network connectivity (see <xref ref-type="fig" rid="f20-sensors-11-03908">Figures 20</xref> and <xref ref-type="fig" rid="f21-sensors-11-03908">21</xref>). As i-Multihop employs the complex constrained nonlinear programming solver to estimate the coordinates of normal nodes, its computation cost is more than 30 times of those of 4-Multihop and MLGS. When network connectivity is low, the computation cost of MLGS(0.1) (no more than 0.35 s in both scenarios) is slightly smaller than that of 4-Multihop (0.4 s and 0.45 s in isotropic and anisotropic networks, respectively).</p>
<p>However, with the increase of network connectivity, MLGS(0.1) performs faster and faster, while 4-Multihop keeps a constant computation time. That is because higher network connectivity would enhance the constraints of sensor nodes and diminish the feasible regions of normal nodes in MLGS. For MLGS, reducing grid granularity <italic>g</italic> could lower the computation cost evidently in sparse networks. For example, in isotropic network with connectivity of 6, the computation time of MLGS(0.1) is 0.33 s, that of MLGS(0.2) is 0.14 s and that of MLGS(0.4) is only 0.06 s. But in networks with high connectivity, with the increase of <italic>g</italic>, the variety of computation cost is not so obvious. When network connectivity reaches 10, the computation cost of MLGS in different <italic>g</italic> drops to below 0.2 s. It is worth noting that MLGS(0.2) and MLGS(0.4) nearly have a constant computation time in various network connectivity.</p></sec>
<sec>
<label>5.7.</label>
<title>Performance Comparisons of MLGS, MDS-MAP and Iterative Algorithms</title>
<p>Finally, we evaluate the performance of the MLGS by comparing it with MDS-MAP [<xref ref-type="bibr" rid="b7-sensors-11-03908">7</xref>] and the improved iterative algorithm with error control mechanism similar to [<xref ref-type="bibr" rid="b14-sensors-11-03908">14</xref>]. The comparison results are shown in <xref ref-type="fig" rid="f22-sensors-11-03908">Figures 22</xref>–<xref ref-type="fig" rid="f24-sensors-11-03908">24</xref>, in which the circles represent true positions of nodes (solid circles for anchor nodes and empty circles for normal nodes), the triangles represent estimation positions of normal nodes, and the lines represent localization errors. For MLGS and Iterative algorithms, if a normal node can’t get enough reference information to computing its coordinates, a square will be drawn around it. <xref ref-type="table" rid="t2-sensors-11-03908">Table 2</xref> gives the average localization errors of three algorithms in isotropic and anisotropic networks.</p>
<p>In isotropic network, MLGS has the best localization performance. Its average error is below 15% and the error distribution is uniform. One unlocalized node and a few normal nodes with bigger localization errors are mainly concentrated in the upper-left corner, where fewer anchor nodes exist. MDS-MAP has an average error of 23.1% and a localization coverage rate of 100%. The localization accuracies of edge nodes are worse than those of middle nodes. The iterative algorithm with average error of 25.8% and localization coverage rate of 91.7% performs the worst. The iterative process stops at the lower-right corner where sensor nodes are sparsely deployed. Furthermore, the impact of error accumulation is not totally eliminated in the improved iterative algorithm. As can be seen from the <xref ref-type="fig" rid="f22-sensors-11-03908">Figures 22</xref> and <xref ref-type="fig" rid="f24-sensors-11-03908">24</xref>, the localization accuracy of MLGS and iterative algorithm is not obviously affected by network topology. In anisotropic network, the average errors of both algorithms are 12.7% and 26.1%, respectively, which are close to those in isotropic network. However, the average error of MDS-MAP (62.1%) is much larger than that in isotropic network. That is because MDS-MAP needs to approximate the lengths of shortest paths to Euclidean distances between all pairs of non-neighboring nodes. Irregular network topology would make the approximation large errors, especially between pairwise nodes that are far apart.</p></sec></sec>
<sec sec-type="conclusions">
<label>6.</label>
<title>Conclusions</title>
<p>In this paper, we present a novel multi-hop localization algorithm called MLGS, which is shown to be able to enhance the adaptability to irregular network topology, improve the positioning accuracy, as well as reduce computational cost for multi-hop localization in large-scale WSNs. We first analyze the factors that influence the multi-hop distance estimation and give a quantitative rule for setting the weight of reference information. Then, the close to optimal values of node coordinates are efficiently searched and obtained in the feasible regions of normal nodes through a lightweight grid-scanning scheme, which avoids solving the complex constrained nonlinear programming and prevents getting stuck at local optimum. MLGS is very suitable for sensor nodes of limited energy and computing power. Through extensive simulations in isotropic and anisotropy networks, we demonstrate that MLGS outperforms the typical multi-hop localization schemes in many aspects. Compared with MDS-MAP and iterative algorithm, MLGS can also do better in localization accuracy and topology adaptability. In most cases, MLGS could achieve better performance, even without refinement phase. Therefore, the phase of node collaboration refinement is optional. Reducing the grid granularity <italic>g</italic> in the phase of coordinate estimation can improve the localization accuracy of MLGS. However, when <italic>g</italic> reduces to a certain extent, the improvement of accuracy becomes more and more marginal as <italic>g</italic> further decreases. On the contrary, it raises the computation cost of sensor nodes. Empirically, MLGS could get good performance when the grid granularity <italic>g</italic> is set to 0.1∼0.2. In the future, we would like to extend MLGS to 3D WSNs and implement it on experimental WSNs prototypes to verify its practicability.</p></sec></body>
<back>
<ack>
<p>The authors would like to thank the anonymous reviewers for their comments. This work is supported by the National Natural Science Foundation of China under Grant No. 60873240, No. 60974121 and No. 61001138.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-11-03908"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Akyildiz</surname><given-names>IF</given-names></name><name><surname>Su</surname><given-names>W</given-names></name><name><surname>Sankarasubramaniam</surname><given-names>Y</given-names></name><name><surname>Cayirci</surname><given-names>E</given-names></name></person-group><article-title>Wireless sensor networks: A survey</article-title><source>Comput. Netw</source><year>2002</year><volume>38</volume><fpage>393</fpage><lpage>422</lpage><pub-id pub-id-type="doi">10.1016/S1389-1286(01)00302-4</pub-id></citation></ref>
<ref id="b2-sensors-11-03908"><label>2.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Raghavendra</surname><given-names>CS</given-names></name><name><surname>Sivalingam</surname><given-names>KM</given-names></name><name><surname>Znati</surname><given-names>T</given-names></name></person-group><source>Wireless Sensor Networks</source><publisher-name>Springer</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><year>2004</year></citation></ref>
<ref id="b3-sensors-11-03908"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Buratti</surname><given-names>C</given-names></name><name><surname>Conti</surname><given-names>A</given-names></name><name><surname>Dardari</surname><given-names>D</given-names></name><name><surname>Verdone</surname><given-names>R</given-names></name></person-group><article-title>An overview on wireless sensor networks technology and evolution</article-title><source>Sensors</source><year>2009</year><volume>9</volume><fpage>6869</fpage><lpage>6896</lpage><pub-id pub-id-type="doi">10.3390/s90906869</pub-id><pub-id pub-id-type="pmid">22423202</pub-id></citation></ref>
<ref id="b4-sensors-11-03908"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Boukerche</surname><given-names>A</given-names></name><name><surname>Oliveira</surname><given-names>HABF</given-names></name><name><surname>Nakamura</surname><given-names>EF</given-names></name><name><surname>Loureiro</surname><given-names>AAF</given-names></name></person-group><article-title>Localization systems for wireless sensor networks</article-title><source>IEEE Wirel. Commun</source><year>2007</year><volume>14</volume><fpage>6</fpage><lpage>12</lpage></citation></ref>
<ref id="b5-sensors-11-03908"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mao</surname><given-names>GQ</given-names></name><name><surname>Fidan</surname><given-names>B</given-names></name><name><surname>Anderson</surname><given-names>BDO</given-names></name></person-group><article-title>Wireless sensor network localization techniques</article-title><source>Comput. Netw</source><year>2007</year><volume>51</volume><fpage>2529</fpage><lpage>2533</lpage><pub-id pub-id-type="doi">10.1016/j.comnet.2006.11.018</pub-id></citation></ref>
<ref id="b6-sensors-11-03908"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Franceschini</surname><given-names>F</given-names></name><name><surname>Galetto</surname><given-names>M</given-names></name><name><surname>Maisano</surname><given-names>D</given-names></name><name><surname>Mastrogiacomo</surname><given-names>L</given-names></name></person-group><article-title>A review of localization algorithms for distributed wireless sensor networks in manufacturing</article-title><source>Int. J. Comput. Integr. Manuf</source><year>2009</year><volume>22</volume><fpage>698</fpage><lpage>716</lpage><pub-id pub-id-type="doi">10.1080/09511920601182217</pub-id></citation></ref>
<ref id="b7-sensors-11-03908"><label>7.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Shang</surname><given-names>Y</given-names></name><name><surname>Ruml</surname><given-names>W</given-names></name><name><surname>Zhang</surname><given-names>Y</given-names></name><name><surname>Fromherz</surname><given-names>MPJ</given-names></name></person-group><article-title>Localization from Mere Connectivity</article-title><conf-name>Proceedings of the International Symposium on Mobile Ad Hoc Networking and Computing</conf-name><conf-loc>Annapolis, MD, USA</conf-loc><conf-date>1–3 June 2003</conf-date><fpage>201</fpage><lpage>212</lpage></citation></ref>
<ref id="b8-sensors-11-03908"><label>8.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Biswas</surname><given-names>P</given-names></name><name><surname>Ye</surname><given-names>Y</given-names></name></person-group><article-title>Semidefinite Programming for <italic>Ad Hoc</italic> Wireless Sensor Network Localization</article-title><conf-name>Proceedings of the Third International Symposium on Information Processing in Sensor Networks</conf-name><conf-loc>Berkeley, CA, USA</conf-loc><conf-date>26–27 April 2004</conf-date><fpage>46</fpage><lpage>54</lpage></citation></ref>
<ref id="b9-sensors-11-03908"><label>9.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Kannan</surname><given-names>AA</given-names></name><name><surname>Mao</surname><given-names>G</given-names></name><name><surname>Vucetic</surname><given-names>B</given-names></name></person-group><article-title>Simulated Annealing Based Wireless Sensor Network Localization with Flip Ambiguity Mitigation</article-title><conf-name>Proceedings of IEEE Vehicular Technology Conference</conf-name><conf-loc>Melbourne, VIC, Australia</conf-loc><conf-date>7–10 May 2006</conf-date><fpage>1022</fpage><lpage>1026</lpage></citation></ref>
<ref id="b10-sensors-11-03908"><label>10.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Guo</surname><given-names>XL</given-names></name><name><surname>Yu</surname><given-names>N</given-names></name><name><surname>Feng</surname><given-names>RJ</given-names></name><name><surname>Wu</surname><given-names>YF</given-names></name><name><surname>Wan</surname><given-names>JW</given-names></name></person-group><article-title>Grid-Scan-Based Multi-hop Localization Algorithm for Wireless Sensor Networks</article-title><conf-name>Proceedings of IEEE Sensors Conference</conf-name><conf-loc>Waikoloa, HI, USA</conf-loc><conf-date>1–4 November 2010</conf-date><fpage>668</fpage><lpage>672</lpage></citation></ref>
<ref id="b11-sensors-11-03908"><label>11.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Shang</surname><given-names>Y</given-names></name><name><surname>Ruml</surname><given-names>W</given-names></name></person-group><article-title>Improved MDS-Based Localization</article-title><conf-name>Proceedings of IEEE INFOCOM</conf-name><conf-loc>Hong Kong</conf-loc><conf-date>7–11 March 2004</conf-date><fpage>2640</fpage><lpage>2651</lpage></citation></ref>
<ref id="b12-sensors-11-03908"><label>12.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Doherty</surname><given-names>L</given-names></name><name><surname>Pister</surname><given-names>KSJ</given-names></name><name><surname>Ghaoui</surname><given-names>LE</given-names></name></person-group><article-title>Convex Position Estimation in Wireless Sensor Networks</article-title><conf-name>Proceedings of IEEE INFOCOM</conf-name><conf-loc>Anchorage, AK, USA</conf-loc><conf-date>22–26 April 2001</conf-date><fpage>1655</fpage><lpage>1663</lpage></citation></ref>
<ref id="b13-sensors-11-03908"><label>13.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Savvides</surname><given-names>A</given-names></name><name><surname>Han</surname><given-names>CC</given-names></name><name><surname>Strivastava</surname><given-names>MB</given-names></name></person-group><article-title>Dynamic Fine-Grained Localization in <italic>Ad Hoc</italic> Networks of Sensors</article-title><conf-name>Proceedings of the Annual International Conference on Mobile Computing and Networking</conf-name><conf-loc>Rome, Italy</conf-loc><conf-date>16–21 July 2001</conf-date><fpage>166</fpage><lpage>179</lpage></citation></ref>
<ref id="b14-sensors-11-03908"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname><given-names>J</given-names></name><name><surname>Zhang</surname><given-names>Y</given-names></name></person-group><article-title>Error control in distributed node self-localization</article-title><source>EURASIP J Adv Signal Process</source><year>2008</year><volume>2008</volume><pub-id pub-id-type="doi">10.1155/2008/162587.</pub-id></citation></ref>
<ref id="b15-sensors-11-03908"><label>15.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yu</surname><given-names>K</given-names></name><name><surname>Guo</surname><given-names>YJ</given-names></name><name><surname>Hedley</surname><given-names>M</given-names></name></person-group><article-title>TOA-based distributed localization with unknown internal delays and clock frequency offsets in wireless sensor networks</article-title><source>IET Signal Process</source><year>2009</year><volume>3</volume><fpage>106</fpage><lpage>118</lpage><pub-id pub-id-type="doi">10.1049/iet-spr:20080029</pub-id></citation></ref>
<ref id="b16-sensors-11-03908"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Vemula</surname><given-names>M</given-names></name><name><surname>Bugallo</surname><given-names>MF</given-names></name><name><surname>Djurić</surname><given-names>PM</given-names></name></person-group><article-title>Sensor self-localization with beacon position uncertainty</article-title><source>Signal Process</source><year>2009</year><volume>89</volume><fpage>1144</fpage><lpage>1154</lpage><pub-id pub-id-type="doi">10.1016/j.sigpro.2008.12.019</pub-id></citation></ref>
<ref id="b17-sensors-11-03908"><label>17.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Niculescu</surname><given-names>D</given-names></name><name><surname>Nath</surname><given-names>B</given-names></name></person-group><article-title>DV based positioning in ad hoc networks</article-title><source>Telecommun. Syst</source><year>2003</year><volume>22</volume><fpage>267</fpage><lpage>280</lpage><pub-id pub-id-type="doi">10.1023/A:1023403323460</pub-id></citation></ref>
<ref id="b18-sensors-11-03908"><label>18.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Lim</surname><given-names>H</given-names></name><name><surname>Hou</surname><given-names>JC</given-names></name></person-group><article-title>Localization for Anisotropic Sensor Networks</article-title><conf-name>Proceedings of IEEE INFOCOM</conf-name><conf-loc>Miami, FL, USA</conf-loc><conf-date>13–17 March 2005</conf-date><fpage>138</fpage><lpage>149</lpage></citation></ref>
<ref id="b19-sensors-11-03908"><label>19.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cheng</surname><given-names>KY</given-names></name><name><surname>Lui</surname><given-names>KS</given-names></name><name><surname>Tam</surname><given-names>V</given-names></name></person-group><article-title>HyBloc: Localization in sensor networks with adverse anchor placement</article-title><source>Sensors</source><year>2009</year><volume>9</volume><fpage>253</fpage><lpage>280</lpage><pub-id pub-id-type="doi">10.3390/s90100253</pub-id><pub-id pub-id-type="pmid">22389598</pub-id></citation></ref>
<ref id="b20-sensors-11-03908"><label>20.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Shang</surname><given-names>Y</given-names></name><name><surname>Shi</surname><given-names>H</given-names></name><name><surname>Ahmed</surname><given-names>AA</given-names></name></person-group><article-title>Performance Study of Localization Methods for <italic>Ad-Hoc</italic> Sensor Networks</article-title><conf-name>Proceedings of IEEE International Conference on Mobile Ad-Hoc and Sensor Systems</conf-name><conf-loc>Fort Lauderdale, FL, USA</conf-loc><conf-date>24–27 October 2004</conf-date><fpage>184</fpage><lpage>193</lpage></citation></ref>
<ref id="b21-sensors-11-03908"><label>21.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Wong</surname><given-names>SY</given-names></name><name><surname>Lim</surname><given-names>JG</given-names></name><name><surname>Rao</surname><given-names>SV</given-names></name><name><surname>Seah</surname><given-names>WKG</given-names></name></person-group><article-title>Multihop Localization with Density and Path Length Awareness in Non-Uniform Wireless Sensor Networks</article-title><conf-name>Proceedings of IEEE Vehicular Technology Conference</conf-name><conf-loc>Stockholm, Sweden</conf-loc><conf-date>30 May–1 June 2005</conf-date><fpage>2551</fpage><lpage>2555</lpage></citation></ref>
<ref id="b22-sensors-11-03908"><label>22.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname><given-names>B</given-names></name><name><surname>Chen</surname><given-names>L</given-names></name><name><surname>Xiao</surname><given-names>QJ</given-names></name><name><surname>Li</surname><given-names>M</given-names></name></person-group><article-title>Reliable anchor-based sensor localization in irregular areas</article-title><source>IEEE. Trans. Mob. Comput</source><year>2009</year><volume>9</volume><fpage>60</fpage><lpage>72</lpage></citation></ref>
<ref id="b23-sensors-11-03908"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wang</surname><given-names>C</given-names></name><name><surname>Xiao</surname><given-names>L</given-names></name></person-group><article-title>Sensor localization in concave environments</article-title><source>ACM Trans Sens Netw</source><year>2008</year><volume>4</volume><fpage>3:1</fpage><lpage>3:31</lpage></citation></ref>
<ref id="b24-sensors-11-03908"><label>24.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Wan</surname><given-names>JW</given-names></name><name><surname>Yu</surname><given-names>N</given-names></name><name><surname>Feng</surname><given-names>RJ</given-names></name><name><surname>Wu</surname><given-names>YF</given-names></name><name><surname>Su</surname><given-names>CM</given-names></name></person-group><article-title>Localization refinement for wireless sensor networks</article-title><source>Comput. Commun</source><year>2009</year><volume>32</volume><fpage>1515</fpage><lpage>1524</lpage><pub-id pub-id-type="doi">10.1016/j.comcom.2009.05.011</pub-id></citation></ref>
<ref id="b25-sensors-11-03908"><label>25.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>He</surname><given-names>T</given-names></name><name><surname>Huang</surname><given-names>C</given-names></name><name><surname>Blum</surname><given-names>BM</given-names></name><name><surname>Stankovic</surname><given-names>JA</given-names></name><name><surname>Abdelzaher</surname><given-names>T</given-names></name></person-group><article-title>Range-Free Localization Schemes for Large Scale Sensor Networks</article-title><conf-name>Proceedings of the Annual International Conference on Mobile Computing and Networking</conf-name><conf-loc>San Diego, CA, USA</conf-loc><conf-date>14–19 September 2003</conf-date><fpage>81</fpage><lpage>95</lpage></citation></ref></ref-list>
<app-group>
<app id="app1">
<title>Appendix</title>
<sec>
<title>Computation of Feasible Region <italic>FR<sub>a</sub></italic></title>
<p>As shown in <xref ref-type="fig" rid="f25-sensors-11-03908">Figure A</xref>, the bounding square ring <bold><italic>BSR</italic></bold><italic><sub>ai</sub></italic> can be divided into four rectangular sub-regions, which are denoted as 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold-italic">SR</mml:mi>
<mml:mi mathvariant="italic">ai</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>4</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></inline-formula>. Then, the feasible region <bold><italic>FR</italic></bold><italic><sub>a</sub></italic> can be obtained through the procedure of which the pseudo-codes are shown in <xref ref-type="fig" rid="f26-sensors-11-03908">Figure B</xref>.</p>
<fig id="f25-sensors-11-03908" position="anchor">
<label>Figure A.</label>
<caption>
<p>Division of bounding square ring.</p></caption>
<graphic xlink:href="sensors-11-03908f25.gif"/></fig>
<fig id="f26-sensors-11-03908" position="anchor">
<label>Figure B.</label>
<caption>
<p>Pseudo-codes of determining <bold><italic>FR</italic></bold><italic><sub>a</sub></italic>.</p></caption>
<graphic xlink:href="sensors-11-03908f26a.gif"/>
<graphic xlink:href="sensors-11-03908f26b.gif"/></fig></sec></app></app-group>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-11-03908" position="float">
<label>Figure 1.</label>
<caption>
<p>Isotropic network.</p></caption>
<graphic xlink:href="sensors-11-03908f1.gif"/></fig>
<fig id="f2-sensors-11-03908" position="float">
<label>Figure 2.</label>
<caption>
<p>Anisotropic network (H shape).</p></caption>
<graphic xlink:href="sensors-11-03908f2.gif"/></fig>
<fig id="f3-sensors-11-03908" position="float">
<label>Figure 3.</label>
<caption>
<p>Network initialization procedure.</p></caption>
<graphic xlink:href="sensors-11-03908f3.gif"/></fig>
<fig id="f4-sensors-11-03908" position="float">
<label>Figure 4.</label>
<caption>
<p>Impact of multi-hop density on multi-hop distance estimation. <bold>(a)</bold> High density. <bold>(b)</bold> Low density. <bold>(c)</bold> High and low density.</p></caption>
<graphic xlink:href="sensors-11-03908f4.gif"/></fig>
<fig id="f5-sensors-11-03908" position="float">
<label>Figure 5.</label>
<caption>
<p>Average localization error as a function of <italic>r</italic> and <italic>t</italic> (isotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f5.gif"/></fig>
<fig id="f6-sensors-11-03908" position="float">
<label>Figure 6.</label>
<caption>
<p>Average localization error as a function of <italic>r</italic> and <italic>t</italic> (anisotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f6.gif"/></fig>
<fig id="f7-sensors-11-03908" position="float">
<label>Figure 7.</label>
<caption>
<p><italic>N<sub>a</sub></italic>’s bounding square rings. <bold>(a)</bold> Neighboring nodes. <bold>(b)</bold> Non-neighboring nodes.</p></caption>
<graphic xlink:href="sensors-11-03908f7.gif"/></fig>
<fig id="f8-sensors-11-03908" position="float">
<label>Figure 8.</label>
<caption>
<p>Intersection of bounding square rings.</p></caption>
<graphic xlink:href="sensors-11-03908f8.gif"/></fig>
<fig id="f9-sensors-11-03908" position="float">
<label>Figure 9.</label>
<caption>
<p>Samples for localization refinement.</p></caption>
<graphic xlink:href="sensors-11-03908f9.gif"/></fig>
<fig id="f10-sensors-11-03908" position="float">
<label>Figure 10.</label>
<caption>
<p>Distribution boxplots of node localization errors (isotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f10.gif"/></fig>
<fig id="f11-sensors-11-03908" position="float">
<label>Figure 11.</label>
<caption>
<p>Distribution boxplots of node localization errors (anisotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f11.gif"/></fig>
<fig id="f12-sensors-11-03908" position="float">
<label>Figure 12.</label>
<caption>
<p>Average localization error <italic>versus</italic> TTL (isotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f12.gif"/></fig>
<fig id="f13-sensors-11-03908" position="float">
<label>Figure 13.</label>
<caption>
<p>Average localization error <italic>versus</italic> TTL (anisotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f13.gif"/></fig>
<fig id="f14-sensors-11-03908" position="float">
<label>Figure 14.</label>
<caption>
<p>Average Localization error <italic>versus</italic> network connectivity (isotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f14.gif"/></fig>
<fig id="f15-sensors-11-03908" position="float">
<label>Figure 15.</label>
<caption>
<p>Average localization error <italic>versus</italic> network connectivity (anisotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f15.gif"/></fig>
<fig id="f16-sensors-11-03908" position="float">
<label>Figure 16.</label>
<caption>
<p>Average localization error <italic>versus</italic> ranging error factor (isotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f16.gif"/></fig>
<fig id="f17-sensors-11-03908" position="float">
<label>Figure 17.</label>
<caption>
<p>Average localization error <italic>versus</italic> ranging error factor (anisotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f17.gif"/></fig>
<fig id="f18-sensors-11-03908" position="float">
<label>Figure 18.</label>
<caption>
<p>Average localization error <italic>versus</italic> grid granularity (isotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f18.gif"/></fig>
<fig id="f19-sensors-11-03908" position="float">
<label>Figure 19.</label>
<caption>
<p>Average localization error <italic>versus</italic> grid granularity (anisotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f19.gif"/></fig>
<fig id="f20-sensors-11-03908" position="float">
<label>Figure 20.</label>
<caption>
<p>Computation cost <italic>versus</italic> network connectivity (isotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f20.gif"/></fig>
<fig id="f21-sensors-11-03908" position="float">
<label>Figure 21.</label>
<caption>
<p>Computation cost <italic>versus</italic> network connectivity (anisotropic network).</p></caption>
<graphic xlink:href="sensors-11-03908f21.gif"/></fig>
<fig id="f22-sensors-11-03908" position="float">
<label>Figure 22.</label>
<caption>
<p>Localization results of MLGS. <bold>(a)</bold> Isotropic network. <bold>(b)</bold> Anisotropic network.</p></caption>
<graphic xlink:href="sensors-11-03908f22.gif"/></fig>
<fig id="f23-sensors-11-03908" position="float">
<label>Figure 23.</label>
<caption>
<p>Localization results of MDS-MAP. <bold>(a)</bold> Isotropic network. <bold>(b)</bold> Anisotropic network.</p></caption>
<graphic xlink:href="sensors-11-03908f23.gif"/></fig>
<fig id="f24-sensors-11-03908" position="float">
<label>Figure 24.</label>
<caption>
<p>Localization results of iterative algorithm. <bold>(a)</bold> Isotropic network. <bold>(b)</bold> Anisotropic network.</p></caption>
<graphic xlink:href="sensors-11-03908f24.gif"/></fig>
<table-wrap id="t1-sensors-11-03908" position="float">
<label>Table 1.</label>
<caption>
<p>Default parameters of WSNs.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="middle"><bold>Parameters</bold></th>
<th align="center" valign="middle"><bold>Isotropic network</bold></th>
<th align="center" valign="middle"><bold>Anisotropic network</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="middle">Network deployment area (m)</td>
<td align="center" valign="middle">200 × 200</td>
<td align="center" valign="middle">200 × 200</td></tr>
<tr>
<td align="center" valign="middle">Network holes (m)</td>
<td align="center" valign="middle">No apparent hole</td>
<td align="center" valign="middle">66.7 × 66.7 (×2)</td></tr>
<tr>
<td align="center" valign="middle">Number of nodes</td>
<td align="center" valign="middle">200</td>
<td align="center" valign="middle">200</td></tr>
<tr>
<td align="center" valign="middle">TTL</td>
<td align="center" valign="middle">5</td>
<td align="center" valign="middle">5</td></tr>
<tr>
<td align="center" valign="middle">Percentage of anchor nodes</td>
<td align="center" valign="middle">10%</td>
<td align="center" valign="middle">10%</td></tr>
<tr>
<td align="center" valign="middle">Node’s communication radius (m)</td>
<td align="center" valign="middle">25.6</td>
<td align="center" valign="middle">24.2</td></tr>
<tr>
<td align="center" valign="middle">Network connectivity</td>
<td align="center" valign="middle">9</td>
<td align="center" valign="middle">9</td></tr>
<tr>
<td align="center" valign="middle">Ranging error factor</td>
<td align="center" valign="middle">0.1</td>
<td align="center" valign="middle">0.1</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-11-03908" position="float">
<label>Table 2.</label>
<caption>
<p>Average errors of MLGS, MDS-MAP and iterative algorithms.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="middle"><bold>Algorithms</bold></th>
<th align="center" valign="middle"><bold>Isotropic network</bold></th>
<th align="center" valign="middle"><bold>Anisotropic network</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="middle">MLGS</td>
<td align="center" valign="middle">13.4%</td>
<td align="center" valign="middle">12.7%</td></tr>
<tr>
<td align="center" valign="middle">MDS-MAP</td>
<td align="center" valign="middle">23.1%</td>
<td align="center" valign="middle">62.1%</td></tr>
<tr>
<td align="center" valign="middle">Iterative algorithm</td>
<td align="center" valign="middle">25.8%</td>
<td align="center" valign="middle">26.1%</td></tr></tbody></table></table-wrap></sec></back></article>
