openbox

# Packet Reception Probability: Packets That You Can’t Decode Can Help Keep
You Safe

Subham De1, Deepak Vasisht2, Hari Sundaram3 and Robin Kravets4
Computer Science, University of Illinois at Urbana-Champaign
Email<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
###### Abstract

This paper provides a robust, scalable Bluetooth Low-Energy (BLE) based indoor
localization solution using commodity hardware. While WiFi-based indoor
localization has been widely studied, BLE has emerged a key technology for
contact-tracing in the current pandemic. To accurately estimate distance using
BLE on commercial devices, systems today rely on Receiver Signal Strength
Indicator(RSSI) which suffers from sampling bias and multipath effects. We
propose a new metric: Packet Reception Probability (PRP) that builds on a
counter-intuitive idea that we can exploit packet loss to estimate distance.
We localize using a Bayesian-PRP formulation that also incorporates an
explicit model of the multipath. To make deployment easy, we do not require
any hardware, firmware, or driver-level changes to off-the-shelf devices, and
require minimal training. PRP can achieve meter level accuracy with just 6
devices with known locations and 12 training locations. We show that fusing
PRP with RSSI is beneficial at short distances ($\leq 2\text{\,}\mathrm{m}$).
Beyond $\geq 2\text{\,}\mathrm{m}$, fusion is worse than PRP, as RSSI becomes
effectively de-correlated with distance. Robust location accuracy at all
distances and ease of deployment with PRP can help enable wide range indoor
localization solutions using BLE.

##  1 introduction

Indoor positioning is a widely studied problem in academia and industry [48,
47, 24, 28, 57, 14, 44]. Coupled with the high penetration of consumer radio
devices (e.g. smartphones), indoor positioning can re-imagine use of indoor
spaces like retail spaces, malls, museums, and warehouses. Today, the contact-
tracing challenge due to the pandemic has put an urgent, renewed focus on
developing a robust, low-cost, scalable, indoor localization solution. Indoor-
localization based contact-tracing111Contact-tracing requires us to calculate
relative distance between individuals. Inferring relative distance from
location is straightforward. that helps us determine if a pair of individuals
are “social-distancing,” separated by more than 6ft, may safely re-open the
world economy.

Technological solutions for contact tracing that use smartphones are an
important complement to normative (e.g., wearing a mask) and policy (e.g.
stay-at-home) interventions for mitigating effects of the pandemic. Bluetooth
Low-Energy (BLE) is emerging as the key contact-tracing technology and is
being used in contact-tracing apps around the world. For example, the Aarogya
Setu contact-tracing app222https://www.mygov.in/aarogya-setu-app/ in India,
uses BLE and has been downloaded 120M times. The open-source, privacy-
preserving contact-tracing framework, BlueTrace333https://bluetrace.io
(deployed in Singapore) uses BLE packets to detect presence (i.e., a
smartphone that can hear another must be in proximity of the other.), not
distance. BLE is preferable to WiFi for contact-tracing: BLE uses $10\times$
less power than does WiFi; BLE can be easily used to infer the presence of
nearby peers without presence of WiFi infrastructure. The newly proposed
Exposure Notification Service by Apple-
Google444https://www.apple.com/covid19/contacttracing/ also relies on BLE
beacons and signal strength measurements.

###  1.1 Overcoming Key Technological Limitations for Contact Tracing

Figure 1: (a) As the mean RSSI decreases, the error in the RSSI estimate
increases because of lost packets. (b) Packet reception in Line-of-Sight (LOS)
with -20db transmission power decreases with distance. (c) Packet Reception
Probability(PRP) technique is more accurate than RSSI [3, 16, 58] and readily
deployable on commercial devices than CSI [24, 53, 48].

In this paper, we ask: Can we develop robust Bluetooth based contact tracing,
with existing measurements, deployed on low-cost commodity hardware? To do so,
we need to overcome four fundamental limitations—deployability, bias in RSSI,
high packet loss in Bluetooth and multipath effect.

Deployability on commercial smartphones: Bluetooth Low-Energy based apps for
contact-tracing have two well-known shortcomings. These apps primarily use
either RSSI (Received Signal Strength Indicator) or presence to determine risk
to COVID exposure . Prior work [3, 16, 58] demonstrates that RSSI-based
methods experience large errors (order of several meters) in positioning,
especially in the low RSSI-large distance regime. RSSI has an important
benefit: it is present on all modern devices. In contrast, we cannot use CSI
(Channel State Information) [24, 53, 48], a recent method that enables sub-
meter accuracy, since off-the-shelf devices typically do not report CSI. A
recent work [40] has enabled CSI for WiFi in some smartphones, but cannot be
applied for BLE. Some contact-tracing apps also use ‘presence’—if one device
can hear another—to determine if an individuals is close to another infected
person. Presence is a poor proxy for distance since devices can hear Bluetooth
beacons well beyond 6 ft social distancing radius, and also hear them across
aisles and walls.

Biased RSSI Estimates due to Packet Loss: We explain with a conceptual example
in Figure 1 that shows a Normally distributed RSSI at the receiver, for a
fixed transmitter and receiver. In free space, with increasing distance
between the transmitter and the receiver, the RSSI distribution shifts to the
left, implying a decreasing RSSI at the receiver. RSSI-based methods [3, 30]
empirically measure RSSI and use the mean RSSI estimate to infer distance.
However, as the distance between the transmitter and the receiver increases
(i.e., the RSSI distribution shifts to the left), packet loss increases with
almost certain packet loss at the low-RSSI decoding threshold. Since devices
only report RSSI for successfully decoded packets, RSSI-based distance methods
suffer from a sampling bias: they use RSSI from decoded packets only. Since
they cannot know RSSI values of packets they cannot decode, these methods
introduce systematic error in their mean RSSI estimates. This error increases
with distance, so much so that at large distances (few meters for BLE), as we
shall show in this paper, the mean RSSI estimate becomes de-correlated with
distance and is an unreliable indicator. The error is different from the
typical reduction in SNR due to increase in distance. The error stems from a
sampling bias fundamental to RSSI measurements.

Packet Losses are higher in BLE: Packet loss is a fundamental problem in a
low-power protocol like Bluetooth Low Energy. At distances as small as
$1\text{\,}\mathrm{m}$, in line of sight, around 10% of the packets get
dropped in our empirical evaluation, as shown in Figure 1. Packet loss rate
increases to 50% at $3\text{\,}\mathrm{m}$. Thus, the sampling bias in RSSI
measurements is a more significant challenge for BLE compared to high-power
WiFi protocol based RSSI methods [3, 57, 10]. As pointed out in [7], BLE
limits transmission power to reduce energy consumption. BLE v4.0, v4.1, and
v4.2 defined maximum output power is 10mW, which is $10\times$ lower than
WiFi.

Multipath Effects: Multi-path effects [51, 58] are the second large
contributor to RSSI errors. Specifically, the error arises due to reflections
of the radio signals by objects in the environment. Thus, the signals from the
transmitter travel along multiple paths and combine at the receiver. This
combination can be constructive (i.e., in-phase) and increase RSSI or
destructive (i.e., out of phase) and reduce RSSI. Since this combination is a
function of the environment and not the distance between the devices,
multipath introduces error in distance measurements.

###  1.2 A Counter-Intuitive Approach: Exploit Packet Loss to infer Distance

In this paper, we ask a counter-intuitive question: Could the loss of a packet
be a clue to the distance between the transmitter and receiver? Intuitively,
as the distance between transmitter and receiver increases, the ability to
successfully receive packet decreases. In this paper, we build on this
intuition to develop a new metric: Packet Reception Probability (PRP), which
measures the probability that a receiver successfully receives packets from
the transmitter. A simple experiment validates our intuition that PRP can
encode distance. We collected packets from BLE beacons transmitting at -20db
power at increasing distance values between
$1\text{\,}\mathrm{m}10\text{\,}\mathrm{m}$ in a line-of-sight (LOS) scenario.
We use maximum likelihood estimates for PRP. We plot the PRP estimate as a
function of distance in Figure 1. Notice that Figure 1 shows that the
probability of receiving a packet decreases with distance, implying that PRP
encodes distance. We show in this paper, that for low energy protocols
including BLE, PRP is a good indicator of the distance between communicating
devices.

Our approach, Bayesian Packet Reception Probability (B-PRP), is suitable for
public spaces including retail stores or libraries, places that are important
to current social distancing and contact tracing efforts. B-PRP is a PRP-based
approach that develops a novel Bayesian framework to explicitly model
multipath reflections in the environment and deliver robust and accurate
localization. The Bayesian framework helps to minimize system deployment
costs. A public environment like a retail store contains obstructing materials
in the form of stacks or shelves. The shelves (including the items placed on
them) absorb or reflect the radio signals directed at them. This leads to a
lower packet reception probability at the receiver. At a fixed distance, the
packet reception probability will vary based on the number and type of
obstacles in the signal path. B-PRP must tease apart the effects of distance
from the interference effects of the obstacles, when estimating distance. We
observe that we can model public spaces including retail stores in a modular
manner comprising open spaces separated by stacks. We explicitly capture the
effect of such stacks by modeling the packet reception in absence of stacks
and in presence of one stack, two stacks and so on. While we use stacks to
model retail spaces, we believe that the abstraction of modeling a geometric
element is general enough to apply to other large indoor spaces like
libraries, warehouses, factories, etc.

Finally, we present a method to estimate inter-device distance using our
approach, a primitive essential to contact-tracing. We evaluated B-PRP in two
real-world public places, an academic library setting and in a real-world
retail store, and demonstrate the efficacy of our techniques. In both cases,
we did not control for human traffic. Our main results:

Localization Accuracy:

B-PRP achieves a median localization error of $1.03\text{\,}\mathrm{m}$
(library) and $1.45\text{\,}\mathrm{m}$ (retail store). The state of the art
Bayesian RSSI system [30] has errors of $1.30\text{\,}\mathrm{m}$ (library,
26.2% more error) and $2.05\text{\,}\mathrm{m}$ (retail store, 41.3% more
error) when trained with the same number of data points and packets per data
point.

Distance estimation for contact tracing:

Our contact tracing distance estimation achieves median error of
$0.97\text{\,}\mathrm{m}$ (library) and $1.22\text{\,}\mathrm{m}$ (retail
store) with PRP values. The errors with RSSI are $1.69\text{\,}\mathrm{m}$
(library, 74.2% more error) and $1.25\text{\,}\mathrm{m}$(retail store, 2.4%
more error). Using the covid risk metric [46], we see that PRP does 1000X
better than RSSI in the library.

B-PRP+RSSI Fusion:

Fusion of B-PRP and RSSI modestly improves the overall localization accuracy
over B-PRP (Table II). We see best fusion results at small distances ($\leq
2\text{\,}\mathrm{m}$). At larger distances ($\geq 2\text{\,}\mathrm{m}$),
errors in RSSI cause fusion results to be significantly worse than B-PRP.
PRP+RSSI also improves contact tracing accuracy by 6% for both library and
retail store.

Robustness to Multipath:

Our multipath model increases the accuracy for PRP from
$1.41\text{\,}\mathrm{m}1.03\text{\,}\mathrm{m}$ in the library (a 26.9%
improvement) and from $1.60\text{\,}\mathrm{m}1.45\text{\,}\mathrm{m}$ (a 9.3%
improvement) in the retail store.

Number of Beacons:

As beacon density decreases, B-PRP error is always within $2m$ while RSSI
errors are higher than $3m$. With five beacons, B-PRP performs $65\%$ better
in library and $50\%$ better in the retail store.

Low Training Overhead:

B-PRP can leverage unknown training data to train the B-PRP model, thereby
reducing the deployment effort. Specifically, B-PRP can achieve 1.08 m median
accuracy with just 8 labelled data points and 4 unlabelled data points.

For completeness, we note that the core limitation of a localization method
like B-PRP, a limitation shared with methods including [9, 27, 12, 28] is that
it needs deployment of beacons in the public space to locate individuals.
However, BLE beacons are inexpensive, and our method, B-PRP, provides meter-
level accuracy. A peer-to-peer distance estimation is much more general where
we will use devices like smartphones for reception and transmission. We
believe that this tradeoff between some upfront infrastructure expense
(multiple beacons) and increased localization accuracy is worthwhile in highly
frequented public spaces.

##  2 Contributions

Our paper makes the following contributions:

Use of Negative Information:

To the best of our knowledge, we are the first to build an indoor positioning
system that can extract information from absence of packets. In contrast,
state of the art RSSI based techniques [3, 57, 10], use observed RSSI to infer
distance. We accomplish this through a Bayesian formulation of the packet
reception probability, a metric that we show encodes distance. We develop
generic stacking models of reception to address multipath effects. While we
use PRP as a sole indicator of distance to highlight its benefits, we show
that B-PRP when combined with RSSI, improves the performance of the system at
shorter distances. Our finding shows how to use BLE to robustly estimate
indoor distances, thus opening the door to reliable BLE based contact-tracing
that incorporates distance.

Distance estimation for contact tracing without localization:

We directly estimate distance between two individuals without localization by
exploiting the well-known triangle inequality constraints in Euclidean
geometry. In contrast, we may consider estimating contact tracing distance
through localization: that is, we first, estimate locations of two persons
independently and then calculate the Euclidean distance between the two
locations. This approach is sub-optimal—we are estimating location while we
are only interested in distance. Also, if we have localization errors for a
particular individual, these errors will impact all the distance estimations
between this individual and other nearby persons. We extend out Bayesian
framework to independently estimate distances between pairs of individuals.
With the known beacons, we form triangles and we impose triangle inequalities
on these distances to rule out many distance configurations in the real world.
We improve our distance estimates by $\sim 10\%$ by triangle inequality
distance estimation.

Sampling Bias in RSSI:

We show the effect of packet loss on the mean RSSI measurements. Furthermore,
we show that with increasing distance, mean RSSI becomes highly unreliable due
to sampling bias. Our finding is significant because the state of the art RSSI
based techniques [3, 57, 10] when applied to BLE, a low-power protocol, are
highly unreliable in the $2\text{\,}\mathrm{m}6\text{\,}\mathrm{m}$ range
(Table II). We highlight that $2\text{\,}\mathrm{m}$ $\approx$ 6 ft, the
social distancing range.

Readily Deployable Solution:

Our B-PRP framework does not require any hardware, firmware, or driver-level
changes in off-the-shelf devices, and requires minimal deployment and re-
training costs. In contrast, CSI [24, 53, 48], which can deliver sub-meter
accuracy, requires firmware or hardware changes. This is significant: due to
the simplicity of the packet reception framework, we can immediately deploy
B-PRP as an application on off-the-shelf commodity smartphones.

##  3 Motivation

In this work, we focus on localizing individuals in indoor public spaces like
retail stores, libraries. In these spaces, indoor positioning using BLE
beacons can enable traditional applications like capturing behavioral data
about shoppers, as well as novel applications like enforcing social distancing
and contact-tracing. BLE offers an unique advantage for localization. Due to
its low power budget, it can be turned on frequently and hence, enable more
frequent location updates as compared to high power protocols like Wi-Fi.
Recall that BLE’s maximum transmit power (10 dBm) is 10 times lower than that
of Wi-Fi (20 dBm). This factor, in addition with its ubiquitous presence on
off-the-shelf smartphones, has made BLE the natural choice for such
applications.

Traditional BLE localization techniques either use RSSI (Received Signal
Strength Indicator) [3, 16, 58] or CSI (Channel State Information) [24, 2].
CSI for BLE is not available on commercial devices like smartphones. On the
other hand, RSSI measurements are noisy due to packet loss and multi-path
effect. While multi-path effects [51, 58] are well-documented, lets dig deeper
into the challenge of packet loss.

First, we identity that packet losses can be mainly attributed to two
reasons—random errors and low signal strength. Errors can occur uniformly at
random irrespective of the RSSI of the packet. As a result, such errors do not
introduce any bias in the aggregate estimate of RSSI. On the other hand, all
packets that are received with a signal strength below a certain decoding
threshold get dropped. Since we cannot observe the RSSI values of these low
RSSI packets, and hence cannot include them in our aggregate estimates, we
should expect to see a positive bias introduced in our RSSI measurements.

Lets mathematically validate our hypothesis of positive bias in RSSI aggregate
estimates. Let us assume that the actual RSSI values at a certain location
follow the Gaussian distribution $\mathcal{N}(\mu,\sigma^{2})$. Lets further
assume that the RSSI decoding threshold is $\alpha$. Since we drop all packets
below the threshold, our aggregate RSSI estimates will be based on a Normal
distribution truncated at $\alpha$. The new mean of this truncated normal
distribution is given by

$\hat{\mu}=\mu+\frac{\phi(\alpha)}{1-\Phi(\alpha)}\sigma,$ (1)

where, $\phi(\alpha)$ is the pdf of normal distribution evaluated at
$\alpha,\phi(\alpha)\geq 0$. $\Phi(\alpha)$ is the cdf value of the normal
distribution at $\alpha,\Phi(\alpha)<1$. Thus the estimate $\hat{\mu}$ that we
obtain by measuring received RSSI values is biased by a positive amount of
$\frac{\phi(\alpha)\sigma}{1-\Phi(\alpha)}$. As we move towards the lower RSSI
regime, $\mu$ becomes closer to $\alpha$. As a result, both $\phi(\alpha)$ and
$\Phi(\alpha)$ increases with lower RSSI values, which leads to a higher bias
in the estimated mean RSSI.

Note that we cannot trivially estimate $\mu$ from $\hat{\mu}$ in Equation 1
since in practice, multi-path effects alter the values of the RSSI in the
received packets. Thus recovering $\mu,\sigma$ using say Maximum Likelihood
Estimates by assuming a value of $\alpha$ is non-trivial.

Based on the above discussion, we identity that our solution requires three
important properties—eliminating positive bias due to packet loss, robustness
to multi-path effects, and ease of deployability on commercial devices. CSI
meets the first two properties but misses the important requirement of
deployability. RSSI is deployable, but has positive bias and is sensitive to
multi-path.

##  4 System Design

In this paper, we solve the challenges with RSSI by asking a different
question—Can we use the loss of packets as a signature itself to measure
distance? We define a random variable, packet reception probability, $prp(b)$,
for a beacon $b$ whose expected value is defined as:

$\mathbb{E}(prp(b))=\frac{\sum_{i}\bm{1}_{i=b}}{R(t_{l}-t_{f})}$ (2)

Here, $\bm{1}$ is the indicator function that is $1$ if and only if packet $i$
is received from beacon $b$, $R$ is the sending rate of the beacon, and where
$t_{l}$ and $t_{f}$ are the timestamps of the last and the first packet
received from beacon $b$. Notice that the right hand side of Equation 2 is
just the frequentist estimate of the probability of packet reception from
beacon $b$: number of packets received divided by the total number of packets
sent by beacon $b$.

One might wonder if PRP provides additional information beyond RSSI
measurements. Notice that by directly modeling packet reception, we are
leveraging absence of information(packet loss). RSSI is measured for packets
that are successfully received, but not for dropped packets. Therefore, a
system that drops 90% of the packets and 50% of the packets may have the same
measured RSSI, but we know one of them has lower true RSSI, and hence is
farther off, by looking at the packet reception probability. Also, packets
that are successfully received and influenced by multipath effects, only
impact RSSI mean estimate but not expected PRP value $\mathbb{E}(prp(b))$. Now
we will focus on how to use PRP to measure location.

###  4.1 Estimating Location using PRP

Figure 2:  Graphical model: Shaded nodes are observed, while we need to
estimate the unshaded ones. We use the data on number of received packets
$c_{i}$ measured from $B$ beacons at $N_{R}$ reception locations to train the
PRP parameters $[w]$. During tracking, we use the trained parameters $[w]$ and
$c_{i,t}$ to estimate location $l_{t}$.

Recall, in Figure 1, PRP degrades with distance. In this section, we discuss
how we can model the relationship between PRP and distance, and use this
relationship to infer location. Specifically, PRP ($prp$) depends on three
factors: (a) distance ($d$), (b) sending rate ($R$), and (c) transmission
power ($p_{t}$). In this subsection, we model the relationship in free space (
Figure 3(A)). We will incorporate the effect of multipath in subsequent
sections.

We use a Bayesian model to model the relationship between PRP estimates from
multiple beacons and the underlying physical location. Our choice of the
Bayesian approach is motivated by two key design benefits: (a) It allows us to
infer not just the location, but also quantifies the uncertainty in the
location estimate. Such estimates are very helpful when the location is used
for higher-layer applications like customer behavior analytics, contact-
tracing.(b) It can be extended to scenarios when the beacon location itself is
unknown or the training set is small. As we show in Section 5, this reduces
the deployment costs.

We model $prp$ as a function $g$ of the distance $d$, sending rate $R$ and
power $p_{0}$ of the beacon. Assume that we receive a packet from beacon
$(x_{b},y_{b})$ at location $(x_{r},y_{r})$. We calculate the Euclidean
distance $d$ between the beacon and receiver. Then, assuming that we know
sending rate $R$ and transmission power $p_{0}$, we can model the number of
packets received $c$ received at $(x_{r},y_{r})$ as drawn from a binomial
distribution with parameter $prp$:

$\displaystyle c$ $\displaystyle\sim Bin\left(N,prp\right),$
$\displaystyle\textrm{binomial distribution},$ $\displaystyle prp$
$\displaystyle=g(d,R,p_{0}),$ $\displaystyle\textrm{PRP link function},$
$\displaystyle d$ $\displaystyle=\sqrt{(x_{b}-x_{r})^{2}+(y_{b}-y_{r})^{2}},$
$\displaystyle\textrm{distance to beacon }b.$

$N$ is the total number of packets sent out by the beacon is proportional to
the product of the sending rate $R$, and the time spent $T_{r}$ at location
$r$. The function $g(d,R,p_{0})$ is a link function that connects the
underlying infrastructure parameters ($R,p_{0}$) and physical distance $d$, to
the packet reception probability.

In identifying the right representation of $g$, we need to keep two
considerations in mind: (a) the value of $g$ has to be between 0 and 1, and
(b) $g$ must encapsulate relationship between $d$, $R$ and $p_{0}$, not just
their direct effect on $prp$. Therefore, we model $g(d,R,p_{0})$ as a logistic
function of quadratic interaction between the parameters.

$\text{logit}\\{g(d,R,p_{0})\\}=w_{0}+\sum_{i}w_{i}\theta_{i}+\sum_{i,j}w_{i,j}\theta_{i}\theta_{j}$
(3)

where, $\text{logit}(p)=\log(p/1-p)$. And where,
$\theta_{1},\theta_{2},\theta_{3}$ correspond to the variables of $d,R,p_{0}$
respectively. The coefficients $[w]=[w_{i},w_{i,j}]$ are drawn from a non-
informative prior $N(0,\sigma)$—a zero mean Normal distribution with variance
$\sigma$. We choose $\sigma$ to be large in our system to allow for a large
range of values.

Our Bayesian formulation above is shown in Figure 2(a). Our framework operates
as follows:

Training Phase:  During training, we use a data set $D$ collected in an
environment to estimate the underlying parameters. Specifically, we need to
estimate the posterior distribution of the unknown parameters $[w]$ given data
$D$ i.e. $P([w]\mid D)$. The training set, $D$, comprises BLE logs.
Specifically, to obtain $D$, we stand at $N_{R}$ locations in our testing area
and listen to the packets from $B$ beacons. Assume further, that we know the
$B$ beacon locations $(x_{b},y_{b})$, $b\in\\{1,\dots,B\\}$ and $N_{R}$
reception locations $(x_{r},y_{r})$, $r\in\\{1,\dots,N_{R}\\}$. We will relax
this assumption in Section 5.

Test Phase:  During test phase, we do not know the reception locations,
$(x_{r},y_{r})$ $r\in\\{1,\dots,N_{R}\\}$. We use the measured $prp$ and the
parameters estimated during the training phase to estimate the receiver
location. We use PyMC3 [39] framework to do the inference.

Adding Human Mobility:  Finally, we note that human location across time is
not independent. Rather, locations are constrained by the time between them
and the average moving speed of a person. If we wish to track individuals at
temporal resolution $\delta$, and if a person reaches a location at time $t$
with speed $s_{t}$, we can constrain that location in terms of previous
location at $t-1$

$\displaystyle s_{t}$ $\displaystyle\sim U(0,S_{max}),$
$\displaystyle\textrm{speed},$ $\displaystyle x_{t}\mid x_{t-1}$
$\displaystyle\sim\mathcal{N}(0,s_{t}*\delta),$ $\displaystyle x_{t}\textrm{
constrained by }s_{t}\times\delta,$ $\displaystyle y_{t}\mid y_{t-1}$
$\displaystyle\sim\mathcal{N}(0,s_{t}*\delta),$ $\displaystyle y_{t}\textrm{
constrained by }s_{t}\times\delta.$

Where, $S_{max}$ is a constant in our model denoting maximum movement speed of
a human (similar to [11]). We estimate speed and location of a person from
$prp$ data.

Free Layout(A)Retail Layout(B)Geometric
Elements(C)StackStackBeacon1Receiver1234FreeSpaceFree Space (F-S)1-Stack
Away(1-S)2-Stack (2-S)Corridor (C)Corridor (C)DeskDesk Figure 3: Modelling
Obstacles and Multipath:  In (A), there is no obstruction in the path of the
receiver. In retail layout (B), receiver 1 is in free space with beacon, 2 is
one stack away and 3 is two stacks away. $4$ is an open region of the layout,
i.e. the corridor. We segregate the retail layout in (C) into geometric
elements based on the relative position of beacon and receiver.

###  4.2 Combating Multipath Effect

We have assumed a free-space propagation model so far, but real-world
environments have obstacles. We observe that the main contributor to multipath
effect in public spaces like retail stores (or libraries) are the stacks used
to list products (or books) and to separate aisles. In such scenarios, the
$prp$ value depends not just on the distance, but also on the number of stacks
the signal has to cross. Crossing one stack is easier than crossing two and
will cause fewer packet drops.

To build on this observation, we explicitly model the number of stacks in our
framework. This allows us to not just estimate the distance between a beacon
and a receiver, but also estimate the number of stacks between them.
Estimating this geometric information is useful for both: combating multipath,
and exploiting in higher-layer applications. For instance, retail store apps
need to estimate what aisle a customer is shopping in, contact-tracing apps
want to discount for infection spread if customers are close (but across
aisles). To estimate the stack separation, we divide the store layout in
Figure 3 into five portions based on the given beacon—free space(F-S), one
stack (1-S), two stacks away (2-S), corridor (C) and desk (D). In the figure,
the packets to receiver $1$ in F-S do not have to go through any obstacles.
The packets to receiver $2$ in 1-S and $3$ in 2-S go through one and two
interfering stacks respectively. Receiver $4$ is in a corridor. We limit
ourselves to two stacks away in the model, because we empirically observe that
two stacks or more have similar effects on packet reception (high loss).

Then, we parameterize our link function with a variable, $\gamma$ that denotes
the geometric-element separation. We represent the new link function as
$g_{\gamma}(d,R,p_{0})$. Now, at training time, we estimate parameters for the
functions—free space $g_{F-S}$, one stack $g_{1-S}$, two stack $g_{2-S}$ and
corridor (C) model $g_{C}$. We use a Bayesian training procedure similar to
the free-space scenario. We segment our training data into the different
scenarios, and use the segment-specific data to learn the parameters in each
$g_{\gamma}$. For example, the data with one stack separation is used to train
$g_{1-S}$. During testing, B-PRP uses the maximum likelihood model to identify
the underlying location as well as stack separation.

At first blush, it might seem very complex to identify $\gamma$ for each of
the $B$ beacons. We exploit the knowledge of the store geometry and beacon
arrangements within the store to significantly reduce the number of unknowns.
Assume that beacons $a$ and $b$ are in the same aisle adjacent to each other.
Then, regardless of where the individual is, beacons $a$ and $b$ must have the
same model type $\gamma$ with respect to the receiver. Similarly, if beacons
$a$ and $b$ are in neighboring aisles, and the model type $\gamma$ is $F-S$
for $a$, then $\gamma$ must be $1-S$ for $b$. Thus, given a location
$x_{t},y_{t}$, knowledge of store geometry and beacon arrangements help fix
the model type for all beacons, given the model type for any one beacon.

###  4.3 Estimating Distance for Contact Tracing

b1Beaconb2Beaconr1Receiverr2Receiver Triangle 1 Triangle 2 Figure 4: Modeling
contact tracing distance optimizing joint likelihood of observed PRP values
and triangle inequalities

Given our framework, we could trivially estimate the distance between two
individuals using a two-step approach: first, estimate their locations
independently and second, calculate the Euclidean distance between the two
locations. Then, we could use this distance to ascertain whether two
individuals were in contact for contact-tracing. However, this approach is
sub-optimal. It requires us to determine four unknowns — $(x,y)$ for the two
devices, while we are only concerned about the final distance estimate between
the two devices. Also, if we make errors in location estimation for an
individual, that impacts all the distance estimations of this individual with
other neighboring persons. In other words, we get correlated errors for
independent distances between different pairs of individuals. Can we do
better?

At a high level, we can improve the distance estimation process using two
insights. First, we don’t need to model individual locations if we just care
about distance. Therefore, we explicitly incorporate the distance between two
devices as part of our Bayesian model. This helps us reduce the number of
unknowns in our framework, and also helps to model the distance between each
pair of individuals as an independent unknown. Second, we leverage the
triangle inequality. The triangle inequality states that given a triangle, the
sum of two edges has to be greater than or equal to the third edge. This helps
us rule out many triangular distance configurations. We present a detailed
formulation of these insights below.

Finally, one might wonder: why do we need all this complexity? Why don’t we
just use the direct transmission between two devices to estimate
distance—device A transmits to device B, device B measures PRP, and we convert
that to distance? This approach would create a posterior distribution for
distance, but with a large variance because interference by other nearby
persons increases the uncertainty in our posterior distance distribution. To
shrink this variance, we need other distance measurements, either to known
beacons or to many other peers.

In this paper we adopt an infrastructure-assisted approach described above to
help compute distances between pairs of individuals. Given that public indoor
spaces like retail stores or restaurants (or even businesses) are more likely
to be crowded, an infrastructure-assisted approach is reasonable in these
settings.

Approach:  We explain our approach using a toy example(pictorially represented
in Figure 4) which contains two beacons $b1$ , $b2$ and two receivers $r1$ ,
$r2$. We are interested in finding the distance $d_{r1,r2}$. The latent
variables are $(d_{b1,r1},d_{b1,r2},d_{b2,r1},d_{b2,r2})$, on which we have
prp data. $d_{b1,b2}$ is known.

First, we infer latent variables $(d_{b1,r1},d_{b1,r2},d_{b2,r1},d_{b2,r2})$
by constructing a joint likelihood function with two components—observed prp
values, and triangle inequalities. Taking the receiver $r1$ as an example, we
have the triangle $(r1,b1,b2)$ which gives us three triangle inequalities that
can be converted to likelihood values as

$\displaystyle L_{T}=\log P(d_{r1,b1}+d_{r1,b2}-d_{b1,b2}>0)$
$\displaystyle+\log P(d_{r1,b1}+d_{b1,b2}-d_{r1,b2}>0)$ $\displaystyle+\log
P(d_{r1,b2}+d_{b1,b2}-d_{r1,b1}>0)$ (4)

For estimating the latent variables involving the receiver $r1$, we can write
down the joint log likelihood function as:

$\displaystyle\max[\log P(prp_{r1,b1}|d_{r1,b1})+\log
P(prp_{r1,b2}|d_{r1,b2})+L_{T}]$

Second, we infer $d_{r1,r2}$ by maximizing the likelihood of triangle
inequalities involving triangles with two receivers and one beacon. We have
two triangles $T_{1}=(r1,r2,b1)$ and $T_{2}=(r1,r2,b2)$. We can construct the
likelihood functions for $T_{1}$ and $T_{2}$ similar to Equation 4. We
maximize

$\displaystyle
L=\max_{(d_{r1,r2})}[L_{T_{1}}+L_{T_{2}}|d_{b1,r1},d_{b1,r2},d_{b2,r1},d_{b2,r2}].$

We use PyMC3 potentials to construct these joint likelihood functions and then
apply MCMC sampling techniques to solve them. We can also use RSSI or PRP+RSSI
instead of PRP in our likelihood functions, which will serve as our different
methods in Section 8.3.

##  5 System Deployment and Optimization

To summarize, the B-PRP system operates in following steps:

  * •

Deployment: We deploy BLE beacons at known locations in an environment like a
retail store. The location of the beacons as well as the floor plan is
uploaded to a B-PRP server. The server can reside on the cloud or be an edge
device local to each environment.

  * •

Training: A user walks to fixed locations in the store with a smartphone app
or another BLE receiver and measures the PRP values. The PRP values are
uploaded to a server. The server uses these labelled PRP values, the beacon
locations, and the floor plan to train the B-PRP model.

  * •

Localization and contact tracing: Finally, when new users walk in, they
measure PRP for beacons already deployed in the store. The app on the
smartphone uploads the PRP values to the server. The server uses the trained
model to infer location of the users and sends it back to the user. The server
also uses the PRP values from multiple users to infer the proximity distance
between them. Note that, this system is centered on the user. If the user
chooses not to share the PRP values with the server, no location estimation
and contact tracing can be performed. Furthermore, the design also conserves
power on the smartphone because the user never has to transmit any BLE
packets.

Finally, we transmit beacons using BLE advertising mode. This prevents the
need for making any explicit connection between the user device and the
beacon. The user device can ignore the advertising beacons to avoid
localization.

Reducing Deployment Overhead:  Deploying the localization infrastructure has
two major overheads—setting up the beacons at exact locations, and training.
Knowing the location for beacons deployed by a large store is labor intensive.
Similarly, training involves standing at multiple known locations inside the
layout and collecting data for certain period of time. We ask two
questions—1\. Instead of costly human labor, can we infer most beacon
locations from training data? 2. Can we leverage data from unlabeled locations
of store workers to train our model?

As it turns out, we can affirmatively answer both these questions in our
formulation. We can leverage unlabelled data (without location information)
that is collected by store workers as they move around the store to help train
the model as well as to infer most beacon locations. We use data collected by
store workers $D$ to solve both problems. $D$ contains number of packets
received from all $B$ beacons at all $N_{R}$ training locations. Let us assume
that we know the locations of a small number $b\ll B$ primary beacons, with
the remaining $B-b$ beacon locations unknown; Ideally we will like $b$ to be
as close to $0$ as possible. Also assume that only a small number $r\ll N_{R}$
locations are known, with the remaining $N_{R}-r$ locations unknown. Our goal
is to infer $B-b$ beacon and $N_{R}-r$ training locations from $D$ along with
the packet reception model parameters $[w]$.

To enable this, we view the model through a generative process. We initialize
the $(B-b)$ beacon and $(N_{R}-r)$ unknown reception locations from a uniform
prior over the testing area which is of dimension $W\times L$. We want to
jointly estimate the distribution of the unknown beacon locations
$\\{l_{j}\\},{j\in\\{1,\dots,B-b\\}}$,
$\\{l_{k}\\},{k\in\\{1,\dots,N_{R}-r\\}}$ and packet reception model
parameters $[w]$, given data $D$. In other words, we want to estimate the
posterior distribution $P([l_{j},l_{k},w]\mid D)$. This can be easily
achieved, given the Bayesian nature of our model. We use standard Markov Chain
Monte Carlo (MCMC) based Bayesian inference techniques to compute the
posterior distribution over the unlabelled data points and beacons. We use No-
U-Turn sampling (NUTS) [17] included with PyMC3 [39] to perform MCMC sampling.
Therefore, B-PRP can leverage unlabeled data as well as unlabelled beacon
locations to improve its location estimates and reduce the deployment
overhead.

##  6 Experimental Set Up

We evaluate B-PRP in two testbeds—an academic library and a retail store. Both
spaces have shelves segregating the floor space into rectangular regions, i.e.
aisles and corridors. The two environments differ in three main
aspects—difference in layout, i.e. arrangement of rectangular areas and the
presence of walls around the space, difference in material of shelves, and
human interference. The retail store had more dynamic customer traffic
movement during the experiments.

Library: We show the layout of the library space, $14m$ by $8m$, in Figure
5(a). It has three wooden shelves (each $11m$ long & $0.5m$ wide). The aisles
between two stacks are $0.7m$ wide. We placed two rows of 12 beacons on each
stack. We manually measured each inter-beacon distance. The distance between
two adjacent beacons on the same row is $0.91m$. The distance between two
devices kept opposite each other on the same shelf, but facing two different
aisles is $0.43m$. We carried out our experiments during regular library
hours.

Retail Store: Figure 5(b) shows a retail store with dimensions: $10m$ by
$10m$. The environment has four steel stacks ($1.27m$ wide each; three are
$7.5m$ long, one is $6m$ long). The aisles between two stacks are $1.8m$ wide.
We place two rows of beacons on each stack. The inter-beacon distance on the
same row is $1m$. Retail store is a challenging environment due to the
presence of steel structures as well as worker and customer movement during
the experiments.

(a) Library

(b) Retail Store

(c) Devices

Figure 5: Experimental Testbed:  We conduct our experiments in a library (a)
and a retail store (b) using devices shown in (c)—Beacon, Blufi, Sniffer,
Laptop, Nexus5X and NuuA4L android smartphone.

###  6.1 Devices

We use following devices for our experiments—Bluvision iBeeks [20] , BluFi
[6], TI packet sniffer, a laptop and Android smartphones(Nexus5x, NuuA4L).
iBeeks or iBeacons are battery operated BLE beacons. They support a wide range
of broadcasting power from $-40dBm$ to $+5dBm$. $-40dBm$ translates to $3m$
line of sight range, while $+5dBm$ gives us a range of $150m$. For our
experiments, the beacons send 10 packets per second at -15 dBm power. We
deploy 60 iBeacons in the library and 38 beacons in the retail store.

We use three receiver devices for BLE: Texas Instrument Packet Sniffer (CC2540
dongle), Nexus 5X smartphone, NuuA4L smartphone. iBeacons broadcast BLE
packets in three channels— 37, 38 and 39. The sniffer can filter out packets
from specific channels. We connect the sniffer to a Windows laptop and use it
for packet reception from beacons. For the Android phones, we built an android
app using Altbeacon [1] library to scan BLE channels.

###  6.2 Baselines

We compare B-PRP against state-of-the-art in RSSI-based positioning:

  * •

Horus [57] is an RSSI fingerprinting technique that was originally tested with
WiFi. We extend it to BLE. For fairness, we use Horus with the same number of
training locations as other baselines—12 for library and 9 for retail store.
The inter-state distance is $3.5m$ for library and $1.85m$ for retail store.

  * •

Bayesian RSSI [30] uses a generative model based on RSSI to determine
location. We set the priors and parameter values following recommendations in
[30].

  * •

Bayesian RSSI Fingerprinting (or Bayesian FP) [8] is a Bayesian Fusion
technique applied to a fingerprinting based method for BLE devices. It stores
fingerprints like Horus, but employs fusion technique to combine current RSSI
and prior location information.

  * •

MCL [18] is a range-free localization technique and uses proximity rather than
ranging information to localize nodes. It observes whether a packet was
received from a device and infers whether the reception location is inside or
outside a threshold distance from the beacon.

To ensure fair comparison, we use the same training data across all
techniques. Furthermore, for RSSI based techniques, we use mean RSSI values
over all packets used by the PRP technique. That is, if PRP uses $k$ packets
at a location, we use the mean RSSI value over the same $k$ packets. This
removes inter-packet RSSI variance at the same location, improving RSSI
localization. RSSI results are significantly worse without averaging.

There is more recent work in CSI-based positioning [24, 53, 47], but CSI data
is not available on most commercial smartphones. Hence, we do not cover these
baselines. For reference, the state-of-the-art CSI-based method achieves a
median localization error of 86 cm[2]. However, this work requires CSI data on
phones and multi-antenna beacons, both of which are not mainstream yet, and
hence, cannot be deployed at scale for applications like contact tracing.

###  6.3 Data Collection

We collected data for both layouts in two phases—training and localization. We
collected data at stationary spots to train B-PRP and competing baselines. We
marked some fixed places for each layout and stood there for 1 minute to
receive data from the beacons. We used 12 such spots for the library layout
and 9 locations for the retail store layout.

We collected data in both test-beds to compare the accuracy of localization
and contact tracing techniques. To track and test on data from a moving
person, we asked users to naturally move inside the layout with the laptop and
sniffer in hand. We used fixed movement paths and marked spots along the path.
Each path or trace is a simulated movement carried out in real time between
such marked spots. We stop at each marked place for $10$ seconds, and we move
at a normal walking speed of $0.5m/sec$ between the spots. We can now
calculate the ground truth location at any time within the movement trace.
Please note that we evaluate our location estimates throughout the movement
trajectory. They are not restricted to the marked fixed spots.

##  7 Micro Benchmark

Figure 6:  Microbenchmarks: (left) PRP vs RSSI are not directly related, but
follow an expected trend. (middle) PRP variation is similar across two
different android devices—Nexus5X and NuuA4L. (right) PRP is robust to ambient
WiFi interference.

We present microbenchmarks to better understand PRP:

Relationship to RSSI: First we ask how PRP varies with RSSI and if packet
reception is directly dependent on RSSI. We plot this relationship in Figure
6. As seen in the figure, there is an expected trend between the two
parameters, but there is also significant variance for each value of PRP. This
implies that the relationship between packet reception and RSSI is not
determined by a hard threshold, but is instead more probabilistic. The
probability of packet reception goes down with RSSI but several other factors
including random noise come into play.

Translation across devices: Does the relationship of PRP with distance depend
on a device? To answer, we collect PRP values at the same location with two
android smartphones: Nexus5X and NuuA4L. As shown in Figure 6, we see very
close trends in PRP vs distance with minor variations555The experiments were
conducted on different days for each smartphone.

Robustness to interference: Does interference from other in-band transmissions
like WiFi hurt PRP? To understand this, we conduct the following experiment.
We setup a WiFi router on 2.4GHz WiFi band and use two laptops to saturate the
link using the iperf utility[21]. We measure the PRP-distance relationship
with WiFi interference turned on and off. We see negligible variation in the
relationship between PRP and distance ( Figure 6(right)). This is because the
three advertising channels of BLE fall between or outside the main frequencies
used for IEEE 802.11, allowing for better coexistence with WiFi.

Does interference from many co-located beacons hurt PRP? BLE beacons send out
short advertising messages in passive mode containing a payload of at most 31
bytes. As pointed out in [13], the small size of the advertising messages
helps in avoiding any significant collisions of upto 200 or more co-located
devices. Similarly, the co-location of many receivers or scanning devices will
not impact PRP. In our set-up, the receiver receives the advertising message
in a passive scanning mode, and does not respond in any way. As a result, many
scanning devices do not lead to any interference.

##  8 Results

We compare the localization performance of baselines against B-PRP in Section
8.1. For these results, we assume that all beacon and reception locations are
known (for all methods). In Section 8.2, we evaluate the robustness to the
number and placement of beacons. In Section 8.3, we evaluate the contact
tracing performance of the PRP against RSSI. In Section 8.4 and Section 8.5,
we list the results for B-PRP when we reduce the beacon set-up costs and the
number of labelled training locations. In summary:

  * •

Median error for B-PRP is $1.03m$ and $1.45m$ in library and retail store. The
corresponding errors for the best baseline, Bayesian RSSI are $1.3m$ and
$2.05m$.

  * •

Median error for contact tracing distance estimation with PRP is $0.97m$ and
$1.22m$ in library and retail store. The corresponding errors with RSSI are
$1.69m$ and $1.25m$.

  * •

B-PRP is more robust than RSSI to decreasing number of beacons. With $5$
beacons, B-PRP performance is $65\%$ better in the library and $50\%$ better
in the retail store.

  * •

B-PRP performs better than Bayesian RSSI when we use only Non Line-of-
Sight(NLOS) or far away beacons. With beacons placed greater than $6m$
distance, B-PRP gives error of $1.53m$ and $2.07m$ in LOS and NLOS. RSSI
errors are $3.85m$ and $5.15m$.

  * •

B-PRP can reduce set-up cost by learning most beacon locations. Given data
from 12 training locations, B-PRP needs to know exact location of only $6$
beacons and it can infer the remaining $54$ beacon locations while giving an
accuracy of $1.05m$.

  * •

B-PRP can reduce retraining efforts by leveraging data from unknown locations.
Having data from 12 known locations vs (6 known + 6 unknown) locations gives
the same accuracy level. We can improve accuracy $\sim 40\%$ by adding data
from unlabeled spots.

###  8.1 Localization Accuracy Evaluation

Environment | B-PRP | B-PRP + RSSI | Bayesian RSSI [30] | Horus [57] | Bayesian FP [8] | MCL [18]
---|---|---|---|---|---|---
Library | 1.03m | 0.91m $(\downarrow 11.6\%)$ | 1.3m $(\uparrow 26.2\%)$ | 1.83m $(\uparrow 77.6\%)$ | 1.93m $(\uparrow 87.4\%)$ | 2.26m $(\uparrow 119\%)$
Retail Store | 1.45m | 1.46m $(\uparrow 0.6\%)$ | 2.05m$(\uparrow 41.4\%)$ | 1.85m$(\uparrow 27.6\%)$ | 1.95m$(\uparrow 34.5\%)$ | 2.93m $(\uparrow 102\%)$
Table I: Median error (in $m$) of B-PRP and baselines: B-PRP perfoms best in
both environments followed by Bayesian-RSSI in the library and Horus in retail
store. Fusion of B-PRP and RSSI performs slightly better in the ideal library
environment with many beacons at close distance. Horus and Bayesian FP
underperform as they require more training states for better accuracy. All
methods perfom worst in the harsh retail environment.  Figure 7:  CDF error
distribution for Bayesian PRP and baselines in library and retail store. For
RSSI techniques, we have averaged RSSI value across the same number of packets
that was used by PRP technique.

We compare the accuracy of B-PRP against baselines. We use Euclidean distance
to measure the error between actual and estimated locations for each time
window. We show cumulative distribution over errors in Figure 7 and median
error in Table I.

First, observe that B-PRP achieves a median error of $1.03m$ and $1.45m$ in
the library and retail store. The next best method, Bayesian RSSI, achieves
errors of $1.3m$ and $2.05m$. The errors for all methods are higher for the
retail store which has more human traffic than the library. B-PRP can
outperform baselines due to two reasons: (a) B-PRP can extract information
even from lost packets, and (b) It incorporates a new multipath-model that can
work in the presence of obstacles. The stack model helps to increase the
median accuracy of B-PRP from $1.41m$ to $1.03m$ in the library and from
$1.6m$ to $1.45m$ in the retail store. B-PRP performs much better than RSSI
with non-line-of-sight (NLoS) beacons. The median error for RSSI is $2.34m$
with NLoS beacons in the library compared to $1.63m$ with B-PRP.

Figure 8: Variation in median error for B-PRP with beacon number. The error is
within $2m$ for all cases. With $5$ beacons, B-PRP performance is better than
Bayesian RSSI: $65\%$ (library) and $50\%$ (retail store).

B-PRP+RSSI:  One might wonder if B-PRP can be augmented with RSSI to achieve
even better performance. We augment B-PRP with RSSI to test this hypothesis.
As shown in Figure 7, the method works approximately similar to B-PRP. As we
demonstrate in the next subsection, this is because at smaller distances, RSSI
experiences little packet loss and helps our model make better inference.
However, at large distances, RSSI experiences larger sampling bias and
consequentially, just acts as noise, thereby hurting the model.

###  8.2 Beacon Number and Placement

We evaluate the robustness of B-PRP against the best performing
baseline—Bayesian-RSSI to two factors—the number of beacons and the placement
of beacons.

Beacon Number: We evaluated the accuracy with fewer number of beacons (lower
bound is set to three beacons – the minimum required to localize). Lower
number of beacons will reduce the localization infrastructure cost In Figure
8, we see B-PRP performance degrades slowly than Bayesian-RSSI to decreasing
beacon density. The median error of localization for B-PRP is always within
$2m$. For Bayesian-RSSI, with lower beacons, the error is as high as $3m$.
With $5$ beacons, B-PRP performance is $65\%$ better than Bayesian-RSSI in the
library and $50\%$ better in the retail store. Also, note that just with $5$
beacons, B-PRP performs better or equal to Bayesian-RSSI with upto $60$
beacons. This, yet again, demonstrates that the errors in RSSI-based
positioning cannot be solved by just additional deployments, but are
fundamental (sampling bias and multipath).

Line-Of-Sight Condition | distance $<2m$ |  |  $2m<$ distance $<6m$ |  | distance $>6m$
---|---|---|---|---|---
B-PRP | RSSI | B-PRP + RSSI |  | B-PRP | RSSI | B-PRP +RSSI |  | B-PRP | RSSI | B-PRP +RSSI
LOS | 0.89m | 0.5m | 0.5m |  | 0.63m | 3.57m | 0.62m |  | 1.53m | 3.85m | 1.56m
Non-LOS | 0.85m | 1.05m | 0.57m |  | 5m | 5.95m | 5.62m |  | 2.07m | 5.15m | 2.7m
Table II:  Robustness To Beacon Placement: Recall, our median error using all
beacons is $1.03m$. With only beacons that are closer than $2m$ to the
receiver, both PRP and RSSI errors are low. Fusion of PRP and RSSI gives even
lower errors of $0.5m$. In this range, RSSI values have less variance and more
distance information. With beacons further than $2m$, RSSI variances increase
which cause fusion results to be worse.

Beacon Placement: How does the placement of a beacon with respect to the
receiver impact the localization accuracy by B-PRP and RSSI? If we use only
beacons that are closer than $2m$ to the reception location, both PRP and RSSI
errors are good (c.f. Table II). RSSI performs slightly better in Line-of-
Sight scenario due to the less variance in RSSI values and more distance
information at very close range. Fusion of B-PRP and RSSI also yields lower
errors. When beacon distances become greater than $2m$, RSSI errors
dramatically increase due to variance in RSSI values caused by multi-path and
sampling bias. In comparison, PRP errors are much lower in order of $1.53m$
and $2.07m$ when beacons are more than $6m$ away from the receiver. Errors in
RSSI also cause fusion results to be worse. Error for all approaches is high
when we use only beacons, all of which are in a Non Line-of-Sight(NLOS)
scenario and are at a distance between $2m$ and $6m$ from the receiver. This
experiment highlights the importance of PRP. As RSSI estimates suffer from
higher sampling bias with increasing distance, the underlying location
information gets corrupted. This is why at larger distances, both Bayesian
RSSI and B-PRP+RSSI do worse.

###  8.3 Evaluating Contact Tracing Distance Estimates

Figure 9:  CDF error distribution of contact tracing distance for PRP, RSSI
and PRP+RSSI in library and retail store. PRP and PRP+RSSI gives the best
median error in both environments.

We compare the accuracy of PRP against RSSI and PRP+RSSI in contact tracing
distance estimation. We measure the absolute error between actual and
estimated distances for each pair of person or receivers. We show cumulative
distribution over errors in Figure 9.

PRP achieves a median distance error of $0.97m$ and $1.22m$ in the library and
retail store. RSSI achieves distance errors of $1.69m$ and $1.25m$. PRP+RSSI
performs the best with median distance errors of $0.91m$ and $1.15m$.

###  8.4 Minimizing beacon set-up cost

$N_{R}$ | $b=60$ | $b=6$ | $b=3$ | $b=1$
---|---|---|---|---
12 | 1.03 | 1.05 | 1.24 | 1.38
8 | 1.05 | 1.22 | 1.82 | 2.15
4 | 1.05 | 2.88 | 3.74 | 3.48
Table III: B-PRP’s median localization error (in $m$) with varying number of
known beacon locations $b$, and number of training locations $N_{R}$ . Error
increases as we decrease $b$ (each row) and decrease $N_{R}$ (each column).
For $N_{R}=12$, performance is almost same as with $b=60$ and $b=6$.
Decreasing $N_{R}$ impacts accuracy more than does $b$.

So far, we have used location information of all $B$ beacons. Now, we will use
the location information for only $b\ll B$ beacons. $B$ is total number of
beacons and $b$ is the number of beacons with known location information. We
use data to estimate $B-b$ unknown beacon locations. We then use these
estimated values to track a receiver.

We vary the number of known beacon locations $b=\\{1,3,6,60\\}$. $b=60$
corresponds to when we know all beacon locations. We also vary the value of
$N_{R}$ i.e. the total number of training locations. Ideally, we would like to
have less known beacons $b$ and less training locations $N_{R}$. We show the
results in Table III.

We highlight three observations. First, when ($N_{R}=\\{12,8\\})$ there is
negligible difference in the CDF of the tracking errors between the cases of
$b=60$ and $b=6$. Second, for any value of $N_{R}$, the errors increase when
we decrease $b$, with the effects most pronounced for $N_{R}=4$. Finally, the
figures suggest that the effect of unknown beacon locations is less
significant than the effect of the number of training locations. B-PRP can
give the same level of performance with as low as $b=3$ primary beacons when
the number of training locations $N_{R}$ is high. If we reduce $N_{R}$ to 8,
we need at least $b=6$ known beacons.

These results highlight that B-PRP can be deployed for public spaces with
little overhead. A retail store operator can just place beacons at random
locations, and move around with a smartphone to some known locations. B-PRP
can infer the beacon location on its own (for most beacons) and still achieve
competitive performance.

Figure 10:  Reducing retraining efforts: CDF for comparing errors of B-PRP
when we train using data from some known and mostly unknown locations. If we
have data from 12 known locations vs (6 known + 6 unknown) locations, we get
the same accuracy level. In the right two subfigures, we show that we improved
accuracy $\sim 40\%$ by adding data from unknown spots rather than only using
data from known spots.

###  8.5 Reducing training efforts

Till now, we have used the location information of all training spots $N_{R}$
while training. Now, let’s use the information for only $r<N_{R}$ training
spots and estimate the remaining $N_{R}-r$ locations using our framework.

We change the value of known training locations $r=\\{12,8,6,4,2,0\\}$, with
$N_{R}=12$. Figure 10 shows the results. In the leftmost sub-figure, we see
that as $r$ decreases, error increases; but notice that we can cut the known
locations in half, from $r=12$ to $r=6$, without appreciable increase in
error. This means that we can collect data from 12 spots but need to annotate
only half of those and B-PRP can still maintain the same accuracy level. One
might wonder, do we really gain any performance improvement by adding data
from unknown locations? Figure 10 (two right sub-figures) validate that
conjecture. Suppose, our training dataset contains data from $12$ training
locations in total. Now, $8$ of those are labeled with location information
while $4$ are unlabeled. If we train PRP parameters using only $8$ labeled
data locations, our median error from the trained model is $1.82m$. In
contrast, if we use the entire dataset and treat the location of the $4$
unlabeled data points as random variables in our framework, we improve the
median error to $1.08m$. Similarly, if we have $4$ labeled and $8$ unlabeled
locations, by using all the locations our errors improve from $3.8m$ to
$2.4m$. Thus, data from un-labled locations are valuable for training PRP
parameters. This further eases the deployment cost by allowing operators to
collect fewer labelled data points.

##  9 Discussion and Limitations

A few points are worth noting:

Applicability to general indoor environments:  We design B-PRP with a focus on
public indoor environments like retail stores that have stacked layouts. This
layout is applicable to multiple spaces like libraries, warehouses,
pharmacies, etc. and covers an important application area. While the current
multipath-resilience model of B-PRP does not directly apply to other
environments like homes, we believe PRP itself is applicable to such
environments and provides the unique advantage of robustness at large
distances. Furthermore, in such environments, obstacles like walls can be
modelled using the approach followed in B-PRP.

Access to Layouts: We design the layout requirement for B-PRP to be low-
effort. The layout and stacks can simply be extracted from the floorplan of
the store, either manually or through an app. This makes the deployment effort
low. Furthermore, B-PRP can apply to store layouts with more stacks than the
ones used in this paper. We may encounter geometric elements like three stacks
away ($3-S$), four stacks away ($4-S$) etc. We do not necessarily need a
separate PRP function for each of these elements. Since PRP becomes very low
after certain number of stacks, we can club these spaces into one geometric
element and learn a single model.

Computational complexity: Bayesian MCMC techniques may take more time to infer
location. We ran our computations in python on a MacBook Pro laptop with
$2.5GHz$ Intel Core i7 processor and $16GB$ RAM. With $60$ beacons, it took us
$\sim 3$ seconds to find the next location, within our time resolution
($\delta=10$s) for localization. We can further speed-up by using native code
and parallelizing the inference.

Scalability to the number of packets: One limitation of B-PRP is that it needs
more than one packet to localize. We can reduce the number of packets used for
localization by changing the advertising frequency. We observe in our
experiments that as we lower the sending rate from $10Hz$ to $1Hz$, while
keeping the localization rate to once per 10 seconds, the median error
increases by just $0.2m$.

##  10 Related Work

We can classify localization art on different factors— communication signal
used for localization, models to relate distance and signal properties. Most
works use signals exchanged with anchor nodes(known location) to infer
location of target. Anchor nodes can be —WiFi access points [3], Bluetooth
beacons [60, 52, 32], FM radios [9], Zigbee devices[27], ultra-wide band(UWB)
devices [12], RFID tags [49, 56, 23, 22], ultra-sound emitters [19], light
emitters [28, 26, 59, 61],60GHz devices [34, 5], sub-centimeter sized devices
[33]. In contrast, we use BLE beacons which offer advantages over the others.
WiFi access points and cameras require continuous power and are more expensive
than BLE beacons, which run on long-lasting batteries (lasting $3$ to $5$
years). A store can deploy hundreds of BLE beacons at a lower cost than WiFi
access points or video cameras. We can scale BLE-based systems through past
work in opportunistic listening that ensures better channel sharing [13].
WiFi, while widely available in public spaces such as malls and coffee shops,
are often absent in large indoor retail stores (e.g., Walmart), in part
because the presence of WiFi allows individuals in the store to comparison
shop, putting the physical store at a competitive disadvantage. While [12]
shows the promise of low-cost UWB sensing, the solution requires the
widespread adoption of UWB tags to track objects. With BLE, we can track
consumers via their Bluetooth enabled smartphones.

The localization techniques use different signal property — RSS or received
signal strength[3, 10, 55], CSI or channel state information [45, 50], AoA or
angle of arrival [54, 53, 25] , ToF or time-of-flight [31, 42, 41]. AoA, ToF
and CSI systems require hardware level changes on the receiver side and thus
cannot be used by a retail store with customers who use commodity smartphones.
Range free techniques use less accurate proximity information [18, 38, 15]. We
use a new property—packet reception probability which is light weight and can
be easily deployed on commercial smartphones.

Received Signal Strength (RSSI) systems are broadly of two types—model-based
and fingerprint-based. Model-based techniques [30, 10, 4] represent RSSI loss
between anchor and target as a function of distance. Fingerprint-based
techniques [3], [57] build a map of probable RSS values from anchor nodes at
sampled locations. Here we use a more robust property and design an easy-to-
configure framework.

In this paper, we study tracking for public spaces like retail stores which
have attracted attention due to proximity marketing [35]. [36, 37] look at the
problem of inferring item interaction in stores using wearable sensors. iBILL
[52] jointly uses iBeacon RSSI model and inertial sensors to localize in
supermarkets with $90\%$ error less than $3.5m$. Tagbooth [29] , ShopMiner
[43] tracks customer interaction with commodities using RFID tags in retail
stores. The closest approach to our work is [11] which counts packets to
estimate distance. But here, we estimate using packet reception probability
(PRP). We show PRP as a robust estimator of distance, and propose a Bayesian
framework to estimate distance using PRP.

##  11 Conclusion

This paper establishes the feasibility of using Bluetooth Low-Energy (BLE) to
provide a robust, scalable indoor localization solution using commodity
hardware. Demonstrating the feasibility of BLE based distance estimation
technique is particularly important during the current pandemic, where BLE has
emerged as key technology for contact-tracing. BLE-based distance estimation
today relies on either RSSI or just presence, both of which have publicly
documented failure modes. We analyze the fundamental underpinnings of these
failure modes and demonstrate robust localization through the Bayesian
formulation of a new metric—Packet Reception Probability–that exploits the
absence of received packets. We show significant improvements over the state
of the art RSSI methods in two typical public spaces—a retail store and a
library. We show that fusing B-PRP with RSSI is beneficial at short distances
($\leq 2\text{\,}\mathrm{m}$). Beyond $\geq 2\text{\,}\mathrm{m}$, fusion is
worse than B-PRP, as RSSI based estimates beyond $\geq 2\text{\,}\mathrm{m}$
are effectively de-correlated with distance. Our solution does not require any
hardware, firmware, or driver-level changes to off-the-shelf devices, and
involves minimal deployment and re-training costs. We have developed a
triangle inequality based joint likelihood framework that directly estimates
contact tracing distance between two individuals rather than estimating their
locations first, which gives us 10% performance improvement. While our
solution is the first step toward robust, reliable indoor contact tracing, we
are extending our framework for peer-to-peer distance estimations without
beacons (i.e. using only smartphones) for outdoor settings.

## References

  * [1] “altbeacon”, https://github.com/AltBeacon/android-beacon-library-reference, 2014
  * [2] Roshan Ayyalasomayajula, Deepak Vasisht and Dinesh Bharadia  “BLoc: CSI-based Accurate Localization for BLE Tags.”  In _ACM CoNEXT_ , 2018
  * [3] Paramvir Bahl and Venkata N Padmanabhan  “RADAR: An in-building RF-based user location and tracking system”  In _INFOCOM 2000_ 2, 2000, pp. 775–784  Ieee
  * [4] Nilanjan Banerjee, Sharad Agarwal, Paramvir Bahl, Ranveer Chandra, Alec Wolman and Mark Corner  “Virtual compass: relative positioning to sense mobile social interactions”  In _International Conference on Pervasive Computing_ , 2010  Springer
  * [5] Guillermo Bielsa, Joan Palacios, Adrian Loch, Daniel Steinmetzer, Paolo Casari and Joerg Widmer  “Indoor Localization Using Commercial Off-The-Shelf 60 GHz Access Points”  In _2018 IEEE Conference on Computer Communications, INFOCOM 2018, Honolulu, HI, USA, April 16-19, 2018_ , 2018, pp. 2384–2392  DOI: 10.1109/INFOCOM.2018.8486232
  * [6] “BluFi,Bluetooth to WiFi Gateway”, http://bluvision.com/blufi/, 2014
  * [7] Dongyao Chen, Kang G Shin, Yurong Jiang and Kyu-Han Kim  “Locating and tracking ble beacons with smartphones”  In _Proceedings of the 13th International Conference on emerging Networking EXperiments and Technologies_ , 2017
  * [8] Liang Chen, Ling Pei, Heidi Kuusniemi, Yuwei Chen, Tuomo Kröger and Ruizhi Chen  “Bayesian fusion for indoor positioning using bluetooth fingerprints”  In _Wireless personal communications_ 70.4 Springer, 2013, pp. 1735–1745
  * [9] Y Chen, Ds Lymberopoulos, Jie Liu and B Priyantha  “Fm-based indoor localization”  In _MobiSys_ , 2012  ACM
  * [10] K Chintalapudi, A Iyer and V Padmanabhan  “Indoor localization without the pain”  In _MobiCom_ , 2010
  * [11] Subham De, Shreyans Chowdhary, Aniket Shirke, Yat Long Lo, Robin Kravets and Hari Sundaram  “Finding by counting: a probabilistic packet count model for indoor localization in BLE environments”  In _Proceedings of the 11th Workshop on Wireless Network Testbeds, Experimental evaluation & CHaracterization_, 2017, pp. 67–74  ACM
  * [12] Bernhard Großwindhager, Michael Rath, Josef Kulmer, Mustafa S Bakr, Carlo Alberto Boano, Klaus Witrisal and Kay Römer  “SALMA: UWB-based Single-Anchor Localization System using Multipath Assistance”  In _Proceedings of the 16th ACM Conference on Embedded Networked Sensor Systems_ , 2018  ACM
  * [13] A.. Harris III, V. Khanna, G. Tuncay, R. Want and R. Kravets  “Bluetooth Low Energy in Dense IoT Environments”  In _IEEE Communications Magazine_ 54.12, 2016
  * [14] Suining He and S-H Gary Chan  “Wi-Fi fingerprint-based indoor positioning: Recent advances and comparisons”  In _IEEE Communications Surveys & Tutorials_ 18.1, 2016, pp. 466–490
  * [15] Tian He, Chengdu Huang, Brian M Blum, John A Stankovic and Tarek Abdelzaher  “Range-free localization schemes for large scale sensor networks”  In _Proceedings of the 9th annual international conference on Mobile computing and networking_ , 2003, pp. 81–95  ACM
  * [16] Karel Heurtefeux and Fabrice Valois  “Is RSSI a good choice for localization in wireless sensor network?”  In _AINA, 2012 IEEE 26th International Conference on_ , 2012  IEEE
  * [17] Matthew D Hoffman and Andrew Gelman  “The No-U-Turn sampler: adaptively setting path lengths in Hamiltonian Monte Carlo.”  In _Journal of Machine Learning Research_ 15.1, 2014
  * [18] Lingxuan Hu and David Evans  “Localization for mobile sensor networks”  In _Proceedings of the 10th annual international conference on Mobile computing and networking_ , 2004
  * [19] Wenchao Huang, Yan Xiong, Xiang-Yang Li, Hao Lin, Xufei Mao, Panlong Yang and Yunhao Liu  “Shake and walk: Acoustic direction finding and fine-grained indoor localization using smartphones”  In _INFOCOM, 2014 Proceedings IEEE_ , 2014, pp. 370–378  IEEE
  * [20] “iBeek”, http://bluvision.com/ibeek-5/, 2015
  * [21] “iperf”, https://iperf.fr, 2003
  * [22] Chengkun Jiang, Yuan He, Songzhen Yang, Junchen Guo and Yunhao Liu  “3D-OmniTrack: 3D tracking with COTS RFID systems”  In _Proceedings of the 18th International Conference on Information Processing in Sensor Networks, IPSN 2019, Montreal, QC, Canada, April 16-18, 2019_ , 2019, pp. 25–36  DOI: 10.1145/3302506.3310386
  * [23] Chengkun Jiang, Yuan He, Xiaolong Zheng and Yunhao Liu  “Orientation-aware RFID tracking with centimeter-level accuracy”  In _Proceedings of the 17th ACM/IEEE International Conference on Information Processing in Sensor Networks_ , 2018, pp. 290–301  IEEE Press
  * [24] Manikanta Kotaru, Kiran Joshi, Dinesh Bharadia and Sachin Katti  “Spotfi: Decimeter level localization using wifi”  In _ACM SIGCOMM Computer Communication Review_ 45.4, 2015, pp. 269–282  ACM
  * [25] Swarun Kumar, Stephanie Gil, Dina Katabi and Daniela Rus  “Accurate indoor localization with zero start-up cost”  In _Proceedings of the 20th annual international conference on Mobile computing and networking_ , 2014, pp. 483–494  ACM
  * [26] Ye-Sheng Kuo, Pat Pannuto, Ko-Jen Hsiao and Prabal Dutta  “Luxapose: Indoor positioning with mobile phones and visible light”  In _MobiCom_ , 2014, pp. 447–458  ACM
  * [27] Seng-Yong Lau, Tsung-Han Lin, Te-Yuan Huang, I-Hei Ng and Polly Huang  “A measurement study of zigbee-based indoor localization systems under rf interference”  In _Proceedings of the 4th ACM international workshop on Experimental evaluation and characterization_ , 2009  ACM
  * [28] S Liu and T He  “SmartLight: Light-weight 3D Indoor Localization Using a Single LED Lamp”  In _SenSys_ , 2017
  * [29] Tianci Liu, Lei Yang, Xiang-Yang Li, Huaiyi Huang and Yunhao Liu  “Tagbooth: Deep shopping data acquisition powered by rfid tags”  In _Computer Communications (INFOCOM), 2015 IEEE Conference on_ , 2015, pp. 1670–1678  IEEE
  * [30] David Madigan, E Einahrawy, Richard P Martin, W-H Ju, Parameshwaran Krishnan and AS Krishnakumar  “Bayesian indoor positioning systems”  In _INFOCOM 2005_ 2, 2005, pp. 1217–1227  IEEE
  * [31] Alex T Mariakakis, Souvik Sen, Jeongkeun Lee and Kyu-Han Kim  “Sail: Single access point-based indoor localization”  In _MobiSys_ , 2014, pp. 315–328  ACM
  * [32] Alessandro Montanari, Sarfraz Nawaz, Cecilia Mascolo and Kerstin Sailer  “A Study of Bluetooth Low Energy performance for human proximity detection in the workplace”  In _Pervasive Computing and Communications (PerCom), 2017 IEEE International Conference on_ , 2017, pp. 90–99  IEEE
  * [33] Rajalakshmi Nandakumar, Vikram Iyer and Shyamnath Gollakota  “3D Localization for Sub-Centimeter Sized Devices”  In _Proceedings of the 16th ACM Conference on Embedded Networked Sensor Systems, SenSys 2018, Shenzhen, China, November 4-7, 2018_ , 2018, pp. 108–119  DOI: 10.1145/3274783.3274851
  * [34] Joan Palacios, Guillermo Bielsa, Paolo Casari and Joerg Widmer  “Single- and Multiple-Access Point Indoor Localization for Millimeter-Wave Networks”  In _IEEE Trans. Wireless Communications_ 18.3, 2019, pp. 1927–1942  DOI: 10.1109/TWC.2019.2899313
  * [35] “Proximity Marketing in Retail”, https://www.proximity.directory/reports/, 2017
  * [36] Meera Radhakrishnan, Sharanya Eswaran, Archan Misra, Deepthi Chander and Koustuv Dasgupta  “Iris: Tapping wearable sensing to capture in-store retail insights on shoppers”  IEEE, 2016
  * [37] Meera Radhakrishnan, Sougata Sen, Vigneshwaran Subbaraju, Archan Misra and Rajesh Balan  “IoT+ Small Data: Transforming In-Store Shopping Analytics and Services”  IEEE, 2016
  * [38] Masoomeh Rudafshani and Suprakash Datta  “Localization in wireless sensor networks”  In _IPSN 2007. 6th International Symposium on_ , 2007, pp. 51–60  IEEE
  * [39] John Salvatier, Thomas V Wiecki and Christopher Fonnesbeck  “Probabilistic programming in Python using PyMC3”  In _PeerJ Computer Science_ 2 PeerJ Inc., 2016, pp. e55
  * [40] Matthias Schulz, Jakob Link, Francesco Gringoli and Matthias Hollick  “Shadow Wi-Fi: Teaching smartphones to transmit raw signals and to extract channel state information to implement practical covert channels over Wi-Fi”  In _Proceedings of the 16th Annual International Conference on Mobile Systems, Applications, and Services_ , 2018, pp. 256–268
  * [41] S Sen, D Kim, S Laroche, Kyu-Han Kim and J Lee  “Bringing CUPID indoor positioning system to practice”  In _WWW_ , 2015, pp. 938–948  International World Wide Web Conferences Steering Committee
  * [42] Souvik Sen, Jeongkeun Lee, Kyu-Han Kim and Paul Congdon  “Avoiding multipath to revive inbuilding WiFi localization”  In _Proceeding of the 11th annual international conference on Mobile systems, applications, and services_ , 2013, pp. 249–262  ACM
  * [43] Longfei Shangguan, Zimu Zhou, Xiaolong Zheng, Lei Yang, Yunhao Liu and Jinsong Han  “ShopMiner: Mining customer shopping behavior in physical clothing stores with COTS RFID devices”  In _Proceedings of the 13th ACM conference on embedded networked sensor systems_ , 2015, pp. 113–125  ACM
  * [44] Xiaohua Tian, Mei Wang, Wenxin Li, Binyao Jiang, Dong Xu, Xinbing Wang and Jun Xu  “Improve accuracy of fingerprinting localization with temporal correlation of the RSS”  In _IEEE Transactions on Mobile Computing_ 17.1 IEEE, 2018, pp. 113–126
  * [45] Xiaohua Tian, Sujie Zhu, Sijie Xiong, Binyao Jiang, Yucheng Yang and Xinbing Wang  “Performance Analysis of Wi-Fi Indoor Localization with Channel State Information”  In _IEEE Transactions on Mobile Computing_ IEEE, 2018
  * [46] Neeltje Van Doremalen et al.  “Aerosol and surface stability of SARS-CoV-2 as compared with SARS-CoV-1”  In _New England Journal of Medicine_ 382.16 Mass Medical Soc, 2020, pp. 1564–1567
  * [47] Deepak Vasisht, Anubhav Jain, Chen-Yu Hsu, Zachary Kabelac and Dina Katabi  “Duet: Estimating User Position and Identity in Smart Homes Using Intermittent and Incomplete RF-Data”  In _Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies_ 2.2 ACM, 2018, pp. 84
  * [48] Deepak Vasisht, Swarun Kumar and Dina Katabi  “Decimeter-Level Localization with a Single WiFi Access Point.”  In _NSDI_ 16, 2016, pp. 165–178
  * [49] Jue Wang and Dina Katabi  “Dude, where’s my card?: RFID positioning that works with multipath and non-line of sight”  In _ACM SIGCOMM Computer Communication Review_ 43.4, 2013, pp. 51–62  ACM
  * [50] Yan Wang, Jian Liu, Yingying Chen, Marco Gruteser, Jie Yang and Hongbo Liu  “E-eyes: device-free location-oriented activity identification using fine-grained wifi signatures”  In _Proceedings of the 20th annual international conference on Mobile computing and networking_ , 2014, pp. 617–628  ACM
  * [51] Yutian Wen, Xiaohua Tian, Xinbing Wang and Songwu Lu  “Fundamental limits of RSS fingerprinting based indoor localization”  In _Computer Communications (INFOCOM), 2015 IEEE Conference on_ , 2015, pp. 2479–2487  IEEE
  * [52] Xudong Wu, Ruofei Shen, Luoyi Fu, Xiaohua Tian, Peng Liu and Xinbing Wang  “iBILL: Using iBeacon and inertial sensors for accurate indoor localization in large open areas”  In _IEEE Access_ 5 IEEE, 2017
  * [53] Jie Xiong and Kyle Jamieson  “Arraytrack: a fine-grained indoor location system”, 2013  Usenix
  * [54] Jie Xiong and Kyle Jamieson  “SecureAngle: improving wireless security using angle-of-arrival information”  In _Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks_ , 2010, pp. 11  ACM
  * [55] Jie Yang and Yingying Chen  “Indoor localization using improved RSS-based lateration methods”  In _GLOBECOM 2009-2009 IEEE Global Telecommunications Conference_ , 2009, pp. 1–6  IEEE
  * [56] Lei Yang, Jiannong Cao, Weiping Zhu and Shaojie Tang  “Accurate and efficient object tracking based on passive RFID”  In _IEEE Transactions on Mobile Computing_ 14.11 IEEE, 2015, pp. 2188–2200
  * [57] M Youssef and A Agrawala  “The Horus WLAN location determination system”  In _MobiSys_ , 2005  ACM
  * [58] Andrea Zanella  “Best practice in rss measurements and ranging”  In _IEEE Communications Surveys & Tutorials_ 18.4, 2016, pp. 2662–2686
  * [59] Chi Zhang and Xinyu Zhang  “Pulsar: Towards ubiquitous visible light localization”  In _Proceedings of the 23rd Annual International Conference on Mobile Computing and Networking_ , 2017, pp. 208–221  ACM
  * [60] X Zhao, Z Xiao, A Markham, N Trigoni and Y Ren  “Does btle measure up against wifi? a comparison of indoor location performance”  In _European Wireless_ , 2014
  * [61] Shilin Zhu and Xinyu Zhang  “Enabling high-precision visible light localization in today’s buildings”  In _Proceedings of the 15th Annual International Conference on Mobile Systems, Applications, and Services_ , 2017, pp. 96–108  ACM