1. Introduction
In recent years, the advantages of wireless communication technology, sensors, and embedded technology have significantly propelled the development of wireless sensor networks (WSNs) which have already been widely applied to some key fields [
1,
2], such as environmental monitoring, traffic management, national defense, and so on, in order to achieve real-time acquisition and perception of various object information in monitoring areas. Generally, the smart sensor nodes are often randomly and unevenly distributed, and the topology of WSNs may sometimes change dynamically, and thus it is difficult to determine the positions for all the sensor nodes. But, the position information of sensor nodes is indispensable and the monitoring without position information is also meaningless. Besides that, the position information of sensor nodes can help design the top-level route protocols [
3,
4,
5]. Therefore, localization algorithm for sensor nodes is one of the key technologies is WSNs [
6].
WSNs consist of a large number of sensor nodes, and the
Figure 1 shows an example of network structure. Each node can be classified as either an unknown nodes or as an anchor node. Traditionally, anchor nodes can be localized by using Global Positioning System (GPS) or BeiDou Navigation Satellite System (BDS). However, it is impossible for the use of GPS/BDS on each node, because it requires higher hardware or deployment costs, which are not acceptable in large-scale WSNs. Therefore, there are only a few of anchor nodes compared to the number of unknown nodes in WSNs, and most unknown nodes have to estimate distances from anchor nodes over multi-hop environments. When the positions of anchor nodes in WSNs are already given, Node localization refers to the process of computing the positions of unknown nodes after mathematical or physical model have been established through information exchange and calculation.
At present, there are many kinds of self-localization algorithms, which can be divided into two categories, that is, range-based localization algorithm [
7] and range-free localization algorithm [
8]. Range-based algorithms use absolute point-to-point distance or angle information to calculate distance between neighboring sensor nodes, but the range-free algorithms do not need absolute range information.
In range-free localization algorithms, for example, centroid localization [
9], APIT [
10], DV_Hop [
11], and amorphous [
12], nodes have no ability to measure the distances or angles to their neighbors and instead use connectivity or hop information to compute their positions. They are simpler and do not require extra hardware for measurement. The DV_Hop is a typical range-free based localization algorithm due to its simplicity, cost-effectiveness, and robustness, and its basic idea is to calculate the estimated distances by the product of the average distance per hop and the hop numbers from unknown nodes to anchor nodes. On the basis of original DV_Hop algorithm, Lin [
13] uses the least square method to modify the average distance per hop between anchor nodes. In reference [
14], weighting coefficients are introduced into the correlation matrix of estimated distance, and a new localization algorithm with the weighted hyperbolic localization is proposed. Song [
15] proposes an improved weighted centroid DV_Hop localization algorithm, which improves the accuracy after selecting appropriate anchor nodes and replaces maximum likelihood localization by centroid localization, besides that a weighted scheme is also used so that the influence of different anchor nodes can be taken into consideration. In order to further improve localization accuracy, the differential evolution (DE) algorithm, which performance is verified superior to the genetic algorithm (GA) and particle swarm optimization (PSO) algorithm, is used to optimize the weighted square error of the estimated distance [
16], so that the global optimal solution can be obtained. Usually, because of unavoidable error in the phase of distance estimation, the localization accuracy of range-free based algorithms is still relatively poor.
Compared with range-free localization algorithms, range-based localization can provide higher localization accuracy, and the ranging methods obtain information, including distance or angle between sensor nodes, by ranging techniques such as Received Signal Strength Indicator (RSSI) [
17], Time-Difference-of-Arrival (TDOA) [
18], Time-of-Arrival (TOA) [
19], and Angle-of-Arrival (AOA) [
20]. TDOA, TOA, and AOA have higher requirements for node hardware, while RSSI is a low power and inexpensive ranging method only relying on the acceptance strength of wireless signals. At present, DV_Distance, proposed by D. Niculesucu and B. Nath [
21], is a typical range based node localization algorithm, and RSSI is used to measure the distance between adjacent nodes, and then the actual Euclidean distance can be replaced by the accumulated hop distance. Because the DV_Distance algorithm is sensitive to the ranging error, and meanwhile the accumulated hop distance is generally larger than the actual Euclidean distance, thus localization error comes up inevitably. In order to further reduce localization error, some correction model or coefficients are designed to modify the accumulated hop distance between nodes, so that the corrected distance is more similar to the actual Euclidean distance.
In this paper, a difference DV_Distance localization algorithm using correction coefficients of unknown nodes is proposed. To the best of knowledge, our contributions are as follows:
- (i)
The correction model based on unknown nodes is used, so that the unknown nodes can have their own correction coefficients, instead of using the correction coefficients from their nearest anchor nodes, and thus the difference of correction coefficients for unknown nodes can be reflected.
- (ii)
The difference of accumulated hop distance and actual Euclidean distance between anchor nodes is used to design correction coefficients. Because of no position information of unknown nodes, the distance difference from unknown nodes to anchor nodes cannot be directly computed. Therefore, we use the information of anchor nodes distributed in different direction to indirectly compute the distance difference.
- (iii)
According to the actual contribution of anchor nodes in different direction, the weighting process is put forward to get the final correction coefficient of unknown nodes, which can further improve the localization accuracy of the proposed algorithm.
The remainder of this paper is organized as follows. In
Section 2, we briefly review other researchers’ study on DV_Distance improvement which we have realized. In
Section 3, the basic DV_Distance localization algorithm is briefly introduced. We introduce how we refine the DV_Distance algorithm in
Section 4.
Section 5 illustrates the simulation results, and also we compare and analyze the difference between our proposed algorithm and other improved DV_Distance localization algorithms. Finally, we present our conclusions in
Section 6.
2. Related Works
Table 1 presents the description of specific symbols for some improved DV_Distance localization algorithms. In reference [
22], Dai introduces both the ratio of actual Euclidean distance to accumulated hop distance and the hops between anchor nodes to design a correction coefficient. However, it still uses the correction model based on anchor nodes, that is, each unknown node receives the corresponding correction coefficient from its nearest anchor node to modify the accumulated hop distance from itself to other anchors. Suppose that, the anchor
i is the nearest anchor node to the unknown node
k, and thus the correction equations of Dai’s approach are shown in detail as follows:
In term of the difference of accumulated hop distance and corresponding actual Euclidean distance between anchor nodes, Perkins [
23] proposes a difference DV_Distance localization algorithm, and the correction coefficient based on the distance difference between anchor nodes is designed to correct accumulated hop distance from unknown nodes to anchor nodes. However, it has an obvious disadvantage, that is, the accumulated hop distances for unknown nodes on the same path are actually different. The equations for distance correction are as follows:
Taking account of the difference of hop number between anchor nodes, Liu [
24] evenly assigns the difference of accumulated hop distance and corresponding actual Euclidean distance to each hop, but the problem ignored in this algorithm is that the assigned distance difference for each hop should also be different when the nodes in WSNs are not evenly distributed. The improved distance correction equations of Liu’s method are expressed as:
On the basis of Liu’s approach, Wang [
25] calculated the average distance difference per hop under unit distance after considering the randomness of node distribution, and the specific correction equations for Wang’s method are as follows:
In the above reference [
22,
23,
24,
25], the correction model based on anchor nodes is employed. When the accumulated hop distances from unknown nodes to anchors are to be corrected, the unknown nodes will adopt the corresponding correction coefficients from their nearest anchor nodes, which lead to the phenomena that the different unknown nodes may have the same correction coefficient. Therefore, Shi [
26] designed a correction model based on unknown nodes in which the unknown nodes use their own correction coefficients, and a dynamic weighted DV_Distance localization algorithm is proposed using the ratio of actual Euclidean distance to accumulated hop distance between anchor nodes. Different anchor nodes are selected to compute their corresponding correction coefficients, and then a dynamic weighting correction approach is designed to obtain the final correction coefficient. The detailed equations of Shi’s method are expressed as follows:
We have realized the above algorithms by programming with MATLAB so that we can compare our proposed algorithm with them from lots of aspects. The comparison and analysis will be made after we introduce our algorithm in following sections.
3. Theoretical Background
The DV_Distance algorithm is a cooperative localization method based on the distance vector routing principle, and it not only has better distribution and expansibility, but also is easy and simple to be realized. A general WSN is shown in
Figure 2, where unknown nodes are represented by white dots, and black dots indicate anchor nodes, besides that, the solid lines between nodes mean that they can communicate with each other, while the dashed lines represent the actual Euclidean distance. In brief, the localization process for the basic DV_Distance algorithm consists of the following two steps:
Step 1: calculating minimum hop number and corresponding accumulated hop distance from unknown nodes to anchor nodes.
In terms of the typical distance vector protocol, anchor nodes only broadcast their own information packets, including hop number and accumulated hop distance (both initialized to zero), to neighbor nodes. When an unknown node receives many information packets from a same anchor, it will first compare the hop number and then preserve the information packet having the minimum hop number, after that the hop number will be added 1, and meanwhile the accumulated hop distance from every anchor node will be computed and forwarded to its neighbor node. By means of the above mechanism, both the minimum hop number and the accumulated hop distance from unknown nodes to anchor nodes can be obtained. As shown in
Figure 2, the minimum hop number from the unknown node
U0 to anchor nodes
A1,
A2,
A3, and
A4, respectively, are set as 2, 1, 2, and 3, thus the corresponding accumulated hop distances are expressed as
d1 = |
U0U1| + |
U1A1|,
d2 = |
U0A2|,
d3 = |
U0U4| + |
U4A3|, and
d4 = |
U0U5| + |
U5U6| + |
U6A4|. In addition, the actual Euclidean distances from
U0 to anchor nodes are represented by
D1,
D2,
D3, and
D4. Obviously,
D1 ≠
d1,
D3 ≠
d3, and
D4 ≠
d4, that is, the accumulated hop distance is not equal to the actual Euclidean distance.
Step 2: unknown nodes localization using three-edge or multilateral distance measurement.
The accumulated hop distances from each anchor to unknown nodes, which have been calculated in step 1, are regarded as the effective distances, and then the coordinates of unknown nodes can be computed by three-edge or multilateral distance method. Assume that, the coordinates of anchor nodes are (
xi,
yi),
i = 1, 2, …,
n, and their accumulated hop distances are respectively
d1,
d2, …,
dn. If the coordinate of unknown node is expressed as (
x,
y), we have the equations as follows:
Then, the Equation (13) can be transformed into the linear equation form of
AX =
B, and we have:
Finally, the least square method can be used to solve the coordinates
X of unknown nodes, as shown in Equation (14):
4. Our Proposal: Difference DV_Distance Using Correction Coefficients of Unknown Nodes
At present, the correction model based on anchor nodes is often employed by most existing improved DV_Distance localization algorithms, that is, the accumulated hop distances from unknown node to anchor node is corrected using the correction coefficient of the anchor node which is nearest to the unknown node. Actually, the minimum hop numbers from different unknown nodes to anchor nodes are different, and meanwhile the corresponding accumulated hop distances are also different, and thus different unknown nodes should have different correction coefficients. However, the correction model based on anchor nodes cannot reflect the difference of correction coefficients for different unknown node.
Taking account of the above technical limitation, a difference DV_Distance localization algorithm using correction coefficients of unknown nodes is proposed, and each unknown node is made to compute its own correction coefficient, reflecting the difference of the correction coefficients for all unknown nodes. Because we have no position information about unknown nodes, it is unable to directly compute the difference of accumulated hop distance and actual Euclidean distance from unknown nodes to anchor nodes. In order to indirectly obtain the distance difference from unknown nodes to anchor nodes, we have defined target anchor node and direction anchor node. For the purpose of explanation, as also shown in
Figure 2, anchor
A1 is considered as target anchor node when the accumulated hop distance is modified from unknown node
U0 to anchor
A1, simultaneously, the other anchor nodes
A2,
A3, and
A4 are regarded as direction anchor node.
The improvement of the proposed algorithm mainly includes two aspects: (1) the contributions of direction anchor nodes are made full use of to compute the distance difference from unknown nodes to target anchor node; (2) according to their contribution, some correction coefficients for all direction anchor nodes are weighted to get the final correction coefficient of unknown nodes, which will further improve the correction accuracy of accumulated hop distance.
4.1. Calculation of Correction Coefficients for Direction Anchor Node
Unknown nodes do not contain their position information, so the actual Euclidean distances from unknown nodes to anchor nodes are also unknown. Therefore, we put forward an indirect calculation approach for the distance difference from unknown nodes to anchor nodes.
Figure 3 shows the calculation schematic diagram of correction coefficients of unknown nodes, node
p is set as an unknown node, and node
i is indicated as target anchor node. Both the accumulated hop distance and the hop number from unknown node
p to target anchor
i are already known. However, the correction coefficient of unknown node
p cannot be computed only using the above two known information, and thus, we can make full use of the information from direction anchor nodes
k,
m, and
n. Taking direction anchor node
k as an example, because the actual Euclidean distance, accumulated hop distance and hop number from direction anchor node
k to target anchor node
i are already known, we can calculate the corresponding correction coefficient for direction anchor node
k using the information from both unknown node
p and direction anchor node
k to target anchor node
i. Similarly, the correction coefficients of other direction anchor nodes can also be obtained sequentially. The calculation equation is as follows:
where
is the correction coefficient for direction anchor node
k from unknown node
p to target anchor node
i;
Dk,i represents the actual Euclidean distance from direction anchor node
k to target anchor node
i;
dk,i and
hk,i, respectively indicate the corresponding accumulated hop distance and the hop number. In addition,
is the projection parameter of direction anchor node
k.
From Equation (15), it can be seen that the correction coefficient for direction anchor node k is composed of two parts. In the equation, indicates the distance difference per hop under unit distance from direction anchor node k to target anchor node i, and this distance difference can be projected by the remaining part onto the direction from unknown node p to target anchor node i. Therefore, the correction coefficients for the other direction anchor nodes can be computed using the same way.
The projection parameter
can be calculated as follows:
where
hp,k and
hp,i, respectively represent the hop number from the unknown node
p to direction anchor node
k and target anchor node
i, and
angle can be computed in Equation (17) based cosine theorem.
where
dp,i and
dp,k, respectively indicate the accumulated hop distance from unknown node
p to target anchor
i and direction anchor
k.
For the Equation (17), a triangle can be formed by unknown node p, target anchor node i and direction anchor node k. because we do not have the coordinates of unknown node p, and thus the actual Euclidean distances between them can be approximately replaced by the corresponding accumulated hop distances. When the angle is 0 degree, it indicates that the shortest path from direction anchor node k to target anchor node i passes through the unknown node p. However, when the angel is 180 degree, it shows that the shortest path from unknown node p to direction anchor node k passes through target anchor node i.
For the Equation (16), can be treated as the exponential function about the absolute cosine value of angle. The exponent shows the ratio of the hop number hp,k to the sum of hop numbers hp,i and hp,k. The smaller this ratio is, the closer the direction anchor node k is to the unknown node p, and then the calculated value of projection parameter is greater according to the property of exponential function.
4.2. Weighted Processing for Correction Coefficients of All Direction Anchor Nodes
The correction coefficients for direction anchor nodes reflect their influence on the distance difference from unknown node to target anchor node. However, the correction coefficient only from a single direction anchor node cannot be sufficient to reflect the actual properties of the whole network. In addition, the influence of other direction anchor nodes are not fully utilized, which cause the phenomenon that the actual localization accuracy is not very high.
The correction coefficients for all direction anchor nodes are considered in this paper, and the average weighted processing is employed to assign different weights to every correction coefficient respectively, and the final correction coefficient of the unknown node should be consisted of all the correction coefficients of direction anchor nodes, and it will be closer to the actual correction value in the network. The detailed equations for the average weighted processing are expressed as follows:
where
, the ratio of
hp,i and
hp,k, represents the weight parameters for direction anchor node
k, reflecting the distance relationship. If the ratio is relatively larger, it shows that the direction anchor node
k is closer to the unknown node
p, and then its weight parameter is greater.
is the normalized weight parameter for direction anchor node
k, and the sum of all the normalized weight parameters for direction anchor nodes is ensured to be 1 through normalization. At last,
Cp,i represents the final correction coefficient from the unknown node
p to the target anchor node
i after weight processing.
4.3. Distance Correction
After the final correction coefficient from unknown node
p to the target anchor node
i is obtained, it can be used to correct the corresponding accumulated hop distance, so as to make the corrected distance closer to the actual Euclidean distance, and then the localization accuracy can be further improved.
Cdistp,i which represents the corrected distance from the unknown node
p to the target anchor node
i can be computed as follows:
where
dp,i and
hp,i are respectively the accumulated hop distance and the hop number from unknown node
p to target anchor node
i.
So far, after the unknown node gets correction distances from at least three anchor nodes, the position of unknown node can be computed using three-edge or multilateral distance method.