Content uploaded by Yuval Amizur
Author content
All content in this area was uploaded by Yuval Amizur on Nov 14, 2016
Content may be subject to copyright.
2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN), 4-7 October 2016, Alcalá de Henares, Spain
WiFi FTM and Map Information Fusion for Accurate
Positioning
Leor Banin
Location Core Division
Intel Corp
Petach Tikva, Israel
leor.banin@intel.com
Uri Schatzberg
Location Core Division
Intel Corp
Petach Tikva, Israel
urischatzberg@gmail.com
Yuval Amizur
Location Core Division
Intel Corp
Petach Tikva, Israel
yuval.amizur@intel.com
Abstract—WiFi-based positioning has recently drawn
attention since the Fine Timing Measurement protocol was
defined as part of the 802.11 standard. This protocol allows very
accurate range measurements based on Round Trip Time
estimation. In this paper we discuss the challenges of evaluating
performance, present a ground truth acquiring tool and analyze
results. We further discuss the problem of obtaining a reliable
position estimation given the unique nature of the measurement
error. We argue that a standard Kalman Filter (KF) has some
shortcomings that can be overcome by using additional
information sources. The more general Bayesian Filter (BF) offers
a method for integrating map information with any other non-
linear information, to provide a more accurate position estimation.
Keywords—WiFi FTM, Fine Timing Measurement, Indoor
Positioning, RTT, ToF, localization, Bayesian Filter, Kalman Filter,
Map Matching, Smoothing
I. INTRODUCTION
Indoor positioning has attracted a growing interest in recent
years. Unfortunately, the GNSS signal, which is widely used
outdoors, is hardly received in the indoor environment and
cannot serve as a solution. Many technologies were suggested to
overcome the indoor positioning problem, such as RSSI-based
methods, fingerprinting, proprietary beacons, UWB, visible
light and more, but most of them suffer from either accuracy or
scalability problems.
Recently, the WiFi Time-of-Flight (ToF) approach [2,3]
found its way into the 802.11 standard as the Fine Timing
Measurement (FTM) protocol. ToF is a geometrical approach,
based on estimating the position using the distances from access
points acting as FTM responders. The distance from each
responder is acquired by measuring the round trip time (RTT)
from the mobile device to the responder and back. This approach
is very similar to that employed in GNSS technology. However,
in the GNSS system all satellites are synchronized using atomic
clocks as opposed to WiFi where access points are not
synchronized at all. The FTM approach compensates for lack of
synchronization by measuring round-trip delays. Moreover,
while GNSS systems typically have Line of Sight (LoS), WiFi
indoor environments often exhibit significant multipath
channels. As a result, FTM-based ranging includes an algorithm
for detecting the LoS component of the signal. In fact, the higher
position accuracy desired in indoor environments demands
developing an algorithm precise enough to provide a finer
position accuracy than that of GNSS. Finer position accuracy
will enable advanced utilizations such as autonomous robots,
location-based security, fine asset tracking, advanced position
analytics and more.
The current 802.11 FTM protocol [1] allows performing
measurements at several bandwidths, and the number of frames
used for measurement can vary as well, with FTM burst length
varying between 1 and 32. For the purpose of this paper, we
configured two FTMs per burst, and bandwidth to 80MHz at the
5GHz band.
Fig. 1. FTM protocol, 2 FTMs per burst
II. GROUND TRUTH AND RANGE ACCURACY
A. Challenges
When evaluating any estimation algorithm, one needs to
have a reference or a ground-truth in order to analyze the
estimation error. For positioning purposes this means having a
ground truth position or a reference trajectory for a dynamic
scenario. In a consumer grade GNSS-based positioning
solution, it is common to use a system containing a differential
GPS and inertial sensors to obtain the reference. In the indoor
environment this solution is not viable, as there is almost no
GNSS reception and inertial sensor unit usage is cumbersome.
On the other hand, the indoor environment is much smaller in
scale and is typically rich in surrounding features. This
immediately suggests using an optic system. The expected
accuracy of FTM based technology is 1m or less, hence we
require a system that obtains the ground truth at centimeter-
level accuracy. In addition, in order to support dynamic
FTM 1
Ack
Ack
FTM 2
(t1 & t4)
Initiator Responder
t2
t3
t1
t4
ToD of FTM p acket
ToA of ACK pac ket
ToD of ACK pac ket
ToA of FTM pa cket
Ack
FTM Request
1 Measurement Packet
2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN), 4-7 October 2016, Alcalá de Henares, Spain
scenarios the system must be able to continuously report these
positions at a high enough rate.
B. Ground Truth Reference
We used a LIDAR based ground truth tool. At the heart of
this tool lies a 270 degrees laser scanner, which uses a dedicated
map and laser measurements to estimate its position. The
outcome is a series of position reports at 20Hz with a 10-30 cm
accuracy. The map is obtained in advance by performing a
survey of the venue using the LIDAR, during which a structure
map is created using a SLAM algorithm. This is a one-time
procedure, and the created map is then used in subsequent
sessions for localization of the device. The position output is
given in 2D and is corrected as needed to match the FTM device
height for each session. An example of the LIDAR output is
given in Fig. 1, with the responder locations marked as well.
The example walking session starts at the bottom right of the
map, moving to the top left and then returning to the starting
point.
Fig. 2. Ground truth generated by LIDAR
C. Range Measurement Analysis
In Fig. 2 the expected range is compared to the estimated range.
It is clear that the error is biased and the measurement may
suffer increasing errors as the mobile device gets further away
from the responder.
Fig. 3. Estimated vs. Expected range for one responder
The Cumulative Distribution Function (CDF) of the range error
as a function of the expected range is given in Fig. 4. We can
see that 90% of range measurements taken from the responder
at 10m or less have a range error of 1m or less. As the device
gets further away from the responder the accuracy degrades due
to worsening of the multipath condition. This behavior is
dependent on the venue; in an office environment such as the
one shown in Fig. 2 the phenomenon is prominent at relatively
smaller ranges compared to an open venue such as an exhibition
hall or shopping center.
Fig. 4. Range Error CDF for 10, 20, 30 and 40 meter maximum expected range
Further analysis of the range error reveals the spatial correlation
of the error, and its relation to the surrounding structure and
obstacles. In Fig. 5, the range error is depicted as a line drawn
from the ground truth trajectory outward. The direction of the
line is defined by the difference between the ground truth point
and the responder position. The line’s length is relative to the
magnitude of the error.
Fig. 5. Range error illustration for one responder along a reference trajectory
III. KALMAN FILTER POSITIONING SOLUTION
A. Description
A Kalman filter (KF) is a common solution for position
estimation of a mobile device. We used a classic extended KF
configuration with the device position as the state, and assumed
a random walk model (1). The measurement model (2) is
basically a noisy range, where is the position of responder i.
,
The system noise was defined according to the expected
walking velocity, and the measurement noise sigma was
defined according to the range error statistics (3). However, we
quickly discovered that the range error is biased and
non-Gaussian and it increases as the distance between the
mobile device and the responder grows. We mitigated these
issues partially by defining the measurement noise sigma
separately for each measurement, and by setting it to a larger
value for a larger range. We found this method simple to
[meter]
[meter]
-45 -40 -35 -30 -25 -20 -15 -10 -5 0 5
0
5
10
15
20
Ground Truth
Available RSP
END
START
150 200 250 300 350 400 450 500 550 600
0
10
20
30
40
50
[meter]
[second]
Expected Range
Estimated Range
0 1 2 3 4 5 6 7 8
0
10
20
30
40
50
60
70
80
90
100
[meter]
[%]
Expected range < 10m
Expected range < 20m
Expected range < 30m
Expected range < 40m
[meter]
[meter]
-45 -40 -35 -30 -25 -20 -1 5 -10 -5 0 5
5
10
15
20
Ground Truth
Range Error
Available RSP
Selected RSP
2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN), 4-7 October 2016, Alcalá de Henares, Spain
implement and it significantly improved the positioning
performance.
B. Postioning Performance
Fig. 6. shows an example of a KF estimated trajectory, based
on the range measurements discussed earlier. Most of the time,
the KF outcome is less than 3m away from the true position,
however we can observe two events where the solution drifts
away from the true position. This behavior may be the result of
localized bad measurements, poor geometric dilution of
precision, linearization errors, or some combination of the
above.
Fig. 6. KF estimated trajectory vs. ground truth
The scale of our Indoor Positioning environment is inherently
smaller than the scale in GNSS positioning, since the effective
range circle around a responder is much smaller than the
effective range circle around a satellite. The extended KF
approximates this circle as a line around the current estimated
position. For GNSS this approximation is adequate, however
for our smaller scale problem, this approximation is very
sensitive to the estimated position, giving rise to linearization
errors. As a result, when the KF drifts to a wrong position, the
approximation drifts as well and a positive feedback is
developed which may lock the KF’s solution in the wrong
place. This behavior is expected from the KF because KF
assumes a Gaussian distribution and cannot handle multi-modal
problems, which in our case arise due to the highly non-linear
measurement model.
IV. BAYESIAN FILTER SOLUTION
A. Description
In order to mitigate some of the KF shortcomings we turn to the
Bayesian filter (BF) [4] which is a generalization of the KF. Its
main advantage is the fact it is not limited to Gaussian
distributions and to a linear model. It enables us to deal with
multi-modal distributions, and outliers, and to integrate non-
linear information such as map information.
Like the KF, the BF consists of a system model and a
measurement model and their calculation is done in two stages:
the update stage, in which the measurements for the current
timestep are applied to the filter, and the predict stage, in which
the BF predicts the state for the next timestep. The BF system
model is described below (4), where is the state at time n
which in our case is the position with the height being preset to
a constant value, c is the movement radius and .
The BF measurement model (5) is similar to the KF
measurement model, where is the position of responder i,
and .
The general update equation (6) evaluates the state given all
the measurements from timestep 1 till timestep n denoted by
.
We remove the denominator since it has no effect on
optimization (7).
The predict equation (8) evaluates the state given all the
measurements from timestep 1 till timestep n-1 denoted by
.
In contrast to the KF, where we could represent each
distribution using two parameters and thus make an analytical
calculation, in the BF case the distribution functions are more
complex, thus we have to use a numerical approach.
The implementation of the BF is recursive:
We hold a quantized version of. Since
in our case is the two dimensional position we choose a
hexagon quantization over the 2D position space.
The next step is to predict and find. We
calculate it according to our movement model. In our case
the model is pretty simple: there is equal probability that a
person will move to a neighboring hexagon or stay in the
same place.
We incorporate the range measurement into the filter by
multiplying the resultant grid from the previous step by the
probability of getting the specific measurement, i.e.,
.
Finally we can estimate the position either by picking the
hexagon with the maximum probability (= Maximum
Likelihood) or by calculating the expected value
(= Bayesian estimator).
B. Map-Matching & Smoothing
As we’ve seen, due to the non-linear nature of the indoor
positioning problem as well as the biases which are due to
NLoS conditions, we might get a very wrong solution,
sometimes even outside the building, which may persist for
[meter]
[meter]
-40 -35 -30 -25 -20 -15 -10 -5 0 5
0
5
10
15
20
25
30
35
Ground Truth
Estimated Trajectory
Available RSP
2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN), 4-7 October 2016, Alcalá de Henares, Spain
significant periods of time. To deal with this problem we
propose integrating the map information into the filter. Due to
the nature of the BF it is almost trivial to embed this information
into the motion model – instead of using a model in which the
next position can be anywhere within a circle, we restrict the
next position to one that does not require moving “through”
walls.
Fig. 7. Hexagon grid with marked non-passable edges
Since in our implementation we use a hexagon grid to represent
the probabilities and the prediction stage is done on this grid,
we embed the map information into that grid by attaching to
each hexagon edge a value indicating whether it is passable or
not. In the map image processing result in the hexagon grid
example displayed in Fig. 7, the non-passable hexagon edges
are marked in blue. We can see that marking some hexagon
edges as impassable can create separate hexagon subsets,
denoted by a gray background color in Fig 6. However, to
enable recovery from possible errors, it is important to attach to
non-passable edges a small positive probability of being
passable during the predict stage.
In Fig 8, we can observe that the map-only solution
occasionally drifts to a wrong path, into a cubicle, and after
some time, when new measurements are received, a correction
is done. This behavior suggests that if we could look into the
future we could avoid choosing the wrong solution in the first
place. We cannot of course see the future but we can do
something similar by introducing some latency into the
solution. A solution which takes into account projected future
measurements is called a smoothed solution.
Fig. 8. BF Estimated Trajectory with map information fusion, and with both
map fusion and smoothing
Since we cannot add multiple projected future measurements to
the BF due to the exponential complexity, we take a different,
suboptimal, approach: we save for each hexagon the set of
positions from the last m timesteps. During the predict stage,
for each hexagon, we perform a weighted average of the
trajectories of all neighboring hexagons, which according to the
motion model can lead to this hexagon. It is reasonable that if
we look for example 10 timesteps back, all the hexagons in an
area came from the same origin.
Fig. 9 depicts a comparison of the position error CDF between
the KF and BF. In our session, the KF solution diverges far
from the true position, therefore its CDF crosses the 3m error
at 73%. In other scenarios where the KF does not diverge as
much as in this example, we typically have up to a 3m
position error for 90% of the session.
Fig. 9. Positioning error CDF comparison
As expected, in Fig. 8 we can observe the smoothed solution
being less disturbed and more fluent than the non-smoothed
solution even though the CDFs are quite similar. The main
advantage of the smoothed solution is that it does not go
through the wrong cubicles or rooms. This level of accuracy is
useful for higher latency position logging or analytics.
V. SUMMARY
This paper presents the statistical behavior of FTM-based range
measurement using a LIDAR-based ground truth. We described
and compared two position engines, a Kalman filter and a
Bayesian filter. We observed the shortcomings of the Kalman
filter in highly non-linear models and suggested a Bayesian
approach that overcomes those and can also use additional non-
linear information, such as map information.
REFERENCES
[1] IEEE Standard for Information Technology—Local and Metropolitan
Area Networks—Specific Requirements—Part 11: Wireless LAN
Medium Access Control (MAC) and Physical Layer (PHY)
Specifications IEEE P802.11-REVmc/D6.0, June 2016
[2] Banin, L., Schatzberg, U., Amizur, Y., "Next Generation Indoor
Positioning System Based on WiFi Time of Flight,"Proceedings of the
26th International Technical Meeting of The Satellite Division of the
Institute of Navigation (ION GNSS+ 2013), Nashville, TN, September
2013, pp. 975-982
[3] Schatzberg, Uri, Leor Banin, and Yuval Amizur. "Enhanced WiFi ToF
indoor positioning system with MEMS-based INS and pedometric
information." In 2014 IEEE/ION Position, Location and Navigation
Symposium-PLANS 2014, pp. 185-192. IEEE, 2014.
[4] Doucet, Arnaud, and Adam M. Johansen. "A tutorial on particle filtering
and smoothing: Fifteen years later." Handbook of nonlinear filtering 12,
no. 656-704 (2009): 3.
[meter]
[meter]
-40 -35 -30 -25 -20 -15 -10 -5 0 5
0
5
10
15
20
25
Ground Truth
Estimated Trajectory (Map Only)
Estimated Trajectory (Map and Smoothing)
Available RSP
0 1 2 3 4 5 6 7 8
0
10
20
30
40
50
60
70
80
90
100
[meter]
[%]
KF
BF with Map only
BF with Map and Smoothing