An Anchor-Free Localization Scheme with Kalman Filtering in ZigBee Sensor Network

A localization scheme for wireless sensor networks is proposed and its performances are investigated in this paper. The proposed scheme is an anchor-free scheme, in which no geometrical information of sensor nodes is required for their localization. Thus, only local interaction among sensor nodes is used to estimate their locations. This scheme employs the link quality indicator and hop count between sensor nodes for location estimation. A weighted averaging and Kalman filtering schemes are incorporated in order to reduce the effects of the measurement errors in the obtained values of the link quality indicator. We performed experiments by implementing the proposed scheme on ZigBee sensor modules. The results of our experiments indicate that estimation could be successfully performed for networks comprising four sensor nodes.


Introduction
A wireless sensor network (WSN) is a network that consists of many sensor nodes. Each sensor node has sensing devices, a processor, and a battery. Communications among sensor nodes are typically conducted via radio frequency (RF) signals. Localization is a process of estimating the location of each sensor node in a WSN. It has potential applications such as environmental monitoring, human and object tracking, and human interfacing.
Several approaches based on communication between sensor nodes have been proposed to achieve localization in WSNs [1][2][3][4][5]; many of these approaches involve the use of anchor nodes to implement localization. Anchor nodes are sensor nodes whose location coordinates are set either manually or by using a global positioning system (GPS). The use of anchor nodes facilitates localization; however, this technique has an inherent drawback in that localization cannot be achieved if some of the anchor nodes accidentally break down, even if the remaining nodes continue to function. In addition, GPS-based configuration of anchor nodes is ineffective in indoor environments where RF signals from satellites cannot reach. Hence, investigating localization schemes without anchor nodes, that is, anchor-free localizations, becomes important, for the abovementioned applications and also for supporting the functionalities of anchor-based localization schemes. Several researches concerning anchor-free localization schemes have been proposed [6][7][8][9]; however, many of the proposed schemes are evaluated only by computer simulations and there are only a few investigations for anchor-free localization with experiments in the real world [10].
We have previously proposed an anchor-free localization scheme and implemented it on a ZigBee (IEEE 802. 15.4) sensor module [11]. The scheme uses a link quality indicator (LQI), which is proportional to the distance between two distinct nodes, as well as the hop count for location estimation. A two-dimensional structure is then constructed at the host computer connected to the sink node. Furthermore, we 2 ISRN Sensor Networks conducted estimation experiments on networks comprising three and four sensor nodes. The result showed the localization was successfully achieved; however, this scheme has low robustness against variations in the LQI. The measured LQI values tended to fluctuate under circumstances such as being inside a building, even when the sensor nodes were stable, owing to the reflection of RF signal.
Thus, we also have presented an improved scheme for localization in order to handle fluctuations in LQI values [12]. This scheme calculates a weighted average over several candidates of estimated sensor locations on the basis of error-prone LQI values, which corresponds to a Lagrangian point among the candidates. The experimental results showed the accuracy of localization was improved by this scheme. But this scheme does not improve the measured LQI values that may contain time-dependent errors. Thus, there would be a potential to achieve localization with higher robustness, by introducing a scheme of removing errors in LQI time sequence values.
In this paper, we propose a scheme that improves localization of sensor nodes, based on the scheme proposed in [11,12], and evaluate the performance of this proposed scheme on a sensor network with ZigBee sensor nodes. This scheme employs a Kalman filter [13,14], which is extensively used in signal processing and control, for estimating the correct LQI values from the noisy LQI values in measurement.
This paper is organized as follows. In the following section, the elements and structure assumed in this paper are described. The basic estimation scheme from LQI values is also explained. Then, in Section 3, schemes for improving accuracy of localization based on this basic estimation scheme are described. A Kalman filtering scheme for estimating LQI values is formulated in this section. The performances for estimation are explored in Section 4 through the experiments using ZigBee sensor nodes. We finish with discussion and conclusion in Section 5. Figure 1 shows the structure of the sensor network used in this paper. The network consists of several sensor nodes and at least one sink node where information is collected. The sensor nodes employed for localization are in a two-dimensional space, and each of them exchanges the LQI value, which is calculated on the basis of the strength of the signal received from other nodes, with neighboring nodes. The LQI is used for estimating the distance between two communicating nodes. In the process of exchanging the LQI, the hop count, which is the number of nodes traversed during communication between two nodes, is obtained.

Network Structure.
The LQI and hop count are sent to a sink sensor node, and the localization process is carried out at the host computer associated with the sink node. The estimation results are displayed at this host computer and can be transmitted to all the sensor nodes. The LQI and hop count are periodically collected for estimating the sensor node locations; thus, the proposed scheme can deal with movements of sensor nodes.
In many localization schemes, the distance between two nodes is obtained on the basis of the received signal strength  indicator (RSSI) [15][16][17], which is calculated on the basis of the strength of the received signals. However, the RSSI tends to get affected by environmental conditions such as reflections from metallic surfaces and superposition of electromagnetic fields. Thus, the RSSI is not as reliable as the LQI for estimating the distance between sensor nodes. It is known that there is a high correlation between the LQI and the distance between sensor nodes [18]. Based on these reasons, in the proposed scheme, the LQI is employed for estimating the distance between sensor nodes.

Localization
Procedure. First, we recapitulate the scheme proposed in [11] by using a simple network shown in Figure 2. This network consists of five sensor nodes, and the sink node is omitted in this figure for simplicity of explanation. Figure 2(a) depicts the configuration of the network in which the identifications of nodes are attached. The solid lines between nodes represent their connectivities, that is, the sensor nodes connected along this line can communicate among themselves. For example, nodes A, B, and C can communicate and share information such as LQI values among themselves, but nodes A and D cannot communicate directly. Furthermore, node E can communicate only with node B.
The first step of localization is to choose three nodes that can communicate among themselves and to from a triangleshaped network of these nodes. In this example, a group of nodes A, B, and C is chosen for the network (Figure 2(b)). The LQI values for these nodes can be measured through their communication, and thus the distances among these nodes can also be estimated by determining the relation between the distances and the resultant LQI values. The distances among these nodes are denoted by AB , BC , and CA , which correspond to the distance between nodes A and B, B and C, and C and A, respectively. When one of the nodes is virtually located at a particular position (e.g., (0, 0)), the locations for the other two nodes can be calculated on the basis of their distances to that node.
Subsequently, each node in the remaining group of nodes is chosen and connected to the base triangle network. The chosen node is a node that can communicate with the two nodes in the base triangle. In the example in Figure 2(a), node D is the target node because it can communicate with nodes B and C. Two candidates can arise on connecting the node to the triangle, as shown in Figure 2(c) (nodes D1 and D2), but according to the connectivities of nodes, only one of these candidates can be selected. The location of node D can be determined if the locations of nodes in the triangle are already set.
Finally, the nodes that can communicate to only one node are connected to the network, for example, node E in Figure 2(d). The locations of such nodes are set appropriately such that the connectivity of the network remains unchanged. As in the example in Figure 2(d), node E should be set at an arbitrary location such that this node is not directly connected to nodes A, C, and D.

Determining the Location of Nodes in Triangle Network.
This section describes a procedure for determining the locations of sensor nodes on the basis of the collected information. As described in the previous section, the relative coordinates of three sensor nodes can be determined provided that these nodes can communicate with one another directly and that the distances between them are known. We cannot utilize information about the direction of an RF signal received from the sensor node, because the antenna used is undirectional.
When a triangle is constructed using three sensor nodes, the location and orientation of one node, that is, the first node, are virtually determined. This is due to a lack of anchor nodes, whose exact (absolute) locations are known. For the same reason, the orientation of the entire network in the two-dimensional space should be virtually determined. The location of the second node can be determined by either the first or second node because the distance between the first and second nodes is known.
The location of the third node is determined as follows. Let the coordinates of the first node (node A) and second node (node B) be ( 1 , 2 ) and ( 2 , 2 ), respectively, such that 1 < 2 . Further, let the coordinates of the third node (node C), which have to be calculated, be ( 3 , 3 ). The distances AB , BC , and CA denote the distances between nodes A and B, B and C, and C and A, respectively.
(1) When 1 > 2 , the angle shown in Figure 3(a) is calculated as The direction = ∠CAB is calculated as On the basis of these angles, there exist two candidates for node C, denoted by C and C , calculated as C : ( 1 + CA cos ( − ) , 1 + CA sin ( − )) , C and C are symmetric to each other with respect to line AB (see Figure 3(a)); one of them is selected on the basis 4 ISRN Sensor Networks of its connectivity to the other nodes, as described in the previous section.
(2) When 1 = 2 , the candidates for node C (Figure 3(b)) and their coordinates are as follows: (3) When 1 < 2 , the candidates for node C and their coordinates (Figure 3(c)) are as follows: Thus, the locations of the sensor nodes can be calculated in this way when the relative distances between the three nodes are given.

Schemes for Improving Localization Accuracy
In the scheme described in the previous section, it is assumed that measuring the LQI values helps obtain the accurate distance between nodes. However, the measured LQI values can fluctuate due to reflections of RF signals or obstacles, humidity in air, and so on. Thus, it is possible that the location of nodes cannot be accurately determined owing to fluctuations in LQI values. The following sections describe the schemes for the improvements of localization accuracy from two points of view. One is to achieve more accurate estimation based on the noisy LQI values in measurement, and the other is to estimate more accurate LQI values from the noisy LQI time sequences.

Geometrical Calculation Scheme on Location Candidates.
This section describes an improvement scheme based on geometrical calculation obtained from the candidates of sensor locations estimated from the noisy LQI values [16]. Figure 4 shows a simple example of four nodes whose locations are not determined. In this example, the distances between the nodes are measured as AB = BC = CA = AD = and BD = CD = , as obtained from the LQI values. It is impossible to achieve localization on the basis of these values, due to the contradiction among the geographical relations of nodes. Assuming that AB , BD , and DA are correctly estimated, the localization result is shown in Figure 4(a), where the resultant distance between nodes C and D does not match the measured one. Similar results can be obtained, as shown in Figures 4(b) and 4(c), where the distances between nodes B and D and nodes A and D, respectively, are incorrect. Therefore, a scheme for improving the accuracy of the localization of nodes is presented in [12]. This scheme calculates the locations of nodes by estimating the weighted average of the candidate locations of nodes. The measured LQI value tends to be affected more by the environment when the distance between nodes is longer than when it is shorter, due to RF signals from a node traveling in the air. This scheme first calculates the possible locations of nodes when connecting them to the network. In the case of the fournode network in Figure 4, the possible locations of node D are calculated. Let the possible locations of node D be ( D 1 , D 1 ), ( D 2 , D 2 ), and ( D 3 , D 3 ) for the configurations in Figures  4(a), 4(b), and 4(c), respectively. Then, the lengths of the base triangles are calculated. In the case in Figure 4, the lengths of triangles ABD, ACD, and BCD are (2 + ), (2 + ), and ( + 2 ), respectively. The location of nodes is calculated from the candidate locations and lengths such that higher weight is assigned for the candidate location with a smaller length of the triangle network. In the case in Figure 4, the location of node D, denoted by ( D , D ), is calculated as where D total = 1 2 + + 1 2 + + 1 + 2 .
This averaging process calculates a so-called Lagrangian point from the estimated locations of candidates.

Kalman Filtering Scheme for Improving LQI.
The LQI values obtained in the network varies in time even if there is no noise effects to the network, due to the movements of sensor nodes. Also, there should be several noise sources in and around the network, such as turbulence by other RF signals, reflections of RF signals, and noises in the sensor node itself. The LQI values are prone to be affected by these noise sources, thus it is effective to incorporate a scheme to improve the LQI by removing such effects. This section presents a scheme for estimating the correct LQI values from their noisy values, based on Kalman filtering that has been extensively used in the various problems in engineering, such as control, communication, and adaptive signal processing [13,14]. Let be a LQI value at time between a pair of sensor nodes, treated as a probabilistic variable before its observation. Due to the movement of sensor nodes, this value can be represented as where is a variation of between the time ( − 1) and by the sensor movements.
Then, let be a LQI value at time obtained by observing LQI( ). This is also a probabilistic variable and described as where is an error imposed in the observation of . There should be assumptions for initial state of , that is, 0 , , and . In this paper, we assume that these variables follow the normal distribution with their own averages and variances. This means that 0 ∼ ( , 0 2 ), ∼ ( , 2 ), and ∼ ( , 2 ), where , 0 , , , , are set to constant values. By using these parameters, an expectation and variance of ,̂and 2 , respectively, can be formulated as follows: For each observed time , an estimated LQI value is obtained bŷ. It is important to make appropriate configurations of 2 0 as a variance of LQI values, 2 as a variance of changes of LQI values, and 2 as a variance of error in observing LQI values, because the performance of the estimation system depends on these configurations. Owing to the functionality of the sensor nodes, the sink node can collect information from the sensor nodes in the network if it can communicate with at least one sensor node. The system was provided with a mechanism for measuring LQI values. A configuration of this board is shown in Figure 5.

Experimental
No directional antennas were attached to the board in our implementation.
Location estimation experiments were performed in an indoor environment. The sensor network used in this paper comprised one sink node and four sensor nodes. In order to avoid collisions in communications among the sensor nodes, we set the communication periods of for all sensor nodes to 100 (ms). Two localization schemes were used for the performance evaluations: one was a conventional scheme [12] described in Section 3.1, and the other was the conventional scheme with an additional step of Kalman filtering described in Section 3.2, which was denoted as the proposed scheme.

Experiments for Distance-LQI Relation.
In order to determine the relation between the distance between nodes and its LQI value, we preliminarily conducted experiments. Two sensor nodes were used for these experiments, and the actual distance between them was measured with a laser range finder. First the relation between nodes' distance and its LQI value is investigated in an RF anechoic chamber, in order to exclude the reflections of RF signals by the sensor modules and the effects by RF signals other than the sensor modules. Figure 6 shows LQI values with respect to the distance between nodes. When the distance increased, its LQI value decreased, and the experimental relation between LQI ( ) and distance (m) can be well approximated as in the range of 0.1 < < 2.0. We then conducted the same experiment in various indoor environments to find the parameters for our Kalman filter. The obtained LQI values follow a normal distribution and its average and variance are 29.80 and 15.16, respectively. These values were set to the parameters in , that is, and 2 , respectively. We assumed that the distance change for the movement of sensor nodes was at most 0.2 (m) during the communications for obtaining LQIs. In this case the averaged change of LQI value was 7.0 from (12), thus we set the parameters in so that = 0 and 2 = 7.0. The parameters in 0 were empirically set, such that = 0 and 2 = 0.1.

Results for Estimating Locations.
We then conducted localization experiments for a network with four sensor nodes, in which each of these nodes was occasionally moved. The sensor nodes were firstly placed at the vertices of a square with edge 1.06 (m), as shown in Figure 7(a) and thus the exact locations of the nodes were (0.00, 0.00), (1.06, 0.00), (1.06, 1.06), and (0.00, 1.06) for the node A, B, C, and D, respectively. After a certain number of seconds, one of the nodes is moved to the center of the square, as shown in Figure 7(b) where node A is the target of movement. The sequence of the movement used in the experiments are shown in Figure 8, where each dot in this figure represents a sensor  node. Each configuration is deployed for 20 seconds and then one of the nodes is moved to/from the center in one second.
An example of the localization results are shown in Figure 9, which is obtained in the first configuration in the sequence in Figure 8. The locations of nodes estimated using the conventional scheme are denoted by a circle with dotted lines. From this result, the locations of nodes are different from the placed ones; particularly the location of node C, marked as C , is very different. It is clear that the estimated locations (triangle with dashed lines) are relatively close to the placed ones using the proposed scheme, and hence the proposed scheme gives more accurate estimation. Other configurations in the same sequence of sensor movements are shown in Figure 10, and for many of these configurations the proposed scheme can estimate the locations similar to the placed locations.
To quantitatively evaluate the localization performance, we introduce the localization errors between configurations. The localization error is defined as  where ( , ) are the coordinates of a placed sensor node ∈ {A, B, C, D} and ( , ) is its estimated coordinates. The symbols A, B, C, and D denote the four sensor nodes. This quantity represents the squared error for the coordinates of placed and estimated nodes, and thus a smaller value of yields more accurate localization. Figure 11 shows the localization errors, calculated from the configurations in Figures 9  and 10. In many configurations, the errors by the conventional and proposed schemes seems to be comparative, but there are cases that the proposed scheme can achieve the errors much lower than the conventional scheme, for example, for the configuration numbers 1, 2, and 3. Similar tendencies can be found in the configurations obtained by another experiment, shown in Figure 12.

Discussion and Conclusion
We proposed an improved localization scheme for wireless sensor networks and implemented it on a ZigBee sensor module. This scheme employs the LQI and hop count to estimate the structure of the sensor network. By applying a Kalman filter to estimate the correct LQI values from the obtained one, in addition to calculating the weighted average of candidate locations, more accurate locations can be estimated under inaccurate LQI values among nodes.
The effect of Kalman filter could be found in the cases that the estimation error became a rather large value, which might be the result of sensor nodes being moved. In our experiments, the number of moving nodes was small, that is, at most  Figure 9: Estimation results from the proposed and conventional schemes in a square configuration (obtained at the first configuration in Figure 8).
one, thus experiments such that multiple sensor nodes move simultaneously should be necessary. The Kalman filtering scheme in this paper assumes that the fluctuations in the LQI values follow the normal distribution, and in our experiments with indoor environments the observed LQI values follow it.   It is necessary to improve our filtering scheme in order to cope with various distributions of the fluctuations.
This distance-(LQI-) based localization scheme has inherent limitations for the estimation. One limitation is that there can be several candidates for an estimated location, that is, ambiguous configurations. An example of ambiguous configurations is shown in Figure 13, where our schemes cannot distinguish the estimated locations. The relationships of nodes' distances in these configurations are identical. In our experiments, these mirror configurations are excluded by hand in order to evaluate the estimation errors between the proposed and conventional schemes.
The second limitation concerns the coordinates of nodes' locations. These coordinates are called relative, in the sense that no global coordinates and orientation can be obtained by this scheme. Hence, it is necessary to acquire at least two global coordinates of sensor nodes for accomplishing all global coordinates and orientation of sensor nodes. Accumulating the estimating errors in large-scaled and nonmeshed networks is also an issue for this scheme. Thus, it is important to adopt another types of information for improving the accuracy in localization, as well as to evaluate the performances of the proposed scheme with a lot of sensor nodes. Incorporating other localizing schemes with this proposed scheme, such as introducing anchor nodes, is also a challenging problem.