UniBwM researchers achieved unprecedented 1-2 cm (!) precise GNSS positioning with commercial smartphone

18 Oktober 2019

Authors: Himanshu Sharma, Mohamed Bochkati, Gerhard Kestel, Thomas Pany

With the introduction of the Broadcom BCM47755 dual frequency chip in 2017 and the availability of GNSS raw measurements to the user via the Android API, researchers all over the world have been working to analyze the quality of GNSS raw measurements from the dual frequency smartphones (often the Xiaomi MI8 is used). Various new domains like LBS application development, implementation of OS-NMA message decoding in smartphones and new techniques to provide to the GNSS user precise positioning  have emerged in last few years or will emerge soon.

Using carrier phase measurements for precise positioning has always been a great challenge for the mass market GNSS receiver manufacturers due to the trade-off between cost and performance. The availability of carrier phase measurements in smartphones and the market-need for centimeter-level accuracy has aspired researchers to work more intensively towards precise positioning with smartphones. Easier said than done, using carrier phase measurements from smartphones brings the old age problem of cycle slips. In addition to this, power optimization features like duty cycling limit the GNSS chip from continuously tracking the satellites and do no good to the aim of achieving high accuracy.

We at the Universität der Bundeswehr München have been extensively working on performing RTK positioning with the smartphone raw measurements. Based on extensive experiments a few key factors for successful carrier phase positioning have been identified:

  • Visibility of enough dual-frequency GPS/Galileo satellites
  • Robust carrier phase processing algorithms capable of handling a large number of measurement outliers
  • Handling of the ground multipath


In order to mitigate the multipath effects due to the ground reflection, which is somehow a major degradation factor in smartphone positioning, we performed an experiment by putting the smartphone on a choke ring platform shown below. The choke ring, due to its multipath rejection capability, was assumed to be a critical factor in improving the quality of signal reception by rejecting dominant multipath.

1.jpg 2.jpg

The choke ring platform with the smartphone (Xiaomi Mi8) mounted on top, was placed on the rotating platform to exercise a well-defined motion pattern. A Trimble R10 as RTK base station was kept next to the setup. The data set was logged for around 50 minutes using the Geo++ Logger and was processed with a high quality post processing software.


The positioning results were quite impressive showing 84 percent ambiguities fixed with cm level accuracy. The horizontal (North/East) trajectory plot above clearly shows the slow circular motion. From the shape of the trajectory (looking at its deviation from a circle) and its repetition over several rotations we estimate a horizontal precision at the 1-2 cm level. Next steps include determination of the absolute positioning accuracy which requires identification of the GNSS reference point (antenna phase center) within the smartphone.

Similar results have been presented at the ION-GNSS+ conference in Miami, Sept. 2019 by Darugna et al. from Geo++, Hannover, Germany where at least < 1 dm precision has been achieved on a moving platform but not for the static case. Our setup also works for a static MI8 smartphone (test not shown here).

Interested researchers are invited to download the RINEX data of this experiment and to confirm the high precision. It should be emphasized that the smartphone is an unaltered MI8 running Android Pie (no rooting, no hardware modification).

Log files are available here: RINEX data

The research work was done under the project RAMBO - "Real Time Kinematic " - Positionierung am Mobiltelefon (FKZ: 50NA1720 )  funded by Federal Ministry for Economic Affairs and Energy and managed by German Aerospace Agency (DLR).