ALRD: AoA Localization with RSSI Differences of Directional Antennas for Wireless Sensor Networks

In this paper, we fit RSSI values into a parabola function of the AoA between 0° and 90° by applying quadratic regression analysis. We also set up two-directional antennas with perpendicular orientations at the same position and fit the difference of the signal RSSI values of the two antennas into a linear function of the AoA between 0° and 90° by linear regression analysis. Based on the RSSI-fitting functions, we propose a novel localization scheme, called AoA Localization with RSSI Differences (ALRD), for a sensor node to quickly estimate its location with the help of two beacon nodes, each of which consists of two perpendicularly orientated directional antennas. We apply ALRD to a WSN in a 10 × 10  m indoor area with two beacon nodes installed at two corners of the area. Our experiments demonstrate that the average localization error is 124 cm. We further propose two methods, named maximum-point minimum-diameter and maximum-point minimum-rectangle, to reduce localization errors by gathering more beacon signals within 1 s for finding the set of estimated locations of maximum density. Our results demonstrate that the two methods can reduce the average localization error by a factor of about 29%, to 89 cm.


Introduction
A wireless sensor network (WSN) consists of tiny sensor nodes equipped with computational, communication, and sensing capabilities, whereby each sensor node can collect data about the environment, such as temperature, vibration levels, light, electromagnetic strength, and humidity.The sensed data is then transmitted to the sink node through a chain of multiple intermediate nodes that help forward the data.Due to their capabilities and versatility, WSNs have been widely used in many areas, such as military affairs, healthcare, and environmental monitoring.In many applications, apart from sensed data, the location information of the deployed sensor node is also desirable as it can be used to improve routing efficiency.Hence, the discovery of the locations or positions of sensor nodes is one of the most critical issues for WSNs.
Localization is the process of determining the absolute or relative physical location of a specific node or the target node.Although a global positioning system (GPS) [1] can provide precise location information, the costly hardware and large size make it unsuitable for WSNs.Furthermore, a GPS can only be used outdoors since it depends on signals directly received from satellites for localization.Besides the GPS, numerous localization methods  have also been proposed.Most of these deploy some beacon (or anchor) nodes, which periodically broadcast beacon signals containing their own locations to help other sensor nodes with the localization.
Localization schemes can be classified as range based or range-free.In range-free schemes, the sensor node location is estimated solely on network connectivity.Such schemes need no extra hardware, but their accuracy is too low, and they usually rely on a large deployment of beacon nodes to improve the accuracy.Conversely, range-based schemes usually have better accuracy.They measure the time of arrival (ToA) [2,3], time difference of arrival (TDoA) [4][5][6], angle of arrival (AoA) [2,4,15,17,18,20,21,27], and received signal strength indicator (RSSI) [3, 7-14, 16, 20, 21] to estimate the distances or angles between pairs of nodes, which in turn are used to calculate the locations of nodes.Most kinds of measurement are taken with extra auxiliary hardware.For example, ToA and TDoA are very sensitive to timing errors, and, hence, their measurement relies on highly accurate synchronized timers.The AoA, which is defined as the angle International Journal of Distributed Sensor Networks between the propagation direction of an incident RF wave and a reference direction, can be measured by an array of antennas.Unlike the previously mentioned three kinds of measurement, RSSI can be outputted by most commercial offthe-shelf sensor nodes.
RSSI-based localization methods can be further classified into groups, such as propagation model [8,9], proximity [10][11][12] or fingerprinting [13,14,28].Propagation model localization methods analyze the relationship between RSSI values and distances to learn parameters such as the path loss exponent of the propagation path-loss model in the calibration phase.The calibrated propagation model is then applied to convert the signal strength to the estimated distance between transmitter and receiver in the localization phase.In proximity localization methods, an unknown node broadcasts a localization packet to initiate the localization process.Nearby location-known reference nodes then report the RSSI values measured from the packet to a nominated node.The order of reported RSSI values is then used to determine the location of the unknown node.Fingerprinting localization methods measure RSSI values from a set of static nodes during a calibration phase at several locations.The measured RSSI values at a particular location are then used to fingerprint the location.In the localization phase, a node measures RSSI values from the same static nodes and then estimates its location by finding the fingerprinting that is the closest match with the measured RSSI values.
In this paper, based on the concept of integrating AoA Localization and fingerprinting localization for reducing errors, we propose a novel localization scheme, called AoA Localization with RSSI Differences (ALRD).It estimates the AoA for localization in 0.1 s by comparing the RSSI values of beacon signals received from two perpendicularly oriented directional antennas installed at the same place.In the proposed ALRD, we fit RSSI values received from a directional antenna into a parabola function of an AoA between 0 ∘ and 90 ∘ .We also set up a beacon node with two perpendicularly oriented directional antennas and fit the difference of the signal RSSI values of the two antennas into a linear function of the absolute value of one AoA between 0 ∘ and 90 ∘ .With the parabola and linear functions, a sensor node can then self-localize itself quickly (within 0.1 s) by observing RSSI values of the beacon signals emitted by the two beacon nodes.The fitting functions can easily be stored in a WSN node, despite their limited storage space, and their inverse functions can be used to speed up the localization process.Hence, ALRD is suitable for mobile sensing and actuating applications in an open and stable environment since it allows a sensor node to fast localize itself with small localization errors.Our experiments demonstrate that the average localization error is 124 cm when deployed in a 10 × 10 m indoor area.
We further propose two methods, namely maximumpoint minimum-diameter and maximum-point minimumrectangle, to reduce ALRD localization errors by gathering more beacon signals within 1 s for finding the set of estimated locations of maximum density.Such estimated locations are then averaged to obtain the final location estimation.Experimental results obtained demonstrate that the two methods can reduce the average localization error by a factor of about 29%, to 89 cm.Hence, ALRD is suitable for mobile sensing and actuating applications, as it allows a sensor node to quickly localize itself with lower localization errors.The rest of this paper is organized as follows.We review some AoA determination schemes in Section 2. In Section 3, we describe the proposed localization scheme, ALRD, in detail.Section 4 shows our experimental results.Then, we describe improvements to ALRD and compare it with other schemes in Section 5. Finally, we conclude the paper in Section 6.

Related Works
In this section, we review some research that determines AoAs for localization.Amundson et al. developed the RIMA system that uses radio interferometry measurements to estimate the AoA [15].RIMA estimates the AoA by measuring the TDoA of an interference signal generated by a antenna array.The system consists of a beacon node and a target node.The beacon node is formed by grouping three sensor nodes to form an antenna array.The three sensor nodes are arranged in a manner such that their antennas are mutually orthogonal.Two of the sensor nodes transmit a pure sinusoidal signal at slightly different frequencies to create a low-frequency interference signal.The other sensor node and the target node both measure the phase of the low-frequency signal.The difference in the phase readings measured by these two nodes is then used to estimate the AoA from the beacon node to the target node.Although RIMA can accurately measure the AoA within 1 s, it requires very accurate time synchronization between the beacon node and the target node, which is very difficult to achieve.
Two methods, Estimating Direction-of-Arrival (EDoA) [5] and Rotatable Antenna Localization (RAL) [16], utilize the property of directional antennas to estimate the AoA of a signal.EDoA estimates the AoA of an incoming signal by using a mechanically actuated parabolic reflector.The receiver, which is fixed to a parabolic reflector rotated by a step motor, is used to observe the RSSI values of signals emitted from a transmitter.When the orientation of the reflector is aligned with the direction from the receiver to the transmitter, the receiver will observe the highest RSSI value.Hence, the AoA can be obtained by searching for the reflector orientation in which the highest RSSI value is observed.Their experimental results show that the error in measuring the AoA has a mean of about 4 ∘ and a standard deviation of about 8 ∘ in both indoor and outdoor environments.However, EDoA needs to take a long time to rotate the reflector for searching the highest RSSI value.In RAL, a beacon node is equipped with a rotatable directional antenna.It regularly rotates its antenna to emit beacon signals in different directions.A sensor node determines the angle from the beacon node to itself by observing the RSSI values of the received beacon signals, which contain the location of the beacon node and the current orientation of its antenna.Similar to EDoA, RAL can determine the AoA by determining the strongest signal.By using the estimated AoAs and locations of two distinct beacon nodes, a sensor node can then calculate its own location with a localization error of 76 cm within a 10 × 10-meter indoor area.Two enhanced methods were further proposed to reduce the localization error by a factor of 10% [16].EDoA and RAL both need a long time to rotate the antenna or the reflector for observing the variation of the RSSI values while estimating the AoA.Therefore, EDoA and RAL are only suitable for localizing static sensor nodes.

The Proposed Scheme
Existing localization schemes using AoAs may take a long time to finish the localization or need very accurate time synchronization.In this section, we propose ALRD that finish localization quickly by learning how the RSSI values vary with the AoA in advance without the need of time synchronization between the anchor node and the target node.

Preliminary.
As shown in Figure 1, we define the AoA as the angle from the propagation direction of an incident RF wave to the orientation of the directional antenna emitting the RF wave.The AoA is positive if it is counterclockwise and negative otherwise.Figure 2 shows a plot of RSSI values over AoA; we observe that if the distance between the sensor node and the directional antenna is fixed, the RSSI varies like a parabolic function of AoA, referenced to the orientation of the directional antenna, between −90 ∘ and 90 ∘ with a an axis of symmetry at AoA = 0 ∘ .Furthermore, we set up two perpendicularly oriented directional antennas installed at the same location (seen in Figure 3).From the results obtained (as shown in Figure 4), we also observe that the difference of the signal RSSI values received by a sensor node, localizing between the orientations of two-directional antennas, varies like a linear function of the absolute value of the AoA between 0 ∘ and 90 ∘ .It can be noted that absolute values of AoAs are used and that when one absolute AoA value is , the other absolute AoA value is 90 − .We then take only one absolute AoA value as the representative without ambiguity.

RSSI Gathering and Analyzing.
Before deployment, ALRD needs to gather and analyze RSSI values of the signals that a sensor node receives from a directional antenna at different distances and angles.The measured RSSI values are then analyzed to generate the fitting functions.These fitting functions are then stored into the storage of each sensor node for localization.For better accuracy, the RSSI gathering and analyzing tasks are needed to execute at each new system deployment location, since the environment changes may make the measured RSSI values have some differences.The tasks are described as follows.
(1) Gathering RSSI values: as shown in Figure 5, we set up a directional antenna that can be rotated by an angle  from the -axis (or the east direction) (0 ∘ ) to the -axis (or the north direction) (90 (5) Storing functions: the quadratic and linear approximation functions are loaded into the storage of the sensor nodes before they are deployed.

ALRD Setup.
Figure 6 shows the setup for ALRD.We assume that all sensor nodes are randomly deployed in a planar square area of interest.Two beacon nodes,  1 and  2 , are deployed in the lower left and lower right corners of the area, respectively.Each beacon node is equipped with two-directional antennas with perpendicular orientations.The antennas of the beacon node in the lower left (or right) corner have either an upright or a horizontal to the right (or left) orientation.The antenna with the upright orientation is called the vertical antenna, whereas, the antenna with the left or right orientation is called the horizontal antenna.
Each beacon node is assumed to know its location and orientations of the two antennas.The beacon nodes transmit beacon signals via the two-directional antennas regularly and alternately.The beacon signal contains the orientation of the antenna and the location of the beacon node, which are expected to reach the whole area of interest.Note that the setup in Figure 5 can be the basic building block for deploying ALRD in a large indoor localization environment.Figure 7 shows a deployment instance of beacon  nodes in a large area.The beacon nodes consist of 1, 2, or 4 pairs of perpendicularly oriented directional antennas.Any two adjacent beacon nodes are D units away from each other in the horizontal direction and 2D units away from each other in the vertical direction.Based on the setup of Figure 6, we can see that any two adjacent beacon nodes in the horizontal direction can properly localize target nodes within an area of D by D units.For example, in Figure 7, the beacon nodes X and Y can properly localize target nodes within the shaded area.Hence, ALRD can help localize sensor nodes in a large area by installing a lot of beacon nodes.

Localization Procedure.
In ALRD, a sensor node executes the following steps to estimate its location.
(   1 and  2 , the sensor node can determine its location (, ) by calculating where  is the known distance of  1 and  2 .Note that we can also calculate this by using only

Experiment Results
In this section, we describe the implementation of ALRD and the results of the experiments using the implementation.The beacon node used for RSSI gathering and analysis is also attached with a Maxim AP-12 panel antenna, which is rotated by a Fastech Ezi-Servo 28 L step motor, as shown in Figure 8(a).The beacon node used in localization is attached with two AP-12 panel antennas with perpendicular antennas, as shown in Figure 8(b).Its horizontal and vertical beamwidths are 65 ∘ and 28 ∘ , respectively.

Experimental Setup.
We installed the ALRD setup in a 10 × 10 m region of an indoor basketball court for conducting experiments as shown in Figures 9 and 10.Two beacon nodes were set up at two ends of the edge of the experiment area, and the localization accuracy was tested at 81 grid points (as arranged in Figure 10).Since the largest distance between a measurement point and a beacon node is about 12.73 m, we gathered and analyze the RSSI values of signals emitted at distances of 1, 2, . . ., 13 m for every degree from 0 ∘ to 90 ∘ .The RSSI value for each distance and each degree was obtained by averaging 100 measurements.
The gathered RSSI values are shown in Figure 11.The interval for gathering the RSSI values is set as 1 m because the RSSI values will be indistinguishable if the interval is too small.To reduce the gathering time and space used for storing the approximation functions, we only measured RSSI values for one of the four antennas of the same type of the two beacon nodes in our experiments.The coefficients of determination,  2 , of all the approximation functions are shown in Figure 12.We note that the coefficients of determination are high and all exceed 0.96.Therefore, the approximation functions are very suitable for expressing the measured RSSI values and RSSI differences.

Localization Errors.
The localization accuracy is tested at the 81 grid points shown in Figure 10.The beacon nodes transmit beacon signals via each of their antennas 10 times per second.Therefore, a sensor node can localize itself 10 times per second.We take the average of 10 localization results and plot the cumulative distribution in Figure 13.The average localization error of the localization experiment is 124 cm.In Figure 14, we use different colors to represent the localization errors of the test points.The brighter color indicates the smaller localization error.As Figure 13 shows, the test points that lie in the middle of the region have smaller localization errors.This can be explained by Figure 4, in which the curves almost look like straight lines in the middle.

Improvement
As the results show, ALRD can let sensor nodes localize themselves by measuring RSSI values of signals from two beacon nodes in a short time (0.1 s).However, the measured RSSI values be influenced by environmental interferences so the estimated location may deviate from the real location and has a localization error.Thus, if a node spends more time measuring more RSSI values, then more location estimations can be made, which in turn can reduce the deviations.Based on the concepts introduced in [28], we propose two methods, namely, maximum-point minimum-diameter (MPMD) and maximum-point minimum-rectangle (MPMR), to remove some estimated location from a set of estimated locations for the purposes of reducing the localization error.
Assuming that  is the set of estimated locations, MPMD and MPMR remove some locations by finding a subset   ⊆  with the largest density.The density  of a set of estimated locations is defined as follows: where  is the cardinality of the set, Dia is the diameter of the locations in the set, and Area is the area of the smallest axis-parallel rectangle containing all locations in the set.The diameter Dia of a set of locations can be obtained by finding a pair of locations with the longest distance between them.The Area of a set of locations can be obtained by finding the four extremes (i.e., the leftmost, rightmost, highest, and lowest extremes) and calculating the area of the rectangle bounded by them.
The following steps are executed by a sensor node to apply MPMD or MPMR to obtain a subset   of a set  of locations such that   has the largest density.
Step 2. Derive subset   of  by removing the location with the maximum summation of the distances from itself to other locations in , and calculate the density   of   .
Step 3. If  >   , then return ; otherwise, set  =   and go to Step 1.
By using the set of estimated locations with the maximum density returned by MPMD and MPMR, we can then calculate the average of all locations to derive a new estimated location with a small localization error.Table 1 shows the average of the localization errors after applying MPMD and MPMR to 10 localization results collected by a sensor node within 1 second.Figure 15 shows the cumulative distributions of the ALRD localization errors and those improved by MPMD and MPMR.As shown, MPMD is more suitable than MPMR for sensor nodes because it makes similar improvements as MPMR but has less computational overheads.
Table 2 compares ALRD with other three localization schemes, namely, EDoA [4], RAL [13], and RIMA [15].As we have mentioned previously, EDoA and RAL take a long time to localize sensor nodes because they have to rotate the antennas or the reflector.RIMA is able to accurately localize a target node in a short time, but it requires time synchronization between the beacon node and the target node.By contrast, ALRD can localize sensor nodes in a short time and provides relatively low localization errors without the need for time synchronization.

Conclusion
In this paper, we proposed AoA Localization with RSSI Differences (ALRD) to estimate angle of arrival (AoA) by comparing the received signal strength indicator (RSSI) values of beacon signals received from two perpendicularly oriented directional antennas installed at the same place.We have implemented and installed ALRD in a 10 × 10 m indoor environment.Our experimental results showed that a sensor node can estimate its location by using only four beacon signals within 0.1 s with an average localization error of 124 cm.Hence, ALRD conserves the time and energy spent on localization.Furthermore, we proposed two methods, namely, maximum-point minimum-diameter (MPMD) and maximum-point minimum-rectangle (MPMR), to reduce ALRD localization errors by gathering more beacon signals within 1 s to find the set of estimated locations of maximum density.The results demonstrated that MPMD and MPMR can reduce the localization error by a factor of about 29% to 89 cm.Thus, as ALRD allows a sensor node to quickly localize itself with lower errors; it is suitable for mobile sensing and actuating applications.
As our experiments show, it is sufficient to gather RSSI values for only one of four antennas of the same type to achieve sufficient localization accuracy.By equipping antennas of the same type to all beacon nodes, the sensor nodes merely need to store the quadratic and linear approximation functions of one antenna.In the future, we will focus on applying ALRD to realize a large-area localization system.Moreover, we will also try to apply different types of directional antennas and their combinations to ALRD in the hope of further reducing localization error.

Figure 1 :
Figure 1: AoA of a sensor node and a directional antenna.

Figure 2 :Figure 3 :
Figure 2: RSSI values of signals received from a directional antenna.

Figure 4 :
Figure 4: Difference of the signal RSSI values received from two-directional antennas with perpendicular orientations.

Figure 5 :
Figure 5: The setup for gathering and analyzing RSSI values.

( 4 )Figure 8 :
Figure 8: (a) The beacon nodes used in RSSI gathering and analysis.(b) The beacon node used in localization.

4. 1 .
Implementation.The sensor nodes and the beacon nodes of the proposed ALRD scheme are implemented in nesC with TinyOS support on the Moteiv BAT mote sensor.The BAT mote sensor has a Texas Instruments MSP430 F1611 microcontroller running at 8 MHz with 10 kB RAM and 48 kB flash memory.It is equipped with the Chipcon CC2420 IEEE 802.15.4 compliant wireless transceiver using the 2.4 GHz band with a 250 kbps data rate.With an integrated onboard omnidirectional antenna, the BAT mote sensor has a maximum transmission range of 50 m (indoor) or 125 m (outdoor).

Figure 12 :Figure 13 :
Figure 12: The coefficients of determination,  2 , of the quadratic () and linear () approximation functions for different distances.
∘ ) and transmits beacon signals containing the rotating angle for every degree.A sensor is placed at the -axis at a distance of , 2, . . .,  meters for receiving signals emitted from the antenna for several times (e.g., 100), where  and  are specified values (e.g.,  = 1 and  = 10).The received signal RSSI values are averaged and stored.The gathered RSSI average values are denoted by (), where  = 1, 2, . .., , and  = 0 ∘ , 1 ∘ , . .., 90 ∘ .(2)Performing quadratic regression: for each distance , the gathered RSSI values are fitted approximately into a quadratic function   () of the rotating angle , by quadratic regression analysis.(3) Calculating RSSI differences: for each distance , the RSSI difference   () at angle  is obtained by calculating   () −   (90 − ).In practice,   () is approximately the difference of RSSI values between two signals that a sensor node receives from two perpendicularly oriented directional antennas installed at the same location.(4) Performing linear regression: for each distance , the RSSI difference   () at angle  is approximately fitted into a linear function   () by linear regression analysis.
1) Receiving beacon signals: in order to localize itself, the sensor node needs to collect the signal RSSI values  1ℎ and  1V of the horizontal and vertical antennas of beacon node  1 .It also needs to collect the signal RSSI values  2ℎ and  2V of the horizontal and vertical antennas of beacon node  2 .∘ ≤   and   ≤ 90 ∘ .Here,  −1  (⋅) is an inverse function of the quadratic function   (⋅) obtained in RSSI gathering and analysis.As shown in Figure 6,   +   should ideally be 90 ∘ .Therefore, the sensor node can obtain such that   +   is closest to 90 ∘ .Let the discovered  be denoted by  1 .Similarly, by  2ℎ and  2V , the sensor node can find  such that   +   is closest to 90 ∘ , where   and   are two absolute values of AoAs (where 0 ∘ ≤   and   ≤ 90 ∘ ) corresponding to the horizontal and vertical antennas of the beacon node  2 and   =  −1  ( 2ℎ ) and   =  −1  ( 2V ).Let the discovered  be denoted by  2 .(3) Estimating AoA: the distance estimate  1 obtained in Step 2 is used to choose a proper linear approximation function   1 for estimating the AoA of the sensor node corresponding to the beacon node  1 .The AoA corresponding to the horizontal antenna of  1 is calculated as   1 =  −1  1 ( 1ℎ −  1V ), where  −1  1 (⋅) is the inverse function of the linear function   1 (⋅) obtained in the RSSI gathering and analysis stage.Similarly, by  2 and ( 2ℎ −  2V ), the AoA corresponding to the horizontal antenna of the beacon node  2 can be calculated as   2 =  −1  2 ( 2ℎ −  2V ).
and   , corresponding to the horizontal and vertical antennas of the beacon node  1 are obtained by calculating   =  −1  ( 1ℎ ) and   =  −1  ( 1V ), for 0 a rough estimate of the distance from itself to the beacon node  1 , by finding  for  = 1, 2, . . ., ,

Table 1 :
Comparisons of localization errors.

Table 2 :
Comparison of localization schemes.