Basics of radio-based localization

Systems

Rule of Thumb

  • All localization problems are estimation Problems: “Estimate X from Y”

  • The observation y often relates to estimated geometric parameters (delays, distances, angles). Suppose that there’re
    N Y N_Y
    such parameters.

  • The unknown often contains a location part, an orientation part, a clock bias part

    • 2D localization: 2 + 1 + 1
    • 3D localization: 3 + 3 + 1
  • Suppose the unknown has
    N X N_X
    location-related parameters

For the localization problem to be solvable, you need
N X N Y N_X \leq N_Y

  • GPS: 3 + 1 unknowns, so 4 satellites are needed

Since GPS can’t be applied in indoor localization, people usually use fingerprinting.

Fingerprinting

It means that someone in this environment would go to many locations and in each location lists all the available wi-fi access points their signal strength and the location and store this into a database and then when a user goes into this environment it just reads off the signal strength of all the access points and queries the database and the database returns a position so this is basically the concept of fingerprinting. It doesn’t really use any geometric information. It just uses the fact that there’s a rich scattering environment and different locations have different fingerprints. You can get relatively good accuracy up to a few meters.

Background

GPS-challenged scenarios: The signal is obstructed by a building or a window, then you don’t have this satellite signal and then you can’t localize yourself.

  • 2G (Cellular System)

In 2G localization, positioning was based on Cell-ID.

  • 3G, 4G

It uses the time difference of arrival (TDOA).

  • UWB
    • Tx: Send a burst of short (ns) pulses
    • Rx: Receive the burst and respond back
    • Tx: Process the response and compute the distance

Signal Model

Purpose

  • Localization is an estimation problem with standard ingredients
    • Observation
      y y
    • Unknown
      x x
      (position)
    • Statistical model p (y ∣ x) p (y | x) p (y ∣ x)
    • Prior
      p ( x ) p(x)

Observations

Observations extracted from signal

  • Signal strength
  • Time of arrival
  • Angles of arrival or angle of departure

Signal strength

  • Principle
    • Path Loss equation Pr[dBm]=Pt[dBm]+K[dB]−10γlog⁡10dd0P_r [dBm]= P_t [dBm]+K[dB] -10 \gamma \ log_ {10} \ frac {d} {d_0} (dBm) Pr = Pt (dBm) + K (dB) – 10 gamma log10d0d
    • Learn parameters from data
    • Map received power to distance
  • Challenges
    • Not on-to0one mapping
    • Many meters distance uncertainty
    • More common with fingerprinting

Time: basics

  • Transmitted signal over N subcarriers


    s = [ s 0 . . . . s N 1 ] T \mathbf{s} = [s_0,…s_{N-1}]^T

  • Received signal after unknown delay, in receiver frame of reference


    r n = Alpha. s n exp ( j 2 PI. n tau / ( N T s ) ) r_n = \alpha s_n \exp(-j2\pi n \tau/(NT_s))

    Where τ\tauτ is the propagation delay, TsT_sTs is 1Bw\frac{1}{B_w}Bw1

  • Vectorize


    r = Alpha. s Even though a ( tau ) \mathbf{r} = \alpha s \odot \mathbf{a}(\tau)

    Where α\alphaα is the channel gain, ⊙\odot⊙ is a pointwise multi of two Vectors, And a(τ)\mathbf{a}(\tau)a(τ) is the response vector which depends on the delay


    [ a ( tau ) ] n = exp ( j 2 PI. n tau / ( N T s ) ) [\mathbf{a}(\tau)]_n = \exp(-j2\pi n \tau/(NT_s))

Time: time of arrival (TOA)

Estimated in the clock of the receiver


tau ^ = d c + B + n \hat{\tau} = \frac{d}{c} + B + n

where
B B
is the clock bias and
n n
is the noise

But one challenge is the clock bias needed to be removed and the other is the non-line-of-sight(NLOS) which weakens LOS path and block completely. So we use UWB technology to implement two-way TOA or round-trip-time (RTT).

Time: two-way TOA or round-trip-time (RTT)

Time: time difference of arrival (TDOA)

We have here three base stations that are perfectly synchronized and connected to some server. There is a user that sends a signal broadcasted to all the base stations. It arrives at a certain base station
i i
based on the distance between the user. Also it’s affected by a clock bias of the user.

We can estimate τ^ I \hat{\tau}_iτ^ I as before (TOA), And we further calculate the differential measurement yi=τ^ I −τ^0, I >0y_i = hat{\tau}_i – hat{\tau}_0, I >0yi=τ^ I −τ^0, I >0, which no longer depends on BBB.

Challenges

  • Requires tight synchronization among base stations
  • Requires central processing unit
  • Measurement noise of differential measurements is correlated
  • Performance depends on choice of reference base station

Angle: Angle of arrival (AOA) and Angle of departure (AOD)

  • AOA

The phase difference depends on the distance that the waveform needs to cover between the first and the last antenna.

  • Discrete time observation


r = Alpha. a ( Theta. ) + n \mathbf{r} = \alpha \mathbf{a}(\theta) + \mathbf{n}


[ a ( Theta. ) ] n = exp ( j PI. n sin ( Theta. ) ) [\mathbf{a}(\theta)]_n = \exp(-j\pi n \sin(\theta))

  • AOD

  • Discrete time observation


r t = Alpha. a T ( Theta. ) s t + n t r_t = \alpha \mathbf{a}^T(\theta)\mathbf{s}_t + n_t

Array orientation must be known or estimated.

Performance bounds

Tool: Fisher Information and CRB

Problem: Estimate continuous and deterministic unknown XXX from observation z given statistical model p (z ∣ x) p (z | x) p (z ∣ x)

  • The Fisher Information Matrix (FIM): measures “the amount of information the observation carries about the unknown”

  • FIM relates to estimation error covariance of any unbiased estimator
    x ^ ( z ) \hat{x}(z)

  • Cramer-Rao bound: lower bound on estimation error variance

  • Gaussian noise case is easier:

High curvature: the likelihood function is very peaky which means that when you estimate x you’ll have a very accurate estimate. It means you have high Fisher Information

Low curvature: lower fisher information.

FIM extension

Explanation: When we calculate the equivalent FIM of
x 1 x_1
, we let the amount of information of
x 1 x_1
if
x 2 x_2
was known subtract the information loss due to not knowing
x 2 x_2
.

Example

CRB on TOA

CRB on AOA

CRB on position

Given an underlying measurement, e.g. distance from different anchors


z m = x x m + n m z_m = ||\mathbf{x}-\mathbf{x}_m|| + n_m

Since ∇ x ∣ ∣ x – xm ∣ ∣ = ∇ x (x – xm) 2 + 2 = x (y – ym) – xm ∣ ∣ x – xm ∣ ∣ \ nabla_ {\ mathbf {x}} | | \ mathbf {x} – \ mathbf {x} _m | | = \ nabla_ {\ mathbf {x}} \sqrt{(x-x_m)^2+(y-y_m)^2} = \ frac {{\ mathbf {x}} – {\ mathbf {x}} _m} {| | {\ mathbf {x}} – {\ mathbf {x}} _m | |} ∇ x ∣ ∣ x – xm ∣ ∣ = ∇ x (x – xm) 2 + 2 = (y – ym) ∣ ∣ x – xm ∣ ∣ x – xm

Therefore, FIM is the sum of
M M
rank 1 matrices, each anchor provide 1D information.


J ( x ) = m = 1 M 1 2 sigma 2 x x m x x m ( x x m ) T x x m \mathbf{J}({\mathbf{x}}) = \sum_{m=1}^M \frac{1}{2\sigma^2}\frac{{\mathbf{x}}-{\mathbf{x}}_m}{||{\mathbf{x}}-{\mathbf{x}}_m||} \frac{({\mathbf{x}}-{\mathbf{x}}_m)^T}{||{\mathbf{x}}-{\mathbf{x}}_m||}

where M=3 needed for 3D and M=2 needed for 2D

Position error bound


P = t r ( J 1 ( x ) ) P = \sqrt{tr (\mathbf{J}^{-1}(x))}