Wireless Communication Systems
@CS.NCTU
Lecture 6: Localization
Instructor: Kate Ching-Ju Lin (林靖茹)
1
Type of Approaches
• RSSI-based
• Angle of Arrival (AoA)
• Time of Flight (ToF)
• Time Difference of Arrival (TDoA)
2
RF-based Localization
• See through walls
⎻ WiVi (SIGCOMM’13)
• ToF-based localization
⎻ WiTrack (NSDI’14, NSDI’15)
• AoA-based localization
⎻ ArrayTrack (NSDI’13)
3
Can you use WiFi to get X-ray vision?
Key Idea
Tracking people from their reflections
Challenges
Wall refection is 10,000x stronger than reflections coming from behind the wall How to separate the person’s reflections
from the reflections of other objects?
WiVi [SIGCOMM’13]
• How to eliminate the wall’s reflections?
⎻ Leverage multiple antennas to perform interference nulling
• How to track users using reflections?
⎻ Deem a mobile user as a virtual antenna array reflecting the signals
7
• Idea: transmit two waves that cancel each other when they reflect off static objects
but not moving objects
Wall is static
People tend to move
disappears
detectable
Eliminating Static Reflection
Eliminating via Multiple Antennas
Transmit antennas Receive
antenna
αx
x
Eliminating via Multiple Antennas
h 2 h 1
y = h
1x + h
2αx 0
α = -h
1/ h
2αx x
Cancel strong
reflections from walls
Eliminating All Static Reflections
✘ ✘
Only the reflections from mobile
users survive à Why?
Eliminating All Static Reflections
y = h
1x + h
2αx
Static objects (wall, furniture, etc.) have constant channels
y = h
1x + h
2(- h
1/ h
2)x 0
People move, therefore their channels change
y = h
’1x + h
’2(- h
1/ h
2)x
Not Zero
h
2h
1αx
x
WiVi [SIGCOMM’13]
• How to eliminate the wall’s reflections?
⎻ Leverage multiple antennas to perform interference nulling
• How to track users using reflections?
⎻ Deem a mobile user as a virtual antenna array reflecting the signals
13
Tracking Motion
θ
Antenna Array RF source
Direction of reflection
Direction of motion
θ
Antenna Array
Tracking Motion
At any point in time, we
have a single measurement
Direction of motion
Tracking Motion
θ
Antenna Array
θ
Direction of motion
Tracking Motion
θ
Antenna Array
θ
Direction of motion
Human motion emulates antenna array
à Inverse synthetic aperture radar (ISAR)
How to Calculate the Direction?
• Say we have w consecutive channel measures h[n], …, h[n+w] from time n to (n + w)
• The signal along the direction θ at time n is given by
• The direction can be found by
18
A[✓, n] =
X
w i=1h[n + i]e
j 2⇡ i sin ✓✓
⇤= arg max
✓
A[✓, n]
spatial separation between successive antennas
How to get Δ given that
user location is unknown?
Tracking Users
• Rough estimation Δ = vT, where v is user mobility (~1m/s)
• WiVi only tracks users, instead of localizing them
⎻ Only need to know whether the user is moving closer or away from the device
19
Figure 2—Time samples as Antenna Arrays. Wi-Vi groups consecutive time samples into overlapping windows of size w, then treats each window h[n] . . . h[n + w] as an antenna array. This allows it to track the direction of a moving object with respect to the receiver.
Wi-Vi, however, avoids using an antenna array for two reasons:
First, in order to obtain a narrow beam and hence achieve a good resolution, one needs a large antenna array with many antenna ele- ments. This would result in a bulky and expensive device. Second, since Wi-Vi eliminates the flash effect using MIMO nulling, adding multiple receive antennas would require nulling the signal at each of them. This would require adding more transmit antennas, thus making the device even bulkier and more expensive.
To capture the benefits of an antenna array while avoiding its drawbacks, Wi-Vi leverages a technique called inverse synthetic aperture radar (ISAR). ISAR exploits the movement of the tar- get to emulate an antenna array. Existing systems which use an- tenna arrays capture the signal reflected off a target from spatially spaced antennas and processes this information to identify the di- rection of the target with respect to the array. In contrast, in ISAR, there is only one receive antenna; hence, at any point in time, the receiver captures a single measurement. However, as the target moves, he/she samples the received signal at successive locations in space, as if we had a receive antenna at each of these points. Fur- thermore, because of channel reciprocity, successive time samples received by Wi-Vi correspond to successive spatial locations of the moving target. Hence, Wi-Vi effectively receives in time what an antenna array would receive in space. By treating consecutive time samples as spatial samples, Wi-Vi can emulate an antenna array and use it to track motion behind the wall.
In what follows, we formalize the above discussion. Let y[n] be the signal sample received by Wi-Vi at a discrete time point n. De- fine the spatial angle θ as the angle between the line connecting the human to Wi-Vi and the normal to the motion, as shown in Fig. 1(b).
Note that the sign of θ is positive when the vector from the human to Wi-Vi and the vector of the motion are in the same direction, and negative when these two vectors are in opposite directions.
We are interested in computing A[θ, n], a function that measures the signal along the spatial direction θ at time n. To compute this value, Wi-Vi first processes the received samples to remove the ef- fect of the transmitted signal, and obtain the channel as a func- tion of time, i.e., h[n] = y[n]/x[n]. To emulate an antenna array of size w, Wi-Vi considers w consecutive channel measurements h[n] . . . h[n + w], as shown in Fig. 2. Wi-Vi then computes A[θ, n]
by applying standard antenna array equations [34] as follows:
A[θ, n] =
!
w i=1h[n + i]e
j2πλ i∆ sin θ, (4)
where λ is the wavelength, and ∆ is the spatial separation between successive antennas in the array.
7At any point in time n, the value of θ that produces the highest value in A[θ, n] will correspond to the direction along which the object is moving.
To compute A[θ, n] from the above equation, we need to estimate
∆, the antenna spacing in the emulated array. Since human motion emulates the antennas in the array, ∆ = vT, where T is Wi-Vi’s
7
∆ is twice the one-way separation to account for the round-trip time.
n=0
n=0 n=3n=3
n=4 n=
n=5=5 n=
4
(a) Experimental Setup
(b) Wi-Vi’s output
Figure 3—Wi-Vi tracks a single person’s motion. (a) shows the experi- mental setup of a trial which consisted of a single person moving around in a conference room. (b) shows how Wi-Vi is able to track the motion of the person by computing the variation of the inverse angle of arrival with time, i.e. A
′[θ , n] for θ in [−90
◦, 90
◦].
sampling period, and v is the velocity of the motion. Of course, Wi-Vi does not know the exact speed at which the human is mov- ing. However, the range of speeds that humans have in a confined room is fairly narrow. Hence, we can substitute a value for v that matches comfortable walking (our default is v = 1m/s [10]). Note that errors in the value of v translate to an underestimation or an overestimation of the exact direction of the human.
8Errors in ve- locity, however, do not prevent Wi-Vi from tracking that the human is moving closer (i.e., angle is positive) or moving away from the Wi-Vi device (angle is negative). In other words, because we do not know the exact v, we cannot pinpoint the location of the human, but we can track her/his relative movements.
Fig. 3 shows results from one of our experiments. In particular, 3(a) shows a diagram of the movement, and 3(b) plots the mag- nitude of A[θ, n] (in dB) as a heat map. There are two lines in Fig. 3(b): the first one is a zero line, which represents the DC (i.e., the average energy from static elements).
9This line is present re- gardless of the number of moving objects. Second, there is a curved line with a changing angle. This line tracks the human motion.
Around n = 0 seconds, the person starts moving towards the Wi-Vi device. As a result, the spatial angle θ is positive and decreasing. (It is positive because the vector of motion and the line from the hu- man to Wi-Vi are in the same direction, and it is decreasing because the absolute angle between the normal on the motion and the line
8
For example, in one of our experiments, Wi-Vi estimated the human’s di- rection of motion at 30
◦when the actual direction was 40
◦but she was moving at a speed around 1.2m/s
9
Recall that nulling mitigates these reflections so that they do not saturate the receiver’s ADC, enabling Wi-Vi to register the minute channel variations due to moving objects behind the wall. However, minuscule errors in chan- nel estimates during the nulling phase would still be registered as a residual DC by Wi-Vi.
positive angle, decreasing à moving closer
negative angle, increasing à moving away
Tracking Multiple Persons
• Human mobility is continuous!
20
from the human to Wi-Vi is getting smaller.) Around n = 1.8s, the person crosses in front of the Wi-Vi device, at which time his an- gle becomes zero. From n = 1.8s to n = 3s, the person is moving away from Wi-Vi, and hence, his angle is negative. But the abso- lute value of the angle is decreasing. At n = 3, the person turns and starts moving inward, causing the angle to go back toward zero, but the signal becomes weaker as he is now relatively far from the Wi-Vi receiver.10
5.2 Tracking Multiple Humans
In this section, we show how Wi-Vi extends its tracking proce- dure to multiple humans. Our previous discussion about using hu- man motion to emulate an antenna array still holds. However, each human will emulate a separate antenna array. Since Wi-Vi has a single antenna, the received signal will be a superposition of the antenna arrays of the moving humans. In particular, instead of hav- ing one curved line as in Fig. 3(b), at any time, there will be as many curved lines as moving humans at that point in time.
However, with multiple humans, the noise increases signifi- cantly. On one hand, each human is not just one object because of different body parts moving in a loosely coupled way. On the other hand, the signal reflected off all of these humans is correlated in time, since they all reflect the transmitted signal. The lack of inde- pendence between the reflected signals is important. For example, the reflections of two humans may combine systematically to dim each other over some period of time.
The problem of disentangling correlated super-imposed signals is well studied in signal processing. The basic approach for process- ing such signals relies on the smoothed MUSIC algorithm [31, 39].
Similar to the standard antenna array processing in Eq. 4, smoothed MUSIC computes the power received along a particular direction, which we call A′[θ, n] because it estimates the same function in Eq. 4 but in manner more resilient to noise and correlated sig- nals [34].
For a given antenna array h = (h[n], . . . , h[n + w]) of size w, MUSIC first computes the w × w correlation matrix R[n]:
R[n] = E[hhH], (5)
where H refers to the hermitian (conjugate transpose) of the vector.
It then performs an eigen decomposition of R[n] to remove the noise and keep the strongest eigenvectors, which in our case correspond to the few moving humans, as well as the DC value. For example, in the presence of only one human, MUSIC would produce one main eigenvector (in addition to the DC eigenvector). On the other hand, if 2 or 3 humans were present, it would discover 2 or 3 eigenvectors with large eigenvalues (in addition to the DC eigenvector). MUSIC partitions the eigenvector matrix U[n] into 2 subspaces: the signal space US[n] and the noise space UN[n], where the signal space is the span of the signal eigenvectors, and the noise space is the span of the noise eigenvectors. MUSIC then projects all directions θ on the null space, then takes the inverse. This causes the θ’s corresponding to the real signals (i.e., moving humans) to spike. More formally,
10Interestingly, even when the direction of motion is perpendicular to the line connecting the person to the device, Wi-Vi registers this motion (note how the DC line is much wider at n = 5 than at n = 0). This is because Eq. 4 approximates Wi-Vi as a monostatic radar, i.e., it simplifies the model by assuming all antennas are co-located. A more detailed model that accounts for the fact that the antennas are not completely co-located shows that for a trajectory to be invisible (i.e., coincide with the DC line) two conditions have to hold: (1) the person moves on an ellipse whose foci are the first transmit antenna and the receive antenna, (2) she moves on an ellipse whose foci are the second transmit antenna and the receive antenna. However, the locus of such motion is discontinuous.
Figure 4—Wi-Vi tracks the motion of two humans. The figure shows how the presence of two humans translates into two curved lines whose angles vary in time, and one straight line which corresponds to the DC.
MUSIC computes the power density along each angles θ as:
A′[θ, n] = 1
!K
k=1 ||!w
i=1 e−j2πλ i∆ sin θUN[n](i, k)||2. (6) where K is the total number of noise eigenvectors.
In comparison to the conventional MUSIC algorithm described above, smoothed MUSIC performs an additional step before it com- putes the correlation matrix. It partitions each array h of size w into overlapping sub-arrays of size w′ < w. It then computes the cor- relation matrices for each of these sub-arrays. Finally, it combines the different correlation matrices by summing them up before per- forming the eigen decomposition. The additional step performed by smoothed MUSIC is intended to de-correlate signals arriving from spatially different entities. Specifically, by taking different shifts for the same antenna array, reflections from different bodies get shifted by different amounts depending on the distance and orientation of the reflector, which helps de-correlating them [31].
Fig. 4 shows the result of applying smoothed MUSIC on the sig- nal captured from two moving humans. Similar to Fig. 3(b), the y-axis corresponds to the angle, and the x-axis corresponds to time.
As before, the zero line corresponds to DC. At any point in time, we see significant energy at two angles (besides the DC). For example, at time n = 0.5s, both humans have negative angles and, hence, are moving away from Wi-Vi. Between n = 1s and n = 2s, only one angle is present. This may be because the other human is not moving or he/she is too far inside the room. Again, from n = 2s to n = 3s, we see both humans, one moving towards the device and the other moving away (since one has a positive angle while the other has a negative angle).
One point is worth emphasizing: the smoothed MUSIC algorithm is conceptually similar to the standard antenna array beamforming discussed in §5.1; both approaches aim at identifying the spatial angle of the signal. However, by projecting on the null space and taking the inverse norm (as described in Eq. 6), MUSIC achieves sharper peaks, and hence is often termed a super-resolution tech- nique [34]. Because smoothed MUSIC is similar to antenna array beamforming, it can be used even to detect a single moving object, i.e., the presence of a single person. In fact, Fig. 3(b) was generated by the smoothed MUSIC algorithm.11
Finally, to enable Wi-Vi to automatically detect the number of humans in a closed room, one option is to train a machine learning classifier using images like those in Fig. 3(b) and Fig. 4. We dis- covered, however, that a simple heuristic based on spatial variance
11Plotting the magnitude of A[θ, n] as opposed to A′[θ, n] gives the same figure but with more noise. This is because, unlike standard beamforming, the MUSIC algorithm does not incur significant side lobes which would otherwise mask part of signal reflected from different objects.
user 1 user 2
RF-based Localization
• See through walls
⎻ WiVi (SIGCOMM’13)
• ToF-based localization
⎻ WiTrack (NSDI’14, NSDI’15)
• AoA-based localization
⎻ ArrayTrack (NSDI’13)
21
Applications
Gaming Gesture Control
Elderly Monitoring
First Responders
ToF-based Localization
Rx Tx
Distance = Reflection time x Speed of light
How to Measure ToF?
Tx pulse Rx pulse
Option1: Transmit short pulse and listen for echo
Reflection Time time
How to Measure ToF?
time
Tx pulse Rx pulse
capturing the pulse needs sub-nanosecond sampling
signal samples reflection time (3.33ns per meter)
Need multi-GHz samplers
à expensive and with high noise
Option1: Transmit short pulse and listen for echo
time
Fr e q u e n c y
Transmitted
t t+ΔT
Received
ToF
ΔF
slope ΔF ToF =
How to Measure ToF?
Option2: Frequency Modulated Carrier Wave (FMCW)
How to measure ΔF ?
• To find ΔF = f
Rx– f
Tx,
1. Use mixer to subtract f
Txfrom the received signal à the signal whose frequency is ΔF
2. Take FFT and identify the frequency with peak power
Mixer
Measuring ΔF
Transmitted
received FFT
power
ΔF
ΔF à Reflection Time à Distance
How to Deal with Multiple Reflections?
Rx Tx
Distance Re fle c tio n Pow er
Reflections from
different objects
à which one is
from the person?
Subtract Static Paths
• Static objects don’t move
⎻ Eliminate by subtracting consecutive measurements
distance
po w e r po w e r
@ time t+30ms
@ time t
-
=
multi-path
multi-path
2 meters
po w e r distance
distance
Why 2 peaks?
Dynamic Multipath
Rx Tx
Distance
Powe r Dynamic
Multi-path Moving Person
Find the first peak since the direct reflection arrives
before other dynamic multipaths
• Person can be anywhere on an ellipse whose foci are (Tx,Rx)
• One ellipse is not enough to localize!
Rx Tx
d
From Distances to Localization
• Use two Rx antennas to find the intersection
• WiTrack uses directional antennas so only one point is in-beam
• Extend to 3D by using 3 Rx antennas and taking the intersection of ellipsoids
From Distances to Localization
Rx Tx Rx’
d
in beam
d’
Key Issue of FMCW
• Don’t need a high sampling rate
• But, need a very wide band channel
33
time
Fr e q u e n c y
Transmitted
t t+ΔT
Received
ToF
ΔF
slope ΔF ToF =
Bandwidth of 1.69GHz to support a distance resolution of 8.8cm
Cannot be applied in the unlicensed WiFi band
RF-based Localization
• See through walls
⎻ WiVi (SIGCOMM’13)
• ToF-based localization
⎻ WiTrack (NSDI’14, NSDI’15)
• AoA-based localization
⎻ ArrayTrack (NSDI’13)
34
Angle of Arrival
• Determine the direction of propagation of a radio-frequency wave using an antenna array
• Key idea:
⎻ The phase of the received signal is determined by the length of a path
⎻ The path lengths to different elements of an antenna array vary slightly
⎻ Leverage TDOA (time difference of arrival) at individual elements of the array to measure AoA
35
Time Difference of Arrival
36
d
Ad
A…
≈ d ≈ d
≈ d ≈ d
≈ d
Δ 2Δ 3Δ
NΔ
Tx Assumption: d ≫ d
A! Then, the distance from Tx to the k-th Rx antennas is close do (d+kΔ)
Rx
Time Difference of Arrival
74 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI ’13) USENIX Association π sin θ"
I"
Q"
Client"
λ/2"
θ"
θ"
½λ sin θ"
Access point" 1
"2
"λ"
d" x
1"2πd/λ"
x
2"Figure 4: Principle of operation for ArrayTrack’s AoA spectrum com- putation phase. (Left:) The phase of the signal goes through a 2π cycle every radio wavelength λ, and the distance differential between the client and successive antennas on the access point is related to the client’s bearing on the access point. (Right:) The complex representa- tion of the sent signal at the client (filled dot) and received signals at the access point (crosses) reflects this relationship.
measured from the I axis to the cross labeled x 1 (repre- senting the signal received at antenna one). Since there is a λ/2 separation between the two antennas, the distance along a path arriving at bearing θ is a fraction of a wave- length greater to the second antenna than it is to the first, that fraction depending on θ. Assuming d ≫ λ/2, the added distance is 1 2 λ sin θ.
These facts suggest a particularly simple way to com- pute θ at a two-antenna access point in the absence of multipath: measure x 1 and x 2 directly, compute the phase of each ( ∠x 1 and ∠x 2 ), then solve for θ as
θ = arcsin ! ∠x 2 − ∠x 1 π
"
(1)
Generalizing to multiple antennas. In indoor multi- path environments, Equation 1 quickly breaks down, be- cause multiple paths’ signals sum in the I-Q plot. How- ever, adding multiple, say M, antennas can help. The best known algorithms are based on eigenstructure analysis of an M×M correlation matrix R xx in which the entry at the l th column and m th row is the mean correlation between the l th and m th antennas’ signals.
Suppose D signals s 1 (t), . . . , s D (t) arrive from bear- ings θ 1 , . . . , θ D at M > D antennas, and that x j (t) is the received signal at j th antenna element at time t. Recall- ing the relationship between measured phase differences and AP bearing discussed above, we use the array steer- ing vector a(θ) to characterize how much added phase (relative to the first antenna) we see at each of the other antennas, as a function of the incoming signal’s bearing.
For a linear array,
a(θ) = exp
! −j2πd λ
"
⎡
⎢ ⎢
⎢ ⎢
⎢ ⎣
1
exp(−jπλ cos θ) exp (−j2πλ cos θ)
.. .
exp (−j(M − 1)πλ cos θ)
⎤
⎥ ⎥
⎥ ⎥
⎥ ⎦
(2)
x
1x
2x
3a(θ
1)
a(θ
2)
Signal e-vector e
1Signal e-vector e
2Noise e-vector e
3Signal subspace
a(θ) continuum
Figure 5: In this three-antenna example, the two incoming signals (at bearings θ
1and θ
2respectively) lie in a three-dimensional space.
Eigenvector analysis identifies the two-dimensional signal subspace shown, and MUSIC traces along the array steering vector continuum measuring the distance to the signal subspace. Figure adapted from Schmidt [26].
So we can express what the AP hears as
x(t) =
# $% A &
[ a(θ 1 ) a(θ 2 ) · · · a(θ D )]
⎡
⎢ ⎢
⎢ ⎣
s 1 (t) s 2 (t)
... s D (t)
⎤
⎥ ⎥
⎥ ⎦ + n(k), (3)
where n(k) is noise with zero mean and σ n 2 variance. This means that we can express R xx as
R xx = E[xx ∗ ]
= E [(As + n) (s ∗ A ∗ + n ∗ )]
= AE [ss ∗ ] A ∗ + E [nn ∗ ]
= AR ss A ∗ + σ n 2 I (4)
where R ss = E [ss ∗ ] is the source correlation matrix.
The array correlation matrix R xx has M eigenvalues λ 1 , . . . , λ M associated respectively with M eigenvectors E = [e 1 e 2 · · · e M ]. If the noise is weaker than the in- coming signals, then when the eigenvalues are sorted in non-decreasing order, the smallest M − D correspond to the noise while the next D correspond to the D incoming signals. The D value depends on how many eigenvalues are considered big enough to be signals. We choose D value as how many eigenvalues are larger than a thresh- old that is a fraction of the largest eigenvalue. Based on this process, the corresponding eigenvectors in E can be classified as noise or signal:
E =
⎡
⎣
E
N# $% & e 1 . . . e M−D
E
S# $% & e M−D+1 . . . e M
⎤
⎦ (5)
we refer to E N as the noise subspace and E S as the signal subspace.
The MUSIC AoA spectrum [26] inverts the distance between a point moving along the array steering vector
4
Signal received at 1
stantenna:
Signal received at 2
ndantenna:
Signal received at N
thantenna:
…
exp( −2jπd λ )
exp( 2j (d + ) )
= exp( 2j d
) exp( 2j
)
exp( 2j (d + N ) )
= exp( 2j d
) exp( 2j N
)
Time Difference of Arrival
38
a( ) = exp( j2 d )
1
exp( j sin ) exp( j 2 sin )
...
exp( j (N 1) sin )
74 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI ’13) USENIX Association π sin θ"
I"
Q"
Client"
λ/2"
θ"
θ"
½λ sin θ"
Access point" 1
"2
"λ"
d" x
1"2πd/λ"
x
2"Figure 4: Principle of operation for ArrayTrack’s AoA spectrum com- putation phase. (Left:) The phase of the signal goes through a 2π cycle every radio wavelength λ, and the distance differential between the client and successive antennas on the access point is related to the client’s bearing on the access point. (Right:) The complex representa- tion of the sent signal at the client (filled dot) and received signals at the access point (crosses) reflects this relationship.
measured from the I axis to the cross labeled x
1(repre- senting the signal received at antenna one). Since there is a λ/2 separation between the two antennas, the distance along a path arriving at bearing θ is a fraction of a wave- length greater to the second antenna than it is to the first, that fraction depending on θ. Assuming d ≫ λ/2, the added distance is
12λ sin θ.
These facts suggest a particularly simple way to com- pute θ at a two-antenna access point in the absence of multipath: measure x
1and x
2directly, compute the phase of each ( ∠x
1and ∠x
2), then solve for θ as
θ = arcsin ! ∠x
2− ∠x
1π
"
(1)
Generalizing to multiple antennas. In indoor multi- path environments, Equation 1 quickly breaks down, be- cause multiple paths’ signals sum in the I-Q plot. How- ever, adding multiple, say M, antennas can help. The best known algorithms are based on eigenstructure analysis of an M×M correlation matrix R
xxin which the entry at the l
thcolumn and m
throw is the mean correlation between the l
thand m
thantennas’ signals.
Suppose D signals s
1(t), . . . , s
D(t) arrive from bear- ings θ
1, . . . , θ
Dat M > D antennas, and that x
j(t) is the received signal at j
thantenna element at time t. Recall- ing the relationship between measured phase differences and AP bearing discussed above, we use the array steer- ing vector a(θ) to characterize how much added phase (relative to the first antenna) we see at each of the other antennas, as a function of the incoming signal’s bearing.
For a linear array,
a(θ) = exp
! −j2πd λ
"
⎡
⎢ ⎢
⎢ ⎢
⎢ ⎣
1
exp(−jπλ cos θ) exp (−j2πλ cos θ)
.. .
exp (−j(M − 1)πλ cos θ)
⎤
⎥ ⎥
⎥ ⎥
⎥ ⎦
(2)
x
1x
2x
3a(θ
1) a(θ
2)
Signal e-vector e
1Signal e-vector e
2Noise e-vector e
3Signal subspace
a(θ) continuum
Figure 5: In this three-antenna example, the two incoming signals (at bearings θ
1and θ
2respectively) lie in a three-dimensional space.
Eigenvector analysis identifies the two-dimensional signal subspace shown, and MUSIC traces along the array steering vector continuum measuring the distance to the signal subspace. Figure adapted from Schmidt [26].
So we can express what the AP hears as
x(t) =
# $%
A&
[ a(θ
1) a(θ
2) · · · a(θ
D)]
⎡
⎢ ⎢
⎢ ⎣
s
1(t) s
2(t)
... s
D(t)
⎤
⎥ ⎥
⎥ ⎦ + n(k), (3)
where n(k) is noise with zero mean and σ
n2variance. This means that we can express R
xxas
R
xx= E[xx
∗]
= E [(As + n) (s
∗A
∗+ n
∗)]
= AE [ss
∗] A
∗+ E [nn
∗]
= AR
ssA
∗+ σ
n2I (4)
where R
ss= E [ss
∗] is the source correlation matrix.
The array correlation matrix R
xxhas M eigenvalues λ
1, . . . , λ
Massociated respectively with M eigenvectors E = [e
1e
2· · · e
M]. If the noise is weaker than the in- coming signals, then when the eigenvalues are sorted in non-decreasing order, the smallest M − D correspond to the noise while the next D correspond to the D incoming signals. The D value depends on how many eigenvalues are considered big enough to be signals. We choose D value as how many eigenvalues are larger than a thresh- old that is a fraction of the largest eigenvalue. Based on this process, the corresponding eigenvectors in E can be classified as noise or signal:
E =
⎡
⎣
EN
# $% &
e
1. . . e
M−DES
# $% & e
M−D+1. . . e
M⎤
⎦ (5)
we refer to E
Nas the noise subspace and E
Sas the signal subspace.
The MUSIC AoA spectrum [26] inverts the distance between a point moving along the array steering vector
4
Signal from angle θ:
Combined Signals from D paths
• If the Rx receives signals from D different paths
39
x(t) = [a(
1) a(
2) · · · a(
D)]
s
1(t) s
2(t)
...
s
D(t) Final received signal: + n
x(t) = e
j2 d1 1 · · ·
e
j sin 1· · · e
j sin De
j 2 sin 1· · · e
j 2 sin D... ... · · ·
e
j (N 1) sin 1· · · e
j (N 1) sin Ds
1(t) s
2(t)
...
s
D(t)
+ n
MUSIC Algorithm
• MUltiple SIgnal Classification (MUSIC)
• Find the direction of the LOS path from
• High level idea:
⎻ We collect N received signals (N equations)
⎻ Assume there exist only D paths, D ≤ N, (D unknowns)
⎻ Use linear algebra to find the D components from N measures
40
x(t) = [a(
1) a(
2) · · · a(
D)]
s
1(t) s
2(t)
...
s
D(t)
+ n
MUSIC Algorithm
• Find the N x N source correlation matrix
• N eigenvalues of R
xxàE = [e
1e
2… e
N-De
N-D+1… e
N]
⎻ D components with large eigenvalues à from D paths (angles)
⎻ (N – D) components with near-zero eigenvalues à noise
41
74 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI ’13) USENIX Association π sin θ"
I"
Q"
Client"
λ/2"
θ"
θ"
½λ sin θ"
Access point" 1
"2
"λ"
d" x
1"2πd/λ"
x
2"Figure 4: Principle of operation for ArrayTrack’s AoA spectrum com- putation phase. (Left:) The phase of the signal goes through a 2π cycle every radio wavelength λ, and the distance differential between the client and successive antennas on the access point is related to the client’s bearing on the access point. (Right:) The complex representa- tion of the sent signal at the client (filled dot) and received signals at the access point (crosses) reflects this relationship.
measured from the I axis to the cross labeled x
1(repre- senting the signal received at antenna one). Since there is a λ/2 separation between the two antennas, the distance along a path arriving at bearing θ is a fraction of a wave- length greater to the second antenna than it is to the first, that fraction depending on θ. Assuming d ≫ λ/2, the added distance is
12λ sin θ.
These facts suggest a particularly simple way to com- pute θ at a two-antenna access point in the absence of multipath: measure x
1and x
2directly, compute the phase of each ( ∠x
1and ∠x
2), then solve for θ as
θ = arcsin ! ∠x
2− ∠x
1π
"
(1)
Generalizing to multiple antennas. In indoor multi- path environments, Equation 1 quickly breaks down, be- cause multiple paths’ signals sum in the I-Q plot. How- ever, adding multiple, say M, antennas can help. The best known algorithms are based on eigenstructure analysis of an M×M correlation matrix R
xxin which the entry at the l
thcolumn and m
throw is the mean correlation between the l
thand m
thantennas’ signals.
Suppose D signals s
1( t), . . . , s
D( t) arrive from bear- ings θ
1, . . . , θ
Dat M > D antennas, and that x
j(t) is the received signal at j
thantenna element at time t. Recall- ing the relationship between measured phase differences and AP bearing discussed above, we use the array steer- ing vector a(θ) to characterize how much added phase (relative to the first antenna) we see at each of the other antennas, as a function of the incoming signal’s bearing.
For a linear array,
a(θ) = exp
! −j2πd λ
"
⎡
⎢ ⎢
⎢ ⎢
⎢ ⎣
1
exp(−jπλ cos θ) exp (−j2πλ cos θ)
.. .
exp (−j(M − 1)πλ cos θ)
⎤
⎥ ⎥
⎥ ⎥
⎥ ⎦
(2)
x
1x
2x
3a(θ
1) a(θ
2)
Signal e-vector e
1Signal e-vector e
2Noise e-vector e
3Signal subspace
a(θ) continuum
Figure 5: In this three-antenna example, the two incoming signals (at bearings θ1 and θ2 respectively) lie in a three-dimensional space.
Eigenvector analysis identifies the two-dimensional signal subspace shown, and MUSIC traces along the array steering vector continuum measuring the distance to the signal subspace. Figure adapted from Schmidt [26].
So we can express what the AP hears as
x(t) =
# $%
A&
[ a(θ
1) a(θ
2) · · · a(θ
D)]
⎡
⎢ ⎢
⎢ ⎣
s
1( t) s
2(t) s
D... ( t)
⎤
⎥ ⎥
⎥ ⎦ + n(k), (3)
where n(k) is noise with zero mean and σ
n2variance. This means that we can express R
xxas
R
xx= E[xx
∗]
= E [(As + n) (s
∗A
∗+ n
∗)]
= AE [ss
∗] A
∗+ E [nn
∗]
= AR
ssA
∗+ σ
n2I (4)
where R
ss= E [ss
∗] is the source correlation matrix.
The array correlation matrix R
xxhas M eigenvalues λ
1, . . . , λ
Massociated respectively with M eigenvectors E = [e
1e
2· · · e
M] . If the noise is weaker than the in- coming signals, then when the eigenvalues are sorted in non-decreasing order, the smallest M − D correspond to the noise while the next D correspond to the D incoming signals. The D value depends on how many eigenvalues are considered big enough to be signals. We choose D value as how many eigenvalues are larger than a thresh- old that is a fraction of the largest eigenvalue. Based on this process, the corresponding eigenvectors in E can be classified as noise or signal:
E =
⎡
⎣
EN
# $% &
e
1. . . e
M−DES
# $% &
e
M−D+1. . . e
M⎤
⎦ (5)
we refer to E
Nas the noise subspace and E
Sas the signal subspace.
The MUSIC AoA spectrum [26] inverts the distance between a point moving along the array steering vector
4
source correlation matrix sorted
MUSIC Algorithm
• The distance between a signal coming from the arrival direction θ and the noise subspace
• D major components are orthogonal to the subspace of (N - D) noise components
⎻ dist(θ)~0 for the D paths from θ
• Power function
42
EN = [e1 e2 … eN-D]
P ( ) = 1
dist( ) = 1
a( ) E
NE
Na( ) AoA = max
θP(θ)
Distance in the vector space, instead of the distance between Tx-Rx
dist( ) = a( ) E
NE
Na( )
AoA-based Localization
• Find location via trigonometry
43
θ
1θ
2θ
3AP
1AP
2AP
3Quiz
• While interference nulling can only cancel static reflections, but not body reflections?
44