Magnitude-Based Angle-Of-Arrival Estimation, Localization, and
Magnitude-Based Angle-Of-Arrival Estimation, Localization, and
KEYWORDS
ABSTRACT Angle-of-arrival, Localization, Tracking, WiFi, Magnitude-based
In this paper, we are interested in estimating the angle of arrival AoA estimation
(AoA) of all the signal paths arriving at a receiver array using
only the corresponding received signal magnitude measurements 1 INTRODUCTION
(or, equivalently, the received power measurements). Typical AoA In recent years, there has been an increasing interest in using Radio
estimation techniques require phase information, which is not avail- Frequency (RF) signals to obtain information about our surround-
able in some WiFi/Bluetooth receivers, and is further challenging ings. Imaging, localization, tracking, occupancy estimation, and
to properly measure in a synthetic antenna array due to synchro- human activity recognition are some of the many RF sensing appli-
nization issues. In this paper, we then show that AoA estimation is cations [3, 5–9, 14, 19, 30]. Localization and tracking, in particular,
possible with only the received signal magnitude measurements. More are crucial techniques that can be useful in many scenarios such
specifically, we first propose a framework, based on the spatial cor- as emergency response, radio navigation, security, surveillance,
relation of the received signal magnitude, to estimate the AoA of and smart homes. Angle of Arrival (AoA) estimation, on the other
signal paths from fixed signal sources (both active transmitters and hand, is an important problem that can be used towards localization
passive objects). Next, we extend our AoA estimation framework and tracking. However, most AoA estimation approaches require
to a dual setting, and further utilize a particle filter, to show how a synchronized phase information, which can not be obtained on a
moving target (both active transmitters and passive robots/humans) synthesized array of off-the-shelf RF transceivers.
can be tracked, based on only the received signal magnitude mea- In this paper, we show how to estimate the AoA of the signal
surements of a small number of fixed receivers. We extensively paths arriving at a receiver array, only from the received signal
validate our proposed framework with several experiments (total magnitude measurements (or, equivalently, the received power
of 22), in both closed and open areas. More specifically, we first measurements). We then propose a unified framework for angular
utilize a robot to emulate an antenna array, and estimate the AoA localization of fixed passive/active objects, as well as tracking of
of active transmitters, as well as passive objects using only the re- passive/active targets, using our magnitude-only AoA estimation
ceived WiFi signal magnitude measurements. We next validate our foundation.
tracking framework by using only three off-the-shelf WiFi devices AoA estimation is a classical problem that has gained a consider-
as receivers, to track an active transmitter, a passive robot that able attention in the field of array signal processing. Many solutions
writes the letters of IPSN on its path, and a walking human. Overall, have been proposed in the literature, including traditional beam-
our results show that AoA can be estimated, with a high accuracy, forming [28], MUSIC [24], and ESPRIT [23]. All of these techniques
with only the received signal magnitude measurements, and can be assume that the received signal phase measurements are available
utilized for high quality angular localization and tracking. and synchronized across the elements of a measurement array. How-
ever, many of the commercial off-the-shelf (COTS) wireless devices
CCS CONCEPTS do not provide stable absolute phase measurements [33], making the
• Hardware → Sensor applications and deployments; Wire- synthesis of a long array not possible due to synchronization issues.
less devices; • Computer systems organization → Sensor net- There have been attempts to stabilize the phase measurements in
works; Robotics; COTS devices (e.g., Intel 5300 WLAN card), but these approaches do
not result in synchronized phase measurements required for array
signal processing [33]. Few works have investigated the problem of
∗ Co-first authors AoA estimation using only the signal power (or equivalently, mag-
nitude) measurements at the array elements. For instance, in [18],
mechanical steering of a directional antenna is utilized, whereas in
[21], special type of antennas that have multiple radiation patterns
are used. Such work, however, require custom-made hardware. As
for array processing techniques using magnitude-only measure-
ments, [15] proposes a sparsity-based optimization problem which
assumes the knowledge of the number of sources, and [26] pro-
poses an algorithm that can only find a function of the differences
between the AoAs, but not the AoAs themselves. Furthermore, the
255
Signal paths obtained by using an array of fixed antennas, or by using an un-
α2 manned vehicle that utilizes its motion to collect measurements
α1 φ2 αN
along a route, thus synthesizing an antenna array. We next propose
φ1 a framework to estimate the AoAs of signals from fixed sources.
φN We present extensive experimental results for estimating the AoAs
y for both active and passive cases.
256
q1 While we have removed the ambiguity due to translation and
mirroring, the previous algorithm can still result in a number of
ψref - q1 ψref = 1 valid solutions. If there is no distance multiplicity, then we can
q2
prove that there will only be two solutions by using ψ ref , when
q2 the number of unknown sources is less than 5 (see the Turnpike
literature [16]). In general, however, there may be more than two
Figure 2: Illustration of the reference point, the positioning
possible solution sets. Next, we show how we can further reduce
of the first point corresponding to q 1 , and the two possible
the number of possible solutions.
valid position choices for ψ 2 , in our proposed approach.
Algorithm 1 Finding all possible angle solutions
function findAllPossibleAngles(Q, ψ ref , N̂ )
sets corresponding to Ψ, given the ordered set of distances Q, the
AoA corresponding to the reference source at ϕ ref = 0◦ , and the 1: Initialize S (1) ← {ψ ref − q 1 ,ψ ref }
estimated number of sources (denoted by N̂ ). We show how to esti- 2: for all 2 ≤ i ≤ M do
mate the number of sources in Sec. 3.1.2. Without loss of generality, 3: S (i) ← S (i−1)
we take the sets Ψ and Q to include the impact of the new added 4: for all sets S ∈ S (i−1) do
reference source at ϕ ref , i.e., Ψ = {ψ ref ,ψ 1 , . . . ,ψ N −1 }. Then, we 5: S 1test ← S ∪ {ψ ref − qi }, and S 2test ← S ∪ {ψ ref − q 1 + qi }
are interested in estimating the angles of the rest N − 1 unknown 6: for all k ∈ {1, 2} do
sources. 7: if D(Sktest ) ⊆ Q then
The rightmost and leftmost extreme points of the set Ψ are de- 8: S (i) ← S (i) ∪ Sktest
fined by ψ ref = 1 and ψ 1 = ψ ref − q 1 , respectively, as shown in 9: end if
Fig. 2. Consider the positioning of the next point ψ 2 , corresponding 10: end for
to q 2 . Fig. 2 shows the two possible valid position choices for it. 11: end for
Both these will result in a valid solution set. Similarly, for each 12: end for
of the remaining distances qi , 3 ≤ i ≤ M, there exist a pair of 13: Ŝ ← {S : S ∈ S (M ) , cardinality(S) = N̂ , D(S) = Q }
positions on the line in Fig. 2, whose distance to the two extreme return Φ̂all = cos−1 Ŝ
points correspond to that qi . It is easy to confirm that these two
positions are the only possible positions given the monotonicity of
the set Q. This observation is the base of our proposed approach, 3.1.2 AoA Estimation with Multiple Routes. In order to reduce
which we detail next. Let the set Ŝ denote the set of all the sets of the ambiguity due to multiple possible solutions obtained using Al-
valid solutions. We start with a valid partial solution, where a Valid gorithm 1, we propose to use another set of measurements collected
Partial Solution (VPS) is a set S such that D(S) ⊆ Q. We then find by a receiver array with a different orientation. This new magni-
all the valid solutions, as follows: tude measurement can be obtained either by another fixed receiver
Initialization: We initialize the set of VPSs with S (1) = {{ψ ref − array or by an unmanned vehicle that moves along a route with a
q 1 ,ψ ref }}, which is the smallest VPS, containing only the two ex- different orientation. This solution is thus particularly suitable for
treme points of Ψ. the case of an unmanned vehicle emulating a receiver array, since
Iteration Update: In iteration i, we place a point at a distance qi traversing two straight routes is a trivial task for an unmanned
from either of the extremes in the existing VPSs. More specifically, vehicle. Fig. 3 shows an example of this scenario. Suppose that
for each set S ∈ S (i−1) , we generate one test set by adding a point the AoAs of the signal sources for the first array configuration are
at a distance qi from the rightmost extreme, and another test set {ϕ n : 1 ≤ n ≤ N }. For the second array that is tilted by an angle Ω
by adding a point at a distance qi from the leftmost extreme. If the in the clockwise direction, the AoAs are now {ϕ n + Ω : 1 ≤ n ≤ N }
pairwise distances of the new sets are a subset of Q, we then add and the reference source has an angle of arrival Ω or equivalently,
these test sets to S (i−1) to generate S (i) . ψ ref = cos(Ω).
Algorithm Termination: The algorithm is terminated after M − 1 Since cosine is not a linear function of its argument, utilizing
iterations, which corresponds to exhausting all the elements of Q. two sets of array measurements results in different sets of pairwise
A set S ∈ S (M ) is a possible solution for Ψ if the cardinality of S is distances Q and Q . Therefore, we can obtain the set of all possible
N̂ and D(S) = Q. We then use all such sets S to generate Ŝ, the final angle solutions individually for Q and Q (using Algorithm 1), and
set of all the possible solutions. Algorithm 1 shows the pseudo-code then take the intersection of the two sets to find the common valid
for this algorithm. solution(s). More specifically, let Φall,1 and Φall,2 indicate the AoA
solution sets for Q and Q respectively. The intersection of the
Remark 1. It can be easily confirmed that the aforementioned two sets Φall,1 and Φall,2 − {Ω} is then our final estimated AoAs.3
algorithm captures all the possible valid solution sets, even when there Intuitively, the chance that the two routes have more than one
are distance multiplicities. possible common set is considerably small. However, it is challeng-
ing to theoretically prove the uniqueness, or derive the conditions
Remark 2. Note that ϕ ref does not have to be necessarily 0◦ . As 3 Notethat in practice, the angles from the two sets Φall,1 and Φall,2 (after subtracting
long as it is the smallest possible angle (i.e., all the other angles are Ω from Φall,2 ) may never be equal, owing to noise or rounding errors. Therefore, we
greater than it), then the previous algorithm works. need to compare the sets within a tolerance level.
257
for the uniqueness of the final solution set. Thus, we leave any Unknown active
such proof to future work. However, we have observed through or passive object Unknown active
or passive object
extensive simulations for up to 8 signal sources that our algorithm
results in a unique solution for the AoA estimation problem. Fur-
thermore, if there is more than one solution set in the common set,
we can collect measurements along another array route to obtain
Rou
te 2 φ2
a unique solution. This online strategy is in particular suitable for φ1
the case of an unmanned vehicle emulating an array. We note that Route 1 Ω
our proposed strategy is computationally very efficient. We report Reference source
on sample times in the next section. We next discuss some aspects
of the proposed approach. Figure 3: Framework for AoA estimation using two routes. Re-
Criteria for Choosing Ω: The orientation of the second array, ceived signal magnitude measurements are collected along two ar-
Ω, determines the extent of dissimilarity between the sets Q and rays in order to reduce the ambiguity due to multiple sets of possible
solutions to the AoA estimation problem.
Q , where a larger Ω is likely to result in a higher dissimilarity.
Therefore, it is preferable to use as large an Ω as possible. However,
we require all the sources in the area to lie on one side of the source at ϕ ref . This case is in particular relevant when we are inter-
receiver array (i.e., upper half plane) in the second configuration as ested in estimating the direction of passive objects. Then, the trans-
well. Therefore, we can use the first set of distances Q, to estimate mitted reference signal will bounce off of these objects and reach
the largest AoA at the first receiver array as ϕ max = cos−1 (1 − q 1 ). the receiver array with a considerably smaller power than that of
This implies that the possible range of values for Ω is 0 < Ω < the path from our reference transmitting source. In such a case, the
180◦ − ϕ max . Note that if ϕ ref for the first route was ϕ min > 0 AoA estimation problem is easier to solve, as we show next.
instead of 0, where ϕ min is smaller than all source angles, then Consider N − 1 unknown sources where the paths arriving from
the condition for Ω becomes −ϕ min < Ω < 180◦ − ϕ max , where them at the receiver array have a lower power as compared to the
ϕ max = cos−1 (cos(ϕ min ) − q 1 ). reference source. This can happen for both the cases of active and
Choice of Number of Sources: Given a set of unique distances Q passive sources. In the active case, this can happen when the active
and Q , we are interested in estimating the AoAs corresponding to transmitters have a lower power as compared to our reference
the smallest number of sources that can result in the two sets of source. On the other hand, the passive case results in a dominant
distances. For N sources, the maximum number of possible pairwise
reference source almost all the time. Then, from Eq. 3, we can see
distances is N2 . Suppose that the cardinality of sets Q and Q are that the pairwise coefficients Cm,n that correspond to the reference
M and M . Therefore, the estimated number of sources N̂ should source and an unknown source would be the only significant peaks
satisfy M ≤ N̂2 and M ≤ N̂2 , which translate to the conditions: in the spectrum. More specifically, if the dominant reference source
√ √
N̂ ≥ 1+ 1+8M and N̂ ≥ 1+ 1+8M . Hence, we set N̂ min as the with a higher power is at 0◦ , and the unknown sources are at angles
2 2 {ϕ 1 , . . . , ϕ N −1 }, then the estimated differences from the spectrum
smallest integer satisfying the previous two inequalities.
are Q = {1−cos(ϕ 1 ), . . . , 1−cos(ϕ N −1 )} since the rest of differences
We start by assuming that we have N̂ = N̂ min sources. We then
will have negligible peaks. Therefore, we can directly estimate the
solve for the AoAs for the sets Q and Q separately, using the
AoAs corresponding to the unknown sources as {cos−1 (1 − q) : q ∈
approach of Sec. 3.1 (Algorithm 1). If the intersection of Φall,1 and
Q }.
Φall,2 − {Ω} is an empty set, we then need to increase N̂ by 1, until
We next experimentally validate our proposed framework with
we get a non-empty intersection set of solutions.
several experiments for estimating the AoAs of both the active and
Remark 3. It is highly unlikely that adding an element ψ new to passive signal sources.
the true set Ψ or taking out one element of it will produce the same Q
and Q respectively for both the routes. Hence, it is highly unlikely 3.2 Experimental Results for the Case of Fixed
that using any N̂ other than the true N will produce non-empty Sources/Objects
intersection set of solutions. In this section, we present our experimental results and show the
performance of our proposed framework for estimating the AoA in
Remark 4. For the case where we are interested in finding all the three scenarios: (a) fixed active (transmitting) sources, (b) fixed ac-
√with only one measurement array, N̂ can be chosen
valid solutions tive sources with a dominant reference source, and (c) fixed passive
as N̂ min = 1+ 1+8M
2 , which corresponds to the smallest number of objects. In the experiments, we use a TP-Link AC1750 WiFi router
sources that could have resulted in a cardinality of M for Q. If the as a transmitter. The router operates in the 5 GHz band. The output
current N̂ does not result in a valid solution, we then keep increasing signal of the router is split into N branches using a power divider, in
N̂ by 1 until we get a non-empty solution set. order to create N signal sources for the fixed active source scenario.
We use a laptop with Intel 5300 NIC WLAN card as the receiver. The
laptop measures the magnitude of the WiFi Channel State Informa-
3.1.3 Solution for the Special Case of Dominant Reference Source. tion (CSI) using Csitool [10].4 The laptop is mounted on a Pioneer
Consider the case that the signals from the unknown signal sources 4 Note that the CSI magnitude captures the channel gain, which can be used as an
are of lower transmission power as compared to the reference alternative to the received signal magnitude, without affecting our framework.
258
1
Ref. source Route 1 ( = 0°)
0.8 Route 2 ( = 25°)
0.6
0.4
Robot
0.2
Unknown sources
0
(a) 0 0.5 1 1.5 2
259
the case where phase can be additionally measured in the receiver.
Passive objects More specifically, we performed a set of 5 active-source experi-
ments using USRP N210 Software Defined Radio (SDR) platforms
[20], thus measuring both the received signal magnitude and phase.
We then estimated the AoAs of signals arriving from the active
Ref. source sources by using the additional phase information and traditional
Robot beamforming. The resulting MAE of AoA estimation when addi-
tional phase information was available was 0.93◦ . On the other
(a) hand, the corresponding MAE, using our proposed AoA estimation
Humans framework and with only magnitude measurements, was 1.76◦ .
Passive objects
This shows that our proposed approach that uses only signal mag-
nitude has a performance comparable to the case where additional
phase information is available.
Overall, our proposed framework can accurately estimate the
Robot Ref. source AoA of fixed active sources as well as passive objects, using only
Robot Ref. source
magnitude of the received signal measurements. Our approach is
(b) (c) also computationally efficient. For instance, it took an average of
0.45 seconds (averaged over all the 14 presented results) to find the
Figure 6: Experimental setup for the AoA estimation (estimation final solution in MATLAB.
of the direction) of passive sources in various areas on our campus: Next, we show how our AoA estimation framework can be
(a)–(b) passive objects, and (c) humans. adapted to track a moving target (both active and passive).
1
4 TRACKING A MOVING TARGET
0.8 In this section, we show how our proposed magnitude-only AoA
estimation approach can be deployed to track a moving active or
0.6
passive target, using only the magnitude of the received signal at a
0.4 small number of receivers. By an active moving target, we mean a
moving transmitter, such as a moving vehicle that emits a signal as it
0.2 moves. A passive target, on the other hand, refers to a moving object
0
that has no transmitter on board, such as a moving human or robot
10 30 50 70 90 110 130 150 170 that does not emit any signal. We first show the duality between the
target tracking problem and the previous AoA estimation problem
of fixed sources. Then, we show that using the aforementioned
Figure 7: A sample normalized spectrum of the auto-correlation of
magnitude measurements for the passive case of two humans in the
methodology, in conjunction with motion dynamics, can localize
area of Fig. 6 (c), using only one robotic array. Dashed lines repre- and track a moving target. We start by discussing the active target
sent the true AoAs. tracking scenario.
Active Target Tracking: Consider the scenario shown in Fig.
True AoAs Estimated AoAs 8 (a), where a known fixed receiver (Rx) receives wireless signals
{90, 120} {92.38, 124.2} ⎫
⎪ from a known fixed transmitter (Txfix ) and an unknown moving
⎬
⎪ active transmitter (Txmov ). Txmov moves with a constant speed, v,
{90, 110} {89.14, 111.4} 2 objects
⎪
⎪ along a line that makes an angle θ ◦ with the x-axis, and an angle
{45, 90} {42.18, 80.14} ⎭
{45, 69, 90} {46.68, 64.88, 86.66} ϕ r with the line connecting Txmov and Rx, as shown in the figure.
3 objects The total baseband received signal at the receiver at time t, c(t),
{90, 110} {89.14, 111.4} 2 humans
MAE 2.99◦ will then be,
Table 2: Summary of the AoA experimental results (angular local- c(t) = α 1e j μ 1 + α 2e j ( μ 2 − vψ r t )
2π
λ + η(t), (4)
ization) for the case of passive objects/humans, using one robotic
array. where α 1 , α 2 are the amplitudes of the paths from Txfix and Txmov ,
respectively. Parameter μ 1 is the phase of the signal arriving from
shown in Fig. 7. As can be seen, the peaks in the spectrum are Txfix , μ 2 is the phase of the signal from Txmov when the moving
located at angles 89.14◦ and 111.4◦ , which are very close to the target is at its initial position (t = 0), v is the speed of Txmov , and
true angles, resulting in an MAE of 1.13◦ . Table 2 summarizes the ψr = cos(ϕ r ). By comparing Eq. 4 and Eq. 1, we can see the equiva-
results of 5 different experiments for passive objects, carried out in lence between the two equations, where Eq. 4 can be considered
the three locations shown in Fig. 6. The overall MAE is 2.99◦ over a special case of Eq. 1 with N = 2 sources, ψ 1 = 0 and ψ 2 = ψr .
all the passive experiments, indicating a very good accuracy. Basically, the magnitude-only tracking problem can be considered
as the dual of our previous AoA estimation problem, where the
3.2.4 Performance with Additional Phase Information. We next
moving transmitter Txmov synthesizes a transmit array, and the
compare the performance of our magnitude-only approach with
260
Txfix (xT , yT) Txfix (xT , yT)
ν1(2) Rx1 ν1(2) Rx1
Rx (xr , yr) Rx (xr , yr) -ν2(2)
α1 α1
φr1 φr1
ν1(1) ν1(1)
y φr1 φr1
α3
α2 α2 ν2(1)
-ν1(1) -ν1(1) φr2
x f φT f φr2
tion o φr tion o -ν2(1)
φr Direc n Direc n
motio motio
θo θo
-ν1(2) -ν1(2) ν2(2) Rx2
261
is related to the state of the target as, important for discarding low weight particles, as mentioned be-
x − x (t) cos (θ (t)) + y − y (t) sin (θ (t)) fore. Step 7 is where the motion dynamics are enforced into the
r ◦ ◦ ri ◦ ◦
|ψr i (t, xt )| = i
ˆ + tracking problem. The resampled particles are evolved according
(x r i − x ◦ (t))2 + (yr i − y◦ (t))2 to the motion model in Eq. 8. This is a very simple and intuitive
(xT − x ◦ (t)) cos (θ ◦ (t)) + (yT − y◦ (t)) sin (θ ◦ (t)) way of producing the proposal density of particles of the next time
+ w r i (t). instant. After the tracking period T is over, the estimated track of
(xT − x ◦ (t))2 + (yT − y◦ (t))2
the object E{xt |Ψ1:t } | t =1:T is smoothed by passing it through a
(7) spatial moving average filter.
For the dynamics of xt , we adopt a simple constant-speed motion
model, xt +1 = д(xt ), as follows: Algorithm 2 Particle filter for motion tracking
x ◦ (t + 1) = x ◦ (t) + v cos(θ ◦ (t)) + w x ◦ (t + 1), Input: Total tracking time T , Number of particles I , Measurements
Ψ1:T
y◦ (t + 1) = y◦ (t) + v sin(θ ◦ (t)) + wy◦ (t + 1), Output: Estimate of the target states x̂1:T .
θ ◦ (t) w.p. Pc 1: Initialize t = 1
θ ◦ (t + 1) = w θ ◦ (t + 1) + (8) [i]
∼ U(0, 2π ) w.p. 1 − Pc , 2: Sample x1 ∼ ζ 1 (x1 ) for i = 1, 2, . . . , I
[i] [i]
3: Compute the importance weights w̃ 1 = p(Ψ1 |x1 = x1 ) and
where w x ◦ , wy◦ , w θ ◦ are the noise processes for the three compo- [i ]
[i] w̃ 1
nents of the target state x ◦ , y◦ , and θ ◦ , respectively, and Pc is the normalize w 1 = I [i ]
probability of the target maintaining the same bearing as the previ- i =1 w̃1
I [i] [i]
ous time instant. Eq. 8 along with Eq. 6, or Eq. 7, then defines the 4: Estimate the initial target state x̂1 = E{x1 |Ψ1 } = i=1 w 1 x1
nonlinear dynamical system of the tracking problem.
To estimate the state of the moving target, we compute the con- 5: for 2 ≤ t ≤ T do
[i]
ditional probability of the target having a state xt given all the 6: Sample x̃t −1 , for i = 1, . . . , I, from the distribution defined
measurements up to time t, p(xt |Ψ1:t ). In the filtering literature, [i] [i]
by p(x̃t −1 = xt −1 ) = w t −1 .
this probability is referred to as the filtering Probability Density Func- [i] [i]
7: Sample xt ∼ д(x̃t −1 )
tion (PDF). Then, we use the mean of this PDF, E{xt |Ψ1:t }, as the
[i] [i]
estimate for the target state at time t. Since the dynamical system is 8: Compute the importance weights w̃ t = p(Ψt |xt = xt )
[i ]
nonlinear, we utilize particle filtering to compute the filtering PDF [i] w̃ t
and normalize w t = I [i ]
[25]. We next briefly discuss the particle filtering algorithm. In a Par- i =1 w̃t
I [i] [i]
ticle Filter (PF), a probability distribution is represented by a set of 9: Estimate the target state x̂t = i=1 w t xt
random samples, called particles, drawn from that distribution. Such 10: end for
a representation is desirable because it can easily model nonlinear
transformations of random variables, which makes it particularly
suitable for the problem at hand. The basic idea of a PF is that, at 4.2 Tracking Experimental Results
each time instant, samples (or particles) are drawn from a proposal In this section, we present experimental results for our proposed
[i]
distribution xt ∼ ζt (xt ), i = 1, . . . , I , where I is the total number framework for target tracking, using only the received signal mag-
[i] nitude at the receiver. We use a similar setup to the one in Sec. 3.2,
of particles. Those particles are then given importance weights, w t ,
that describe how well they fit the current measurement Ψt . That for transmission and reception, with three laptops as receivers. The
set of weighted particles represent the filtering PDF p(xt |Ψ1:t ) at router operates in the WiFi 5GHz band. All laptops are equipped
time t. Afterwards, a resampling step is performed. This step is with Intel 5300 NIC WLAN card and use Csitool to measure the
crucial in order to neglect particles with very low weights (very WiFi CSI [10]. Since the target is moving and can change its direc-
low probability of producing the current measurement) and focus tion anytime, we use the framework of Sec. 2 on a moving time
more on particles with high weights. Specifically, a new set of I window, Twin , of the CSI magnitude time series. More specifically,
[i]
particles are drawn from the distribution defined by w t over the for each window, we extract |ψr | from the location of the peak of
[i] the spectrum of the received signal magnitude auto-correlation
values of xt . The readers are referred to [25] and [27] for more on
within this window. These measurements are then aggregated and
PF.
processed offline to estimate the track of the target (see Remark 6 on
The PF for our framework is described in Algorithm 2. In step 2,
online tracking). Note that the receivers are not time-synchronized
we draw the particles of the initial state from an initial distribution
and operate independently, where each receiver logs CSI from pack-
ζ 1 (x1 ), which can depend on any prior information we may have
ets that are broadcast on the network. We achieve this by using
about the initial state of the target (or is taken to be uniform when
iPerf tool [12] to broadcast packets from the transmitter. We next
no prior information is available). Then, step 3 calculates the im-
discuss practical considerations that arise in the experiments before
portance weight of each particle as the probability of getting the
presenting our results.
measurement Ψ1 , given that the state of the target is this particle.
This probability can be easily calculated using the measurement 4.2.1 Practical Considerations.
model in Eq. 6 or 7 (depending on whether an active or passive • Window Length: As a compromise between having a larger Twin
target is being tracked). Step 6 is the resampling step, which is for better frequency resolution (i.e., longer array length), and a
262
0 0
-1
-2
-2
Rx3
Y (m)
-3
Y (m)
-4
-4
Rx1 Rx2
Rx2 Txmov
Txfix position -5
Txmov -6
Rx positions -6
Rx3 True path
Estimated Path -8 Rx1 -7
-4 -2 0 2 4 -4 -2 0 2 4
X (m) X (m)
(a) (b)
Figure 10: (a) (left) A robot with an active transmitter Txmov is being tracked by 3 receivers in an open area, and (a) (right) an accurate
reconstruction of the tracking route using our proposed framework. (b) (left) A robot with an active transmitter is being tracked by three
receivers in a closed area, and (b) (right) an accurate reconstruction of the tracking route using our proposed framework.
263
0 0 0 0
-2 -2 -2 -2
Y (m)
Y (m)
Y (m)
Y (m)
-4 -4 -4 -4
Txfix position
-6 -6 Rx positions -6 -6
Estimated Path
True Path
-8 -8 -8 -8
-8 -6 -4 -2 0 -8 -6 -4 -2 0 0 2 4 6 8 -8 -6 -4 -2 0
X (m) X (m) X (m) X (m)
Figure 12: Passive robot tracking results for a robot that writes the letters of IPSN on its route, in the two areas of Fig. 11. The letters I and P
were tracked in the closed area of Fig. 11 (left), while the letters S and N were tracked in the open area of Fig. 11 (right).
0
1
-1
0.8
-2
Y (m)
0.6
CDF
-3
Rx3 Rx2
Rx1 Txfix Txfix position
-4 0.4
Rx positions Active robot tracking
-5 Estimated Path 0.2 Passive robot tracking
True Path
-6 Passive human tracking
-4 -2 0 2 4
X (m) 0
0 0.2 0.4 0.6 0.8 1 1.2
Estimation Error (m)
Figure 13: (left) The experimental setup for the passive human
tracking scenario and (right) the estimated route of the human us- Figure 14: CDFs of the tracking error of our framework for ac-
ing our proposed framework. tive transmitter tracking, passive robot tracking and passive human
tracking. Our proposed framework achieves a decimeter-level accu-
human speed (assumed to be 0.8 m/s) is higher than the robot racy for all the different scenarios.
speed, we use a laptop for the fixed transmitter, instead of a router,
takes about 9 ms to aggregate the data of the three receivers. Thus,
in order to have a higher sampling rate. Since the human body
the required time for the data aggregation is less than the required
is not a strong reflector, we use the 2.4 GHz band for the human λ ), allowing the central
experiments in order to have a smaller path loss attenuation. Fig. 13 channel sampling time at the receivers ( 4v
(right) shows the human tracking result. It can be seen that our processor to aggregate the data from all the receivers before the next
proposed framework accurately tracks the person’s complicated channel sampling instant. Hence, the data aggregation process does
route, with an MAE of 30.26 cm. Similar to the passive robot tracking not add any latency to the system.
case, we do not know the exact location where the signal might
have bounced off of the human body. Thus, by assuming the human 5 LIMITATIONS AND FUTURE EXTENSIONS
to be a cylinder of radius 20 cm, we calculate the error as the In this paper, we have proposed an approach that has enabled AoA
minimum distance between the estimated position and the edge of estimation and target tracking using only the magnitude of the
the cylinder at each time step. wireless signals, which is an extremely challenging problem. Here
Fig. 14 shows the Cumulative Distribution Function (CDF) curves are some possible directions to further extend this work:
of the absolute tracking estimation error, for both the active and
• Validation in more complex environments: In this paper,
passive cases. It can be seen that our proposed framework achieves
we validated our framework with several experiments in Line-of
a good tracking quality, with only WiFi magnitude measurements
sight (LOS) settings, in both open and closed areas. However,
at 3 receivers (i.e., 3 links).
more complex spaces can result in a non line-of-sight (NLOS) op-
Our proposed framework of tracking using a PF is very efficient
eration, to which our framework is extendable. A more detailed
and of very low computational complexity. More specifically, the
analysis and testing of the proposed methods in through-wall set-
average run-time per 1 m of tracking length is 1.05 sec, over all
tings is part of our future work. As for multipath, more complex
the experiments. This is in contrast to the state-of-the-art tracking
environments can also experience a high level of multipath. As
systems [17, 22], which use 6 links to achieve comparable tracking
mentioned in Remark 5, and showcased by our results in closed
accuracy (38 cm MAE in [22] and 35 cm median error in [17]), and
spaces, multipath does not affect our tracking framework. As
where high computational complexity has been reported.
part of our future work, we plan to test our framework in more
Remark 6 (on Data Aggregation Latency). For a real-time indoor spaces that can experience a high level of multipath.
implementation, a central processor needs to aggregate measurements • Multiple target tracking: Our proposed tracking framework
from the 3 receivers, in order to process them and track the moving has enabled tracking of a single moving target, even in the pres-
target online. According to the state-of-the-art [2], such a process ence of other static targets in the area. For the case of multiple
moving targets, more than one peak will appear in the frequency
264
spectrum. As part of our future work, we can extend the tracking [4] S. Chang, R. Sharan, M. Wolf, N. Mitsumoto, and J. Burdick. 2009. UWB radar-
based human target tracking. In IEEE Radar Conference, 2009.
framework to simultaneously track a number of moving targets. [5] Y. Chen, D. Lymberopoulos, J. Liu, and B. Priyantha. 2012. FM-based indoor
localization. In Proc. of the 10th ACM International Conf. on Mobile Systems,
6 CONCLUSIONS Applications, and Services.
[6] S. Depatla, L. Buckland, and Y. Mostofi. 2015. X-ray vision with only WiFi power
In this paper, we have considered the problem of estimating the measurements using rytov wave models. IEEE Trans. on Vehicular Technology 64,
angle of arrival (AoA) of all signal paths arriving at a receiver 4 (2015), 1376–1387.
[7] S. Depatla, A. Muralidharan, and Y. Mostofi. 2015. Occupancy estimation using
array using only the received signal magnitude measurements. We only WiFi power measurements. IEEE J. on Selected Areas in Communications 33,
have proposed a computationally-efficient framework, based on 7 (2015), 1381–1393.
the auto-correlation of the magnitude measurements, to solve the [8] A. Gonzalez-Ruiz, A. Ghaffarkhah, and Y. Mostofi. 2014. An integrated framework
for obstacle mapping with see-through capabilities using laser and wireless
AoA estimation problem. We have experimentally validated our channel measurements. IEEE Sensors J. 14, 1 (2014).
AoA estimation framework in closed and open areas, and showed a [9] A. Gonzalez-Ruiz and Y. Mostofi. 2013. Cooperative robotic structure mapping
mean absolute error of 2.12◦ for the active source case, and 2.99◦ for using wireless measurements- a comparison of random and coordinated sampling
patterns. IEEE Sensors J. 13, 7 (2013), 2571–2580.
passive objects. Furthermore, we have adapted the magnitude-based [10] D. Halperin, W. Hu, A. Sheth, and D. Wetherall. 2011. Tool release: Gathering
AoA estimation approach to track an active/passive moving target. 802.11n traces with channel state information. ACM SIGCOMM CCR 41, 1 (Jan.
2011), 53.
Our tracking framework was experimentally validated in various [11] Mobile Robots Inc. 2010. Pioneer 3-AT. (2010). http://www.mobilerobots.com
closed and open areas, with only three receivers, and showed good [12] IPERF. 2017. iPerf Network Measurement Tool. (2017). https://iperf.fr/
tracking accuracy, with an overall MAE of 20 cm for active target [13] W. C. Jakes and D. C. Cox. 1994. Microwave mobile communications. Wiley-IEEE
Press.
tracking, 23.27 cm for passive robot tracking, and 30.62 cm for [14] C. R. Karanam and Y. Mostofi. 2017. 3D through-wall imaging with unmanned
passive human tracking. aerial vehicles using WiFi. In Proc. of the 16th ACM/IEEE International Conf. on
Information Processing in Sensor Networks.
[15] H. Kim, A. M. Haimovich, and Y. C. Eldar. 2015. Non-coherent direction of arrival
ACKNOWLEDGMENTS estimation from magnitude-only measurements. IEEE Signal Processing Letters
22, 7 (2015), 925–929.
The authors would like to thank the anonymous reviewers and the [16] P. Lemke, S. Skiena, and W. Smith. 2003. Reconstructing sets from interpoint
shepherd for their valuable comments and helpful suggestions. This distances. In Discrete and Computational Geometry. Springer, 597–631.
work is funded by NSF CCSS award # 1611254. [17] X. Li, D. Zhang, Q. Lv, J. Xiong, S. Li, Y. Zhang, and H. Mei. 2017. IndoTrack:
Device-free indoor human tracking with commodity Wi-Fi. Proc. ACM Interact.
Mob. Wearable Ubiquitous Technol. 1, 3 (2017), 72.
A MAGNITUDE AUTO-CORRELATION [18] J. P. Lie, T. Blu, and C. M. S. See. 2010. Single antenna power measurements based
direction finding. IEEE Trans. on Signal Processing 58, 11 (2010), 5682–5692.
Let c I (d) and c Q (d) be the real and imaginary parts of c(d). The [19] G. Mao, B. Fidan, and B. Anderson. 2007. Wireless sensor network localization
auto-correlation function of c I (d) can be written as techniques. Computer Networks 51, 10 (2007), 2529–2553.
265