SAILoc:A Novel Acoustic Single Array System for Indoor Localization Guinan Li, Lei Zhang, Feng Lin, Minlin Chen, and Zhi Wang, Member, IEEE, Abstract—We have designed, implemented and evaluated the novel single array acoustic localization system SAILoc. The SAILoc system can interact with the commercial-off-the-shelf (COTS) smart phone and it is easier to deploy than multiple sensors’ system. We also propose a robust time delay estimation (TDE) algorithm which is based on frequency domain (FD-TDE) and has an advantage over generalized cross-correlation phase thransform (GCC-PHAT) in an indoor environment. Meanwhile, based on multiple sensor information, we propose to use Fusionbased time delay estimation (FD-TDE) to reduce the reverberation interference. The SAILoc’s experiment is operated in room and corridor. Our experiment demonstrated that although the SAILoc’s room environment performance is better than the corridor, they all have a good localization performance and the error is no more than 0.6m.
I. I NTRODUCTION Widespread use of smart devices has brought a growth of location-based services (LBS) for the past several years. Most of the LBS, such as navigation systems, traffic alerts, exercise managements, etc., depend on GPS, which only works in outdoors [1]. On the other hand, indoor localization has also become important for applications such as the virtual tour guide at museums, the guide at shopping malls or underground parking lot. Many indoor localization techniques such as RFID [2], WiFi [3], Bluetooth [4], Geomagnetism [5], UWB [6] and Acoustic [7] have been researched lately. From Table 1, acoustic indoor localization has the advantages of higher localization accuracy than other techniques, nearly close to UWB technique. However, UWB technique, equipped with a customized device, is more expensive than acoustic technique. Besides, the acoustic technique is compatible with a smart phone which is commonly used and motivates us to research it. Recently, there are many indoor localization systems based on acoustic techniques, such as the Cricket location system [8] which infers distance using the concurrent radio and ultrasonic signals and their time difference of arrival (TDOA) to realize indoor localization, the Guoguo [9] acoustic localization system which is based on acoustic signal’s time of arrival (TOA) with modulation and demodulation techniques, and the ENSBOX [10] system based on direction of arrival (DOA). These systems mentioned above are all distributed system based on multiple sensors, which makes the deployment tough and expense high. By comparison, we propose a novel single Guinan Li(email:
[email protected]), Lei Zhang, Feng Lin, MinLin Chen and Zhi Wang(Corresponding author, email:
[email protected]) are with the Department of Control Science and Engineering, Zhejiang University, Hangzhou, China.
array indoor localization system which is based on TOA & DOA techniques as the Figure 1 described. From the prototype, SAILoc has equipped a platform containing one speaker and some microphones. In order to realize indoor localization, we obtain the user’s direction by DOA estimation with TDE and the distance between the user and the platform with TPSN ranging through beep-beep [11] between the smart phone and the platform’s. In this paper, we propose a novel TABLE I D IFFERENT INDOOR LOCALIZATION TECHNIQUES COMPARISON Techniques WiFi RFID Geomagnetism Bluetooth UWB Acoustic
Accuracy 1m − 6m 2m − 3m 1m − 5m 0.3m − 4m 0.05m − 0.2m 0.1m − 0.4m
Cost Low Moderate Low Moderate High Low
Compatibility Yes No Yes Yes No Yes
indoor localization system and obtain high indoor localization accuracy.The contributions of this work are summarized as follows. (i) We propose a novel single acoustic indoor localization system SAILoc which is easy deployment and compatible with smart phone. (ii) We propose a robust TDE algorithm which is based on frequency domain (FD-TDE) and have advantage over GCC-PHAT by CRB analysis with image model simulation. Meanwhile, we propose to use Fusion-based FD-TDE to reduce the reverberation interference in the indoor enviroment (iii) We make the prototype experiment validation in room and corridor environment. The remainder of this paper is structured as follows. Section II makes an introduction to SAILoc framework and theory. Section III describes our solving methods for indoor localization in detail and especially our proposed FD-TDE methods. Section IV shows the simulation and experimental result. Finally, in Section V, we conclude our works. II. SAIL OC S YSTEM F RAMEWORK A. physical prototype There are three types of devices in SAILoc, namely, a single array which is equipped with a microphone-speaker-pair and multiple microphones of a uniform linear array (ULA), a server which is used to process multiple channel’s acoustic signals for direction finding and a smart phone which interacts with the microphone-speaker-pair for ranging. They are all deployed in a local area network and the single array’s location
978-1-5386-2062-5/17/$31.00 ©2017 IEEE
t B
6HUYHU
/HJHQG
(72$ B
'HYLFH%
tB tB
&ORFN%
0LFURSKRQH6SHDNHUSDLU 0LFURSKRQH
:L)L
6SHDNHU
T
d
ϮŶĚĞĞƉ
ϭƐƚĞĞƉ
&ORFN$
t A t A
%HHS%HHS
'HYLFH$ (72$ A
t A
6LQJOH$UUD\ Fig. 2. TPSN ranging mechanism.
8VHU Fig. 1. System Framework.
is known. when the user holding a smart phone actively broadcasts a modulated acoustic signal and then, the single array, who is in the listening state, also broadcasts the same modulated acoustic signal by the speaker. Through interaction and recording, the user’s smart phone records two modulated signals in its channel and the each channel of the single array also records two modulated signals. Finally, we can obtain the user’s location through the distance d and the angle θ with two techniques, TPSN which is similar to timing-sync protocol for sensor networks ranging and direction finding, respectively. B. TPSN Ranging We start from describing the basic ranging procedures with the two devices, smart phone and microphone-speaker-pair, in SAILoc system which we call them device A and device B. As the Figure 2 is shown, device A first emits an acoustic signal through its speaker SA at tA0 . This signal will be recorded by its own microphone at tA1 as well as the other device B at tB1 . Then, device B emits another back through its speaker SB at tB2 . This signal is also recorded by both microphones on the two devices, at tB3 and tA3 , respectively. Then, both devices examine their recorded data and locate the sample points when previously emitted two signals arrived. We denote the time difference between these two signals as elapsed time between the two time-of-arrivals (ETOA). These two devices will exchange their locally measured ETOA and finally, the distance between the two devices can be simply computed based on these two values. We denote dx,y as the distance between the device x s speaker to device y s microphone. It is clear that we have dBA − dAA = c(tB1 − tA1 ) dAB − dBB = c(tA3 − tB3 )
(1) (2)
where c is the speed of sound. Then, the distance between the two devices D can be approximated as D=
dBA + dAB 2
dAA + dBB c [(tA3 − tA1 ) − (tB3 − tB1 )] + 2 2 c dAA + dBB = (ET OAA − ET OAB ) + (3) 2 2
=
In Equation (3), the latter two terms are the distances between the speaker and microphone of the two devices. This distance is constant to a certain device and can be measured a priori. Therefore, the distance between two devices is determined solely by the first two terms, which are actually the ETOA values measured on device A and device B, respectively. Note that ETOA is calculated by each individual device independently. Realizing that the received sound signal is always sampled at a fixed frequency by the A/D converter, we can therefore directly obtain ET OAA by counting the sample number between the two TOA of signals from device A’s recorded data as well as ET OAB , without dealing with the local clock of the end system. With sample counting, Equation (3) can be rewritten as nB3 − nB1 c nA3 − nA1 − ) + const (4) D= ( 2 fsA fsB where nx denotes the index of the sample point at instant tx , and fsA and fsB are sampling frequency of device A and device B. const = (dAA + dBB ) /2. In order to obtain the DSampleA = nA3 − nA1 and DSampleB = nB3 − nB1 , we leverage the Generalized cross-correlation (GCC) method to solve the problem and we will introduce it in the next section. C. Direction Finding Considering a ULA, consisting of M (M ≥ 2) omnidirectional microphones collecting signals from a single farfield source. The data received at the mth microphone is given by 1 s0 (t−τm −τnm (θ))∗hm (t)+υm (t), t = 0, . . . , N −1 xm (t) = rm (5) where rm is the source-microphone separation distance. s0 (t) is the source signal. τm is direct path time delay. τnm (θ) = τn − τm is the time delay between the signals received at the mth microphone and the nth microphone. θ is the direction of arrival of the source, ∗ is a symbol of linear convolution. hm (t) represent impulse response of mth microphone. υm (t) is the zero-mean white Gaussian noise with variance σ 2 , and N is the number of signal samples. And meanwhile, in the ULA, τnm can be expressed as τnm (θ)= (m − n)d sin(θ)/c
(6)
where d is the spacing of the ULA. Hence, we need to estimate τnm of pairwise microphones to obtain the θ angle.
III. S OLVING M ETHODS A. Generalized cross-correlation Theory Generalized cross-correlation [12] is an important method to detect the TOA of the target’s signal, which is used to estimate the time delay of the same signal between different microphones. From the Equation (5), for a pair of microphones, m, n , their associated received microphone signal models yields 1 s0 (t − τm ) ∗ hm (t) + υm (t) (7) xm (t) = rm 1 s0 (t − τn − τnm ) ∗ hn (t) + υn (t) (8) xn (t) = rn Where, τnm = τn − τm is the time delay between the nth microphone and mth microphone. Considering(7), (8) and according to cross-correlation function definition, we can get the following formula Rxn xm (τ ) = E[xn (t)xm (t + τ )]
(9)
In real signal’s processing, we often calculate crosscorrelation in the frequency domain in order to reduce computational complexity. The cross-correlation function calculation formula is ∞ xn (t)xm (t + τ )dt (10) Rxn xm (τ ) = −∞
1) TOA estimation with GCC for ranging: The modulated acoustic signal TOA detection based on GCC technology is shown in Figure 3. From the observed signal, we can get two peak values obviously using GCC with the emitted modulated signal. During the digital signal processing, we can get the time delay which is the sample counts DSample between two signals. Finally, the DSample between the smart phone and microphone-speaker-pair of the single array platform is obtained for TPSN ranging. In practical indoor environment, because of existing noise and reverberation, the energy threshold method is commonly used to estimate the time delay of the first arrival path, which can be given by τpeak )) τ = arg min(Rxn xm (τi ) ≥ Γ · Rxn xm (ˆ
(14)
τi
where Γ ∈ (0, 1] is the coefficient of energy threshold and depends on the signal to noise ratio (SNR). In this paper, we choose Γ = 0.3 from experimental evaluations. And τpeak is the time delay corresponding to the peak value. The detailed algorithm of DSampleA and DSampleB is described in Algorithm 1. '6DPSOH (PLWWHGPRGXODWHG
where, Rxn xm (τ ) is defined as the cross correlation of two 6LJQDO filtered version of xn and xm . With the Fourier transforms 2EVHUYHG6LJQDO of these filters denoted by Gn (ω) and Gm (ω), respectively. Based on fourier transform and convolution theorem, Rxn xm (τ ) can be expressed in terms of the Fourier transforms of the microphone signals ∞ Fig. 3. Schematic diagram of GCC for TOA detection 1 ∗ (Gn (ω) Xn (ω))(Gm (ω) Xm (ω)) ejωτ dω Rxn xm (τ ) = 2π −∞ 2) GCC-PHAT algorithm for TDE: The goal of the weight(11) ∞ ing function, Ψ12 , is to emphasize the GCC value at the true −jωt Xn (w) = −∞ xn (t)e dt where , τ is the time de- value over the undesired local extreme. A number of such ∞ −jωt dt Xm (w) = −∞ xm (t)e lay. Rearranging the order of signals and filters and defin- functions have been investigated. As previously stated, for ≡ realistic acoustical conditions PHAT weighting defined by ing the frequency dependent weighting function, Ψ nm
∗
Gn (ω) Gm (ω) , which will be applied to GCC-PHAT. Rxn xm (τ ) can be expressed as ∞ 1 ∗ Ψnm (ω)Xn (ω)Xm (ω) ejωτ dω (12) Rxn xm (τ ) = 2π −∞ Ideally, Rxn xm (τ ) will exhibit an explicit global maximum at the lag value which corresponds to the relative delay. The TDOA estimate is calculated from τnm = arg max Rxn xm (τ ) τ ∈D
(13)
The range of potential TDOA values is restricted to a finite interval, D, which is determined by the physical separation between the microphones. In general, Rxn xm (τ ) will have multiple local maxima which may obscure the true TDOA peak and subsequently, produce an incorrect estimate. The amplitudes and corresponding time lags of these erroneous maxima depend on a number of factors, typically ambient noise levels and reverberation conditions.
1 Ψnm ≡ ∗ Xn (ω)Xm (ω)
(15)
it has been found to perform considerably better than its counterparts designed to be statistically optimal under specific reverberation, noise conditions. The PHAT weighting whitens the microphone signals to equally emphasize all frequencies, which is an important method for TDE in indoor environment. B. FD-TDE Algorithm From the Equation (12), the Frequency domain can be extracted for TDE research, Based on this concept, we propose the robust and accuracy method FD-TDE algorithm. Υnm = Ψnm (ω)Xn (ω)Xm (ω)∗ ejωτ
(16)
In order to receive the maximum value of |Υnm |, the Equation (16) multiply a coefficient Λ Υγnm = Ψnm (ω)Xn (ω)Xm (ω)∗ ejωτ Λ
(17)
M
m=1 n=m+1
2
dnm sin (θ)/c − τnm 2
(18)
τnm = arg max Υγnm γ
γ ∈ [dnm /c, dnm /c] dnm ≤ λ/2 C. Localization Algorithm Suppose in a two-dimensional plane, the coordinate of the acoustic source is S(x, y) and the array can be regarded as a point in the far filed, whose coordinate is A(x0 , y0 ). We can get the specific position of the source by the following equation y − y0 (19) tan(θ) = x − x0 2 2 (20) D = (x − x0 ) + (y − y0 ) where d is the distance between the source and the array which is estimated by TPSN ranging and θ is the direction of the acoustic source arrival. And we will describe the localization procedure in detail by Algorithm 2.
)UHTXHQF\.+=
$YHUDJH'LVWDQFH0HDVXUHPHQW(UURU (IIHFWLYH5DWH
(IIHFWLYH5DWH
s. t.
θ
M −1
$YHUDJH'LVWDQFH0HDVXUHPHQW(UURUP
arg min
Algorithm 1 Estimate DSampleA , DSampleB with GCC. Input: Acoustic signal from smart phone (or microphonespeaker-pair), s(k) and emitted modulated signal s0 (k). Output: The sampling interval between two audio signal, DSampleA (as well as DsampleB ); 1: According to signal energy of s(k), divide the audio signal into two parts s1 (k), s2 (k) and their index index s1 , index s2 in s(k), both of which contain the useful signal. 2: for i ∈ [1, 2] do 3: Obtain the Rsi ,s0 (k) with the equation (10). 4: Search the maximum value of Rsi ,s0 (k) [P eak valuesi , P eak indexsi ] = max(Rsi s0 (k)). 5: for each index ∈ [1, P eak indexsi ] do 6: if Rsi s0 (index) > Γ ∗ P eak valuesi then 7: Siganl arrival indexsi = index; 8: Break; 9: end if 10: end for 11: end for 12: index s1 = index s1 + Siganl arrival indexs1 ; index s2 = index s2 + Siganl arrival indexs2 ; 13: DSampleA = index s2 − index s1 ; (as well as DSampleB ) 14: return DSampleA ; DSampleB ;
6LJQDO6WUHQJWK
dnm where Λ = e−jωγ , γ ∈ [− dnm c , c ], dnm is the distance between the mth microphone and nth microphone. In hence, when we can get the maximum value of |Υγnm |, it means that γ equals τ , and which is the time delay. In order to combating noise and reverberation, there is another way to exploit the redundant information provided by multiple sensors based on FD-TDE algorithm (Fusionbased FD-TDE). To illustrate the redundancy, let us consider a M-sensor linear array, which can be partitioned into K = M (M − 1)/2 sensor pairs, K delay measurements can then be acquired with the observation data, that is τnm . These K delay measurements were measured independently using the FD-TDE method. This algorithm which we leveraged fuses the estimated cost functions from multiple sensor pairs before searching the time delay. In ULA, the problem of TDE with the fusion algorithm can be formulated as
7KHOHQJWKRIWKHVLJQDOPV
Fig. 4. (a)Frequency Response (b)Effective rate and average distance measurement error of different signal length
IV. E XPERIMENT AND P ERFORMANCE E VALUATION A. Signal Selection The acoustic signal selection for ranging and direction finding depends on the signal which has a good autocorrelation property. One typical signal design that fits our requirement is the chirp signal, which permits accurate signal detection preventing ambient noise. In order to select suitable frequency range of the acoustic signal, the Google Nexus 4 smart phone’s microphone frequency response has been tested in an indoor environment. During our test, the distance between two smart phones is 1m. One smart phone plays a 1KHz ∼ 22KHz acoustic signal for 15 seconds and another smart phone is responsible for sampling the acoustic signal with the sampling frequency of 44.1KHz. Figure 4(a) shows the frequency response of the Google Nexus 4 with the changing of the frequency.
Besides, we also designed experiments to test how long the signal length is appropriate for ranging and DOA estimation. The distance for testing is from 5m∼ 40m and every 5m measures 50 times of different signal length as the Figure 4(b), such as 10ms, 20ms, etc. Considering the average distance measurement error and effective rate, the line chart tells us that the signal whose length is more than 40ms, has a 80% higher effective rate (#number of successful experiments/#total number of experiments) and 0.05m lower average ranging error. What’s more, the signal frequency is limited by the array spacing, which is ought to satisfy the equation d < λ/2 = c/2f . Therefore, signal response, array spacing, average distance measurement error and effective rate are the reason that we select the chirp signal which frequency is 1 KHZ ∼ 3 KHZ and the signal length is 50ms.
Algorithm 2 SAILoc localization algorithm. Input: Signals of microphonei , i ∈ [1, M ], s(k), s0 (k), microphone’s frequency f s, adjacent microphone’s spacing d, sound speed c. Output: The Position S(x, y) of source; 1: According to signal’s energy of each microphone, intercept the sound signal, emitted from smart phone and labeled as mic sig i, i ∈ [1, M ]. 2: k = 0; 3: for chm ∈ [1 : M − 1] do 4: for chn ∈ [chm + 1 : M ] do 5: Calculate Rchm,chn (k) with the equation (10) 6: [val, index] = max(Rchm,chn (k)); 7: k = k + 1, τˆ(k) = (index − 1) ∗ f s 8: dm,n (k) = (chn − chm) ∗ d 9: end for 10: end for 11: Get the DOA θ by calculating 2 arg min dm,n sin (θ)/c − τˆ2 θ
Get the distance D by Algorithm 1 and the equation (4); 13: Calculate the S(x, y), through step 11, step 12 and the Equation(19),(20) 14: return S(x, y) 12:
For finite length of chirp signal, it can be expressed as: s(t) = A(t)rect(t/T ) exp{j[2π(f0 t + μ0 t2 /2) + φ0 ]}
(21)
each microphone is assumed to be omnidirectional. The SNR is varying between -10dB and 20dB. A chirp signal, digitized with 16-bit resolution at 32KHz, is then convolved with the synthetic impulse responses. Finally, mutually independent white Gaussian noise is properly scaled and added to each microphone signal to control the SNR. TABLE II S IMULATION PARAMETERS Room dimension Source position Reverberation time microphone position
10m×8m×3m (x × y × z) (7,7,1) 400ms (3,3,1),(3,3+d,1),(3,3+2d,1),(3,3+3d,1)
2) Simulation performance analysis: The Cramer-Rao bound (CRB) is given by 12 (22) CRB(θ) = 2 M +1 L 2 (2π) M η M −1 ( λ ) sin2 (θ) where η = (1/2) · 10SN R/20 , L = (M − 1)d. The root-mean-square error (RMSE) formula is given by n 2 (θest,i − θtrue,i )
i=1 RM SE(θ) = (23) n From the Figure 5, we can find that Fusion-based FDTDE algorithm is better than GCC algorithm in lower SNR. Meanwhile, the suitable numbers of microphone is four in our experiment and because the reference angle of the array is the first microphone, the increasing of microphones will accumulate angle errors between each microphones-pair.
where A(t) is the signal amplitude and T is the length of the signal. f0 is the carrier frequency, μ0 is the chirp rate, φ0 is the initial phase. rect() is the window function which is used in signal transition.
$UUD\RI0LFURSKRQH
0LFURSKRQH
6SHDNHU
B. Simulation of Fusion-based FD-TDE algorithm
615 G% 615 G% 615 G%
'DWD3URFHVV&HQWHU
&5% 3URSRVHG *&&3+$7
506('HJUHH
506(RIDQJOH'HJUHH
8VHU
Fig. 6. Picture of real products of SAILoc
BPLF
BPLF
BPLF $PRXQWRIPLFURSKRQH
BPLF
BPLF
615G%
Fig. 5. (a)The Selection of Fusion-based FD-TDE microphone numbers. (b)CRB of FD-TDE and GCC
1) Simulation environment: In order to compare the TDE performance for DOA estimation. The image model technology [13] is used to simulate reverberant acoustic environments. We consider a rectangular room with plane reflective boundaries(walls,ceiling,and floor). Each boundary is characterized by a uniform reflection coefficient, which is independent of the frequency and the incidence angle of the source signal. The Table II is the simulation parameters. The directivity pattern of
C. Experiment and Result Analysis 1) Testbed setup: In SAILoc System, we utilize the Google Nexus 4 smart phone to emit the chirp signal. The single array platform is composed of the Raspberry Pi and the data acquisition card which is mainly integrated of FPGA, Codec, and USB. Besides, the PC ThinkPad E440 is used for processing the acoustic signals from the four microphones’ recording by USB transmission and send the angle information to the smart phone by WiFi. Meanwhile, Raspberry Pi sends the time delay information to the smart phone to calculate distance. Finally, we localize the position of the source in the two-dimensional plane in room and corridor environment.
6LQJOH$UUD\ 5HIHUHQFH3RVLWLRQ (VWLPDWHG3RVLWLRQ
&')
&RUULGRU/HQJWKP
5RRP &RUULGRU
&RUULGRU:LGWKP
0HDVXUHPHQW(UURUP
Fig. 7. Corridor localization result Fig. 9. The CDF of room and corridor
6LQJOH$UUD\ 5HIHUHQFH3RVLWLRQ (VWLPDWHG3RVLWLRQ
tion result is better than the corridor, they all have a good localization performance and the error is no more than 0.6m. In future work, we will pay more attention to many kinds of applications and indoor reverberation suppression to improve SAILocs localization accuracy.
5RRP/HQJWKP
ACKNOWLEDGMENT
5RRP:LGWKP
Fig. 8. Room localization result
2) Result Analysis: We conduct the experiment in six fixed position in room and corridor respectively. Each position has been made 50 times experiments independently. Figure 7 and 8 shows the mean measurements of 50 times at different angles and localization results of different distance between the single array and the smart phone for corridor and room environment. From the figure, we can see that our system yields higher accuracy and more stable localization results in a quiet room than the corridor. The maximum room localization error is 0.48m, which is better than the corridor whose maximum localization error is 0.56m. Besides, along with the degree becomes larger and the distance is farther, we can find that the localization error becomes larger, which is decided by the SNR and CRB of ULA. Meanwhile, from the cumulative density function (CDF) Figure 9, the localization errors are within 0.30m, 0.48m, 0.60m at 50%, 80%, 90% respectively in room environment, which is better than narrow corridor environment. The corridor environment’s localization errors are within 0.25m, 0.4m, 0.5m at 50%, 80%, 90% respectively. V. C ONCLUSION In this research, we have designed, implemented and evaluated the novel acoustic localization system, SAILoc. It is realized by DOA estimation and the distance estimation. We propose a robust TDE algorithm which is based on frequency domain (FD-TDE) and have an advantage over GCC-PHAT by image indoor model simulation. Beside, Fusion-based FDTDE is used to reduce indoor reverberation interference. During the experiment, although the SAILocs room localiza-
This work was supported in part by the National Natural Science Foundation of China (No.NSFC61273079). R EFERENCES [1] E. D. Kaplan and C. Hegarty, Understanding GPS : principles and applications. Artech House, 2005. [2] S. S. Saab and Z. S. Nakad, “A standalone rfid indoor positioning system using passive tags,” IEEE Transactions on Industrial Electronics, vol. 58, no. 5, pp. 1961–1970, 2011. [3] C. Wu, Z. Yang, Y. Liu, and W. Xi, “Will: Wireless indoor localization without site survey,” IEEE Transactions on Parallel & Distributed Systems, vol. 24, no. 4, pp. 839–848, 2013. [4] L. Pei, R. Chen, J. Liu, T. Tenhunen, H. Kuusniemi, and Y. Chen, “Inquiry-based bluetooth indoor positioning via rssi probability distributions,” in International Conference on Advances in Satellite & Space Communications, 2010, pp. 151–156. [5] C. Zhang, K. P. Subbu, J. Luo, and J. Wu, “Groping: Geomagnetism and crowdsensing powered indoor navigation,” Mobile Computing IEEE Transactions on, vol. 14, no. 2, pp. 387–400, 2015. [6] C. Zhang, M. Kuhn, B. Merkl, and A. E. Fathy, “Accurate uwb indoor localization system utilizing time difference of arrival approach,” in Radio and Wireless Symposium, 2006, pp. 515–518. [7] A. Mandal, C. V. Lopes, T. Givargis, and A. Haghighat, “Beep: 3d indoor positioning using audible sound,” in Consumer Communications and Networking Conference, 2005. CCNC. 2005 Second IEEE, 2005, pp. 348–353. [8] P. Misra, S. Jha, and D. Ostry, “Improving the coverage range of ultrasound-based localization systems,” in Wireless Communications and NETWORKING Conference, 2011, pp. 605–610. [9] K. Liu, X. Liu, and X. Li, “Guoguo:enabling fine-grained indoor localization via smartphone,” in Proceeding of the International Conference on Mobile Systems, Applications, and Services, 2013, pp. 235–248. [10] L. Girod, M. Lukac, V. Trifa, and D. Estrin, “The design and implementation of a self-calibrating distributed acoustic sensing platform,” in International Conference on Embedded Networked Sensor Systems, 2006, pp. 71–84. [11] C. Peng, G. Shen, Y. Zhang, Y. Li, and K. Tan, “Beepbeep:a high accuracy acoustic ranging system using cots mobile devices,” in International Conference on Embedded Networked Sensor Systems, SENSYS 2007, Sydney, Nsw, Australia, November, 2007, pp. 1–14. [12] C. Knapp and G. Carter, “The generalized correlation method for estimation of time delay,” IEEE Transactions on Acoustics Speech & Signal Processing, vol. 24, no. 4, pp. 320–327, 2003. [13] E. A. P. Habets, “Room impulse response generator,” Technische Universiteitndhoven, vol. 25, no. 2, pp. 1–17, 2010.