Height-constrained uncombined PPP for enhanced pedestrian and vehicular positioning with an Android smartphone
Authors: Zangenehnejad Farzaneh , Gao Yang 
Published: March 2024

Before 2016, the users had access only to the position-velocity-time (PVT) information from the GNSS chipsets, and the raw GNSS observations were not available. The GNSS module's positioning accuracy on smartphones typically ranged from 3 to 5 meters under favorable multipath conditions, but over 10 meters in challenging environments. This level of accuracy was not sufficient for some applications. Fortunately, in May 2016, during the "Google I/O" conference, Google announced that the raw GNSS measurements, i.e., the pseudorange, carrier-phase, Doppler shift and carrier-to-noise density ratio (C/N0) observations, would be accessible through the Android Nougat (version 7) operating systems. Google has officially released Android 7 (Nougat) on August 22, 2016, marking a breakthrough for the GNSS community. Since then, research has been conducted to develop new algorithms to improve GNSS positioning performance using these mass-market devices. In 2021 and 2022, the Android GPS team of Google hosted two Google smartphone decimeter challenges (GSDC), where various smartphone GNSS datasets of real vehicular applications were used to determine smartphone positioning accuracies. As has been revealed, meter-level accuracy is generally achieved by the leading participants, which is still not enough to enable smartphone precise positioning. This indicates an ongoing demand to enhance the positioning accuracy with smartphones.Different positioning algorithms, such as absolute or relative positioning methods can be applied to the smartphone observations as well. Precise point positioning (PPP) is a powerful method for conducting accurate real-time positioning using a single receiver. Research papers have reported PPP smartphone positioning accuracy ranging from decimeter to sub-meter accuracy, depending on different factors such as the environment and positioning mode (static and kinematic). Most studies have so far focused on utilizing the GNSS only observations obtained from the smartphone's API. However, incorporating additional information as constraints can enhance accuracy and overall stability (for example height information).The Android operating system incorporates a set of functions known as APIs, allowing the users to use the system's features. Each Android version has distinct types of APIs. Among these, the android.location API is dedicated to the location-related services, with the "Location" class being one of them. This class consists of parameters such as latitude, longitude, altitude, timestamp, accuracy, bearing and velocity. The "AltitudeMeters" from this class provides the height above the WGS84 ellipsoid in meters, serving as supplementary information in this research. Although the vertical positioning accuracy of GNSS is generally lower than the horizontal accuracy, utilizing recorded height from the smartphone GNSS chipset can still be beneficial. This incorporation increases the degree of freedom and strengthens the geometry of the receiver and satellites. In this study, we assess the effectiveness of the uncombined PPP model in the presence of height constraints. We will utilize both pedestrian walking and vehicular datasets collected by a dual-frequency Xiaomi Mi8 device to evaluate the effect of adding height constraint to PPP model. We expect an improvement on the root-mean-square (RMS) of horizontal positioning, the 50th percentile error, and the convergence time when employing the height constraints.