I-DWRL: Improved Dual Wireless Radio Localization Using Magnetometer

In the dual wireless radio localization (DWRL) technique each sensor node is equipped with two ultra-wide band (UWB) radios; the distance between the two radios is a few tens of centimeters. For localization, the DWRL technique must use at least two pre-localized nodes to fully localize an unlocalized node. Moreover, in the DWRL technique it is also not possible for two sensor nodes to properly communicate location information unless each of the four UWB radios of two communicating sensor nodes cannot approach the remaining three radios. In this paper, we propose an improved DWRL (I-DWRL) algorithm along with mounting a magnetometer sensor on one of the UWB radios of all sensor nodes. This addition of a magnetometer helps to improve DWRL algorithm such that only one localized sensor node is required for the localization of an unlocalized sensor node, and localization can also be achieved even when some of the four radios of two nodes are unable to communicate with the remaining three radios. The results show that with the use of a magnetometer a greater number of nodes can be localized with a smaller transmission range, less energy and a shorter period of time. In comparison with the conventional DWRL algorithm, our I-DWRL not only maintains the localization error but also requires around half of semi-localizations, 60% of the time, 70% of the energy and a shorter communication range to fully localize an entire network. Moreover, I-DWRL can even localize more nodes while transmission range is not sufficient for DWRL algorithm.


Introduction
Wireless sensor networks have been a vital research area for many years. Nowadays sensor nodes are used widely in variety of applications, devices, buildings, vehicles, and so forth. The first research in this area was motivated by military applications, with defense advanced research projects agency (DARPA) funding a number of prominent research projects such as Smart Dust, and neural engineering science and technology (NEST) [1].
Wireless sensor networks (WSNs) consist of collection of small, low-cost, usually randomly placed heterogeneous sensor nodes connected by wireless media to form a sensor field. Nodes monitor the environment, gather data and send it to the sink node through single or multichip communications. Its many applications include battlefield surveillance, habitat monitoring, environmental monitoring, health applications, target tracking, event detection, vehicle tracking, and forest fire detection [2].
To make the collected information valuable, many applications such as geographical routing and location-based information applications require the exact locations of deployed sensor nodes. Therefore, many location-finding schemes have been proposed for wireless sensor networks.
Absolute localization is to locate sensor nodes with respect to coordinate system, whereas in relative localization, the location of sensor nodes is found in relation to other sensors. Global positioning system is an example of absolute localization [12].
In centralized localization [13,14], one central base station is present for computation. The disadvantage is the overhead, and the cost also increases. Multidimensional scaling map (MDS-MAP) [14] is a centralized algorithm for computing the coordinates of unknown nodes after approximating the distances between the nodes using the shortest path algorithm. In contrast, decentralized or distributed localization techniques [15,16] depend on each sensor node being able to determine its location with only limited communication with nearby nodes.
Range-free [17] techniques depend upon factors such as the number of hop counts and connectivity, whereas range-based techniques include received signal strength indication (RSSI) [18], time of arrival (ToA) [19], angle of arrival (AoA) [20], time difference of arrival (TDoA), lateration and angulation, and so forth [10]. There is wide range of radio signals but ultrawide band (UWB) signals are particularly well suited for range-based localization, since they can provide accurate and reliable range measurements due to their fine delay resolution and robustness in harsh environments [21][22][23][24].
The anchor-based algorithms provide a starting point for an algorithm by using the position of anchor nodes. In contrast, anchorless schemes measure the distance between nodes for creating a local map of the nodes. The local map created is not a unique one and can be stitched to any coordinate system with the help of translation, rotation or flipping.
DWRL and I-DWRL algorithms fall into the category of range-based localization where an anchor node is also used to start the localization process. Both algorithms are designed for coplanar static wireless sensor and ad hoc networks.

Dual Wireless Radio Localization
The dual wireless radio localization (DWRL) algorithm [25] is a Global Positioning System (GPS) free-range based dual radio wireless localization algorithm for static wireless networks, where each node n x has two UWB wireless radios named Radio1 (R n x 1 ) and Radio2 (R n x 2 ) that are attached to an a priori known positions on board, as shown in Figure 1. The straight line joining R n x 1 and R n x 2 is considered as the axis of node. In this technique one of the nodes is designated as sink node whose R n x 1 is set at origin (x n x R 1 , y n x R 1 ) = (0, 0) and R n x 2 in the direction of positive x-axis (x n x R 2 , y n x R 2 ) = (d x , 0), which means the angle θ x between the x-axis and the axis of the node is zero and, here, d x is the distance between R n x 1 and R n x 2 . Two nodes are said to be collinear if there is a straight line passing through all four radios of the nodes. The authors of the DWRL algorithm have experimentally shown in their paper and suggested that, for a typical wireless sensor node, the inter-radio distance of 60 cm is sufficient for successful localization [25]. While an increased inter-radio distance improves localization accuracy, in all of our simulation scenarios we consider the minimum inter-radio distance of 60 cm to avoid a greater size of sensor nodes for practical scenarios.
DWRL algorithm is presented in three steps, which are presented below. Two nodes are said to be collinear if there is a straight line passing through all four radios of the nodes. The authors of the DWRL algorithm have experimentally shown in their paper and suggested that, for a typical wireless sensor node, the inter-radio distance of 60 cm is sufficient for successful localization [25]. While an increased inter-radio distance improves localization accuracy, in all of our simulation scenarios we consider the minimum inter-radio distance of 60 cm to avoid a greater size of sensor nodes for practical scenarios.
DWRL algorithm is presented in three steps, which are presented below.

Semi-Localization
The first step towards the localization of any unlocalized node with the help of a sink node or some other already localized node is semi-localization. For localization only, UWB radio ranging is used to measure four distances-1 r , 2 r , 3 r and 4 r -between the radios of the two nodes that are within range of each other, as shown in Figure 2. Here 1 n is the sink node, and 2 n is an unlocalized node, where 1 d and 2 d are already known radio separation distances. By using the law of cosines as given in Equations (1)- (8), two solutions are obtained for the location of node 2 n . Figure 2 shows semi-localization between node 1 n and 2 n .

Semi-Localization
The first step towards the localization of any unlocalized node with the help of a sink node or some other already localized node is semi-localization. For localization only, UWB radio ranging is used to measure four distances-r 1 , r 2 , r 3 and r 4 -between the radios of the two nodes that are within range of each other, as shown in Figure 2. Here n 1 is the sink node, and n 2 is an unlocalized node, where d 1 and d 2 are already known radio separation distances. By using the law of cosines as given in Equations (1)- (8), two solutions are obtained for the location of node n 2 . Figure 2 shows semi-localization between node n 1 and n 2 . Two nodes are said to be collinear if there is a straight line passing through all four radios of the nodes. The authors of the DWRL algorithm have experimentally shown in their paper and suggested that, for a typical wireless sensor node, the inter-radio distance of 60 cm is sufficient for successful localization [25]. While an increased inter-radio distance improves localization accuracy, in all of our simulation scenarios we consider the minimum inter-radio distance of 60 cm to avoid a greater size of sensor nodes for practical scenarios.
DWRL algorithm is presented in three steps, which are presented below.

Semi-Localization
The first step towards the localization of any unlocalized node with the help of a sink node or some other already localized node is semi-localization. For localization only, UWB radio ranging is used to measure four distances-1 r , 2 r , 3 r and 4 r -between the radios of the two nodes that are within range of each other, as shown in Figure 2. Here 1 n is the sink node, and 2 n is an unlocalized node, where 1 d and 2 d are already known radio separation distances. By using the law of cosines as given in Equations (1)-(8), two solutions are obtained for the location of node 2 n . Figure 2 shows semi-localization between node 1 n and 2 n .
x n 2 R 1 = r 1 cos θ 2 (5) y n 2 R 1 = ±r 1 sin θ 2 (6) x n 2 R 2 = r 3 cos θ 1 y n 2 R 2 = ±r 3 sin θ 1 (8) Figure 3 shows two solutions for the position of node n 2 : one is the actual position and the other position is located symmetrically on a flip around the axis of node n 1 . There will be only one solution if and only if the axes of n 1 and n 2 lie on a same straight line or, in other words, both nodes are collinear. n R 3 1 y = r sinθ  (8) Figure 3 shows two solutions for the position of node 2 n : one is the actual position and the other position is located symmetrically on a flip around the axis of node 1 n . There will be only one solution if and only if the axes of 1 n and 2 n lie on a same straight line or, in other words, both nodes are collinear.

Rigid Localization
As in semi-localization, if the two nodes 1 n and 2 n are collinear, then both the location solutions will be same, and will indicate actual position of node 2 n . If both the nodes are not collinear then there is a need of the rigid localization. Rigid localization makes use of an additional node with additional semi-localization for selecting the correct solution for node 2 n by matching the location that is the best overlapped from the 1 n − 2 n and 3 n − 2 n semi-localization steps, where nodes 1 n and 3 n are already localized. In Figure 4

Rigid Localization
As in semi-localization, if the two nodes n 1 and n 2 are collinear, then both the location solutions will be same, and will indicate actual position of node n 2 . If both the nodes are not collinear then there is a need of the rigid localization. Rigid localization makes use of an additional node with additional semi-localization for selecting the correct solution for node n 2 by matching the location that is the best overlapped from the n 1 − n 2 and n 3 − n 2 semi-localization steps, where nodes n 1 and n 3 are already localized. In Figure 4 node n 2 is rigid localized with the help of node n 1 and n 3 , which are somehow already rigid localized. Here, n 2 and n 2 are not the actual positions of n 2 .

DWRL Algorithm
The sink node initializes the localization process. Firstly, one of the neighbor nodes is semi-localized and declared to be rigid localized even without performing rigid localization, because the sink is the only localized node and there is no other localized node to perform rigid localization. The initial guess of the actual position of the first node is left to be verified by a third party outside of the network such as network operator, and it should be verified at the end when the whole network is localized. Later, the sink and the first localized node will rigid localize their neighbor nodes and the process continues. During the localization process, all unlocalized nodes keep listening unless they receive message from two localized neighboring nodes. Finally, a third party should check whether the initial guess of the location of the first node was not correct. In this case, the locations of all nodes should be symmetrically flipped around the axis of the sink node. Figure 5 shows flowchart of DWRL algorithm.  Figure 4. Rigid localization of node 2 n using localized nodes 1 n and 3 n .

DWRL Algorithm
The sink node initializes the localization process. Firstly, one of the neighbor nodes is semilocalized and declared to be rigid localized even without performing rigid localization, because the sink is the only localized node and there is no other localized node to perform rigid localization. The initial guess of the actual position of the first node is left to be verified by a third party outside of the network such as network operator, and it should be verified at the end when the whole network is localized. Later, the sink and the first localized node will rigid localize their neighbor nodes and the process continues. During the localization process, all unlocalized nodes keep listening unless they receive message from two localized neighboring nodes. Finally, a third party should check whether the initial guess of the location of the first node was not correct. In this case, the locations of all nodes should be symmetrically flipped around the axis of the sink node. Figure 5 shows flowchart of DWRL algorithm.

Start
Sink node initializes localization process so that all reachable unlocalized nodes should keep listening unless they receive message from two localized neighbors.
Sink semi localizes one of it's neighboring node "n" and declares it as a rigid localized node with initial guess of one of it's two possible locations.
Was the initial guess of location of node "n" right?
Symmetrically flip locations of all nodes around the axis of sink node Sink and node "n" carryout further rigid localization for neighboring nodes and process continues hop to hop till all nodes are localized End No Yes Figure 5. Flowchart of dual wireless radio localization (DWRL) algorithm. Figure 5. Flowchart of dual wireless radio localization (DWRL) algorithm.

DWRL Algorithm Drawbacks
Although dual radios on a single node for localization is effective, the DWRL algorithm has the following drawbacks: a.
If the initial location of the sink node is not known, then the DWRL algorithm considers that Radio1 (R sin k 1 ) of the sink node has been assigned a specific location (0,0), and Radio2 (R sin k 2 ) of sink node is considered in the direction of positive x-axis, which points to local east direction. If nodes are randomly deployed, how then can we suppose the Radio2 of the sink node is in the direction of local east? The wrong angle of axis of the sink node can lead to the wrong location of the rest of the network nodes. Therefore, we need to find actual direction of R sin k 2 . b.
The DWRL algorithm needs at least two localized nodes to fully localize and unlocalized the node. For this reason, the DWRL algorithm cannot rigid localize first node with one sink node. First, the semi-localized node is declared as rigid localized on the basis of one randomly chosen location solution of the two possible location solutions of the first node. This can lead to serious localization problems if rest of the network continues to localize with the help of the wrong location of first node. What if the applications scenario is critical, and we have to use the location of some nodes before the whole network localization process is completed, and then the third party finds out that location of first node was not right and location of all nodes need to be flipped around the axis of the sink node? Therefore, we need to find the exact location of the first node. To rigid localize a node, a minimum of two semi-localizations are required. If an unlocalized node cannot listen from at least two localized nodes then it cannot be localized and it has to wait, unless somehow two localized signals are received. If some node cannot receive two localized signals then it cannot be localized at all. This requires the DWRL algorithm to perform at least (2n − 3) semi-localizations [25] to localize the entire network. Here, (2n − 3) is the number of semi-localizations required for network with n number of nodes, which is equal to twice the number of nodes n and three less, where three indicates that there are no semi-localizations performed for a sink node and only one semi-localization is performed for the node that will be localized first. Since (2n − 3) semi-localizations can be carried out with each choice of a different edge, the total number of semi-localizations can be, at most, P n 2 × (2n − 3). A higher number of semi-localizations uses more energy and time, therefore we need to minimize the total number of semi-localizations as well as increase number of fully localized nodes even with single semi-localization step. d.
For successful semi-localization, each of four radios of two nodes must be in communication range with rest of the three radios. This requires either high node density or high transmission power, where high node density costs more nodes and high transmission power reduces the life of sensor nodes. We need to develop a way for nodes to be localized even if few of the four radios of the two communicating nodes can reach each other.

Improved DWRL (I-DWRL) Algorithm
To present the I-DWRL algorithm, we intend to improve the drawbacks of the DWRL algorithm, as mentioned earlier. To achieve such improvements, we use a magnetometer, which is affixed on Radio1 of every single node, as shown in Figure 6. θ c is the angle measured with magnetometer and (θ x = 360 − θ c ) is the angle which roughly indicates the slope of the axis of node; it will be used in the localization process. In I-DWRL, which is distinct from original DWRL, we have added the initial location of Radio1 of the sink node ( sink 1 R ) as 1 1 sink sink RR (x , y ) , which is fed the exact location using GPS or any other means of location source, and the initial location of Radio2 of sink node ( sink 2 R ) is measured using simple trigonometry, as given in Equation (9). Further Equations (5)-(8) are modified into Equations (10)- (13) to accommodate any initial position and angle of axis of sink node. The initial position of a sink node can help to locate other nodes with their real positions in the coordinate system. Adding the actual location of a sink node solves the first drawback of the DWRL algorithm.  In I-DWRL, which is distinct from original DWRL, we have added the initial location of Radio1 of the sink node (R sin k 1 ) as (x sin k R 1 , y sin k R 1 ), which is fed the exact location using GPS or any other means of location source, and the initial location of Radio2 of sink node (R sin k 2 ) is measured using simple trigonometry, as given in Equation (9). Further Equations (5)-(8) are modified into Equations (10)- (13) to accommodate any initial position and angle of axis of sink node. The initial position of a sink node can help to locate other nodes with their real positions in the coordinate system. Adding the actual location of a sink node solves the first drawback of the DWRL algorithm.
(x sin k R 2 , y sin k R 2 ) = (x sin k R 1 +d 1 cos θ x , y sin k R 1 +d 1 sin θ x ) (9) x n 2 R 1 = r 1 cos(θ 2 +θ x ) + x n 1 A magnetometer is cheap but susceptible to environmental noise, and it may require calibration from time to time. To deal with the problem of magnetometer calibration, we consider that all magnetometers are calibrated well before the localization process starts, and magnetometers should be calibrated whenever required and feasible. To deal with the problem of angle errors due to environmental noise, we consider that we have knowledge of environmental noise and we know the effect of such noise on magnetometer angle deflection. With this knowledge, it appears that we can calculate, in advance, the maximum possible magnetometer angle errors due to environmental noise. If θ n 2 x is an angle obtained from magnetometer at R n 2 1 and ±θ d_max is the maximum possible angle deflection caused due to environmental noise, then we compare which of the slope of two possible positions of unlocalized node n 2 falls within angle range θ range = θ n 2 x ± θ d_max is considered as an actual location of n 2 without performing rigid localization. Figure 7 depicts such a scenario, where slope S 1 and S 2 can be found using Equation (14).
For such semi-localization to produce accurate results of rigid localization without performing rigid localization, the minimum difference between the angle of slope of a localized node and the angle of the magnetometer of an unlocalized node must be greater than θ d_max . As with the use of a magnetometer, we can use only one semi-localization to rigid localize an unlocalized node, therefore, it solves the second and third drawbacks of the DWRL algorithm.
To overcome the connectivity problem of the DWRL algorithm, we have considered six cases, four of which are shown in Figure 8.   For Case a, the actual and other possible position of R n 2 1 of an unlocalized node can be found with the help of a localized node n 1 using Equations (4), (10) and (11), whereas the actual and other possible location of R n 2 2 of an unlocalized n 2 can be found using angle θ n 2 x in Equations (15) and (16).
x n 2 R 2 = x n 2 R 1 +d 2 cos θ n 2 x (15a) x n 2 R 2 = x n 2 R 1 +d 2 cos θ n 2 x (15b) y n 2 R 2 = y n 2 R 1 +d 2 sin θ n 2 x (16a) y n 2 The decision regarding the choosing of the actual location of n 2 out of two obtained locations is made on the basis that Radio1 and Radio2 of node n 1 cannot reach Radio2 of node n 2 , but in obtained location n 2 Radio2 of node n 2 lies within the communication range of Radio2 of node n 1 . Mathematically, the actual location of node n 2 can be confirmed using Equation (17). In Equation (17), if the condition is true then n 2 is the actual location else n 2 .
For Case b, the actual and other possible location of R n 2 1 and R n 2 2 of node n 2 can be found using Equations (4) and (18)- (21). Moreover, we can decide actual position of node n 2 using Equation (22). In Equation (22) if the condition is true then n 2 is the actual location else n 2 .
All six of these cases are used to solve the connectivity issue of DWRL algorithms in situations where node density or transmission range is not enough.
A detailed flowchart of the DWRL algorithm is shown in Figure 9.

Simulation Scenario, Parameters and Results
In this section, we simulate the DWRL and I-DWRL algorithms and analyze the effects of parameters such as range measurement errors, magnetometer errors, transmission range, and so on, where NS-2 [26] is used as a simulation tool. We compare DWRL and I-DWRL in terms of the number of semi-localizations required, the percentage of network nodes localized, and the time and energy required to finish localization process. To accommodate range measurement errors, real-world noise is considered as the summation of high probability small noise and low probability large noise [27,28]. Small noise is modeled as a Gaussian random process as a function of "R", which is the wireless range of nodes, which is given in Equation (25).

Simulation Scenario, Parameters and Results
In this section, we simulate the DWRL and I-DWRL algorithms and analyze the effects of parameters such as range measurement errors, magnetometer errors, transmission range, and so on, where NS-2 [26] is used as a simulation tool. We compare DWRL and I-DWRL in terms of the number of semi-localizations required, the percentage of network nodes localized, and the time and energy required to finish localization process. To accommodate range measurement errors, real-world noise is considered as the summation of high probability small noise and low probability large noise [27,28]. Small noise is modeled as a Gaussian random process as a function of "R", which is the wireless range of nodes, which is given in Equation (25).
The low probability large noise value is selected as a function of "R" with probability less than 0.025, which is given in Equation (26).
Further magnetometer maximum possible deflection from its accurate angle is a joint effect of both noises, and it is modeled as a function of both noises θ d_max (N S , N L ). The effect of both noises is considered in such a way that 0 < θ d_max ≤ 45. Figure 10 and Table 1 shows simulation scenario and parameters, respectively.  Figure 10 and Table 1 shows simulation scenario and parameters, respectively.   Figure 11 shows that with lower transmission range connectivity problems can occur, and a smaller number of nodes will be localized with the DWRL algorithm, whereas the I-DWRL algorithm performs well even with the smaller transmission range of nodes. With the transmission range of 8 m, the DWRL algorithm cannot even localize more than 5% of network nodes, whereas our I-DWRL can localize around 80% of network nodes.   Figure 11 shows that with lower transmission range connectivity problems can occur, and a smaller number of nodes will be localized with the DWRL algorithm, whereas the I-DWRL algorithm performs well even with the smaller transmission range of nodes. With the transmission range of 8 m, the DWRL algorithm cannot even localize more than 5% of network nodes, whereas our I-DWRL can localize around 80% of network nodes. As we have improved the DWRL algorithm in terms of having a smaller number of semilocalizations required for the full localization of unlocalized nodes, therefore, Figure 12 shows that the I-DWRL algorithm can localize higher percentage of nodes with a lower number of semilocalizations, even in noisy environments. In an ideal case where the transmission range is 15 m and there is no noise, the I-DWRL algorithm can save around 50% of semi-localizations. In the worst case, where the transmission range is 10 m, the DWRL algorithm can reach only 9% of network nodes; therefore, it performs a smaller number of semi-localizations, while I-DWRL can reach 100% of network nodes and performs a greater number of semi-localizations. If the angle of deflection of the magnetometer is increased, then the performance of the I-DWRL algorithm degrades and requires a greater number of semi-localizations. For a transmission range of 15.5 m, Figure 13 shows that the I-DWRL algorithm requires less than 60% of network localization time and takes around 70% of the energy to fully localize the same network as with the DWRL algorithm.
For the simulation results of localization error, we have considered two transmission ranges, namely, 15.5 m and 14.5 m. The angle of magnetometer deflection due to environmental noise is considered as ±20 degrees. Figure 14a shows that as the distance between sensor nodes and sink nodes is increasing due to multi-hop communication and so is the error, but both the algorithms have same the performance. Figure 14b shows that, due to limited wireless range, the DWRL algorithm cannot reach all network nodes and, for the considered parameters, three nodes cannot be localized. So, for these three nodes the localization error is infinite. Figure 14b shows that the I-DWRL algorithms can reach these three nodes and localize them well. As we have improved the DWRL algorithm in terms of having a smaller number of semi-localizations required for the full localization of unlocalized nodes, therefore, Figure 12 shows that the I-DWRL algorithm can localize higher percentage of nodes with a lower number of semi-localizations, even in noisy environments. In an ideal case where the transmission range is 15 m and there is no noise, the I-DWRL algorithm can save around 50% of semi-localizations. In the worst case, where the transmission range is 10 m, the DWRL algorithm can reach only 9% of network nodes; therefore, it performs a smaller number of semi-localizations, while I-DWRL can reach 100% of network nodes and performs a greater number of semi-localizations. If the angle of deflection of the magnetometer is increased, then the performance of the I-DWRL algorithm degrades and requires a greater number of semi-localizations. As we have improved the DWRL algorithm in terms of having a smaller number of semilocalizations required for the full localization of unlocalized nodes, therefore, Figure 12 shows that the I-DWRL algorithm can localize higher percentage of nodes with a lower number of semilocalizations, even in noisy environments. In an ideal case where the transmission range is 15 m and there is no noise, the I-DWRL algorithm can save around 50% of semi-localizations. In the worst case, where the transmission range is 10 m, the DWRL algorithm can reach only 9% of network nodes; therefore, it performs a smaller number of semi-localizations, while I-DWRL can reach 100% of network nodes and performs a greater number of semi-localizations. If the angle of deflection of the magnetometer is increased, then the performance of the I-DWRL algorithm degrades and requires a greater number of semi-localizations. For a transmission range of 15.5 m, Figure 13 shows that the I-DWRL algorithm requires less than 60% of network localization time and takes around 70% of the energy to fully localize the same network as with the DWRL algorithm.
For the simulation results of localization error, we have considered two transmission ranges, namely, 15.5 m and 14.5 m. The angle of magnetometer deflection due to environmental noise is considered as ±20 degrees. Figure 14a shows that as the distance between sensor nodes and sink nodes is increasing due to multi-hop communication and so is the error, but both the algorithms have same the performance. Figure 14b shows that, due to limited wireless range, the DWRL algorithm cannot reach all network nodes and, for the considered parameters, three nodes cannot be localized. So, for these three nodes the localization error is infinite. Figure 14b shows that the I-DWRL algorithms can reach these three nodes and localize them well. For a transmission range of 15.5 m, Figure 13 shows that the I-DWRL algorithm requires less than 60% of network localization time and takes around 70% of the energy to fully localize the same network as with the DWRL algorithm.
For the simulation results of localization error, we have considered two transmission ranges, namely, 15.5 m and 14.5 m. The angle of magnetometer deflection due to environmental noise is considered as ±20 degrees. Figure 14a shows that as the distance between sensor nodes and sink nodes is increasing due to multi-hop communication and so is the error, but both the algorithms have same the performance. Figure 14b shows that, due to limited wireless range, the DWRL algorithm cannot reach all network nodes and, for the considered parameters, three nodes cannot be localized. So, for these three nodes the localization error is infinite. Figure 14b shows that the I-DWRL algorithms can reach these three nodes and localize them well.

Conclusions
The DWRL algorithm uses two UWB radios with each node and requires a minimum of two localized nodes for the localization of an unlocalized node, where all four radios of two communicating nodes should be able to communicate with the remaining three radios. We have improved the DWRL algorithm by using a magnetometer on one of the radios of each node, such that the I-DWRL algorithm requires only one node to fully localize an unlocalized nodes without the strict requirement of connectivity among all four radios of the two communicating nodes. Our results also verify the fact that I-DWRL outperforms in terms of time, energy, number of localized nodes, localization error, and so on. In comparison with the DWRL algorithm, I-DWRL requires almost half the number of semi-localizations in a low-noise environment, 60% of whole network localization time, 70% of the energy, and can localize more number of network nodes with a maintained localization error in cases when DWRL algorithm cannot reach all network nodes.

Conclusions
The DWRL algorithm uses two UWB radios with each node and requires a minimum of two localized nodes for the localization of an unlocalized node, where all four radios of two communicating nodes should be able to communicate with the remaining three radios. We have improved the DWRL algorithm by using a magnetometer on one of the radios of each node, such that the I-DWRL algorithm requires only one node to fully localize an unlocalized nodes without the strict requirement of connectivity among all four radios of the two communicating nodes. Our results also verify the fact that I-DWRL outperforms in terms of time, energy, number of localized nodes, localization error, and so on. In comparison with the DWRL algorithm, I-DWRL requires almost half the number of semi-localizations in a low-noise environment, 60% of whole network localization time, 70% of the energy, and can localize more number of network nodes with a maintained localization error in cases when DWRL algorithm cannot reach all network nodes.

Conclusions
The DWRL algorithm uses two UWB radios with each node and requires a minimum of two localized nodes for the localization of an unlocalized node, where all four radios of two communicating nodes should be able to communicate with the remaining three radios. We have improved the DWRL algorithm by using a magnetometer on one of the radios of each node, such that the I-DWRL algorithm requires only one node to fully localize an unlocalized nodes without the strict requirement of connectivity among all four radios of the two communicating nodes. Our results also verify the fact that I-DWRL outperforms in terms of time, energy, number of localized nodes, localization error, and so on. In comparison with the DWRL algorithm, I-DWRL requires almost half the number of semi-localizations in a low-noise environment, 60% of whole network localization time, 70% of the energy, and can localize more number of network nodes with a maintained localization error in cases when DWRL algorithm cannot reach all network nodes.
Author Contributions: Abdul Aziz developed this idea, Ramesh Kumar helped in simulation work and Inwhee Joe guided and supported well at every stage.