WiFi Fine Time Measurement (FTM) Round Trip Time (RTT) for indoor positioning.

The time a WiFi signal takes to travel in air from a smartphone (“station” - STA) to a WiFi access point (AP) is, of course, proportional to the actual distance between them (about 3.3 nanoseconds per meter). Since the internal clocks in the smartphone and the access points are not synchronized, a one-way time measurement cannot be based on differences between timestamps at the two ends. Fortunately, the difference in timestamps when the signal travels in the reverse direction is affected in the opposite way by the clock offset. As a result, the round trip time (RTT) can be obtained without having to know the clock offsets - by simple addition and subtraction of four times: RTT = (t4-t1 + t2-t3).
(from “How To Achieve 1 Meter Accuracy In Android” by Frank van Diggelen, Roy Want and Wei Wang). Importantly, the second FTM “Ping” from the access point includes the time-of-departure t1 and the time-of-arrival t4 at the access point.

The round trip time measurements are not perfectly accurate, being subject to various types of measurement error, RF interference as well as the positions and motions of objects in the environment. Repeated measurements may improve the quality a bit:

(from “How To Achieve 1 Meter Accuracy In Android” by Frank van Diggelen, Roy Want and Wei Wang). Note that the last interchange (“Ping” and “Pong”) is not followed by yet another signal containing t4 and t1, so the round trip time for the last interchange cannot be determined. Hence, with a burst of $$N$$ interchanges, only $$(N-1)$$ round trip times can be determined.

Knowing the round trip times to 3, 4, or more APs in known positions allows one to estimate the position of the smartphone given the positions of the APs (Conversely, an AP can be located given round trip times from a smartphone in 3, 4, or more known positions). If neither smartphone nor access point positions are known initially, one can perform simultaneous localization and mapping or SLAM.

The agreed upon IEEE 802.11mc (a.k.a. IEEE 802.11-2016) WiFi standard provides methods for performing such measurements (with an expected accuracy of perhaps a meter or two). Android Pie (Android 9.0) and later support such IEEE 802.11mc based RTT measurements (API level 28 or later).

This sample screen shot shows floor plans of three levels of a building with six “responders” (APs) shown in green and the estimated position of a smartphone (STA) in red. (The position is recovered in 3-D and then quantized to floor level for plotting). The “dilution of precision” (noise gain) depends on the positioning of the responders, and varies somewhat throughout the volume (see Placement of Responders).