# Native Smartphone Single- and Dual-Frequency GNSS-PPP/IMU Solution in Real-World Driving Scenarios
## 1 Introduction  
Smartphone positioning techniques and their navigation capability based on Global Navigation Satellite Systems (GNSS) have seen intensive development in the last decade. The proliferation of GNSS-enabled smartphones and wearables has boosted the evolving industry of Location-Based Services (LBS), around which a growing number of applications such as lane-level navigation, personnel/property monitoring, augmented reality, etc., are thriving. Many of these applications require greater user positioning accuracy, resilience, and/or availability. It has been a topic for both industry the research communities to innovate within the low-cost domain to address these challenges and improve solutions further. The idea for improving smartphone GNSS positioning is often two-fold: (1) improving GNSS processing techniques to increase solution accuracy; (2) using sensor fusion to enhance accuracy, and more importantly, resilience and availability. Compared to geodetic-grade hardware that is traditionally used in the surveying and mapping community, ultra-low-cost GNSS modules suffer from poor signal reception, low gain, or poor multipath suppression [1, 2, 3]. On improving GNSS-only solutions, progress has been made in evaluating smartphone signal strength and carrier to noise ratios [4, 5, 6, 7], observation noise characteristics and optimisation [8, 9], duty cycling [10, 11], as well as precise positioning techniques and their further enhancements [12, 13, 14]. In 2016, Google announced the availability of code and phase raw measurements to smartphone users [15], enabling more precise positioning techniques such as PrecisePoint Positioning (PPP), which is capable of delivering centimetre-level positioning in minutes with a standalone geodetic receiver and precise products [16; 17], without the base station and baseline length constraints [18; 19]. Most of the earliest smartphone positioning performance assessments focus on single-frequency (SF) processing, ref. [20] conducted a single-frequency PPP static experiments, and obtained horizontal and vertical rms of 37 cm and 51 cm, respectively, under the open-sky environments. Similar conclusions were also drawn by [21]. Following these studies, ref. [22] utilized the ionospheric-constrained, single-frequency PPP strategy to further improve smartphone positioning, and results demonstrated that the level of sub-metre accuracy can be reached with the Mate 30 smartphone in static tests. Thanks to the emergence of multi-constellation, dual-frequency smartphone GNSS chipsets, it is now possible to utilize more observations and manage the ionospheric delays by means of, e.g., ionospheric-free combination or ionospheric error estimation. In 2018, the first dual-frequency (DF) smartphone MI 8 was released with a BCM47755 chip [23] and in this context, a host of studies demonstrated that the ionospheric-free dual-frequency MI 8 PPP solutions may achieve decimetre-level accuracy in static environments with real-time [24] or final products [25]. Continuing this research with dual-frequency processing, ref. [26] comprehensively compared the PPP performance with four released smartphones and an average horizontal error of 40 cm can be obtained for dual-frequency MI 8 solutions, which was superior to single-frequency solutions, but the performance degraded to 6 m in a kinematic test. Recently, a subsequent contribution from [27] demonstrated that ionospheric-constrained dual-frequency PPP is able to benefit smartphone positioning significantly compared to low-cost and geodetic-receivers, in particular in suburban environments. Meanwhile, ref. [28] conducted a walking experiment and achieve 0.85 m and 1.09 m in horizontal and vertical components, respectively, with the aid of the real-time ionospheric products. It is often necessary for PPP or other GNSS techniques to fuse solutions with measurements from additional sensors to maintain a similar level of accuracy during GNSS outages.