Journal of Sensors

Volume 2016, Article ID 2745109, 9 pages

http://dx.doi.org/10.1155/2016/2745109

## Research on Algorithm of Three-Dimensional Wireless Sensor Networks Node Localization

The Department of Electronic Information Technology, Zhejiang Normal University, Jinhua 321004, China

Received 29 December 2015; Revised 24 April 2016; Accepted 10 May 2016

Academic Editor: Stephane Evoy

Copyright © 2016 Jiang Minlan et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

This paper proposes a three-dimensional wireless sensor networks node localization algorithm based on multidimensional scaling anchor nodes, which is used to realize the absolute positioning of unknown nodes by using the distance between the anchor nodes and the nodes. The core of the proposed localization algorithm is a kind of repeated optimization method based on anchor nodes which is derived from STRESS formula. The algorithm employs the Tunneling Method to solve the local minimum problem in repeated optimization, which improves the accuracy of the optimization results. The simulation results validate the effectiveness of the algorithm. Random distribution of three-dimensional wireless sensor network nodes can be accurately positioned. The results satisfy the high precision and stability requirements in three-dimensional space node location.

#### 1. Introduction

Node localization technology is one of the key technologies of wireless sensor network (WSN). Node localization approaches in WSN locate unknown nodes through the location of anchor nodes by an algorithm or a rule. The two-dimensional (2D) WSN node positioning technology has been mature, but research in three-dimensional (3D) nodes localization has not been rich. In practical application, the space distribution of wireless sensor is often 3D rather than 2D due to the shape of ground and the environment. So localization in 2D plane is not enough, and research on localization algorithms in the 3D space is necessary. With the increase of dimension, the computational complexity and the error increase greatly. Even though the error of node position is so little, it will be apparent after the 3D calculation. In addition, it is necessary to combine the WSN system position with node position to realize accurate positioning of external nodes. Therefore, the node localization algorithm requires higher precision [1–3].

In recent years, many new ideas and solutions have been proposed to solve the problem of WSN node localization in 3D. The theory that originated in psychometrics multidimensional scaling (MDS) positioning technology proposed by Shang et al. provides a new method for node localization. In the existing MDS algorithms, MDS-MAP, MDS-MAP(P), and MDS-MAP(P,R) algorithm are the most influential. MDS-MAP is a centralized location algorithm based on MDS. First, MDS-MAP uses multidimensional scaling technique to build a local map of a series of neighboring nodes in 3D and to achieve global network positioning through coordinate conversion. MDS-MAP algorithm makes full use of MDS advantages and avoids the error caused by the shortest path distance in place of the real distance. As a result, its positioning accuracy has been improved to a certain extent but its biggest disadvantage requires centralized calculation, which is not suitable for large-scale, uneven distribution network. MDS-MAP(P) and MDS-MAP(P,R) are the improvement based on MDS-MAP distributed algorithm. Through dividing the whole network into many subnets and using MDS-MAP to compute each subnet to get local coordinate system, MDSMAP(P) and MDS-MAP(P,R) then realize the entire network position by transform and fusion of local coordinates. The complexity of algorithm will greatly increase since the transform and fusion. It will introduce the transmission error and lead to the accumulation of error. The bigger the network is, the more apparent the error will be. And the computational complexity will be a geometric growth [4, 5].

The improved positioning algorithm mentioned in this paper uses anchor nodes calibration technology of MDS to directly get the absolute coordinates of unknown nodes, which requires neither integration of local coordinate system nor conversion from the relative coordinates to the absolute coordinates. As a consequence, it avoids the cumulative errors produced in this process. At the same time, taking into account the MDS optimization of local minimum problem, this paper employs Tunneling Method algorithm to solve the repeated optimization algorithm of values in local minimum problem. The simulation result demonstrates that the MDS node localization algorithm based on Tunneling Method (TMDS) achieves high positioning accuracy and high stability.

The rest of the paper is organized as follows. In Section 2, the node localization algorithm based on MDS is described in detail. Section 3 introduces node localization algorithm based on MDS. Section 4 reports the simulation scenarios and analysis results. Finally a conclusion is given in Section 5.

#### 2. Node Localization Algorithm Based on MDS

##### 2.1. Node Coordinates Calculation Based on the MDS

Assume that WSN in 3D space is made up of unknown nodes and anchor nodes. represents the unknown node coordinate matrix. represents the anchor nodes coordinate matrix. represents the measuring distance between unknown nodes and . represents the measuring distance between unknown node and anchor nodes . The distance can be expressed by the minimum hop between two nodes and also can be expressed by the shortest path distance between two nodes or any other distance, such as the Euclidean distance. To guarantee the accuracy, this paper measures the distance between one-hop neighbor nodes by the Euclidean method. The problem of node localization is using repeated optimization algorithm to calculate the coordinates of unknown nodes matrix under the condition that and distance and the anchor nodes coordinate matrix have been known [6, 7].

Matrix represents the coordinates of the nodes in 3D space. For any two nodes and , their Euclidean distance can be shown as follows:

For three nodes in 3D space, their corresponding matrix is as follows: represents the square of the distance matrix and it can be represented as follows:where is the column of matrix . is the column vector which is composed of . Vector is a column matrix and its elements are 1.

##### 2.2. The Repeated Optimization Algorithm Based on the Anchor Node

Repeated optimization algorithm aims at finding coordinate matrix representing the unknown nodes’ location. The algorithm makes nodes distance calculated by coordinates be closer to the real measuring distance. When the difference is smaller, coordinate values in a matrix are close to the real coordinates of nodes. Using the repeated optimization method, find the coordinate matrix . The first step is to build a function about matrix as the objective function. Then find the minimization inequality of the objective function. Finally obtain the repeat optimization formula. When the formula reaches its minimum value, is the coordinate for unknown nodes. Regard the difference square sum between computing distance and the measuring distance as target function of repeated optimization algorithm in MDS technology [8–10].

According to the Euclidean Metric, the distance between the unknown nodes and can be obtained by According to matrix , the distance between the unknown node and the anchor node can be obtained byIn order to get the coordinate matrix , we usually use Kruskal’s STRESS formula to set the objective function as follows:where the weights and decide their corresponding sum’s influence on objective function. This paper applies the calculation method of weight proposed by the literature [6], and weights can be calculated byOtherwise, both of them are zero. in (7) represents the biggest distance between unknown node or and other nodes. represents the biggest distance between unknown node and other nodes or anchor node . For a given matrix , the value of corresponding objective function can be obtained according to formula (3). Our goal is to find , which makes the objective function minimum. Namely, minimize the objective function, and find the optimal solution of objective function.

There are many ways to solve the local minimum problem of repeated optimization method in minimizing the objective function, for example, Dimensionality Reduction, multivalue random testing method, Distance Smoothing, and Tunneling Method. Among those methods, multivalue random testing method may attain good optimal result but it has great randomicity and poor stability. Dimensionality Reduction is complex and large in the amount of calculation in the 3D space environment. Distance Smoothing is simple in calculation and does well in positioning in 2D space environment. But its global search is poor in the 3D space environment [8]. On the contrary, the repeated optimization method based on tunneling can almost find the global optimal value due to cycle search method that first searches in the horizontal direction and then searches in the vertical direction and then searches in the horizontal direction again. Therefore, Tunneling Method used in this paper solves the local minimum problem of repeated optimization algorithm. And the MDS 3D node localization algorithm based on Tunneling Method is proposed.

#### 3. MDS Location Algorithm Based on the Tunneling Method

##### 3.1. Tunneling Method Algorithm

Tunneling Method is an efficient certain global optimization method which was first proposed by Montalco and Levy. It builds tunneling function in the current local minimum and then gets smaller local minimum through minimizing tunneling function to escape from the current local minima and then cyclic calculation until the global minimum is found. Tunneling function provides a method that uses local optimization to solve global optimization problem. It only requires its target function to be continuously differentiable. The tunneling functions (auxiliary functions) have the same form and the process of seeking error is easy [8].

Tunneling Method consists of a series of circulations. Every circulation includes two steps: local minimizing step and tunneling step.

*Step 1 (local minimizing step). *Starting from an initial point, it applies local minimization algorithm, such as quasi-Newton method, gradient method, or the conjugate gradient method, to obtain the first local minimum value point of the objective function [8].

*Step 2 (tunneling step). *First, define the tunneling function in as follows: where is called the pole of tunneling function and is the strength of . Then it seeks a new point such that ; namely, it finds out such that . will be the original point of next circulation until it gets a better minimum point.

The key of tunneling function algorithm is how to find the point which meets . Namely, we apply the minimizing tunneling function to find a local minimum . Several discussions on it are as follows:(i)If , increase to make no longer the local minimum point of . That aim is to avoid getting again by minimizing for falling into endless loop.(ii)If and , the tunneling function can be constructed as follows:where is the strength of . Selecting the appropriate value of , the aim is to make no longer the local minimum point of and avoid getting again by minimizing .(iii)If and , is the second original point and then start next circulation.

Among the three situations, the former two may appear many times. Every time, tunneling function needs to be rebuilt to minimize the function until the third situation turns up and begins the next circulation. This circulation will never stop until the tunneling function cannot find a smaller local minimum in a certain period of time. The last local minima will be regarded as the global minimum.

##### 3.2. MDS Positioning Algorithm Based on Tunneling Method

In order to find another configuration with the same STRESS, the tunneling function must have several characteristics. Some of these characteristics are met by the tunneling function originally defined by Groenen and Heiser [9]. The tunneling function is defined as follows: where is the local minimum point of . The elements of the tunneling function and their purpose are given in Table 1. The final tunneling function can be expressed as follows:where iswhere represents the number of ’s available.