# Low-Power LoRa Signal-Based Outdoor Positioning Using Fingerprint Algorithm
## 3 Proposed Fingerprint Algorithm
### Probability Map Generation and Positioning  
The RSSI value of an end-device is compared to the value of each fingerprint map. Then, candidate regions are filtered and extracted for each fingerprint map. We combine these extracted regions with a weighting factor to create a probability map. The results of the probability map vary according to the weight assigned to the filtered grids for each gateway. We conducted experiments on three types of weighting factors. Figure 10 shows the probability map generation process. \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline
**Gateway** & **Algorithm** & **AVG** & **STD** & **Gateway** & **Algorithm** & **AVG** & **STD** \\ \hline \multirow{4}{*}{GW1} & cubic & 11.65 & 9.98 & \multirow{4}{*}{GW3} & cubic & 5.12 & 6.44 \\  & Gaussian & 41.70 & 23.82 & & Gaussian & 19.71 & 27.90 \\  & quintic & 14.75 & 5.55 & \multirow{2}{*}{GW3} & quintic & 7.27 & 10.49 \\  & linear & 7.03 & 1.60 & & linear & 2.36 & 1.57 \\  & thin plate & 8.65 & 1.96 & & thin plate & 3.32 & 2.95 \\ \hline \multirow{4}{*}{GW2} & cubic & 3.11 & 2.45 & \multirow{4}{*}{GW4} & cubic & 4.24 & 3.70 \\  & Gaussian & 19.61 & 23.82 & & Gaussian & 29.69 & 59.20 \\ \cline{1-1}  & quintic & 5.87 & 5.55 & \multirow{2}{*}{GW4} & quintic & 14.43 & 32.36 \\ \cline{1-1}  & linear & 2.43 & 1.60 & & linear & 2.52 & 1.78 \\ \cline{1-1}  & thin plate & 2.44 & 1.96 & & thin plate & 3.00 & 2.10 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Average and Standard Deviation of Absolute Residual between interpolated and test value (dBm). Figure 9: Comparison of interpolated fingerprint maps: (**a**) cubic, (**b**) Gaussian, (**c**) quintic, (**d**) linear, and (**e**) thin plate interpolation methods. We needed to create a buffer to extract candidate regions in the interpolation map, as shown in Figure 11, because of the unstable feature in the LoRa RF signals. The radio frequency (RF) signal strength fluctuates slightly over time, as shown in Figure 12. After we observed the signal strength distribution in the online phase, we assigned a 3 dBm buffer for the selection of candidate regions to include the actual location in the candidate region. For example, for \(-79\) dBm RSSI in gateway 3, we set the candidate region as that in which RSSI was \(-82\) to \(-76\) dBm. We also tested varying buffer values for each signal and gateway. This buffer dBm could be changed depending on the training data. Figure 11: Comparison of candidate regions. We filter candidate regions with 3 dBm. Dark areas represent candidates region with (**a**) strong and (**b**) weak RSSI signals. Figure 10: Probability map generation. We use a probabilistic method based on the Bayesian inference method [12; 22] using the observed RSSI data to compute the conditional probability for positioning. We define grids for the experimental area, and we assign indexes from \(l_{1}\) to \(l_{n}\) for each grid cell, as shown in Figure 13. We constructed an experimental area of 340 \(\times\) 340 cells, and the resolution of each cell was set to 1 m \(\times\) 1 m. Then, we define \(\mathbb{L}\) as a set of locations with \(x,y\) coordinates as given by Equation (1). \[\mathbb{L}=\{l_{1}=(x_{1},y_{1}),l_{2}=(x_{2},y_{1}),\ldots,l_{n}(x_{c},y_{r})\} \tag{1}\]  
The LoRa end-device sends uplink packets. Then, \(k\) gateways measure the RSSI values of the signals. An observation \(o\) can be defined as \(k\) pairs of vectors [22]. We define the set of RSSI signal strengths received at \(k\) gateways as an observation for each transmission, as shown Equation (2). Each location \(l_{i}\) has an observation vector \(o\). When there are more than two observations at the same location \(l_{i}\), their mean value is used. The linear RBF interpolated value is used for locations that have no observations. In the online phase, we measured the RSSI values from the gateways and transformed the RSSI array to the observation \(o^{*}\). Observation \(o^{*}\) in the online phase can be defined as \(k\) pairs of vectors same as \(o\).