Signal Processing - September 2017 - 126

location technologies in a realistic, unfamiliar environment. This environment established a common baseline for
assessing the relative accuracy and overhead of the different
indoor location technologies. At the same time, it allowed
researchers working on indoor location to meet and interact
with each other and closely observe the competing solutions
in action.
The competition was aggressively advertised through
academia, industry research, and industry startup channels. To motivate participation, cash prizes were awarded to the top performing teams. Over the past four years
(2014-2017), we had the opportunity to closely observe
and evaluate more than 100 teams from various countries
across Europe, the United States, and Asia representing a
wide variety of technical approaches to the indoor location
challenge (Tables 1 and 2). The participating teams came
from academia, industry research, and smaller startups in
the indoor location field.

Indoor location technology fundamentals
In this section, we present a brief overview of the major classes of technologies used in indoor localization. The purpose is
to provide some fundamental technical background information that can be used to better understand what type of indoor
location systems were built by the different teams that participated in the competition.
At a high level, indoor location technologies can be classified into two categories based on their hardware requirements. On the one hand, there are all the systems that rely on
the capabilities of commercial off-the-shelf hardware. These
are software-only systems where location computation relies
on the radios (Wi-Fi, Bluetooth, FM, and so on) and sensors
(gyro, accelerometer, compass, and so forth) typically found
embedded in devices like phones and tablets.
On the other hand, there are hardware-based systems where
location computation relies on the deployment of custom hardware such as ultrawideband (UWB) and ultrasound. This type
of system operates in a very similar way to GPS. In the case
of GPS, a network of accurately time-synchronized satellites
orbits around Earth. Each satellite orbits on a predetermined
path, allowing us to know exactly where it is located at any
given time. Each satellite continuously transmits a unique signal that, when received by a GPS receiver, allows the receiver
to calculate its distance to the satellite. Given that the locations of the satellites are known at any given time, if the GPS
receiver can estimate its distance to at least four satellites, it
can calculate its location using techniques such as triangulation [1] and multilateration [38].
Because GPS signals are very weak indoors, researchers have proposed the deployment of custom hardware that,
in a way, aims to recreate an indoor satellite network. Each
installed custom hardware device acts as a virtual satellite. It
is deployed at a known ground truth location, and it can wirelessly communicate with any device that wants to be localized.
The purpose of this communication is to allow the unlocalized
device to estimate its distance to the virtual satellite. Given
126

distance estimates to at least three virtual satellites, the unlocalized device can use the same triangulation [1] and/or multilateration [38] techniques to estimate its position in the indoor
environment. Most of the techniques in this category focus on
how to engineer the transmitted wireless signals to enable the
most accurate possible distance estimation between a virtual
satellite and the unlocalized device.

Software-based approaches to indoor location
The most widely adopted approach in software-only indoor
localization is wireless fingerprinting [1]-[10]. Wireless fingerprinting leverages the available wireless transceivers (i.e., Wi-Fi,
Bluetooth, and so on) on devices like phones and tablets along
with already deployed networking infrastructure (i.e., Wi-Fi networks) to perform indoor localization. This approach requires an
offline training stage and an online positioning stage, as shown
in Figure 1. The training stage is responsible for collecting location-annotated wireless signal fingerprints that form the fingerprint database. To collect a Wi-Fi signal fingerprint, a mobile
device, such as a mobile phone or a tablet, simply scans all visible Wi-Fi access points and records the received signal strength
indicator (RSSI) or channel state information for each one of
them. The collection of access point IDs and their corresponding
RSSI values forms the wireless fingerprint. Each wireless fingerprint is annotated with the ground truth location where it was
recorded, usually through a tedious and time-consuming manual
surveying process of the indoor environment. In some cases,
ground truth location information can be automatically crowdsourced through user activity, such as business check-ins
(FigureĀ 1). At the end of this process, a database of wireless fingerprints associated to ground truth locations is generated. The
central concept behind this process is that the set of visible wireless access points varies across locations and therefore can be
used to differentiate locations indoors. In addition, the RSSI values for different access points vary across locations, helping to
further differentiate locations in the indoor environment.
In most cases, wireless fingerprints also include the fluctuations in the magnetic field as recorded by the compass sensor embedded in most phones and tablets today [21]. The main
idea is that the internal structure of buildings, especially that of
buildings with metallic skeletons, introduces noise in the magnetometer readings. This noise depends on where exactly in
the building the readings are taken and therefore carries location-discriminating information. As a result, most fingerprinting approaches will always reside on fingerprints that include
Wi-Fi and magnetic information.
At the online positioning stage, the mobile device that needs to
be localized records its wireless signal fingerprint and compares it
against the available fingerprints in the database. The location associated to the fingerprint in the database that is the closest to the
fingerprint recorded on the mobile device, in terms of a distance
metric, such as Euclidean distance, is assumed to be the current
location of the device. The most accurate implementations of
wireless fingerprinting reside on machine-learning techniques,
such as neural networks and Bayesian inferencing, instead of simple distance metrics to compare fingerprints. To enable accurate

IEEE SIGNAL PROCESSING MAGAZINE

|

September 2017

|



Table of Contents for the Digital Edition of Signal Processing - September 2017

Signal Processing - September 2017 - Cover1
Signal Processing - September 2017 - Cover2
Signal Processing - September 2017 - 1
Signal Processing - September 2017 - 2
Signal Processing - September 2017 - 3
Signal Processing - September 2017 - 4
Signal Processing - September 2017 - 5
Signal Processing - September 2017 - 6
Signal Processing - September 2017 - 7
Signal Processing - September 2017 - 8
Signal Processing - September 2017 - 9
Signal Processing - September 2017 - 10
Signal Processing - September 2017 - 11
Signal Processing - September 2017 - 12
Signal Processing - September 2017 - 13
Signal Processing - September 2017 - 14
Signal Processing - September 2017 - 15
Signal Processing - September 2017 - 16
Signal Processing - September 2017 - 17
Signal Processing - September 2017 - 18
Signal Processing - September 2017 - 19
Signal Processing - September 2017 - 20
Signal Processing - September 2017 - 21
Signal Processing - September 2017 - 22
Signal Processing - September 2017 - 23
Signal Processing - September 2017 - 24
Signal Processing - September 2017 - 25
Signal Processing - September 2017 - 26
Signal Processing - September 2017 - 27
Signal Processing - September 2017 - 28
Signal Processing - September 2017 - 29
Signal Processing - September 2017 - 30
Signal Processing - September 2017 - 31
Signal Processing - September 2017 - 32
Signal Processing - September 2017 - 33
Signal Processing - September 2017 - 34
Signal Processing - September 2017 - 35
Signal Processing - September 2017 - 36
Signal Processing - September 2017 - 37
Signal Processing - September 2017 - 38
Signal Processing - September 2017 - 39
Signal Processing - September 2017 - 40
Signal Processing - September 2017 - 41
Signal Processing - September 2017 - 42
Signal Processing - September 2017 - 43
Signal Processing - September 2017 - 44
Signal Processing - September 2017 - 45
Signal Processing - September 2017 - 46
Signal Processing - September 2017 - 47
Signal Processing - September 2017 - 48
Signal Processing - September 2017 - 49
Signal Processing - September 2017 - 50
Signal Processing - September 2017 - 51
Signal Processing - September 2017 - 52
Signal Processing - September 2017 - 53
Signal Processing - September 2017 - 54
Signal Processing - September 2017 - 55
Signal Processing - September 2017 - 56
Signal Processing - September 2017 - 57
Signal Processing - September 2017 - 58
Signal Processing - September 2017 - 59
Signal Processing - September 2017 - 60
Signal Processing - September 2017 - 61
Signal Processing - September 2017 - 62
Signal Processing - September 2017 - 63
Signal Processing - September 2017 - 64
Signal Processing - September 2017 - 65
Signal Processing - September 2017 - 66
Signal Processing - September 2017 - 67
Signal Processing - September 2017 - 68
Signal Processing - September 2017 - 69
Signal Processing - September 2017 - 70
Signal Processing - September 2017 - 71
Signal Processing - September 2017 - 72
Signal Processing - September 2017 - 73
Signal Processing - September 2017 - 74
Signal Processing - September 2017 - 75
Signal Processing - September 2017 - 76
Signal Processing - September 2017 - 77
Signal Processing - September 2017 - 78
Signal Processing - September 2017 - 79
Signal Processing - September 2017 - 80
Signal Processing - September 2017 - 81
Signal Processing - September 2017 - 82
Signal Processing - September 2017 - 83
Signal Processing - September 2017 - 84
Signal Processing - September 2017 - 85
Signal Processing - September 2017 - 86
Signal Processing - September 2017 - 87
Signal Processing - September 2017 - 88
Signal Processing - September 2017 - 89
Signal Processing - September 2017 - 90
Signal Processing - September 2017 - 91
Signal Processing - September 2017 - 92
Signal Processing - September 2017 - 93
Signal Processing - September 2017 - 94
Signal Processing - September 2017 - 95
Signal Processing - September 2017 - 96
Signal Processing - September 2017 - 97
Signal Processing - September 2017 - 98
Signal Processing - September 2017 - 99
Signal Processing - September 2017 - 100
Signal Processing - September 2017 - 101
Signal Processing - September 2017 - 102
Signal Processing - September 2017 - 103
Signal Processing - September 2017 - 104
Signal Processing - September 2017 - 105
Signal Processing - September 2017 - 106
Signal Processing - September 2017 - 107
Signal Processing - September 2017 - 108
Signal Processing - September 2017 - 109
Signal Processing - September 2017 - 110
Signal Processing - September 2017 - 111
Signal Processing - September 2017 - 112
Signal Processing - September 2017 - 113
Signal Processing - September 2017 - 114
Signal Processing - September 2017 - 115
Signal Processing - September 2017 - 116
Signal Processing - September 2017 - 117
Signal Processing - September 2017 - 118
Signal Processing - September 2017 - 119
Signal Processing - September 2017 - 120
Signal Processing - September 2017 - 121
Signal Processing - September 2017 - 122
Signal Processing - September 2017 - 123
Signal Processing - September 2017 - 124
Signal Processing - September 2017 - 125
Signal Processing - September 2017 - 126
Signal Processing - September 2017 - 127
Signal Processing - September 2017 - 128
Signal Processing - September 2017 - 129
Signal Processing - September 2017 - 130
Signal Processing - September 2017 - 131
Signal Processing - September 2017 - 132
Signal Processing - September 2017 - 133
Signal Processing - September 2017 - 134
Signal Processing - September 2017 - 135
Signal Processing - September 2017 - 136
Signal Processing - September 2017 - 137
Signal Processing - September 2017 - 138
Signal Processing - September 2017 - 139
Signal Processing - September 2017 - 140
Signal Processing - September 2017 - 141
Signal Processing - September 2017 - 142
Signal Processing - September 2017 - 143
Signal Processing - September 2017 - 144
Signal Processing - September 2017 - 145
Signal Processing - September 2017 - 146
Signal Processing - September 2017 - 147
Signal Processing - September 2017 - 148
Signal Processing - September 2017 - 149
Signal Processing - September 2017 - 150
Signal Processing - September 2017 - 151
Signal Processing - September 2017 - 152
Signal Processing - September 2017 - 153
Signal Processing - September 2017 - 154
Signal Processing - September 2017 - 155
Signal Processing - September 2017 - 156
Signal Processing - September 2017 - 157
Signal Processing - September 2017 - 158
Signal Processing - September 2017 - 159
Signal Processing - September 2017 - 160
Signal Processing - September 2017 - 161
Signal Processing - September 2017 - 162
Signal Processing - September 2017 - 163
Signal Processing - September 2017 - 164
Signal Processing - September 2017 - 165
Signal Processing - September 2017 - 166
Signal Processing - September 2017 - 167
Signal Processing - September 2017 - 168
Signal Processing - September 2017 - 169
Signal Processing - September 2017 - 170
Signal Processing - September 2017 - 171
Signal Processing - September 2017 - 172
Signal Processing - September 2017 - 173
Signal Processing - September 2017 - 174
Signal Processing - September 2017 - 175
Signal Processing - September 2017 - 176
Signal Processing - September 2017 - 177
Signal Processing - September 2017 - 178
Signal Processing - September 2017 - 179
Signal Processing - September 2017 - 180
Signal Processing - September 2017 - 181
Signal Processing - September 2017 - 182
Signal Processing - September 2017 - 183
Signal Processing - September 2017 - 184
Signal Processing - September 2017 - 185
Signal Processing - September 2017 - 186
Signal Processing - September 2017 - 187
Signal Processing - September 2017 - 188
Signal Processing - September 2017 - 189
Signal Processing - September 2017 - 190
Signal Processing - September 2017 - 191
Signal Processing - September 2017 - 192
Signal Processing - September 2017 - 193
Signal Processing - September 2017 - 194
Signal Processing - September 2017 - 195
Signal Processing - September 2017 - 196
Signal Processing - September 2017 - Cover3
Signal Processing - September 2017 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201809
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201807
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201805
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201803
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_201801
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0917
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0717
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0517
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0317
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0117
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0916
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0716
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0516
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0316
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0116
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0915
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0715
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0515
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0315
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0115
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0914
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0714
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0514
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0314
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0114
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0913
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0713
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0513
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0313
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0113
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0912
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0712
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0512
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0312
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0112
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0911
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0711
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0511
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0311
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0111
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0910
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0710
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0510
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0310
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0110
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0909
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0709
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0509
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0309
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0109
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_1108
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0908
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0708
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0508
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0308
https://www.nxtbook.com/nxtbooks/ieee/signalprocessing_0108
https://www.nxtbookmedia.com