Chapter 4: RSS Positioning Performance Comparison
4.2 Experimental Setup
The anchorβs role is to broadcast beacon messages periodically, so sensor nodes can receive these messages and locate themselves. The test bed is a room with 10Γ4.7 m free space area, as shown in Figure 4.2. Anchor locations are depicted as green circles, along with distances to walls and the three supporting beams are depicted as squares. Black dots indicate calibration points. A calibration point was also taken at each anchor location.
Anchors are placed in the corners of the mentioned area on top of a stand, 1.2 meters above ground. The stands used are made of plastic, so no extra interferences affect the radio messages. Numbered from 1 to 4, each anchor broadcasts one beacon message periodically, at the start of each 100-millisecond superframe.
Figure 4.2: Experimental setup scenario.
In order to have synchronized beacon messages from anchors, a simple scheme was adopted. As soon as anchor 2 receives beacon message from anchor 1, anchor 2 begins broadcasting its own beacon periodically, and so forth. Anchor nodes bypass the usual CSMA/CA (carrier sense multiple access/collision avoidance) in their transmissions, so timings between transmissions do not overlap. Messages arrive sequentially and free of collision since all anchors transmit in different time instants.
Using the sequence number in the beacon messages, the sensor node detects lost beacons during data collection and inserts a value of -127, indicating an invalid RSS sample. Since the goal is to assess accuracy of positioning algorithms for our use case scenario, nodes
were only used to obtain real data from the test site, leaving calculations to be performed in an offline phase.
4.2.1 Propagation Model Calibration
The testing area used does not have walls between devices, and therefore the multiwall model was discarded and the one-slope model was used. The one-slope model was used as the linear (in the coefficients) non-polynomial model, to find the n parameter of the one-slope model:
π(π₯) = π1Ξ¦1(π₯) + π2Ξ¦2(π₯) (4.1)
with Ξ¦1 = 1 and Ξ¦2 = 10 Γ log10(π₯), where a reference distance of 1 meter was used. The
model coefficients are calculated by minimizing the squared error between the model and the measurements taken at the site:
π = β(ππβ π(π₯π))2
π
π=1
(4.2)
The solution is found by solving a system of equations in augmented matrix form:
[ β Ξ¦π 1Ξ¦1 π=1 β Ξ¦1Ξ¦2 π π=1 βπ Ξ¦2Ξ¦1 π=1 β Ξ¦2Ξ¦2 π π=1 || βπ fiΞ¦1 π=1 βπ fiΞ¦2 π=1 ] (4.3)
A best-fit value is calculated using samples taken at different distances from the anchor nodes.
4.2.2 Positioning Algorithms
Three different types of algorithms were tested in this performance comparison: map- matching, approximate and exact positioning methods. The usual two-phase approach was employed for the map-matching solution. During the offline phase, a sensor node was used to collect calibration points in the area confined by the four anchor nodes. At each grid point position, true x and y values and body orientation (e.g., north, west, south and east) was recorded.
A calibration point is composed by average, minimum, maximum and standard deviation values obtained from the RSS indication field in beacon messages. For each
calibration point, 100 RSS samples were collected from all anchor nodes, followed by computation and storage of the calibration point in the radio map database.
The radio map was created with a grid resolution of one square meter (one point each meter along each axis). Since the positioning area is 4.7 meters wide, the last column of the grid has a smaller resolution of 0.7 square meters. The test field is covered by a total of 66 points, with 4 sampling directions on each point, amounting to a total of 264 calibration points. After collecting all calibration points during the offline phase, the corresponding database was created. Each entry of the table is composed by: position (real position coordinates x, y and direction d) and average RSS for each anchor node. The minimum, maximum and standard deviation for each calibration point were also stored. Although these values have not been used in the position calculation process, they allow a qualitative initial evaluation of the fingerprinting map created.
During the online phase, the sensor node obtains RSS samples and stores them. At the end of a test run (e.g.: after collecting 100 samples), RSS data is uploaded to the personal computer (PC) running MATLAB and the position is computed using the weighted k-nearest neighbours (WKNN) algorithm.
The data collected during the online phase for the map-matching solution is also used to compute positions using the approximate and exact positioning solutions. For the approximate positioning method, weighted centroid localization (WCL) is applied, where two different parameters are used as weights to compute position: the RSS and the distance obtained from the path loss model. In the exact positioning method, the linear least squares (LLS) algorithm is used, where the path loss model is first applied to the RSS for conversion into a distance estimate. This distance is then served as input for the LLS method to find the position of the sensor node.