Keywords

1 Introduction

Sensor nodes are usually randomly deployed and perform a lot of monitoring tasks in different environment in Wireless Sensor Networks (WSNs) [1]. And location information is important for sensor nodes which monitor environmental objectives [2]. In the field of node localization, sensor nodes can be divided into two categories, one is the anchor node (location is known) whose coordinates are usually obtained by GPS or manual deployment. The other is the unknown node (location is unknown), which needs to estimate its coordinates with the information provided by surrounding anchor nodes. At present, there are two kinds of localization algorithms. One is range-based algorithm that need measure distance among nodes. The other is range-free location algorithm which only completes locating through the angle or hop information without distance measurement. Recent range-based localization algorithms [3] are mostly influenced by the environment, and it leads to large locating error and high algorithm complexity. However, one problem that cannot be ignored in the range-free localization algorithm [4] is also the large locating error. So it is proved that there is still a lot of research space for the localization method, which is worthy of further excavation and exploration. In order to reduce the locating error without raising costs, this paper proposes a range-free localization algorithm by studying the current localization algorithms. The main innovations and contributions are as follows.

  1. (1)

    This paper proposes MDIS model to implement a novel range-free localization algorithm that determines the unknown node in which subregion through correlation coefficient calculated by relation arrays of the unlocated node to its neighbor anchor nodes and centroid points to these anchor nodes.

  2. (2)

    The program is designed to verify the rationality of the algorithm by changing Anchor Node Rate, Number of Nodes, GPS Error and Communication Radius of the Anchor Node in simulation scenarios.

2 Related Work

In general, RSSI, TOA, TDOA and AOA are commonly used in range-based localization algorithms. And they calculate location of nodes by using the method of triangulation and maximum likelihood estimation. Some common range-free localization algorithms are introduced as follows. Convex algorithm regards the communication connection between nodes as the geometric constraint problem, and it can build a node location constraint model to locate nodes by using the connection information between nodes. Bounding Box algorithm [5] is to determine the one hop overlapping communication area, which is constituted by neighbor anchor nodes of the unknown node, then the location of centroid point in the region is considered as the position of the unknown node. DV-hop is based on distance vector routing [6]. APIT algorithm [7] is assumed that an unknown node can receive N signals from all anchor nodes. And it finds out all the combinations of three anchor nodes from N anchor nodes. Determine which triangle the unknown nodes are inside and mark such triangles. Centroid points are connected to form a polygon and then centroid point’s coordinates of the polygon is regarded as location of the unknown node. And Centroid algorithm regards the centroid point of the polygon constructed by the unknown node’s neighbor anchor nodes as the location [8].

3 Model Design

Node localization algorithms still exist many problems, because it is easily influenced by environment. And the cost of range-based location algorithms is still high and location efficiency is low. So MDIS algorithm introduced in this chapter is to improve the traditional range-free algorithm, unknown nodes are located more accurately without increasing the locating cost and eliminating the signal influence indirectly.

3.1 Background

Before introducing the algorithm, it is necessary to explain the concepts of the algorithm. And two concepts called relation array and correlation coefficient in this paper are introduced.

Definition 1

Relation Array is a one-dimensional array which represents the distance array of one node to its neighbor anchor nodes.

Definition 2

Correlation Coefficient denotes the degree of distance between nodes, and the greater correlation coefficient, the closer location between nodes. The interval of the correlation coefficient of nodes is \([-1,1]\).

$$\begin{aligned} \begin{array}{rcl} \cos \theta= & {} \frac{\sum _{i=1}^n(A_i \times B_i)}{\sqrt{\sum _{i=1}^n{A_i}^2} \times \sqrt{\sum _{i=1}^n{B_i}^2}} \end{array} \end{aligned}$$
(1)

\(A=(A_1,A_2,\cdots ,A_n),B=(B_1,B_2,\cdots ,B_n)\).

Fig. 1.
figure 1

Convex model

Fig. 2.
figure 2

MDIS model

And there are two theoretical foundations of this paper. One of the theoretical bases is from the convex algorithm, the convex algorithm regards the communication connection between nodes as the geometric constraint problem and it can build a node location constraint model to locate nodes through using the neighbor information among sensor nodes. In Fig. 1, AB and C are three anchor nodes, S is the unknown node and \(O_1^{'},O_2^{'},O_3^{'},O_4^{'}\) are the four vertices of a restricted rectangle with overlapping communication areas of three anchor nodes. At this time, the centroid point O of \(O_1^{'}O_2^{'}O_3^{'}O_4^{'}\) approximately regarded as the location of the unknown node S. Another theoretical basis is from cosine similarity formula. For two vectors, their similarity can be measured by the cosine of the angle.

In Fig. 1, there are two unknown nodes \(R_1\), \(R_2\) and three anchor nodes ABC. Meanwhile, the distances of \(R_1\) away from AB and C are \(L_{1A},L_{1B},L_{1C}\) respectively. The distances of \(R_2\) to AB and C are \(L_{2A},L_{2B},L_{2C}\) respectively. Then the relation array of \(R_1\) is \(relation-array_1(L_{1A},L_{1B},L_{1C})\) and the relation array of \(R_2\) is \(relation-array_2(L_{2A},L_{2B},L_{2C})\). So the correlation coefficient of \(R_1\) and \(R_2\) can be denoted by \(\frac{L_{1A} \times L_{2A} + L_{1B} \times L_{2B} + L_{1C} \times L_{2C}}{\sqrt{{L_{1A}}^2+{L_{1B}}^2+{L_{1C}}^2} \times \sqrt{{L_{2A}}^2+{L_{2B}}^2+{L_{2C}}^2}}\).

3.2 MDIS Model

The core of MDIS model is to divide the overlapping communication area of anchor nodes into multiple parts. Draw parallel lines of ABACBC over point O and intersect the area DEF with GHIJKL, then connect the DE and F to O and intersect the area DEF with MNP. Through the above method, the overlapping area DEF can be divided into twelve subregions in Fig. 2. In this way, the relatively complex location problems are transformed into the problem of finding the best location subregion. According to the circle equations, the intersection coordinates of three circles can be calculated. The coordinates of DE and F can be denoted by \((x_d,y_d),(x_e,y_e)\) and \((x_f,y_f)\). According to the feature of the circular tangent, the coordinates of \(O_{1},O{_2},O{_3},O{_4}\) are denoted by \((x_f,y_b+r),(x_f,y_d),(x_a+r,y_d)\) and \((x_a+r,y_b+r)\). Then the coordinates of O can be calculated as \((x_f+\frac{x_a+r-x_f}{2},y_d+\frac{y_b+r-y_d}{2})\) according to characteristics of the quadrilateral centroid point. Because HKLIGJ are parallel to ABACBC respectively, so the slope of HKLI and GJ can be expressed as \(k_{HK}=k_{AB}=\frac{y_b-y_a}{x_b-x_a},k_{LI}=k_{AC}=\frac{y_c-y_a}{x_c-x_a},k_{GJ}=k_{BC}=\frac{y_c-y_b}{x_c-x_b}\). The slope of DMEN and FP can be expressed as \(K_{DM}=\frac{y_d-(y_d+\frac{y_b+r-y_d}{2})}{x_d-(x_f+\frac{x_a+r-x_f}{2})},K_{EN}=\frac{y_e-(y_d+\frac{y_b+r-y_d}{2})}{x_e-(x_f+\frac{x_a+r-x_f}{2})},K_{FP}=\frac{y_f-(y_d+\frac{y_b+r-y_d}{2})}{x_f-(x_f+\frac{x_a+r-x_f}{2})}\). In summary, equations of HKLIGJDMENFP can be expressed. Associated with the circular equation, the coordinates of all intersections of lines and the overlapping area DEF can be calculated.

Fig. 3.
figure 3

Subregion approximation into triangle

Each subregion is a graphic with a curved edge, in order to find the centroid coordinates of each subregion, the following conversion is needed. Because the subregion is small in reality, we can approximate the curved side of the subregion into a line so that the subregion is converted into a triangular region, as shown in Fig. 3. Then the problem of solving the centroid coordinate of the subregion is transformed into the centroid coordinate problem of solving the triangle. If the centroid point of the triangle OGD is \(O_1\), the coordinates of the centroid point of the triangle OG can be expressed as \((\frac{1}{3} \times (x_O+x_G+x_D),\frac{1}{3} \times (y_O+y_G+y_D))\). So centroid points of all subregions can be calculated, and relation arrays can be denoted as \({(d_{ia},d_{ib},d_{ic})}_{12 \times 3}, d_{ij}=\sqrt{{(x_{o_i}-x_j)}^2+{(y_{o_i}-y_j)}^2}\), \(i \in [1,12],j \in \{a,b,c\}\). For the unknown node S, although its location is unknown, node S can obtain the signals sent by ABC and can calculate the RSSI. According to the RSSI distance decay model formula \(d=\frac{|RSSI|-A}{10 \times n}\), where d denotes the distance between receiving sensor node and sending sensor node, and RSSI is received signal strength. A is signal strength when the distance between the sender and the receiver is 1m, and n is the environmental attenuation factor. The relation array of unknown node S can be denoted as \((10^\frac{|RSSI_a|-A}{10 \times n},10^\frac{|RSSI_b|-A}{10 \times n},10^\frac{|RSSI_c|-A}{10 \times n})\), where \(RSSI_a,RSSI_b,RSSI_c\) represent the signal strength of S to receive the anchor nodes AB and C respectively. Thus, formula 1 is applied to compute the correlation coefficient of the unknown node S and each centroid point of twelve subregions. According to the experimental situation, the above mentioned location area DEF is relatively small area in the actual situation, and the interference is same for any point in area DEF. So it is reasonable to denote the distance of two nodes by using RSSI signal attenuation model. According to formula 1 and the relation array, the correlation coefficient matrix between the unknown point S and each centroid point of all subregions can be denoted as,

$$\begin{aligned} \begin{array}{rcl} r_c={(\frac{10^\frac{|RSSI_a|-A}{10 \times n} \times d_{ia} + 10^\frac{|RSSI_b|-A}{10 \times n} \times d_{ib} + 10^\frac{|RSSI_c|-A}{10 \times n} \times d_{ic}}{\sqrt{d_{ia}^2+d_{ib}^2+d_{ic}^2} \times \sqrt{({10^\frac{|RSSI_a|-A}{10 \times n})^2}+{(10^\frac{|RSSI_b|-A}{10 \times n})^2}+{(10^\frac{|RSSI_c|-A}{10 \times n})^2}}})_{12 \times 1}} \end{array} \end{aligned}$$
(2)

The larger the correlation coefficient between the unknown node S and the centroid point of a subregion, the closer their location is. Then the location of the centroid point with the largest correlation coefficient can be regarded as the location of S. When the number of anchor nodes whose signals could be received by node S is 2, its location can be estimated as the coordinates of the centroid point of the bounding box for communication circles of these two anchor nodes. When S could only receive signals from one anchor node, its location can be estimated as the location of this anchor node. When there is no neighbor anchor node around node S, S cannot be located. In summary, the location coordinates of the node can be computed by using formula 3,

$$\begin{aligned} L_S=\left\{ \begin{array}{rcl} unsure, &{} &{} \text {n = 0}\\ (x_a,y_a), &{} &{} \text {n = 1}\\ (\frac{x_a+x_b}{2}, \frac{y_a+y_b}{2}), &{} &{} \text {n = 2}\\ (x_{o_i},y_{o_i}), &{} &{} r_{so_i}={||r_c||}_\infty , \text {n} > 2 \end{array} \right. \end{aligned}$$
(3)

where n is the number of neighbor anchor nodes for S, and \(r_{SO_i}\) denotes correlation coefficient of S and \(O_i\).

3.3 MDIS Algorithm

  1. (1)

    Initialize the entire wireless sensor network, the maximum value of communication radius is r. For node k, its neighbor discovery process can use neighbor discovery algorithms [9]. When it finds its neighbor node, the set of neighbor anchor nodes is marked as \(\{A(k)\}\), where \(\{A(k)\}=(\cup _{i=1}^{a_k}{A_i})\), and the number of neighbor anchor nodes is \(a_k\).

  2. (2)

    For a node k, when the number of neighbor anchor nodes is less than 3, the coordinates of node k can be calculated according to formula 3. And when the number of its neighbor anchors is equal or greater than 3, the coordinates of the centroid point in each subregion can be estimated by selecting 3 nodes with strongest signal strength of k neighbor anchor nodes to construct MDIS model.

  3. (3)

    Calculate relation arrays of the unknown node and centroid points of all subregions, and calculate correlation coefficient matrix of the relation array of the unknown node and the relation array of the centroid point of each subregion. At last, the location of the centroid point with the largest correlation coefficient is estimated as the location denoted as \(L_k(x_k,y_k)\).

  4. (4)

    Take turns to locate other nodes.

4 Simulation

In this section, each experiment runs for 20 times and then calculates the average value as the result. In order to make the experimental simulation more realistic, the communication radiation model is constructed in the simulation algorithm, and nodes are deployed in 500 m \(\times \) 500 m area randomly. The degree of irregularity (DOI) is also considered in the simulation. And the main simulation parameters are Anchor Node Rate, Number of Nodes, GPS Error and Communication radius of the Anchor Node (Table 1).

  1. (1)

    The impact of anchor node rate (Figs. 4 and 5)

  2. (2)

    The impact of the number of nodes (Figs. 6 and 7)

  3. (3)

    The impact of GPS Error (Figs. 8 and 9)

  4. (4)

    The impact of anchor node communication radius (Figs. 10 and 11)

Table 1. Simulation parameters
Fig. 4.
figure 4

Impact on locating accuracy

Fig. 5.
figure 5

Impact on unlocated node rate

Fig. 6.
figure 6

Impact on locating accuracy

Fig. 7.
figure 7

Impact on unlocated node rate

Fig. 8.
figure 8

Impact on locating accuracy

Fig. 9.
figure 9

Impact on unlocated node rate

Fig. 10.
figure 10

Impact on locating accuracy

Fig. 11.
figure 11

Impact on unlocated node rate

5 Conclusion

In conclusion, the main idea of MDIS algorithm is to segment the overlapping localization area. And then position of the unknown node can be estimated by constructing relation arrays of nodes and calculating correlation coefficient of nodes. According to (1), (2), (3), (4) of Sect. 4, MDIS algorithm is applied in locating scenarios with different parameters. Compared to other range-free and RSSI based localization algorithms, the locating error of MDIS algorithm is the smallest, and the unlocated node rate is less than 10%. In the future, security of nodes will be considered in this algorithm by using hop count information.