Content uploaded by Sérgio Ivan Lopes
Author content
All content in this area was uploaded by Sérgio Ivan Lopes on Nov 23, 2018
Content may be subject to copyright.
Pervasive and Mobile Computing 20 (2015) 29–46
Contents lists available at ScienceDirect
Pervasive and Mobile Computing
journal homepage: www.elsevier.com/locate/pmc
Accurate smartphone indoor positioning using a WSN
infrastructure and non-invasive audio for TDoA estimation
Sérgio I. Lopes a,b,c,∗, José M.N. Vieira a,c, João Reis d, Daniel Albuquerque a,c,
Nuno B. Carvalho a,d
aDepartment of Electronics, Telecommunications and Informatics, University of Aveiro, Portugal
bInstituto Politécnico de Viana do Castelo, Portugal
cInstituto de Engenharia Electrónica e Telemática de Aveiro, Portugal
dInstituto de Telecomunicações, Aveiro, Portugal
article info
Article history:
Received 3 April 2014
Received in revised form 15 July 2014
Accepted 5 September 2014
Available online 16 September 2014
Keywords:
LPS
IPS
Smartphone positioning
WSN synchronization
Location-aware
abstract
In this paper we propose a reliable acoustic indoor positioning system fully compatible with
a conventional smartphone. The proposed system takes advantage of the smartphone audio
I/O and its processing capabilities to perform acoustic ranging in the audio band using non-
invasive audio signals and it has been developed having in mind applications that require
high accuracy, such as augmented or virtual reality, gaming or audio guiding applications.
The system works in a distributed operation mode, i.e. each smartphone is able to obtain
its own position using only acoustic signals. In order to support the positioning system, a
Wireless Sensor Network (WSN) of synchronized acoustic beacons is proposed. To keep the
infrastructure in sync we developed an Automatic Time Synchronization and Syntonization
(ATSS) protocol that ensures a sync offset error below 5 µs. Using an improved Time
Difference of Arrival (TDoA) estimation approach (that takes advantage of the beacon
signals’ periodicity) and by performing Non-Line-of-Sight (NLoS) mitigation, we were able
to obtain very stable and accurate position estimates with an absolute error of less than
10 cm in 95% of the cases and a mean absolute standard deviation of 2.2 cm for a position
refresh period of 350 ms.
©2014 Elsevier B.V. All rights reserved.
1. Introduction
GPS is the most widely used method for outdoor localization and it provides global coordinates with an accuracy within
10 m [1]. GPS signals could also be used indoors when special hardware is considered and powerful digital signal processing
techniques are used to extract the Time-of-Flight (ToF) information from the noisy signals before a position estimate could be
computed [2,3]. Nevertheless, due to its low accuracy, GPS is not suited for indoor centimeter-level applications. Moreover,
effective indoor positioning methods normally use Radio-Frequency (RF) or acoustic signals [4]. Received Signal Strength
(RSS), Fingerprinting (FP) and Ultra-Wideband (UWB) are well known and widely used RF methods. RSS, is commonly
used in low accuracy applications and works by measuring the power of the received signals to estimate the distance to
the transmitters, based on prior knowledge of the transmitted power and in the path loss model [5]. FP uses an off-line
∗Corresponding author at: Department of Electronics, Telecommunications and Informatics, University of Aveiro, Portugal. Tel.: +351 234 370 355; fax:
+351 234 378 157.
E-mail addresses: sil@ua.pt,sergioilopes@gmail.com (S.I. Lopes), jnvieira@ua.pt (J.M.N. Vieira), jreis@av.it.pt (J. Reis), dfa@ua.pt (D. Albuquerque),
nbcarvalho@ua.pt (N.B. Carvalho).
http://dx.doi.org/10.1016/j.pmcj.2014.09.003
1574-1192/©2014 Elsevier B.V. All rights reserved.
30 S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46
calibration process to build a map of ‘‘fingerprints’’ that are empirically obtained by taking exhaustive RSS measurements
inside a building. When operating a position estimate is obtained by matching online measurements with the best position
in a database that approaches the pre-computed ‘‘fingerprint’’ [6]. UWB positioning systems use narrow pulses with very
short duration (subnanosecond) resulting in widely spread radio signals in the frequency domain [7] and in Time of Arrival
(ToA) measurements with increased accuracy, when compared with other RF methods [8,4]. However, UWB systems need
high accuracy timing measurements resulting in complex and costly hardware.
In range-based positioning systems, time measurements are used to estimate the ToA or the Time-Difference-of-Arrival
(TDoA) in order to compute a position estimate [9]. UWB systems normally present heavy timing constraints only reachable
using specific synchronization methods in order to keep all the intervenient nodes in sync, i.e. under the same universal
clock. On the other hand, by using acoustic signals, a time resolution in the order of µs can be easily achieved using only
common off-the-shelf components.
This paper describes an indoor acoustic positioning system that takes advantage of a WSN (Wireless Sensor Network) in-
frastructure and non-invasive audio pulses for low-cost ranging which enables effective indoor localization of conventional
smartphones with an absolute error of less than 10 cm in 95% of the cases. The system uses an improved TDoA estimation
approach, by taking advantage of the beacon signals’ periodicity and by performing Non-Line-of-Sight (NLoS) mitigation
to obtain accurate ranging measurements. This way mobile devices do not need to be synchronized with the positioning
infrastructure. Moreover, a WSN of synchronized acoustic beacons is used to support the positioning system and Time Di-
vision Multiple Access (TDMA) is used to share the medium in a downlink mode. Tests using an iPhone 4s were performed
in order to evaluate the proposed system in real applications. Four acoustic beacons were used in a room of approximately
100 m2. Two experiments were taken in order to evaluate the system performance. The first experiment was held to obtain
a quantitative evaluation of the overall system by measuring the position estimated in a grid of points in a regular room and
a second experiment was taken to obtain a qualitative evaluation of the positioning system when a person equipped with a
mobile device is in a moving trajectory. Very stable 2D position estimates were obtained (absolute mean standard deviation
less than 2.2 cm when four acoustic beacons were used) and a position refresh rate of 350 ms was achieved.
The paper is organized as following. Section 2outlines the overall proposed system including specifications, requirements
and system architecture. Section 3describes the WSN infrastructure, the acoustic beacon design and the proposed
synchronization method. Section 4describes the positioning approach, i.e., medium access, signal design and positioning
algorithm. Section 5presents the system prototype. Section 6describes the experimental validation and presents a critical
error analysis. Section 7is reserved for the results discussion. Finally, further steps are discussed in conclusions.
2. System architecture
The proposed system has been developed having in mind applications that require increased accuracy, in the centimeter-
level, such as augmented or virtual reality, gaming or audio guiding applications. To achieve these requirements we focused
on the following criteria:
1. Indoor Operation: This requirement limits the use of GPS systems, due to attenuation, multipath and interference that
RF signals suffer when used indoors.
2. Smartphone Compatibility: The system must be compatible with conventional smartphones. This restricts the selection
of the sampling frequency of the acoustic signal to the smartphone hardware constraints. Commercially available
smartphones allow a maximum sampling rate of 44.1 kHz therefore limiting the useful acoustic upper band to the Nyquist
frequency, i.e. 22.05 kHz. In addition, to avoid synchronization with the beacons infrastructure, TDoA measurements
should be used in order to perform hyperbolic positioning.
3. High Doppler Tolerance: The system should work when mobile stations are moving with velocities up to 2 m/s. This
criterion imposes the usage of Doppler resilient acoustic signals.
4. Centimeter-level Accuracy: To satisfy this criterion a range-based positioning system based on ToF measurements is
needed. Moreover, an infrastructure of acoustic beacons with known positions must be used, in order to circumvent the
lack of accuracy of mutual positioning systems.
5. Low-Cost Infrastructure: A low density WSN should be used with at least three beacons per room in order to obtain
2D position estimates. The system infrastructure must be based in low-cost and commercial-off-the-shelf components.
Once TDoA will be used for ranging, an automatic time synchronization protocol to keep the beacons in sync must be
addressed.
6. System Scalability: The system must work in downlink mode (GPS-like). Furthermore, the WSN infrastructure should
use a star topology per room and rooms must be interconnected through a main router.
In Fig. 1 is presented the overall architecture of the proposed positioning system. Due to the modular architecture,
multiple rooms with unique IDs can be added depending on the needs. Each room forms a star network centered to an
access point acoustic beacon (APAB) that connects to the remaining acoustic beacons (AB) in the room. A gateway node
(GW) is used as a bridge to interconnect the system to a 802.11 router. The information about the configuration of the
system infrastructure and the actual position of each mobile device is stored in a remote database that may be accessed in
a browser through a common internet connection.
S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46 31
Fig. 1. Overall system architecture.
Fig. 2. Acoustic beacon architecture with transmitter and receiver frequency responses.
3. WSN positioning infrastructure
The positioning infrastructure uses a low-cost WSN infrastructure built with synchronized acoustic beacons specially de-
signed to operate in low density indoor scenarios. The proposed acoustic beacon uses commercial-off-the-shelf components
and runs an Automatic Synchronization and Syntonization (ATSS) protocol allowing effective ToA/TDoA ranging.
3.1. Acoustic beacon design
In Fig. 2 is presented the proposed acoustic beacon architecture. The acoustic beacon uses a System-on-Chip (SoC)
low-power microcontroller (CC1110) with a built-in low-power RF transceiver. This SoC is compatible with several RF
networking protocol stacks and is widely used with the SimpliciTI (a Texas Instruments proprietary stack) and other IEEE
802.15.4 based stacks. We opted to use the SimpliciTI protocol which enabled us to use the 433 MHz band. This way it was
possible to communicate for increased distances with reduced building interferences due to increased wavelength of the RF
signals.
The piezo-tweeter used as the transmitter (Kemo L10) and the microphone used as receiver (WM-61A) are the same
as used in [10] and its frequency response can be observed in detail in Fig. 2. Looking at the frequency response of the
piezo-tweeter is possible to observe a useful band above 80 dBSPL, in the interval 18–22 kHz. For the proposed band, the
microphone sensitivity is always above −35 dB. A microphone was added to the beacon to enable mutual location in future
releases. This way it will be possible to simplify and automate the system setup in a new room. A Brüel & Kjær 4954A
reference microphone was used for measurement and calibration.
32 S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46
Fig. 3. Beacon communication layers for synchronization and data exchange with the ATSS protocol included.
3.2. WSN beacon synchronization
One major problem faced in synchronization of a distributed WSN comes from the local oscillator used in each node. Slight
differences in the physical environment and in the hardware itself introduce significant changes in the local oscillators thus
resulting in deviations of the local frequency of oscillation and consequently in clock drifts over time [11]. Moreover, Medium
Access Control (MAC) delays and packet buffering result in non-deterministic packet delivery times, thus impeding WSN
network protocols to be used to synchronize distributed events [12]. To evade this problem, actual WSN range-based acoustic
positioning systems use an additional RF transceiver to transmit broadcast synchronization pulses to all intervenient beacons
in a centralized architecture, see [13–15]. This common approach increases the hardware complexity and its cost.
To avoid this additional RF transceiver we developed a reliable synchronization protocol that achieves a clock offset error
of less than 5 µs. This resulted in ranging measurements with an error standard deviation less than 1 cm. The proposed
beacon uses only the built-in RF transceiver for both communication and synchronization tasks. The main advantages of
this approach include: simple hardware design (less components used), reduced cost (uses only one radio), reduced RF
interference (less bands used) and increased security (sync data could be encrypted).
3.3. Automatic time synchronization and syntonization protocol
The IEEE 1588 standard [16] was developed thinking in distributed networks requiring a better precision than offered
by the Network Time Protocol (NTP) when a GPS module is not available, due to indoor use or cost constrains. With this
protocol, it is possible to create a distributed network using a single GPS module to provide a time reference for the network
while maintaining accuracies with orders of magnitude of nanoseconds, see [17,18].
The proposed Automatic Time Synchronization and Syntonization (ATSS) protocol presents an internal architecture that
relies in two main blocks, see Fig. 3. The SimpliciTI protocol enables data connectivity between beacons allowing the creation
of star networks. Some changes have been made to allow recording the time of transmission and reception of messages as
close as possible to its occurrence. The ‘‘Time Sync’’ block is responsible for managing the exchange of synchronization
messages. This way the process of clock synchronization is performed transparently to the rest of the application. The ‘‘Time
Trigger’’ block enables the creation of coordinated events between units with a resolution of 1 ms, but aligned in phase
with the remaining units and is also responsible in the adjustment of the syntonization period. In a higher layer runs the
application that has access to the communication channel to exchange messages, generate timestamps for events detected
and schedule events to be triggered in coordination with other units.
The IEEE 1588 standard specifies the type of message using a message ID byte with only five types defined [16]: Sync (ID
0), Delay Request (ID 1), Follow Up (ID 2), Delay Response (ID 3) and Management (ID 4), being the ID’s between 5 and 255
reserved for future implementations. Due to physical limitations in the WSN nodes, a simple version comprised by the set of
the first four previous defined messages (IDs from 0 to 3), see Fig. 4, was implemented. To achieve the best possible results,
timestamps should be generated in hardware or as close as possible to the hardware and the transmitted messages should
be composed by the minimum information necessary to proceed with the time synchronization. The overall synchronization
process occurs as follows:
1. Sync [ID 0]: The synchronization process starts with the transmission of a broadcast ‘‘Sync’’ message, in which is
contained a timestamp estimate of the reference beacon, that all the remaining beacons use to register the time t2.
2. Follow Up [ID 2]: Simultaneously, the reference beacon registers the time t1after sending the Sync message and sends
its value in the ‘‘Follow Up’’ message.
3. Delay Req(uest) [ID 1]: Later the generic beacon sends the ‘‘Delay Req’’ message and registers the time t3.
4. Delay Resp(onse) [ID 3]: When the ‘‘Delay Req’’ message is received, the t4is registered and transmitted back in the
‘‘Delay Resp’’ message.
S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46 33
Fig. 4. ATSS protocol message exchange in each synchronization point.
Fig. 5. Improvement of clock offset error when using the ATSS protocol.
Based on ‘‘Sync’’ and ‘‘Follow Up’’ messages and in its own clock, the generic beacon computes the time difference
between its own clock and the reference clock. The path delay propagation time is determined in a second transmission
process between the beacons using the ‘‘Delay Req’’ and ‘‘Delay Resp’’ messages. The generic beacon can then correct its
clock and adapt it to the current path delay propagation time. Assuming a symmetric communication, the path delay can be
obtained by 1t=1
2[(t2−t1)+(t4−t3)], and the offset value (φ) between the clock of the reference and the synchronized
beacon is obtained by φ=(t2−t1)−1t.
The clock syntonization was performed by conducting small periodic corrections as shown in Fig. 5. This way the absolute
value of the offset error is considerably reduced. The syntonization correction value (cv) used depends essentially on the level
of accuracy required by the application. The smaller this value is, the greater will be the number of adjustments needed to be
performed between synchronization points. The number of necessary corrections (Nc) is related with the offset error after
syntonization by φs=φ
Nc, see Fig. 5.
3.4. Protocol evaluation
The presented protocol was evaluated using two beacons configured with a syntonization correction value of 1 µs and
both connected to a pulse generator. For each transmitted pulse from the generator both units record the instant that the
pulse arrives as a timestamp which is right away transmitted to a PC through a USART/USB connection. Two thousand
measurements were taken in order to evaluate the protocol for the synchronization periods of 5 and 30 s, see offset sync
error histograms in Fig. 6. A mean absolute sync error of 0.24 µs with a standard deviation of 0.92 µs and a maximum
absolute sync error of 4.55 µs were obtained for a sync period of 5 s and a mean absolute sync error of 0.56 µs with a
standard deviation of 0.80 µs and a maximum absolute sync error of 3.23 µs were obtained for a sync period of 30 s.
4. Positioning approach
Positioning can be split in three main stages [19]: coordination, measurement and position estimation. Normally, before
ranging, network nodes coordinate with each other typically for synchronization purposes. Depending on the method
used in positioning, time synchronization is a problem that cannot be ignored. The coordination stage is normally related
to synchronization purposes. Synchronization is important in the measurement stage because it is used to notify all the
intervenient nodes that a measure will be taken.
4.1. Coordination
In this work, TDMA was used based in a centralized architecture with all the acoustic beacons in sync. In Fig. 7 is presented
the time slot structure used in the coordination process when Kbeacons are used. For each beacon is reserved a specific time
34 S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46
(a) Sync period of 5 s. (b) Sync period of 30 s.
Fig. 6. Histograms for measurements of the ATSS protocol offset sync error using a syntonization correction value of 1 µs.
Fig. 7. Proposed TDMA structure.
slot for signal transmission. Considering Kbeacons transmitting, each time slot can be split into three distinct intervals,
namely:
S(k)—signal transmission interval
L(k)—listening interval
G(k)—guard time interval
where the time slot duration for beacon kis given by T(k)
s=S(k)+L(k)+G(k).
The signal transmission interval (S(k)) is the time that the transmitter needs to send the acoustic pulse. The listening
interval (L(k)) is the time slice used by the mobile device to estimate the range measurement. For example, using a listening
period of 30 ms results in distance measurements up to 10 m. The guard time interval (G(k)) was added to reduce the impact
of the room reverberation. Slot synchronism for Kbeacons is obtained using a slightly bigger guard time period in the last
transmitted signal in the TDMA structure, i.e. G(K−1)>G(k)when 0 ≤k<K−1.
4.2. Measurement
The measurement stage is based on TDoA estimation by each mobile device. Acoustic beacons were programmed to
periodically transmit frequency modulated pulses, i.e. chirp pulses. The usage of chirp pulses overcomes most of the
problems when compared to the use of pure sine tones such as, poor resolution, low environment noise immunity, short
range and low robustness to the Doppler effect. The probability of detection of a transmitted chirp is directly related with
the signal-to-noise ratio (SNR) rather than the exact waveform of the received signal [20]. Cross-correlation, i.e. matched
filtering, between the transmitted and received signals is used to maximize the SNR at the output of the correlator, when
a known signal plus noise are passed throughout the correlator. Another advantage of using cross-correlation is the pulse
compression rate obtained after correlation, which means that the time resolution in the peak position estimation can be
greatly improved (when compared to a pure sinusoidal tone) thus resulting in distance measurements with higher accuracy.
4.2.1. Pulse design
Signals with time and frequency diversity, e.g. chirps, are well known in RADAR and represent a case where time and
frequency are both used to increase the probability of detection. Time bandwidth product (TBP) gives us the relation between
the time duration of a signal and the range of frequencies (Bandwidth) necessary to its reconstruction. In RADAR, chirps with
large TBP are used to obtain narrow compressed peaks and SNR maximization, resulting in signals with increased probability
of detection, but also when Doppler tolerance is needed. By increasing TBP and using adequate weighting in the signal design
it is possible to increase: the SNR, the pulse compression (better time resolution) and the Doppler tolerance, which highly
improves the probability of detection in static and dynamic positioning scenarios [20].
The ambiguity functions of a BPSK pulse and a chirp pulse using the same frequency band (18–22 kHz) and the same
duration are compared in Fig. 8. The BPSK pulse for a moving speed higher than 0.5 m/s almost disappears making BPSK
pulses useless in systems with mobile stations moving at higher speeds. On the other hand, chirp pulses can achieve up
to ±B/10 Doppler tolerance [21] which improves the detection probability for large Doppler shifts and thus making them
preferable for systems with fast mobile stations, such as humans walking fast or running or even fast robots.
Time domain weighting is used to modulate in amplitude the transmitted pulse. Furthermore, a non-invasive audio chirp
pulse must be carefully designed in order to avoid spectral spreading that normally appears when fast transients occur. In
S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46 35
ab
Fig. 8. Doppler tolerance. (a) Ambiguity function for a BPSK pulse with a bandwidth of 4 kHz (18–22 kHz) and pulse duration of 10 ms modulated with a
63 bit Kasami sequence. (b) Ambiguity function of a chirp pulse of same bandwidth 4 kHz (18–22 kHz) and same duration.
Fig. 9. Proposed combined window.
abc d e
Fig. 10. Chirp Pulse design. (a) and (b) columns correspond to chirp pulses with frequencies raising from 20 to 22 kHz; (c)–(e) columns are related to
chirp pulses with frequencies raising from 18 to 22 kHz. First line of plots represents the weighted pulses in the time domain, second line represents its
frequency response and the third line represents its autocorrelation function in time near the central peak.
our approach we focused in time domain weighting in order to modulate in amplitude the transmitted signal thus smoothing
its transients and keeping the pulses non-invasive. However this approach leads to a significant reduction in the transmitted
power, and therefore a considerable SNR reduction at the output of the correlator. A proposed combined weighting window
is used to modulate the transmitted chirp pulse in amplitude using two distinct parts. Both parts could be generated using
a tapered cosine window (i.e. Tukey window). A Tukey window is a rectangular window with the first and last r/2 fraction
of samples equal to parts of a cosine, were ris a real number between 0 and 1. Note that a Hanning window can be seen as a
particular case of the Tukey window, when r=1. In this case, the proposed window uses the left half of a Hanning window,
concatenated with the second half part of a Tukey window with r=0.05, see Fig. 9 for a chirp pulse duration of 10 ms.
In Fig. 10 it is possible to compare other weighting windows with the proposed one and extract five figures of merit
for better evaluation. Two of them, namely the compression ratio (CR) and the peak-sidelobe-level (PSL), evaluate the pulse
compression gain. For the proposed weighting pulse, i.e., column (e), CR presents a value of 0.40 ms. This value was measured
looking to the time interval that the autocorrelation peak drops 6 dB. The PSL value represents the difference between the
autocorrelation peak and the nearest side-lobe peak and was measured with 16.6 dB.
36 S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46
Table 1
Figures of merit of the chirp pulses presented in Fig. 10.
Chirp pulse Weighting window B (kHz) TBP CR (ms) PSL (dB) PL (dB)
(a) Rectangular 2 60 0.60 14.1 0.0
(b) Hanning 2 60 1.34 46.0 −8.5
(c) Rectangular 4 120 0.30 13.6 0.0
(d) Hanning 4 120 0.62 46.4 −8.5
(e) Combined 4 120 0.40 16.6−3.5
ab
Fig. 11. (a) Frequency response and (b) spectrogram for each individual weighted chirp pulse measured at the receiver when it is placed at 1 m distance
of the transmitter. The corresponding chirp pulses are presented in Fig. 10 in columns (c) (d) and (e), respectively.
The proposed window enabled the increase of the peak level (PL) energy at the output of the correlator in more than 5 dB
at the cost of a significative reduction of the PSL, see Fig. 10, but with the advantage of an increased pulse compression ratio,
see Table 1.
To analyze the audibility of the proposed chirp pulse, a transmitter and a receiver were placed at 1 m distance and
an audio capture was performed for each distinct chirp pulse. This experiment was performed using the transmitter and
receiver selected in the design of the acoustic beacon, see Fig. 2. For each chirp pulse a measure was taken in a regular room
with acoustic noise below 40 dBSPL. In Fig. 11 is plotted at left the frequency response of the three captured pulses and at
right is presented for each distinct chirp pulse its correspondent spectrogram. In all spectrograms is possible to observe the
room interference, mainly the multipath effect. In Fig. 11 is possible to compare the spectrogram of the proposed weighting
window (Combined Window) with the rectangular window chirp pulse. By comparing the frequency responses and its
spectrogram representations is possible to observe a heavy spectral spreading in fast transients in the rectangular window
chirp pulse. This behavior results in audible spectral content (audio clicks) with considerable power in the band from 5
to 18 kHz. On the other hand for the proposed weighting window this phenomenon is heavily mitigated by the use of a
combined window that smoothes the transients thus maintaining a compromise between the energy of the transmitted
chirp pulse and its non-invasiveness.
4.2.2. Pulse instant of arrival estimation
After correlation, a decimated energy estimator Exbased on the L2-norm of the correlated signal Rxs is computed, see
Eq. (1).
Ex[i] =
D−1
n=0
|Rxs[n+i·D]|2,∀i∈ [0,N−1](1)
where Drepresents the size of the L2-norm estimator, iis the frame index in the time domain and Nis the total number of
frames to process.
Additionally, an adaptive threshold method is used to increase the algorithm performance. The method uses a FIFO buffer,
that contains NFsamples of the energy estimator Ex. Due to the signal periodicity we selected a value for NFthat allows the
S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46 37
Fig. 12. Audio Interrupt Service Routine (AISR) algorithm for IoA (τk) estimation at left. Interpretation of the algorithm at right when four acoustic beacons
transmitting in TDMA are used. The signal Exshows the L2-norm estimation of the signal after the correlator.
inclusion of all the data needed to compute a position estimate using TDMA. This way, we are able to compute a time-
varying Peak-to-Average-Ratio (PAR), see Eq. (2), that is defined as the ratio between the maximal and the average signal
power values. The dynamic threshold (γ) is directly obtained from PAR and is set to be 15 dB above PAR which based on
the Receiver Operator Characteristic (ROC) of the matched filter enables a probability of detection of 0.972 for a probability
of false alarm of 10−3[22].
PAR[i] =
max
i≤i<i+NF−1|Ex[i]|2
1
NF
NF−1
j=0
|Ex[j−i]|2
,∀i∈ [0,N−1].(2)
Using the decimated energy estimator Exand the previous computed dynamic threshold γ, a pulse should be valid and
detectable based on the combination of these two main criteria:
1. The decimated energy estimator Exshould be always above γ.
2. A new pulse should only be searched after a W(k)=S(k)+G(k)time interval, counting from the last valid detected pulse.
A valid peak is then searched in order to obtain the Frame of Arrival (FoA) for each of the incoming pulses in Ex. Each FoA
value is defined by ˜τkwhere kis the index of the transmitted beacon pulses. Each of these values will be used as a starting
point for the search of a more accurate peak detection, i.e. the real Instant of Arrival (IoA) that is defined by τkand is obtained
directly from the Rxs signal, as presented in the algorithm of Fig. 12.
The algorithm runs in the audio interrupt service routine core, and is called every time a new audio buffer is available for
processing. Furthermore, we included Non-Line-of-Sight (NLoS) mitigation to improve the IoA estimation which enhances
38 S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46
a
b
Fig. 13. Position Estimation Routine (PER) with TDoA pre-validation.
the pulse detection performance in real situations where multipath occurs, see NLoS example in Fig. 12. Our approach begins
with the estimation of the FoA value ˜τkfor each incoming pulse only when the two previous criteria (1) and (2) are met, see
Eq. (3).
˜τk=arg max
iEx[i],∀i∈ [˜τk−1+W(k−1),˜τk−1+W(k−1)+L(k−1)].(3)
When a peak is detected, a more accurate search of the peak is taken directly from Rxs considering the small interval
between [˜τk,˜τk+δ]frames, where δrepresents the number of frames (in the example of Fig. 12 five frames are used)
selected to restrict this search on the right side of the neighborhood of ˜τk.
Thereafter, the corresponding IoA search interval in Rxs is obtained by [˜τk,˜τk+δ] × Dwhere Dis the size of the L2-norm
estimator. Then the six greater peaks inside the IoA search interval are computed and sorted by the argument value. The
algorithm used to detect the first six local maximums is iterative and starts with the search of the maximum peak in the
search interval followed by its removal in order to prepare the search of the next peak. To remove a peak we considered
0.5 ms for each side of the detected peak. This value was based on the width of the main lobe presented in the autocorrelation
function of the signal proposed, see Fig. 10(e). As we are interested only in the LoS pulse, the peak with lower argument is
selected among the other local pulses and assigned to τk. The output of this block is a vector Twith a τkvalue per each valid
detected pulse.
For the example presented in Fig. 12, if a simpler criterion based on the argument of the maximum value in the IoA search
interval is used, the selected τkshould point to the first NLoS peak, due to its increased energy when compared to other local
peaks. This introduces the ranging error 1dpresented in Eq. (4) which is far from acceptable in a high accuracy positioning
system.
1d=c·1t≈342.5 ms−1×(1.295 s −1.293 s)≈69 cm.(4)
4.3. Position estimation
Using four acoustic beacons is possible to obtain three TDoA estimates which gives the possibility to compute 3D position
estimates. If only three beacons are considered, two TDoA estimates can be used to compute a 2D position estimate. The
audio interrupt service routine presented in Fig. 12 outputs IoA estimates that need to be converted in a valid TDoA set of
measurements. This validation process is represented in the algorithm presented in Fig. 13(a) and uses a first finite difference
operation over the Tdata vector to obtain the vector dT which is then used to evaluate if each of its elements is lower than
T(k)
Swhen 1 ≤k<K−1.
S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46 39
ab
cd
Fig. 14. System Devices. (a) Acoustic Beacons and Gateway. (b) Mobile Device based in an iPhone 4S running the proposed positioning app (Akkurate).
iPhone App user interface views. (c) Akkurate app main view with actual user position (yellow circle), acoustic beacons (blue circles) and virtual audio
sources (red circles) with zone activity delimitation. (d) Real-Time debug view mainly for development purposes. (For interpretation of the references to
color in this figure legend, the reader is referred to the web version of this article.)
Post validation of each Tvector of IoA measurements is needed in order to obtain a valid difference distance vector d,
that will be used by the positioning algorithm. To obtain each dk,0value from the dvector, we need to remove the time slices
added by TDMA when computing the TDoA values, and then multiply by the speed of sound. These difference distance dk,0
estimates are obtained using Eq. (5),
dk,0=c[τk−τ0−kW (k)],∀k∈ [0,K−1](5)
where crepresents the speed of sound, τkand τ0are a pair of IoA values, W(k)=S(k)+G(k)is directly obtained from TDMA
(see Fig. 7) and kis the acoustic beacon index.
Note that for slot synchronization is used a slightly bigger guard time in the last transmitted signal G(K−1), which allows
the identification of the first valid difference distance d1,0estimate and thus the identification of all the subsequent difference
distance dk,0measurements when 2 ≤k<K−1.
Finally it is necessary to run the position estimation algorithm in order to obtain the mobile station position. To solve the
positioning problem and since TDoA measurements are always noisy, (e.g. thermal noise, external acoustic noise, sound
velocity changes, etc.) the position estimation can be seen as an optimization problem. We opted to find the position
that minimizes the squared error intersection point for all the hyperbolas defined for each intervenient acoustic beacon.
A detailed description of the used method can be found in [1]. The solution for this optimization problem is given by the set
of linear equations that can be obtained using the equation presented in Fig. 13(b), in order to obtain a position estimate
vector ˆ
x.
5. System prototype
The system prototype is divided in two distinct devices: the acoustic beacon and the mobile device, see Fig. 14. A WSN
of acoustic beacons is used to build an infrastructure of acoustic beacons, with known positions, see Fig. 1. These acoustic
beacons can be used as building blocks that can easily be added to an existent infrastructure in order to meet the scalability
criterion. The acoustic beacon was also designed to include remote configuration through the network. This way acoustic
signal parameters (i.e. bandwidth, duration and envelope) and multiple access features can rapidly be changed in order
to adapt the transmitted acoustic signals and the multiple access technique to a particular room with specific physical
40 S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46
constraints. One acoustic beacon prototype costs approximately e35, but several simplifications could be assumed in a
production scenario (e.g., microphone and preamplifier could be removed, software integration to work with only one µC
and PCB size reduction) thus reducing the cost to less than e20.
The mobile device does not need any external hardware to operate. It is only dependent on the smartphone hardware,
i.e. the built-in microphone or any external microphone connected to the headset microphone input. In order to fulfil the
requirements of some pervasive indoor location-aware applications, i.e. augmented/virtual reality, we were forced to add
a pair of stereo headphones. This requirement became advantageous because it allowed us to add a microphone on top
of the headphones. This way it was possible to add an external microphone on the top of the head of the user. Two great
advantages were obtained from this decision, (1) the microphone became close of the ideal central point of the user head;
(2) a dramatic reduction of the non-line-of-sight situations was achieved due to the reduction of the acoustic shadowing
effect and the reduction of situations where objects appear between the user head and the room ceiling, where beacons are
normally deployed in a higher plane. Due to this, in all experiments we opted to place all the acoustic beacons at the 2.5 m
height plane.
The use of the built-in microphone would represent a major feature. However, with only four beacons, if the user carries
the smartphone in the hand, the user body and its hand over the built-in microphone will cause many severe Non-Line-Of
Sight situations, causing a degradation on the position estimation.
All the algorithms (peak detection, IoA estimation, NLoS mitigation and hyperbolic positioning) have been programmed in
Objective-C++ using the iOS Accelerate framework for core tasks such as, time domain filtering (convolution) and FFT based
operations. The Accelerate framework uses the GPU processor to increase the computational performance taking advantage
of its vector and matrix oriented processing capabilities. Each mobile device is able to compute its own position followed
by its communication to a remote positioning server through a standard data connection (Wi-Fi or 3G/4G). In Fig. 14(c) is
presented the main view of the developed iPhone app. This app, that we called Akkurate, has been developed to support
an audio augmented reality system that is capable of generating virtual binaural sound sources in real-time. The goal is to
create the illusion that objects (e.g. paintings, sculptures or other works of art in a museum) emit sound. This would allow
visitors walking through a particular room, equipped only with headphones and a simple, small and comfortable tracking
device (e.g. a smartphone) to receive appropriate audio information according to their position.
6. Experimental validation
All the experiments were made under equivalent conditions in a regular room with dimensions 9 ×8×3 m, concrete
walls and ceiling, windows, linoleum floor and different types of office furniture (e.g., desks, chairs, office closets, desktop
computers and office luminaries). The room temperature was measured T=18 °C, and the sound-speed was estimated
using the linear approximation v=331.3+0.606T[23], which resulted in 342.5 m/s. The acoustic beacons used in all
experimental tests were placed at the following positions: B0:(0.00,0.00,2.52)m;B1:(0.00,8.15,2.52)m;B2:(7.25,
0.24,2.52)m and B3:(7.25,8.35,1.77)m.
Three acoustic beacons (B0,B1and B2) were placed near the ceil, at the same height (coplanar), in order to reduce the
NLoS situations in multiple user scenarios. A fourth beacon (B3) was added at a lower height to enable the system to obtain
3D position estimates. Two experiments were taken in order to evaluate the overall 2D/3D system performance. The first
experiment was held to obtain a quantitative evaluation of the overall system by comparing the 2D/3D position estimates
to a grid of fixed points in the room and a second experiment was taken to obtain a qualitative evaluation of the positioning
system when a person equipped with a mobile device is in a moving trajectory.
The room reverberation time at the interest bandwidth was obtained experimentally by observation of the reverberation
tail of the room impulse response, i.e., the signal after correlation presented in Fig. 12, which resulted in a T60 reverberation
time [24] of approximately 220 ms.
6.1. Experiment 1: 2D/3D fixed position estimation
A grid of 6 ×5 m with 1 m step was used to evaluate the positioning system. A smartphone running the positioning
app was placed at each position marked with a black cross, see Fig. 15, with a constant height of 1.75 m and one hundred
sets of TDoA estimates were obtained for each position. In Fig. 15(a) are presented the results when the four beacons are
considered to obtain 3D position estimates and in Fig. 15(b) is possible to observe its 2D projection.
In Fig. 15(c) are presented the obtained results when three and four beacons are considered to obtain 2D position
estimates and the statistical results (mean absolute error and standard deviation) are presented in Fig. 15(d) for all the
tested positions. In this case, a systematic error due to non-coplanarity (mobile station at lower height) is introduced, being
its impact on error positioning discussed later when three or four beacons are considered to obtain 2D position estimates.
Note that, no outlier measurements are present. This can be justified by the fact that all measurements were taken with
acoustic noise in the room below 40 dBSPL.
S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46 41
(a) Scatter for the 3D positioning estimates. (b) XY projection of the data presented in (a).
(c) Scatter for the 2D positioning estimates. (d) Absolute error statistics for the 2D case.
Fig. 15. Experiment 1—(a) and (b) 3D positioning results; (c) and (d) 2D positioning results when three and four beacons are considered. Acoustic beacons—
circles B0,B1,B2and B3.
6.2. Experiment 2: 2D dynamic position estimation
In this experiment, a qualitative evaluation of the positioning system (2D case) was performed for the three and four
beacons case. A moving person with 1.75 m height and the receiver on top of its head was used to evaluate the positioning
system in two moving trajectories with different speeds, i.e. one trajectory with average speed of approximately 0.5 m/s
and the other with average speed of approximately 1.5 m/s, see Fig. 16. In this experiment, only a qualitative evaluation
can be performed because errors introduced by the human movement cannot be extracted due to difficulty in ground-truth
validation. For a better interpretation we opted to add the time dimension in seconds along the trajectory line. As a result
of the TDMA configuration (S(k)=10 ms, L(k)=30 ms and G(k)=47.5 ms), the lag between the first signal transmission
and a position estimation resulted in a mean value of 350 ms with a standard deviation 23 ms.
42 S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46
ab
Fig. 16. Experiment 2—(a) Trajectory of a user walking at approximately 0.5 m/s. (b) Trajectory of a user walking at approximately 1.5 m/s. Qualitative
results of the positioning system (2D case) for two moving trajectories at different speeds. Real trajectory—solid black line with timestamps in seconds.
Acoustic beacons—circles B0,B1,B2and B3.
6.3. Error analysis
Two main sources of error affect the final position estimation: (1) errors in TDoA estimation (mainly related to beacon
synchronization, sound speed uncertainty and multipath that heavily affects the LoS peak estimation) and (2) errors related
to the network density and geometry, a problem known in literature as Geometric Dilution of Precision [25]. The proposed
WSN infrastructure imposes a sync offset error always below 5 µs, which enabled distance measurements using non-
invasive audio signals with a standard deviation of less than 1 cm thus resulting in a reduced impact on the position
estimation process.
In our application case, we are focusing in low density infrastructures, being the number of beacons limited to three or
four beacons per room. Therefore, an optimal placement of these beacons is crucial to obtain the mobile station position
with increased accuracy [26]. For a small number of beacons, the optimal beacons position is found to be at the vertices of
simple shapes surrounding the mobile station, such as equilateral triangles or squares [27]. During experimental validation,
this criterion was only satisfied in the 2D case. Note that beacon B3is not in an optimal position due to physical room
constraints. The lower the height of B3, the better should be the position estimator performance. An optimal placement
for B3would present a negative height around −5 m, which would be impossible to satisfy. Due to room constrains (room
geometry and existing furniture) we were forced to add B3at 1.77 m height, which was the lowest value we were able to
use. The 3D positioning results presented in Fig. 15(a) suffer from the geometry problems previously introduced. In this case
the impact of the position of the beacon B3resulted in a high sensitivity to noise in most of the 3D position estimates which
could be confirmed by the spread of the results mainly in the z-coordinate. In addiction, for some positions the estimator
could not solve for a valid solution (i.e., inside the room volume) which can be demonstrated by the 2D projection of the 3D
position estimates, see positions (3, 7) and (4, 4) in Fig. 15(b). Due to the low accuracy obtained in z-coordinate (position
estimates with a standard deviation in the meter order) we opted to evaluate the proposed system only for the 2D case.
When the 2D case is considered, the network geometry affects the absolute error mainly due to the non coplanarity of
the mobile station with the beacons plane, due to different height values that it can present, see Fig. 17. In the coplanar case
no error is introduced by the geometry and a valid solution can be obtained when constraining the search of the solution
of the positioning algorithm to fit inside the room area. The 2D projected distances can be computed by d′
k=d2
k−h2
c
where hccan be obtained directly from hc=hb−hm. In the situation presented in Fig. 17 the measured distances dkare
always greater than its 2D projection d′
k. In this case, these larger measured distances affect the final position estimation,
contributing differently for the overall absolute error, depending on the position and height of the mobile station.
In Fig. 18 is presented the error map obtained by simulation when the positioning algorithm is fed with noise-free TDoA
measurements for the situation presented in experiment 1 (3-Beacons case) for different mobile station height values. In
these simulations the receiver height is changed between 1.25 and 2 m in order to obtain a 2D grid of the absolute error.
The absolute 2D error increases for peripheral positions near the acoustic beacons and considerably reduces in the central
zone. This can be geometrically justified by the lack of height information which leads to distance measurements with values
S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46 43
Fig. 17. Example of the 2D projection obtained from a mobile station with variable height.
0.25
0.2
0.15
0.1
0.05
0
Fig. 18. Absolute 2D error when the height of the microphone in the mobile station changes between 1.25 and 2 m for the room used in experiment 1. In
this case only three acoustic beacons (B0,B1and B2) are considered.
always above the real value and with greater impact near the acoustic beacons when the mobile station height deviates from
the acoustic beacons plane. This error analysis is correlated with the results obtained, see Fig. 15(d), in which is possible to
observe that the position estimates distributions are heavily consistent with the absolute error obtained by simulation in
the cases presented in Fig. 18.
7. Results discussion
In Figs. 19(a) and (b) are presented the statistical results for the measured data and its corrected version, i.e. when the
error imposed by the non-coplanarity previously discussed is removed. In the same figures, but at right, is possible to observe
the corresponding histogram and the cumulative sum function for each case.
In Fig. 19 a summary of the statistical metrics used to evaluate the 2D system performance is overlapped for the three
and four beacons cases. The evaluation is based in the absolute max/mean error plus standard deviation and in the absolute
max error obtained for 95% of the cases. Very stable and accurate position estimates were obtained with a mean absolute
standard deviation of 2.2 cm (4-Beacons) and 3.2 cm (3-Beacons). In addition to this, an absolute positioning error of less
than 10 and 16 cm in 95% of the cases was achieved when four and three beacons were used, thus meeting the requirements
of the applications we are focused.
In order to compare the proposed system with other high accuracy indoor positioning systems, we compiled in Table 2
their key features in terms of: ranging principle, reported accuracy, scalability, bandwidth, update rate, cost and smartphone
compatibility. As we are interested in high accuracy positioning systems, only range-based systems are considered.
The main requirements imposed in the system design (e.g., Smartphone Compatibility, Centimeter-level Accuracy, High
Doppler Tolerance and Low-Cost Infrastructure) resulted in design decisions that proved to be appropriate for the target
application. The accuracy obtained meets the specified criteria for users moving at higher speeds and the use of non-invasive
audio pulses overcomes the problems presented by the audible signals used in [35,34,31].
In [10] is referenced a previous work from the authors with a reported 2D absolute mean error of 9.6 cm and a mean
standard deviation of 0.8 cm. The reported performance, when compared to the results obtained in this work, shows a
similar accuracy but a lower precision that could be justified by these two main factors: (1) the system uses ToA (all beacons
and mobile station are in sync) measurements for ranging and (2) the system uses broadband ultrasonic pulses with large
TBP that resulted in narrow compressed peaks and thus in more accurate range measurements. This increase in the precision
performance could be easily observed by the resulting standard deviation value of 0.8 cm, which is significantly smaller than
the results reported in this work.
44 S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46
(a) 2D statistical results using 3-Beacons.
(b) 2D statistical results using 4-Beacons.
Fig. 19. Measured and corrected absolute mean error and standard deviation, for each position evaluated in experiment 1 when three and four beacons
are considered plus error histograms and cumulative sum plots for each case.
Table 2
Centimeter-level positioning systems performance as reported in the literature.
Name Year Principle Ranging
method
Reported
accuracy
Simultaneous
users
Bandwidth Update
rate
Cost Smartphone
compatibility
Akuratte 2014 Audio/US TDoA <10 cm (95%) High 18–22 kHz ≤3 Hz Low Yes
Guoguo [28] 2013 Audio/US ToA 6–25 cm High 17–22 kHz ≤2 Hz Low Yes
Lopes et al. [10] 2012 US ToA 9.6 cm High 20–45 kHz ≤5 Hz Medium No
Nokia HAIP [29] 2012 RF Bluetooth AoA 30–100 cm High 1 MHz 0.1–40 Hz High Yes
Ubisense [30] 2011 RF UWB TDoA <15 cm Limited – – High No
Schweinzer et al. [31] 2010 Audio/US TDoA 1 cm High 35–65 kHz ≤5 Hz Medium No
Pietrzyk et al. [32] 2010 RF UWB ToA 1–2 cm Limited – – High No
Segura et al. [33] 2010 RF UWB TDoA 20 cm Limited – – High No
3D Locus [34] 2009 Audio/US Round-trip
ToA
1 cm Limited <25 kHz 10 Hz Low No
Cricket [15] 2005 US ToA 1–2 cm High 40 kHz 1 Hz Low No
Mandal et al. [35] 2005 Audio ToA 60 cm Limited 4 kHz – Low Yes
From Table 2 is possible to observe two additional smartphone compatible systems that use non-invasive signals, i.e.,
[28,29]. The system presented in [28] uses ‘‘unnoticeable to humans’’ audio/US pulses for ToA ranging which can be seen as a
major disadvantage due to need of synchronization between infrastructure and mobile stations, thus increasing the system
complexity. Furthermore, Nokia developed the system presented in [29] that uses a dedicated and expensive infrastructure
of ‘‘Locators’’ (antenna arrays) that are used to measure the Angle of Arrival (AoA) of a Bluetooth packet that is continuously
transmitted by the smartphone.
8. Conclusions and future work
In this paper is proposed an effective indoor acoustic positioning system fully compatible with conventional smart-
phones. The system uses a synchronized WSN infrastructure of acoustic beacons and non-invasive audio signals for low-cost
ranging which enables accurate indoor smartphone positioning. Experimental tests were performed using an iPhone 4s in
order to evaluate the proposed system. Users that are able to detect the presence of these signals, agreed that a classification
of non-invasive audio was acceptable.
S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46 45
When compared to other centimeter-level positioning systems, the proposed system stands out for several reasons,
among which we highlight:
1. High smartphone compatibility, i.e., users do not need any additional hardware due to the use of TDoA ranging
which enables synchronization-free mobile devices. The limited bandwidth available for the acoustic signal design was
mitigated by an improved TDoA estimation approach, that takes advantage of the transmitted pulses periodicity and by
performing NLoS mitigation;
2. Downlink operation mode (i.e., GPS-like) was possible due to the inclusion of a synchronization protocol shared by the
beacons infrastructure. Moreover, due to the low interference that passive receiving ranging presents when compared
to the active transmitting mode, it is possible to use the system with a high number of simultaneous users (unlimited
number theoretically);
3. Low-cost infrastructure (approximately e35 per beacon) due to the commercial-of-the-shelf component selection in the
acoustic beacon design;
4. Non-invasive acoustic pulse design takes advantage of human psychoacoustics to maximize the transmitted power and
by keeping the pulse non-invasive.
To improve the performance of the proposed system, when severe interference and NLoS situations may occur, a possible
direction is to propose a navigation filter that combines the output of the proposed indoor positioning system with the
data coming from the Inertial Measurement Unit (IMU) natively available in the smartphone. Additionally, an interference
detection and classification method could be introduced in the system in order to discard invalid measurements that have
passed the actual double validation mechanism. With this, we will be able to include a simplified short-time pedestrian
inertial navigation model and a proper data fusion algorithm in order to estimate the user position based on its dynamics
for small periods when the positioning information is corrupted by interference or inaccurate due to NLoS.
Acknowledgments
This work obtained national funding from ADI under the project Pervasive Tourism (Ref. 11507) and by national funds
through FCT—Foundation for Science and Technology, in the context of the project PEst-OE/EEI/UI0127/2014.
References
[1] A.H. Sayeda, A. Tarighata, N. Khajehnouri, Network-based wireless location, IEEE Signal Process. Mag. 22 (4) (2005) 24–40.
[2] R. Watson, G. Lachapelle, R. Klukas, S. Turunen, S. Pietilä, I. Halivaara, Investigating GPS signals indoors with extreme high-sensitivity detection
techniques, J. Inst. Navig. 52 (4) (2005–2006) 199–214. Winter.
[3] G. Dedes, A.G. Dempster, Indoor GPS positioning, in: Proceedings of the IEEE Semiannual Vehicular Technology Conference, Citeseer, 2005.
[4] R. Mautz, Indoor Positioning Technologies, Institute of Geodesy and Photogrammetry, Department of Civil, Environmental and Geomatic Engineering,
ETH Zurich, 2012.
[5] A. Srinivasan, J. Wu, A survey on secure localization in wireless sensor networks, in: Encyclopedia of Wireless and Mobile Communications, 2008.
[6] H. Liu, H. Darabi, P. Banerjee, J. Liu, Survey of wireless indoor positioning techniques and systems, IEEE Trans. Syst. Man Cybern. C 37 (6) (2007)
1067–1080. http://dx.doi.org/10.1109/TSMCC.2007.905750.
[7] N. Patwari, J.N. Ash, S. Kyperountas, A.O. Hero, R.L. Moses, N.S. Correal, Locating the nodes: cooperative localization in wireless sensor networks, IEEE
Signal Process. Mag. 22 (4) (2005) 54–69.
[8] S. Gezici, Z. Tian, G.B. Giannakis, H. Kobayashi, A.F. Molisch, H.V. Poor, Z. Sahinoglu, Localization via ultra-wideband radios, IEEE Signal Process. Mag.
22 (4) (2005) 70–84.
[9] B. Dil, S. Dulman, P. Havinga, Range-based localization in mobile sensor networks, in: K. Römer, H. Karl, F. Mattern (Eds.), Wireless Sensor Networks,
in: Lecture Notes in Computer Science, vol. 3868, Springer, Berlin, Heidelberg, 2006, pp. 164–179.
[10] S.I. Lopes, J.M.N. Vieira, D. Albuquerque, High accuracy 3D indoor positioning using broadband ultrasonic signals, in: 2012 IEEE 11th International
Conference on Trust, Security and Privacy in Computing and Communications, TrustCom, 2012, pp. 2008–2014.
http://dx.doi.org/10.1109/TrustCom.2012.172.
[11] G. Mao, B. Fidan, G. Mao, B. Fidan, Localization Algorithms and Strategies for Wireless Sensor Networks, Information Science Reference—Imprint of:
IGI Publishing, Hershey, PA, 2009.
[12] B. Sundararaman, U. Buy, A.D. Kshemkalyani, Clock synchronization for wireless sensor networks: a survey, Ad Hoc Netw. 3 (3) (2005) 281–323.
[13] W. Zhang, J. Djugash, S. Singh, Parrots: A Range Measuring Sensor Network, Tech. Rep., Robotics Institute, Carnegie Mellon University, Pittsburgh,
Pennsylvania 15213, 2006.
[14] N.B. Priyantha, A. Chakraborty, H. Balakrishnan, The cricket location-support system, in: The 6th Annual International Conference on Mobile
Computing and Networking, ACM Press, Boston, Massachusetts, United States, 2000, pp. 32–43.
[15] N.B. Priyantha, The cricket indoor location system (Ph.D. thesis), Massachusetts Institute of Technology, 2005.
[16] IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems, IEEE Std 1588-2008 (Revision of IEEE
Std 1588-2002) (2008) c1-269. http://dx.doi.org/10.1109/IEEESTD.2008.4579760.
[17] H. Cho, J. Jung, B. Cho, Y. Jin, S.-W. Lee, Y. Baek, Precision time synchronization using IEEE 1588 for Wireless Sensor Networks, in: International
Conference on Computational Science and Engineering, 2009. CSE’09, vol. 2, 2009, pp. 579–586. http://dx.doi.org/10.1109/CSE.2009.264.
[18] D. Wobschall, Y. Ma, Synchronization of Wireless Sensor Networks using a modified IEEE 1588 protocol, in: 2010 International IEEE Symposium on
Precision Clock Synchronization for Measurement Control and Communication, ISPCS, 2010, pp. 67–70.
[19] I. Amundson, X.D. Koutsoukos, A Survey on Localization for Mobile Wireless Sensor Networks, Springer-Verlag, Berlin, Heidelberg, 2009.
[20] N. Levanon, E. Mozeson, Radar Signals, John Wiley & Sons, Inc., Hoboken, New Jersey, 2004.
[21] M.I. Skolnik (Ed.), Radar Handbook, second ed., McGraw-Hill, 1990.
[22] S.M. Kay, Fundamentals of Statistical Signal Processing, Volume 2: Detection Theory, Prentice Hall, 1993.
[23] D. Havelock, S. Kuwano, M. Vorlander (Eds.), Handbook of Signal Processing in Acoustics, Springer, 2008.
[24] J.S. Bradley, Using ISO 3382 measures, and their extensions, to evaluate acoustical conditions in concert halls, Acoust. Sci. Technol. 26 (2) (2005)
170–178.
[25] S.A.R. Zekavat, R.M. Buehrer, Handbook of Position Location—Theory, Practice, and Advances, John Wiley & Sons, Inc., 2011.
46 S.I. Lopes et al. / Pervasive and Mobile Computing 20 (2015) 29–46
[26] J. Perez-Ramirez, D. Borah, D. Voelz, Optimal 3-d landmark placement for vehicle localization using heterogeneous sensors, IEEE Trans. Veh. Technol.
62 (7) (2013) 2987–2999. http://dx.doi.org/10.1109/TVT.2013.2255072.
[27] Y. Chen, J.-A. Francisco, W. Trappe, R. Martin, A practical approach to landmark deployment for indoor localization, in: 2006 3rd Annual IEEE
Communications Society on Sensor and Ad Hoc Communications and Networks, 2006. SECON’06, vol. 1, 2006, pp. 365–373.
http://dx.doi.org/10.1109/SAHCN.2006.288441.
[28] K. Liu, X. Liu, X. Li, Guoguo: enabling fine-grained indoor localization via smartphone, in: MobiSys’13, Taipei, Taiwan, June 25–28, 2013.
[29] J. Rantala, High accuracy indoor positioning—technology solution and business implications, in: 3rd Invitational Workshop on Opportunistic RF
Localization for Next Generation Wireless Devices, NOKIA Research Center, 2012.
[30] Ubisense, Ubisense Series 7000 IP Sensors, Precision ultra-wideband measurement devices for industrial environments, 2012.
[31] H. Schweinzer, M. Syafrudin, LOSNUS: An ultrasonic system enabling high accuracy and secure TDoA locating of numerous devices, in: 2010
International Conference on Indoor Positioning and Indoor Navigation, IPIN, 2010, pp. 1–8. http://dx.doi.org/10.1109/IPIN.2010.5645819.
[32] M. Pietrzyk, T. von der Grun, Experimental validation of a TOA UWB ranging platform with the energy detection receiver, in: 2010 International
Conference on Indoor Positioning and Indoor Navigation, IPIN, 2010, pp. 1–8. http://dx.doi.org/10.1109/IPIN.2010.5647794.
[33] M. Segura, H. Hashemi, C. Sisterna, V. Mut, Experimental demonstration of self-localized ultra wideband indoor mobile robot navigation system, in:
2010 International Conference on Indoor Positioning and Indoor Navigation, IPIN, 2010, pp. 1–9. http://dx.doi.org/10.1109/IPIN.2010.5647457.
[34] J. Prieto, A. Jimenez, J. Guevara, J. Ealo, F. Seco, J. Roa, F. Ramos, Performance evaluation of 3D-LOCUS advanced acoustic LPS, IEEE Trans. Instrum. Meas
58 (8) (2009) 2385–2395. http://dx.doi.org/10.1109/TIM.2009.2016378.
[35] A. Mandal, C. Lopes, T. Givargis, A. Haghighat, R. Jurdak, P. Baldi, Beep: 3D indoor positioning using audible sound, in: 2005 Second IEEE Consumer
Communications and Networking Conference, 2005. CCNC, 2005, pp. 348–353. http://dx.doi.org/10.1109/CCNC.2005.1405195.