1. Introduction
Because the Global Positioning System (GPS) is unable to accurately determine locations indoors, obtaining high-precision localization services in indoor environments has become urgent. To meet this requirement, indoor localization systems based on wireless sensor networks (WSNs) have been developed [
1,
2,
3]. The WSNs are a kind of self-organizing network composed of many nodes with wireless transceivers, microprocessors, and sensors [
4,
5,
6]. The received signal strength indication (RSSI) is the easiest to measure by a wireless transceiver, so it is often used to estimate distances and locations between nodes [
7,
8,
9].
RSSI-based positioning technologies include fingerprint positioning [
10], Radar [
11], Doppler Frequency Shift (DFS) [
12], ranging positioning [
13], among others. Fingerprint location first measures the RSSIs of many places to construct a fingerprint map, then uses a fingerprint matching algorithm to determine the location of the target node. In a relatively stable RSSI environment, the positioning accuracy of this method is high. However, in dynamic RSSI environments, the positioning accuracy of this method is not high. Similar to fingerprint location, Radar also determines the location of a target node through a fingerprint map. The difference between the two is that Radar uses a simple linear-time search algorithm to replace the complex fingerprint matching algorithm in a fingerprint location. Like fingerprint location, the positioning accuracy of Radar depends heavily on the stability of RSSI. DFS uses the Doppler effect to determine the location of the moving target. Although DFS is no longer affected by the stability of RSSI, it will be affected by indoor multipath effects. RSSI-based range positioning uses a multi-channel signal propagation model to determine the location of a target, and can adapt to changes in RSSI and suppress multipath effects by fitting model parameters.
At present, in addition to the RSSI-based ranging technique, some ranging technologies without RSSI can also be used for indoor location, such as angle of arrival (AOA), time difference of arrival (TDOA), and time of arrival (TOA) [
14,
15,
16]. TOA calculates the distance between nodes by measuring the time of wireless signal propagation. Similarly, TDOA estimates the distance difference by measuring the time difference of wireless signal transmission to different nodes. Unlike TDOA, AOA estimates the angle by measuring the time difference between wireless signals transmitted to different antennas of the node. Due to the high speed of wireless signal propagation, high-precision time synchronization is required between nodes when using TOA, TDOA, and AOA. For WSNs with limited cost and energy, this is difficult to achieve. Since the RSSI-based positioning algorithm does not require high-precision time information, it is very suitable for resource-constrained WSNs.
Due to the multipath effect of wireless signals, the accuracy of positioning based on RSSI is usually not high in indoor environments. In order to overcome the influence of the multipath effect on the accuracy of RSSI-based localization, the diversity of different channel signals has been employed to improve this accuracy in multipath environments [
13,
17,
18]. The multi-channel localization algorithm utilizes the difference of different channel signals to fit the parameters in the signal propagation model. Because the number of parameters to be fitted is usually larger than the number of equations, and there is the problem of ill-conditioned matrices in the process of fitting, this makes the existing multi-channel localization algorithm fall easily into local optima.
In order to resolve this issue, we present an optimal multi-channel trilateration positioning algorithm (OMCT) applied to WSNs employing a newly built multi-objective evolutionary model. By adding a trilateral constraint objective function, our proposed algorithm can find the global optimal parameter values and prevent the fitting parameter values falling into local optima. The execution of the OMCT algorithm is divided into three steps. First, the RSSI measurement noise is filtered by an adaptive Kalman filter (AKF). Next, the values of two objective functions are calculated using the filtered RSSIs of multiple channels. Lastly, the optimal node position estimate is found by the multi-objective evolutionary algorithm (MOEA).
The following are our main contributions in this study.
(1) On the basis of the three-edge constraint, we create a new multi-objective evolution model. As far as we know, this model is the only one that can prevent the evolved node distance falling into local optima at present.
(2) According to the newly established multi-objective evolutionary model, we present an optimal multi-channel trilateration location algorithm for wireless sensor networks. Unlike the existing multi-channel positioning algorithm, the proposed algorithm solves the problem of the location result depending heavily on the initial value of the parameter.
(3) Through a large number of real experiments and numerical simulations, we verify the efficiency and effectiveness of the presented algorithm. The results of extensive experiments and simulations show that the presented algorithm greatly improves the accuracy of the most advanced multi-channel location algorithm, regardless of whether the initial values of the parameters are accurate or not.
This paper consists of six sections, and its organizational structure is as follows.
Section 2 shows the work related to the RSSI-based multi-channel trilateration localization algorithm.
Section 3 describes the formalization of the multi-channel positioning optimization problem.
Section 4 gives a description of the execution steps of the presented algorithm.
Section 5 presents the analysis and results based on experiments and simulations. Finally,
Section 6 summarizes this paper.
2. Related Work
At present, based on whether the distance between nodes needs to be obtained during positioning, location algorithms in WSNs are classified into two types: algorithms with ranging [
19,
20] and those without ranging [
21,
22]. In the location algorithms using ranging, the node’s distance or angle is utilized to estimate the position of the target node. The WSN localization algorithms based on ranging mainly include trilateration [
23], triangulation [
24], and maximum likelihood estimation [
25]. Trilateration uses the distances between one target node and three anchor nodes to locate the target node, while triangulation first converts the angles between three anchor nodes and one target node into the corresponding distances, then estimates the target node’s location through trilateration. Maximum likelihood estimation is also called multilateration and is an extension of trilateration. When the distances between more than three anchor nodes and one target node are obtained, maximum likelihood estimation employs the least square method to calculate the position of the target node.
The typical range-free location algorithms are multidimensional scaling-map (MDS-MAP), distance vector-hop (DV-Hop), centroid, and convex position estimation (CPE) [
26,
27,
28,
29]. The CPE algorithm transforms the WSN positioning problem into a convex optimization planning problem. In the process of planning, the rectangular area in which the target node is located is obtained. The centroid algorithm determines whether the target node can be covered by a triangle composed of three anchor nodes, then selects the next triangle to make the same judgment. Finally, the target node’s coordinates are represented by the geometric centroid of the overlap region. The DV-Hop algorithm first calculates the average distance per hop between nodes. Then, the target node’s location is estimated according to the indirect distance by trilateration or maximum likelihood estimation. The MDS-MAP algorithm uses the relative distance and link information between nodes to determine the relative positions in the network based on multidimensional scaling technology.
Although location algorithms without ranging do not require knowing the distance to the node, their accuracy is generally not as high as that of the ranging localization algorithms. At present, the ranging techniques for WSN localization algorithms are mainly TOA, TDOA, AOA, and RSSI. Since RSSI-based location has no requirement for high-precision time synchronization, it is more suitable than TOA, TDOA, and AOA for resource-constrained WSNs. According to the number of channels used in the positioning process, the RSSI-based localization algorithms are divided into two categories: single-channel and multi-channel. The classic RSSI-based single-channel positioning algorithms mainly include Radar, Landmarc, Rips, and ranging location based on the log-normal shadowing model (LNSM) [
30,
31,
32,
33]. Radar first constructs an RSSI map of the environment, then looks for the location of the target node by referring to this map. Similarly, Landmarc determines the position of the target node by finding some reference nodes with RSSIs similar to the RSSI of the target node. The fingerprint location method based on radio mapping needs to spend much time measuring the RSSIs in advance of different positions, which is not suitable for an RSSI-changeable environment. Rips uses the exact distance between the nodes obtained by radio interferometry to locate the target node. However, this localization algorithm suffers severe multipath effects, especially in indoor environments. LNSM-based ranging positioning first establishes the model of signal propagation by measuring the RSSIs at different distances, then estimates the location of the target node through the established model. Although this method saves the time and labor of fingerprint location in measuring RSSIs in many locations, as well as facilitating deployment in WSNs, there is a big deviation between the model of RSSI and distance established by it and the relationship between RSSI and distance in the actual environment, especially in a multipath environment. Aside from LNSM, other models have been used to describe the relationship between RSSI and distance, such as the free space propagation model (FSPM) [
34] and the two-ray ground reflection model (TGRM) [
8]. FSPM establishes the relationship between RSSI and distance when a wireless signal propagates in open space, so it does not consider the reflection effect of the ground and obstacles on the signal. Although TGRM considers the reflection effect of a ground surface on the signal, it does not consider the reflection effect of other obstacles on the signal. Therefore, there are still large errors in the ranging positioning methods based on these two signal propagation models in a multipath environment.
To reduce the influence of multipath effects on the accuracy of single-channel positioning algorithms, multi-channel localization algorithms based on multipath cancellation technology have been proposed. The algorithm proposed by Llizaro et al. uses the frequency diversity of signals of multiple channels to suppress the negative influence of multipath effects on the location results of RSSI-based positioning algorithms [
17]. However, this algorithm simply averages the RSSI values of different frequencies without modelling the signal relationship between different paths. Zhang D. et al. proposed an RSSI-based ranging localization algorithm distinguishing the multiple radio paths, namely, a multipath-distinguishing-based trilateration positioning algorithm (MUDT) [
13]. This algorithm estimates the distance between nodes through a newly established multipath signal propagation model for different channels, the positioning accuracy of which depend heavily on the initial values of the model parameters. The main reason for this is that this algorithm fits the model parameters based on the least square method, and the parameter number is greater than the equation number, so the fitted parameters easily fall into a local optimum when the initial values of the parameters are closer to a local minimum rather than the global minimum. Zhang C. et al. proposed a training-free RSSI ranging localization algorithm for WSNs [
18]. This algorithm eliminates the multipath effect by weighting the RSSIs measured in different channels, but it needs to know the distance between a certain reference node and the target node in advance.
3. Problem Formalization
In this section the system model is introduced and the formalization of the problem is described. The basic idea of a multi-channel localization algorithm is to acquire an estimation of the target node’s location by collecting the measured values of different RSSI channels.
In the system model, it is assumed that the transmitter and receiver can dynamically adjust the transmission frequency between them, and that each receiver/transmitter pair can cooperate and synchronize well. At present, this function can be supported by most off-the-shelf WSN products.
Suppose there are n signal transmission paths between a given receiver/transmitter pair. Without loss of generality, take the first path as the Line-Of-Sight (LOS) path and the rest as Non-Line-Of-Sight (NLOS) paths. The lengths of these paths are represented by di, is the reflection coefficient of path i, where of the LOS path is equal to 1, and those of the NLOS paths are less than 1. Assume that the RSSI values on m different channels can be measured from the target node and the anchor one; are the signal wavelengths corresponding to the m channels.
For a synthetic signal with different paths, the RSSI measured at the receiver is a vector sum [
13]. On the
j-th channel, the synthetic signal strength formed by
n different paths is expressed as
where
,
,
Pt is the transmission power between nodes,
Gt is the transmitter’s antenna gain, and
Gr is the receiver’s antenna gain.
Suppose the actual RSSI measured on channel j is expressed as Pj, The optimization goal of multi-channel trilateration localization based on the RSSI is to find an optimal position of the target node and make the fitted synthetic signal strength and real measurement Pj as close as possible.
4. The Proposed Algorithm
4.1. The Existing AKF
In an actual environment, the measurement noise of the RSSI is often unknown and time-varying. An inaccurate RSSI noise parameter will seriously reduce the positioning accuracy of the proposed algorithm. In this subsection, an adaptive Kalman filter (AKF) that can sense the noise parameter is described [
35]. Through adding a noise estimator to the Kalman filter, an AKF is created. The AKF algorithm is completed based on the following three steps.
Step 1. Prediction:
where
is the observed system’s state estimation for time step
k−1,
is the system state prediction for time step
k−1,
is a Jacobian of
calculated based on
is the state estimation’s expected covariance,
is the covariance of state estimation calculated based on
, and
Qk is the covariance matrix of process noise.
Step 2. Correction:
where
is the estimation of the measurement from the observation system at time step
k,
is the covariance expectation of measurement estimation,
is a Jacobian of
calculated according to
is the calibration of state estimation at time step
k,
is the matrix of the Kalman gain,
is the state estimation’s covariance calibration, and
Rk is the covariance matrix of the measurement noise.
Step 3. Noise covariance estimation:
where
is the difference between the actual measurement and the measurement estimation at time step
k,
is a forgetting factor that ranges from 0.95 to 0.995 and is often assigned a value of 0.96, and
is also a forgetting factor.
4.2. The Novel Multi-Objective Evolutionary Model
In this subsection we introduce the multi-objective evolutionary algorithm (MOEA) for the OMCT. Then, a multi-objective evolutionary model is presented that employs objective functions 1 and 2 to evolve the optimal position estimation of the target node.
An outstanding MOEA for problem optimization is applied to the discovery of the node positions with the best-matched RSSIs, because it does not need to set accurate initial values of node positions in advance [
36,
37]. Unlike other problem optimization algorithms, such as the least square method, this algorithm can obtain the global optimal solution, and does not easily fall into local optimal solutions. The MOEA algorithm is subdivided into the following four steps.
Step 1. Initialize one population Pt with N individuals randomly, then use genetic operators (mutation, crossover, and tournament selection) to generate one offspring population Ot.
Step 2. Merge Pt with Ot, and create one compound population It with 2N individuals. Next, acquire discrepant non-dominated fronts through sorting It based on non-domination.
Step 3. Fill the non-dominated fronts into the next-round population Pt+1 with N individuals.
Step 4. If the number of evolution generations does not exceed the maximum value set in advance, the algorithm continues.
Objective functions, variable constraints, and decision variables are used in the MOEA’s multi-objective evolutionary model. Without loss of generality, its form is as follows:
where
y is an objective vector containing the values of
v objective functions,
is a decision vector consisting of decision variables, and
e(
x) is a set of
w constrained conditions of the decision vector.
Objective function 1 in the multi-objective evolutionary model is defined to evolve the multipath RSSI estimate matched with the multi-channel RSSI measurement:
where
represents the multipath RSSI estimation on the
j-th channel between the target node and the
l-th anchor node:
The result of objective function 1 is the sum of the squares of differences between RSSI measurements and RSSI estimates. The smaller the result of the function, the more accurate the parameter of the evolution.
In order to find the node position, estimate with the best-matching RSSI; the second objective function of the multi-objective evolutionary model is defined as follows:
represents the distance between the target node and the
l-th anchor node:
where
is the coordinates of the target node, and
is the coordinates of the
l-th anchor node.
The multi-objective evolutionary model is created using objective functions 1 and 2, and is used to search for the optimal position estimation with the best-matched RSSI:
4.3. The Proposed OMCT
The multi-objective evolutionary model is employed to obtain the optimal node position estimate by minimizing the calculation result of the objective function.
Figure 1 reveals the functional modules of the OMCT algorithm. First, the AKF module is applied for noise reduction of the RSSI measurement. Then, the objective function calculation module obtains the matching degree between RSSI estimations and RSSI measurements based on the filtered RSSI. Lastly, the MOEA module is employed to evolve the node position according to the matching degree. Objective function 1 measures the matching degree between estimations and measurements of multi-channel RSSIs by calculating the square sum of the RSSI differences of different channels. The smaller the calculated value, the closer the evolved multi-channel RSSI is to the actual multi-channel RSSI measurement. Objective function 2 calculates the difference between the distance from the evolved target node to the anchor node and the distance estimated by objective function 1, then measures their matching degree. The smaller the calculated value, the better the evolved distances will match.
There is no conflict between the two objective functions. When they reach the minimum value at the same time, the global optimal parameter value is obtained. However, there are too few constraints among the parameters in the multi-channel signal propagation model, and it is difficult for a single-objective evolutionary algorithm to obtain accurate parameter values. We add a trilateral constraint as the second objective function to exclude inaccurate parameter values. Therefore, the multi-objective evolutionary algorithm with two objective functions is used.
Algorithm 1 gives the implementation steps of the OMCT algorithm.
Algorithm 1: OMCT |
Input: measured RSSI channel frequency f, anchor node coordinates u |
Output: optimal target node coordinates |
1. Set the parameters of MOEA |
2. Initialize AKF |
3. Utilize AKF to filter and acquire filtered RSSI |
4. Compute signal wavelength based on f |
5. Generate N decision vectors by MOEA |
6. |
7. |
8. while do |
9. Calculate N g1 according to , and |
10. Compute N corresponding g2 via , |
11. Produce new N by MOEA based on g1 and g2 |
12. |
13. end while |
14. Select r of first in Pareto front with ascending g1 as |
15. return |