# A Low-Cost Collaborative Location Scheme with GNSS and RFID for the Internet of Things
## 3 Collaborative Scheme with Global Navigation Satellite System (GNSS) and RFID Location
### Tag-Location Principle
Where, A, B, C, D are RFID reader position; \(P\), \(P^{\prime}\), \(P^{\prime\prime}\) are candidate target tag location; the arc represents the mobile reader trajectory. (b) Candidate points and estimated point. ### Optimization

As mentioned in Algorithm 1, the RFID ranging signal and RFID reader location are the input parameters of our location scheme. The two signals are ideally time-synchronized for higher-level location accuracy. However, the time-synchronous signals are limited, which reduces the effectiveness of the redundant observations method. In our scheme, the GNSS receiver has a lower signal frequency than the RFID reader, which means there are fewer reader positions compared to the reader distance points. To overcome the time-synchronous problem, we developed a linear interpolation algorithm of GNSS signal point according to the RFID ranging signal receiving time. The detailed implementation of the algorithm is shown as follow (Algorithm 2). With the interpolation of points, many synchronized signal points are generated, which ensures a higher location accuracy with enough redundant observations. ```
Input: reader location, time, distance detection times array Output: synchronous reader location array 1 Set \(p_{s}=\) reader location started, \(t_{s}=\) start time 2 Set \(p_{d}=\) reader location ended, \(t_{d}=\) end time 3# find the closest time from the distance points 4 Set \(deltaTstart=t_{0}-t_{s}\), \(indexStart=0\) Set \(deltaTend=t_{d}-t_{0}\), \(indexEnd=0\) For each time \(t_{i}\) of distance detection times array do  if\(t_{i}-t_{s}<deltaTstart\)then  set \(deltaTstart=t_{i}-t_{s}\) set \(indexStart=i\) endif  if\(t_{d}-t_{i}<deltaTend\)then  set \(deltaTend=t_{d}-t_{i}\) set \(indexEnd=i\) endif endfor # Calculate the synchronous points 17 For each time \(t_{i}\) of distance detection times array do \(p_{i}=p_{s}+(t_{i}-t_{s})/(t_{d}-t_{s})\times(p_{d}-p_{s})\)  add \(p_{i}\) to synchronous reader location array Endfor
```

**Algorithm 2** Linear interpolation algorithm for reader location

Additionally, the uncertainty of candidate points is another concern. As mentioned in Figure 3, candidate points (\(p^{\prime}\), \(p^{\prime\prime}\)... ) may have different locations due to the measurement error. The arithmetic mean approach can often achieve a relatively good result; however, it does not consider the influence of every candidate point on the final result as the signal path loss propagation is distance-dependent [36; 37]. Therefore, we proposed a distance-based proportionality function to weight individual candidate points. The inverse distance (1/d) is used to compute the weight. As a longer distance has a higher probability of importing noise, it has a smaller weight on the true value. Inspired by the weighted centroid localization (WCL) algorithm [36], we introduced a power-law based weight to emphasize the importance of the transmitting distance (Equation (4)), where \(\lambda\) is used as the power of distance, \(w\) denotes the weight. \[w_{\rm i}=\frac{1}{\left(d_{\rm i}\right)^{\lambda}} \tag{4}\]

## 4 Experiment and Result

In this section, we conducted a suite of experiments to evaluate the efficiency and effectiveness of our proposed scheme. This experiment was run on the university campus of Beijing University of Civil Engineering and Architecture, China. The experimental scenario is shown in Figure 4. The devices are composed of a mobile RFID reader, an RFID tag, and a portable GNSS receiver with the RS232 protocol. As shown in Figure 4c, the RFID reader and GNSS receiver were connected to a notebook to get the reader position and the distance between the reader and the tags. We moved the RFID readers to simulate multiple RFID readers. A tag was deployed at the target object as shown in Figure 4d. The coordinates were measured as ground truth by the Leica TS06 Total Station. The observed coordinates were estimated based on our algorithms in Section 3.