It is only a matter of time before our smartphones can provide cm-level positioning accuracies. Thanks to the Centre National d’Études Spatiales (CNES, the French Space Agency) and its contractor CS, a giant step forward has been made towards the accomplishment of this goal with the release of two new Android apps on the Google Play store. This blog post features an invited contributor from CNES, Denis Laurichesse, who presents initial positioning results obtained using these apps.
As announced by Google in 2016, the new Android N (Nougat) operating system allows recovering raw measurements from the GNSS sensor. Prior to this announcement, raw measurements were being jealously guarded by chip manufacturers and only the position computed by the GNSS chip was available to developers. Access to raw GNSS measurements is of interest because it paves the way for more advanced processing algorithms and thus offers the possibility to improve the accuracy of the position estimates. CNES has acquired over the years a recognized experience in this field, through the PPP-Wizard (Precise Point Positioning With Integer and Zero-difference Ambiguity Resolution demonstrator).
On 21 April 2017, CNES has made available two Android applications on the Google Play store, compatible with Android N and validated on a Nexus 5X device:
- RTCM Converter: this app converts the smartphone GNSS raw measurements to Radio Technical Commission for Maritime Services (RTCM) message type 1077 and sends them to a caster, for use by third-party software.
- PPP WizLite: this app is a light version of the CNES PPP-Wizard client on Android, currently processing only pseudorange and Doppler measurements. The app uses raw GNSS measurements and external RTCM streams for orbit/clock corrections, such as the ones available from the International GNSS Service Real-Time Service, to compute the precise position of the phone in real time.
Initial positioning results from a test which took place at the CNES premises in Toulouse, France, are presented hereafter. The data was collected on the so-called VLBI point which is a geodetic marker whose coordinates are very well known (at the millimeter level). This marker is typically used to make co-locations between different geodetic techniques. A Nexus 5X smartphone was placed in a cardboard box on the ground over the marker and, since it was raining on that day, a thin plastic wrap was placed on top of the box (not shown on the picture):
Fig 1: Nexus 5X phone placed in a cardboard box on the geodetic marker
To evaluate the noise of code measurements, a simple epoch-by-epoch code solution was processed. The position scatter, shown on the next figure, indicate that noisy code measurements are provided by the smartphone. While the PPP WizLite application does not yet process phase observations, it is able to benefit from Doppler measurements to filter code estimates by providing information on the velocity of the phone, which will be used in the next tests.
Fig 2: Code-only solution for noise assessment
The following figures illustrate an example of the real-time performance of the PPP WizLite app using precise real-time orbit and clock corrections provided by the real-time IGS (RTIGS) RTCM feed. Single-frequency GPS-only measurements (both code and Doppler) collected at 1 Hz were used and ionospheric corrections were provided by SBAS, although other sources of VTEC corrections could have been used. An average of ten 5-minute runs was computed in both static and kinematic modes. The figures show that, under good satellite visibility, a sub-meter accuracy could be obtained within 30 seconds in static mode with the SBAS ionospheric corrections. Accuracies of 1-2 meters have been obtained when processing the data in kinematic mode, i.e. by making no assumption on the phone dynamics.
Fig 3: Positioning results obtained with the PPP WizLite application using precise orbit and clock corrections from the RTIGS and SBAS ionospheric corrections, in static mode (top) and kinematic mode (bottom).
These initial results are likely to improve in the near future with Google having already announced future evolutions of their API such as support for raw phase measurements on additional devices, as well as data from other constellations such as GLONASS and Galileo. A more detailed description of the apps and additional results should be presented at the ION GNSS+ 2017 meeting, held in Portland from 25-29 September 2017.
Laurichesse D, Privat A (2015) An Open-source PPP Client Implementation for the CNES PPP-WIZARD Demonstrator. ION GNSS+ 2015, 14-18 September, Tampa, Florida, pp. 2780-2789.