# Device-Free Localization and Identification Using Sub-GHz Passive Radio Mapping
## 2 Experimental Setup and Methodology
### Passive Fingerprinting Techniques  
The RF sensing network described in the previous subsection consists of a maximum of 15 nodes, which leads to a total of 210 RSS values that are communicated to the controller during each cycle. Each communication link formed between two nodes is associated with two of these values; one for each direction in which communication can occur. We average these two values for each link and create a measurement vector with a length of 105 elements. This measurement vector forms the core aspect of our fingerprinting approaches.  
As is the case for all fingerprinting techniques, the first step consists of a training phase in which a fingerprint database is created. These contain entries for each possible state (locations in Section 3 and identities in Section 4) and during the next step the goal is to try to match measurement vectors to the correct entry. We attempt to do so through two different methods outlined in the next paragraphs.  
Our first approach makes use of the minimization of the Euclidean distance between the measurement vector and fingerprint database vectors associated with all possible states. Each fingerprint database vector is created by taking the average of the measurement vectors collected during the training phase when a target was present in the corresponding state. This is a classic fingerprinting technique--both for active and passive cases--whose results are often used as a baseline [12; 16].  
The distance between measurement vector \(r(s)\) whose data was collected when a single target was present in an unknown state \(s\) and the fingerprint database entry \(r(x)\) which corresponds to a certain state \(x\) can be described mathematically as  
\[d(r(s),r(x))=\sum_{i=1}^{m}\sqrt{(r(s)_{i}-r(x)_{i})^{2}}, \tag{1}\]  
with m equal to the length of the measurement vector. It should be noted that all RSS values within our measurement vectors are in dBm.  
The goal of this approach is to find the database entry state \(x\) which satisfies the following condition and is therefore assumed to correspond to the actual state \(s\):  
\[argmin_{x}[d(r(s),r(x))]. \tag{2}\]  
In our second approach, we make use of a naive Bayesian classifier for which we consider all elements of the measurement vector to be independent features. The goal of this approach is to maximize the probability for which an active measurement vector \(r(s)\) corresponds to a fingerprint database defined state \(x\). Using [PERSON] theorem, this can be described as  
\[\begin{split} argmax_{x}[P(x|r(s))]&=argmax_{x}[ \frac{P(r(s)|x)P(x)}{P(r(s))}]\\ &=argmax_{x}[P(r(s)|x)P(x)].\end{split} \tag{3}\]We assume each state \(x\) to be equally probable, so therefore this equation can be rewritten as  
\[argmax_{x}[P(x|r(s))]=argmax_{x}[P(r(s)|x)]. \tag{4}\]  
Finally, due to the fact that we consider all features to be independent, \(P(r(s)|x)\) can be calculated by the following formula:  
\[P(r(s)|x)=\prod_{i=1}^{m}P(r(s)_{i}|x), \tag{5}\]  
with m equal to the length of the measurement vector.  
In the fingerprint database, each state is represented by a number of Gaussians equal to the length of the measurement vectors. These functions show the distribution of RSS values for each link given that a target is present in a certain state and are created during the training phase by fitting the collections of RSS values to Gaussian distributions. They can then be used to calculate \(P(r(s)|x)\) for each possible database defined state \(x\), after which the highest probability is assumed to correspond to the actual state.  
Both the minimization of Euclidean distance and the naive Bayesian classifier approaches are quite standard within the domain of passive fingerprinting. Much more advanced techniques do exist and have been successfully implemented within the state of the art [15; 17]. However, the focus of this paper is not on the implementation of an advanced fingerprinting algorithm and we consider this to be currently out-of-scope.