Introduction

Over the past decade, the modernization of Global Navigation Satellite Systems (GNSS) and the availability of multi-constellation, multi-frequency signals have produced intensive development. Concurrently, the upsurge of GNSS-enable handsets has also revolutionized receiver industries and location-based service (LBS) for mass-market applications, such as autonomous driving, social networking, augmented reality, and personal/property security (Paziewski 2020; Zangenehnejad and Gao 2021a). In this context, a fundamental push for smartphone positioning came in 2016 after Google released the Android 7.0 platform, allowing users and developers the capability to access GNSS raw measurements, including carrier-phase observations, catalyzing the progress of smartphone precise positioning using real-time kinematic (RTK) and precise point positioning (PPP) technologies (Gill et al. 2017; Odolinski and Teunissen 2019).

Pioneering this field, Pesyna et al. (2014) initially drew on smartphone-grade antennas and external GNSS receiver to achieve centimeter-level accuracy in open-sky environments, which paved the way for exploring the profound potential of precise mobile positioning. In response to mass-market demands, Broadcom launched the first dual-frequency, multi-constellation GNSS chipset BCM47755 in 2017, ushering in a new era in smartphone dual-frequency GNSS processing to manage the ionospheric delay, which is one of the major error sources that limits initial solution convergence time for PPP processing (Odijk 2002; Tu et al. 2013). It is reported in Yong et al. (2021) that centimeter-level instantaneous RTK performance can be achieved for 98.7% of the time (3 h) using the internal Google Pixel4 smartphone antennas, and 99.9% of the time (8 h) with external antennas. To emulate RTK performance, dual-frequency smartphone PPP experiments have been carried out in both static and kinematic environments (Yi et al. 2021; Wang et al. 2021).

Although extensive efforts have been made to further improve smartphone precise positioning, there are still significant challenges for achieving dm- or cm-level accuracy for smartphone navigation in real-world driving environments. These challenges can be broadly categorized into two main groups: (1) insufficient observations owing to hardware limitations and obstructed environments, and (2) noisy measurement and multipath effects.

Regarding the first category of challenges, numerous endeavors have been made to enhance GNSS solutions with additional sensors, such as inertial measurement units (IMUs) (Gikas and Perakis 2016). A recent study showed that tightly-coupled PPP/IMU solutions have the capacity to bridge gaps in positioning solutions and markedly enhance overall positioning performance (Yang et al. 2023). However, dead-reckoning solutions with smartphone-grade IMUs cannot continuously and precisely track a vehicle over a long time, mainly due to its drifting nature. Consequently, how best to use the available raw measurements to improve smartphone GNSS performance remains a core challenge for the LBS community. In this context, Nie et al. (2019) proposed a PPP algorithm that combines single-frequency, ionospheric-corrected pseudorange measurements with dual-frequency ionospheric-free pseudorange and phase measurements. Continuing this research, Zangenehnejad and Gao (2021b) introduced the single-frequency phase observable into smartphone processing with dual-frequency observations.

In terms of the second category of challenges, due to hardware disparities as compared with, e.g., geodetic-grade equipment, smartphones equipped with linear polarized antennas are more vulnerable to multipath effects, signal attenuation, and reduced reception capability (Pesyna et al. 2014). Prior studies have also demonstrated that GNSS observations suffer from severe signal suppression and interference when smartphones are placed on a vehicle dashboard (Li et al. 2022), and the orientation of the smartphone can also affect the positioning performance (Yong et al. 2021). More recently, Hu et al. (2023) assessed smartphone multipath effects through the actual range errors, and the results suggest that smartphone range errors characterization differs for different constellations and frequencies. To identify and manage these coarse measurements in GNSS processing, numerous quality control methods have been proposed, which can be realized through 1) data quality monitoring using raw measurement information, such as satellite elevation angle and carrier-to-noise ratio (\(C/{N}_{0})\), and 2) pre-fit and post-fit residual analysis to detect outliers (Zhao 2018; Everett et al. 2022). In this regard, a host of studies have suggested that a \(C/{N}_{0}\)-based stochastic weighting scheme is more representative than an elevation-dependent weighting scheme for smartphone processing (Banville et al. 2019; Shinghal and Bisnath 2021). Despite these advancements, precisely distinguishing measurement outliers remains an arduous task. It is also noteworthy to point out that most studies and open-source software, such as RTKlib and GAMP, often utilize an empirical and fixed residual threshold to reject noisy measurements and satellites for geodetic receiver (Zhou et al. 2018; Everett et al. 2022). Due to the poor quality of data and limited tracking capability of GNSS observations, achieving accurate kinematic smartphone positioning necessitates higher demands on the quality control approach to filter out noisy measurements while keeping as many quality measurements as possible.

While the pursuit of precise smartphone navigation using PPP processing has been ongoing for several years, it is important to highlight that previous studies have not made use of all pseudorange and phase measurements for smartphone PPP processing. Especially in situations where a smartphone chipset occasionally records only the pseudorange measurements from satellites, while omitting the corresponding phase measurements. We will refer to these satellites as “pseudorange-only satellites” throughout this paper. To address the first challenges stemming from inadequate measurements, this study proposes a pseudorange-only measurements enhanced PPP approach to leverage the full potential of all available GNSS observations for smartphone processing. Furthermore, an adaptive post-fit residual rejection method is proposed to mitigate the effects of noisy measurements and multipath effects on smartphone processing for the second set challenges. This adaptive method can be realized with the aid of range errors and geofencing analysis to prevent over- and under-rejection of measurements based on different multipath profiles. This work makes significant contributions and introduces novel approach to address the following questions:

  1. 1.

    With regard to ultra-low-cost hardware, does pseudorange-enhanced PPP improve traditional PPP solutions and to what extent in harsh environments?

  2. 2.

    Assessed through the range error correlation analysis, which indicators among the satellite elevation, SNR value, pre-fit residuals, and post-fit residuals can infer smartphone measurement quality?

  3. 3.

    How to form the adaptive post-fit residual rejection function according to the learning statistic? And what is the ‘best’ GNSS PPP solution with smartphone-grade GNSS chipset and antenna that can be attained in real-world driving environments?

The methodologies for the pseudorange-enhanced PPP model and the adaptive post-fit residual rejection threshold are first presented, along with the specifications for the smartphone processing engine. The next section elaborates on the experimental setup and measurement campaigns with geofencing maps to validate the proposed algorithms, followed by the raw measurement analysis and positioning performance assessment.

Mathematical models and data processing strategies

This section presents the mathematical models used in the enhanced PPP algorithm, as well as the models for range errors and the adaptive post-fit residual rejection threshold, followed by processing settings and configurations employed in smartphone processing.

Pseudorange-only measurements enhanced PPP processing algorithm

The un-differenced and un-combined (UDUC) model is used in smartphone PPP processing, and this model is expressed as:

$$\left\{ \begin{gathered} P_{j}^{s} = \rho^{s} + c \cdot ({\tilde{\text{d}}}t_{r} - {\text{d}}t^{s} ) + {\text{d}}tr_{P5} + \gamma_{j} \cdot \tilde{I}_{1}^{s} + T^{s} + \varepsilon_{j}^{s} \hfill \\ L_{j}^{s} = \rho^{s} + c \cdot ({\tilde{\text{d}}}t_{r} - {\text{d}}t^{s} ) - \gamma_{j} \tilde{I}_{1}^{s} + T^{s} + \lambda_{j} \cdot \tilde{N}_{j}^{s} + \xi_{j}^{s} \hfill \\ \end{gathered} \right.$$
(1)

where P and L denote pseudorange and phase measurements, respectively, \(s\) and j are satellite and frequency indexes, respectively. \({\text{d}}t_{r}\) is the receiver clock offset, while \({\text{d}}t^{s}\) is the satellite clock correction. Wherever there is a tilde in the parameters in (1), it indicates that the term is biasedly estimated due to the rank deficiencies which will be discussed later. \(c\) is the speed of light, and \({\text{d}}tr_{P5}\) is the receiver clock bias for L5 which is caused by the inconsistency use of frequencies for IGS Analysis Centers (AC) to generate satellite corrections (Pan et al. 2018). \({\text{d}}tr_{P5}\) is zero for first frequency and is estimated for inconsistency frequencies, e.g., GPS L5. \(T\) represents the tropospheric delay, and \(\lambda_{j}\) is the wavelength of the phase measurement at jth frequency. \(I_{1}^{s}\) is the slant ionospheric effect on the first frequency of satellite s, and \(\gamma_{j} = f_{1}^{2} /f_{j}^{2}\), where \(f\) is the frequency. \(N\) is the phase measurement ambiguity term, \(\varepsilon\) and \(\xi\) are pseudorange and phase noise, respectively. With applying the S-system theory (Baarda 1973; Teunissen 1985), the underlying model rank deficiencies can be removed, and the parameters can be determined but somehow biased (Psychas et al. 2022), e.g., the ionospheric delays are coupled with satellite and receiver differential code biases, and the receiver clock is estimated as a function of the “true” receiver clock and receiver hardware bias.

When a smartphone is recording both pseudorange and phase measurements from g satellites, the measurement matrix is as follows:

$${\text{Measurements}} = [P_{1}^{1} ,L_{1}^{1} ,P_{5}^{1} ,L_{5}^{1} , \ldots ,P_{1}^{g} ,L_{1}^{g} ,P_{5}^{g} ,L_{5}^{g} ]$$
(2)

and the corresponding state vector is as follows:

$${\text{Estimates}} = [x,y,z,{\tilde{\text{d}}}tr,{\text{d}}tr_{P5} ,T,\tilde{I}_{1}^{1} , \ldots ,\tilde{I}_{1}^{g} ,\tilde{N}_{1}^{1} ,\tilde{N}_{5}^{1} , \ldots ,\tilde{N}_{1}^{g} ,\tilde{N}_{5}^{g} ]$$
(3)

With the inclusion of pseudorange-only measurements, and assume that there are m pseudorange-only measurements available for a specific epoch, the corresponding measurement matrix must be expanded to:

$${\text{Measurements}}_{{{\text{updated}}}} = [P_{1}^{1} ,L_{1}^{1} ,P_{5}^{1} ,L_{5}^{1} , \ldots ,P_{1}^{g} ,L_{1}^{g} ,P_{5}^{g} ,L_{5}^{g} ,\underbrace {{P_{1}^{g + 1} ,P_{5}^{g + 1} , \ldots ,P_{1}^{g + m} ,P_{5}^{g + m} }}_{{{\text{expanded}}}}]$$
(4)

and the formation of the design matrix \((4g + 2m)A_{(5 + 3g + m)}\) can then be represented as:

$$A = \left[ {\begin{array}{*{20}l} {e_{x}^{1} } \hfill & {e_{y}^{1} } \hfill & {e_{z}^{1} } \hfill & 1 \hfill & {mf^{1} } \hfill & {\gamma_{1} } \hfill & \cdots \hfill & 0 \hfill & 0 \hfill & \cdots \hfill & 0 \hfill & 0 \hfill & \cdots \hfill & 0 \hfill \\ {e_{x}^{1} } \hfill & {e_{y}^{1} } \hfill & {e_{z}^{1} } \hfill & 1 \hfill & {mf^{1} } \hfill & { - \gamma_{1} } \hfill & \cdots \hfill & {} \hfill & 0 \hfill & \cdots \hfill & 0 \hfill & {\gamma_{1} } \hfill & \cdots \hfill & 0 \hfill \\ {} \hfill & {} \hfill & {} \hfill & {} \hfill & {} \hfill & {} \hfill & \vdots \hfill & {} \hfill & 0 \hfill & {} \hfill & {} \hfill & {} \hfill & {} \hfill & {} \hfill \\ {e_{x}^{g} } \hfill & {e_{y}^{g} } \hfill & {e_{z}^{g} } \hfill & 1 \hfill & {mf^{g} } \hfill & 0 \hfill & \cdots \hfill & {\gamma_{5} } \hfill & 0 \hfill & \cdots \hfill & 0 \hfill & 0 \hfill & \cdots \hfill & 0 \hfill \\ {e_{x}^{g} } \hfill & {e_{y}^{g} } \hfill & {e_{z}^{g} } \hfill & 1 \hfill & {mf^{g} } \hfill & 0 \hfill & \cdots \hfill & { - \gamma_{5} } \hfill & 0 \hfill & \cdots \hfill & 0 \hfill & 0 \hfill & \cdots \hfill & {\gamma_{5} } \hfill \\ {e_{x}^{g + 1} } \hfill & {e_{y}^{g + 1} } \hfill & {e_{z}^{g + 1} } \hfill & 1 \hfill & {mf^{g + 1} } \hfill & 0 \hfill & \cdots \hfill & 0 \hfill & {\gamma_{1} } \hfill & \cdots \hfill & 0 \hfill & 0 \hfill & \cdots \hfill & 0 \hfill \\ {} \hfill & {} \hfill & {} \hfill & {} \hfill & {} \hfill & {} \hfill & \vdots \hfill & {} \hfill & {} \hfill & {} \hfill & {} \hfill & {} \hfill & \ddots \hfill & {} \hfill \\ {e_{x}^{g + m} } \hfill & {e_{y}^{g + m} } \hfill & {e_{z}^{g + m} } \hfill & 1 \hfill & {mf^{g + m} } \hfill & 0 \hfill & \cdots \hfill & 0 \hfill & 0 \hfill & \cdots \hfill & {\gamma_{5} } \hfill & 0 \hfill & \cdots \hfill & 0 \hfill \\ \end{array} } \right]$$
(5)

where ex, ey, and ez are line-of-sight unit direction vectors from satellite to receiver. mf represents the wet mapping function of the tropospheric delay, other parameters can be referred to the above equations. The measurement precision ratio for phase and code are set to 100:1, and after applying \(C/{N}_{0}\)-based weighting scheme (\(\sigma\)) to different measurements, the final variance matrix \(R\) can be given as:

$$R = {\text{diag}}(\sigma_{P1}^{1} ,\sigma_{L1}^{1} ,\sigma_{P5}^{1} ,\sigma_{L5}^{1} , \cdots ,\sigma_{P1}^{g} ,\sigma_{L1}^{g} ,\sigma_{P5}^{g} ,\sigma_{L5}^{g} ,\underbrace {{\sigma_{P1}^{g + 1} ,\sigma_{P5}^{g + 1} , \cdots ,\sigma_{P1}^{g + m} ,\sigma_{P5}^{g + m} }}_{{{\text{expanded}}}})$$
(6)

Range errors

To analyze the smartphone observation quality and multipath effects, the range error derivation algorithm is adopted in this study. This method involves forming measurement-differencing pseudorange observations using both the smartphone and collocated geodetic-grade receiver data. The lever arm between the smartphone and geodetic receiver is pre-measured as (\(x_{0}\), \(y_{0}\), \(z_{0}\)) in the vehicle body coordinate system. The following equation shows the derivation of range errors of satellite n (Hu et al. 2023):

$${\text{range}}\;{\text{error}} = \nabla \Delta P - ((e_{x}^{q} \cdot x_{0} + e_{y}^{q} \cdot y_{0} + e_{z}^{q} \cdot z_{0} ) - (e_{x}^{n} \cdot x_{0} + e_{y}^{n} \cdot y_{0} + e_{z}^{n} \cdot z_{0} ))$$
(7)

where \(\nabla\) denotes the differencing between-receiver and \(\Delta\) represents the differencing between-satellite. Satellite q is the reference satellite with the highest elevation angle.

Adaptive post-fit residual threshold

In the traditional fixed post-fit residual rejection threshold method, there is often a tradeoff between retaining a higher number of observations and filtering out noisy measurements. This tradeoff can result in situations where the use of a tight threshold leads to the excessive rejection of satellites, ultimately causing solution gaps. To address this issue and ensure that measurement outliers are effectively identified and removed from the solution, we propose an adaptive post-fit residual rejection threshold to dynamically adjust the threshold for outlier detection. The adaptive threshold is shown as:

$${\text{Threshold}}_{{{\text{adaptive}}}} = \alpha *{\text{Threshold}}_{{{\text{original}}}} + c_{2}$$
(8)

where \(\alpha\) is an adaptive factor and \(c_{2}\) is a constant representing the minimum post-fit threshold for pseudorange residuals. The adaptive threshold is equal to the traditional post-fit threshold when the adaptive factor is 1.

As the adaptive factor significantly impacts the pseudorange threshold and positioning solution, it is crucial to determine it according to a learning statistic (LS), which can reflect the actual traffic conditions and is varied with different driving environments. This work utilizes the ratio of visible satellites over pseudorange-only satellites as the learning statistic, which can be also determined by the PDOP (Position Dilution of Precision) or other indicators that can reflect the GNSS conditions. The form of the adaptive factor based on a three-segment function is given as (Yang et al. 2001):

$$\alpha = \left\{ {\begin{array}{*{20}l} {1,} \hfill & {{\text{LS}} \le c_{0} } \hfill \\ {\frac{{c_{0} }}{{{\text{LS}}}}\left( {\frac{{c_{1} - {\text{LS}}}}{{c_{1} - c_{0} }}} \right)^{2} ,} \hfill & {c_{0} < {\text{LS}} \le c_{1} } \hfill \\ {0,} \hfill & {{\text{LS}} \ge c_{1} } \hfill \\ \end{array} } \right.$$
(9)

with

$${\text{LS}} = \left\{ {\begin{array}{*{20}l} {c_{0} ,} \hfill & {{\text{Challenging}}} \hfill \\ {\frac{{{\text{PS}}}}{{{\text{POS}}}},} \hfill & {{\text{Moderate}}\;\& \;{\text{POS}} \ne 0} \hfill \\ {c_{1} ,} \hfill & {{\text{Moderate}}\;\& \;{\text{POS}} = 0} \hfill \\ \end{array} } \right.$$
(10)

where \(c_{0}\) and \(c_{1}\) correspond to the minimum and maximum values of the learning statistic, respectively. The abbreviations PS and POS refer to the number of processed satellites and the number of pseudorange-only satellites, respectively. As shown in (10), the learning statistic is set to \(c_{0}\) in GNSS-challenging environments, resulting in a loosened post-fit residual threshold. This process aims to maintain enough satellites for reliable positioning, even if some signals exhibit a higher level of noise. On the other hand, when there are enough observations available and the learning statistic exceeds \(c_{0}\), the adaptive threshold adopts a more rigorous rejection stance to filter out noisy measurements and enhance the overall positioning accuracy. The distinguishing of different GNSS conditions can be based on geofencing maps, the number of visible satellites, and PDOP. The effectiveness of the adaptive post-fit residual threshold algorithm relies heavily on fine tuning of the constants \(c_{0}\), \(c_{1}\), and \(c_{2}\), which can be initialized with empirically determined parameters and tuned adaptively according to different phone models and traffic conditions. Also, the post-fit threshold rejection iterations and overall processing time required are typically faster than the smartphone GNSS sampling time, demonstrating that the proposed adaptive post-fit threshold algorithm is feasible and suitable for real-time applications.

Smartphone processing engine setting

Table 1 presents the processing strategy adopted in this study. The ionospheric effect is initially constrained using the Klobuchar model, and the remaining residuals are estimated with a small variance. This approach is specifically designed to address the rank deficiency issue that arises when estimating both the ambiguity and ionosphere delay simultaneously where only single-frequency observations are available. The float carrier-phase ambiguities are treated as constant terms in the estimation as long as cycle slips are not detected, and only float solutions are estimated due to the noisy measurements with internal smartphone antenna. Conventional cycle slip detection methods are applied, specifically, loss of lock indicator, geometry-free (GF) combination (Blewitt 1990), Melbourne-Wübbena (MW) combination (Melbourne 1985; Wübbena 1985), and Doppler cycle slip detection. The thresholds are 0.1 m for GF, 3 m for MW, and 10 for Doppler cycle slip detection, respectively. If a cycle slip is detected, the ambiguity parameter variance in the filter is reset. Furthermore, due to the constraints imposed by tracked satellites/observations, the elevation cut-off angle is set to a low threshold of 10 degrees. This adjustment helps in effectively filtering out noisy measurements, while maximizing the inclusion of much needed satellites/measurements for smartphone processing. Meanwhile, a \(C/{N}_{0}\)-based weighting scheme is utilized in smartphone processing, and the measurement standard deviation \(\sigma\) is estimated from coefficients a and b, which are derived from filter residuals and frequency information (Banville et al. 2019; Shinghal and Bisnath 2021).

Table 1 Processing strategies of pseudorange-enhanced PPP

Measurement campaigns

In assessing the performance of proposed algorithms for smartphone positioning in real-world driving environments, a series of vehicle experiments were conducted around York University, Toronto, Canada. As depicted in Fig. 1, two smartphones, namely a Xiaomi MI 8 and Samsung Galaxy S21 +, were positioned on the vehicle's dashboard to replicate typical driver behaviors. Both smartphones support tracking of GPS, GLONASS, Galileo, and BeiDou (GREC) constellations, in addition to GPS L5 and Galileo E5a signals. The Geo +  + RINEX Logger (Geo + +) and Gnsslogger (Google), two widely used smartphone applications, were employed to collect observations. Furthermore, a geodetic GNSS system comprising a NovAtel SPAN (OEM7 + INS) and a geodetic antenna was securely mounted on the roof of the experimental vehicle. Another NovAtel OEM 7 receiver was installed within a 5 km baseline and operated as the base station. With the consideration of the lever arm compensation, this setup enabled the generation of a precise RTK/TC solution, which served as the ground truth for comparison purposes.

Fig. 1
figure 1

Experimental setup with smartphones and geodetic receivers: smartphone GNSS observations are retrieved from Geo++ RINEX Logger and processed with YorkPPP engine; NovAtel SPAN RTK/TC solutions are served as the reference

Figure 2 highlights the street view of the vehicle trajectory, with yellow arrows indicating the direction of movement. Additionally, a geofencing map is created to evaluate the positioning performance and analyze the raw measurements under different multipath profiles. The driving environments are classified into four categories: open-sky highways (A), vegetation (B), suburban roads (C), and overpasses (D). These categories are represented by purple, green, yellow, and pink polygons, respectively. It is also worth noting that the overpasses consist of two distinct areas, D1 corresponds to a short road passing under a railway bridge that spans approximately 10 m, while D2 represents an arterial road located beneath a highway viaduct, which is a more challenging area with a complete GNSS outage that extends over 100 m.

Fig. 2
figure 2

Street views of geofencing map with A open-sky highways, B vegetation, C suburban roads, and D overpasses

To ensure the replicability and reliability of this research, a total of ten road tests were performed on different days, following the identical routes. Table 2 provides comprehensive details of these datasets. Notably, road tests 3–6 were conducted during rush hour in Toronto, leading to more challenging traffic conditions compared to the other tests.

Table 2 Summary of ten road tests

Results analysis

To better appreciate the smartphone raw measurements behavior under different multipath profiles, the first four datasets listed from Table 2 were taken as examples and analyzed. Smartphones are usually employed for applications such as pedestrian navigation and vehicle navigation, where the primary focus lies in assessing user horizontal positioning errors. In alignment with this perspective, notable competitions such as the Google Smartphone Decimeter Challenge (Fu et al. 2020) in 2021, 2022, and 2023 have adopted horizontal positioning error as a key evaluation criterion. Therefore, in this section, the horizontal solutions together with the statistics from all ten datasets are discussed and compared with different PPP processing modes.

Raw GNSS measurements analysis under different driving environments

Figure 3 shows a comparison of the observed number of pseudorange and phase measurements between smartphone MI 8 (dataset 1) and a geodetic OEM7 GNSS receiver. For OEM7 measurements, the absence of a blue line is due to the complete overlap between the green and blue lines, indicating that the number of code and phase measurements recorded by geodetic receiver are always the same. For the MI 8 phone, the average number of pseudorange and phase measurements are 33 and 27, respectively. These quantities indicate that, on average, 6 phase measurements are lost during the data collection period, while the corresponding pseudorange measurements remained available. Conversely, no phase measurement loss is observed when the code measurements are available in the geodetic data collected by the OEM7 receiver. This comparison highlights the performance discrepancies that the smartphone experiences more frequent phase measurement losses in challenging environments.

Fig. 3
figure 3

Number of pseudorange and phase measurements for smartphone (left) and geodetic receiver (right)

In Fig. 4, a band-by-band, constellation-by-constellation analysis is performed to provide a comprehensive view of the phase unlock situation. The blue dots represent the difference between the number of pseudorange and phase measurements, while the red lines indicate the phase unlock ratio. From Fig. 4, it can be observed that no significant constellation- or band-specific trends are found in these phase unlock cases, suggesting that the phase losses issue is a general problem in smartphone raw observations and affect different frequencies and constellations in a similar manner.

Fig. 4
figure 4

Difference between the number of pseudorange and phase measurements (blue dots) for different constellations and the corresponding phase unlock ratios (red lines)

Figure 5 Number of visible and pseudorange-only satellites under different driving environments presents the number of visible satellites and pseudorange-only satellites, depicted as blue and green bars, respectively, under varying multipath conditions. Two key observations can be made from the plot. First, GNSS geometry remains relatively consistent across most driving environments irrespective of multipath effects. However, it is observed that multipath effects can vary significantly depending on the specific driving environments. Take satellite G10 as an illustrative example. The L1 code-minus-carrier (CMC) residuals for G10 differ across environments, measuring 2.0 m for open-sky conditions, 3.6 m in vegetation roads, 3.3 m in suburban roads, and 5.4 m in overpasses areas. Second, it should be noted that the overpass areas encompass not only the immediate overpass structures but also the nearby roads when geofencing was created, and as the vehicle approaches and traverses overpasses, the number of pseudorange-only satellites increases (on-average to 7.7), while the availability of visible satellites decreases (on-average to 15.2). This finding suggests that the smartphone tracking capability of phase measurements is significantly susceptible to obstructed environments

Fig. 5
figure 5

Number of visible and pseudorange-only satellites under different driving environments

Figure 6 Overall satellite CMC L1 residuals for datasets 1 (lower traffic) and 3illustrates a comparative analysis of L1 code-minus-carrier (CMC) residuals between road tests 1 and 3, offering insights into the smartphone observation quality influenced by various factors, including multipath effects and other noises, and different colors stand for CMC residuals from different satellites. As stated previously, test 3 experienced more challenging traffic conditions compared to test 1. As anticipated, the average L1 CMC residual for test 3 was 7.7 m, indicating a higher level of noise compared to test 1, which had an average residual of 5.5 m. The increased noise can be mainly attributed to more prominent multipath effects and signal interference caused by passing vehicles

Fig. 6
figure 6

Overall satellite CMC L1 residuals for datasets 1 (lower traffic) and 3 (higher traffic)

Pseudorange-enhanced PPP vs PPP in GNSS harsh environments

Figure 7 shows the time series of smartphone PPP horizontal errors for datasets 1 to 4. The conventional GNSS PPP solution is represented by the red line, while the enhanced GNSS PPP solution is represented by the blue line. It is evident that the smartphone pure GNSS PPP solution experiences significant degradation during GNSS outages. Additionally, although vehicle datasets 1–4 followed the same route, their PPP traditional solutions exhibited significant variations. Notably, datasets 3 and 4 display markedly inferior PPP solutions compared to datasets 1 and 2. This discrepancy can be attributed to the challenging traffic conditions during rush hours that are highlighted in Table 2, which results in frequent signal blockages and carrier-phase measurements loss.

Fig. 7
figure 7

Horizontal error with respect to the reference trajectory processed by PPP and enhanced PPP solutions with pseudorange-only measurements, and the PPP maximum errors are 25.9 m, 26.5 m, 25.1 m, 45.9 m for road tests 1–4, respectively

In contrast, the proposed enhanced PPP strategy, which incorporates additional pseudorange observations, provides more stable and resilient solutions in those GNSS-challenging environments. The improvement is particularly evident in datasets 1 and 2, where the maximum horizontal errors are reduced from 25.9 m and 26.5 m to 12.0 m and 9.8 m, respectively. Figure 8 summarizes the overall horizontal statistics for road tests 1 to 4, and corresponding metrics 95th percentile positioning error, 68th percentile positioning error, and overall RMS are represented as red, blue, and green bars, respectively. The enhanced PPP solutions are depicted in lighter colors. It can be observed that the positioning performance is improved for all four datasets. For example, in dataset 4, the horizontal positioning accuracy is improved from 5.4 m, 3.1 m, and 3.4 m to 2.2 m, 1.8 m, and 1.9 m for the 95th percentile error, 68th percentile error, and RMS, respectively.

Fig. 8
figure 8

Overall horizontal statistics for road tests 1 to 4 processed by PPP and pseudorange-enhanced PPP strategies

To investigate the reasons behind the improved solutions with enhanced PPP strategy, Fig. 9 shows the comparison between PDOP with/without the inclusion of pseudorange-only satellites. The pink dashed lines represent the PDOP improvement achieved by including pseudorange-only satellites for test 4. It is observed that the pseudorange-enhanced PPP strategy can improve PDOP by up to 60% compared to conventional PPP processing. Additionally, the 95th percentile positioning often reflects performance in challenging environments, such as those near overpasses or high-rise buildings where the phase measurements may experience significant signal loss. For instance, there could be situations with 4 satellites resulting in both pseudorange and carrier-phase measurements and 4 satellites resulting in only pseudorange observations. Including these 4 additional satellites/observations can lead to a substantial improvement in PDOP. Consequently, a noticeable reduction of approximately 20 cm in PDOP can be observed when pseudorange-only satellites are included in the data processing. Such improvements play a crucial role in mitigating GNSS outliers, especially when there are only a few satellites available.

Fig. 9
figure 9

PDOP comparison for road test 4 with/without pseudorange-only satellites. Blue line denotes PDOP for PPP solution, while green line is the PDOP for enhanced PPP. Pink line is the percentage of PDOP improvement for these two solutions

Pseudorange-enhanced PPP with adaptive post-fit residual threshold

The inclusion of pseudorange-only measurements provides significant improvement over conventional PPP performance in harsh environments, and based on the range error analysis, the average measured range error for pseudorange-only observations is 2.4 m. This value is consistent compared to regular pseudorange observations, which exhibit an average range error of 2.3 m when phase measurements are available. However, the involvement of unexpected noisy pseudorange-only observations can also be detrimental to solutions. For instance, during the initialization time for road test 1, there are noisy measurements related to G09 pseudorange-only observations with range errors exceeding 20 m. Nonetheless, the post-fit residual for G09 observations were calculated at 7.4 m, which remained undetected in the traditional fixed post-fit threshold rejection function. To mitigate this problem, a range error rejection function is applied to the enhanced PPP solutions. And Fig. 10 indicates that the pseudorange-enhanced PPP with range errors rejection function (green) can further improve the positioning solutions for dataset 1.

Fig. 10
figure 10

Time series of horizontal error and corresponding statistics for dataset 1 processed by pseudorange-enhanced PPP (blue) and pseudorange-enhanced PPP with range errors rejection function (green)

Although having a range errors rejection function is beneficial for solutions, it is impractical and cost inefficient for setting a geodetic rover adjacent to the smart device throughout real-time applications. Meanwhile, CMC assessment necessitate access to carrier-phase measurements, which are unavailable for pseudorange-only observations. Therefore, how to optimize the quality control methods and remove measurement outliers based on filter-inherited information are vital to smartphone positioning. Figure 11 describes the scatter diagrams and correlation analyses between smartphone pseudorange range errors and several parameters: pre-fit residuals, post-fit residuals, signal strength, and satellite elevation. These parameters are available in real-time PPP processing and have been commonly used for stochastic modelling and measurement optimization in smartphone positioning. It can be observed that the post-fit residuals exhibit the strongest correlation (0.67 on L1 frequency and 0.55 on L5 frequency) with range errors among the examined parameters, suggesting that utilizing post-fit residuals as a criterion for distinguishing measurement quality is more suitable and effective in smartphone positioning among other indices.

Fig. 11
figure 11

Correlation analysis of smartphone range errors with pre-fit residuals, post-fit residuals, signal strength, and elevation angle

Considering that the smartphone measurement quality is not only limited by the low-cost GNSS chipset and antenna but also the environment, it is unrealistic to assume a constant post-fit residual rejection threshold throughout smartphone processing. Figure 12 shows how the adaptive post-fit rejection threshold varies with the learning statistic and elapsed time for dataset 4. The left subplot illustrates that the adaptive post-fit threshold decreases as the learning statistic grows with predefined empirical constants \({c}_{0}\), \({c}_{1}\), and \({c}_{2}\), which are set to 1, 21, and 6, respectively. These values are derived empirically based on the ratio of visible satellites over pseudorange-only satellites, the metric/learning statistic can also be determined using indicators such as PDOP or other parameters reflecting the GNSS conditions. In other words, the post-fit threshold would be adjusted adaptively according to different driving conditions as in the right subplot: in harsh GNSS environments, where the quality of satellite measurements may be weaker, the post-fit threshold for satellite rejection is set higher. Conversely, in less challenging GNSS environments, the threshold is set lower. This adaptive adjustment allows for improved customization of the measurement rejecting criterion to suit different driving conditions and improve the PPP solutions accordingly.

Fig. 12
figure 12

Left subplot: variation of adaptive post-fit rejection threshold with respect to learning statistic (LS). Right subplot: time series depicting the adaptive post-fit rejection threshold for dataset 4

Figure 13 presents the time series of horizontal errors for datasets 1 to 4, where the enhanced PPP with traditional fixed post-fit residual threshold (blue lines) and enhanced PPP with adaptive post-fit residual threshold (green lines) are compared. The first subplot of Fig. 13 demonstrates that the adaptive post-fit residual threshold can detect and mitigating noisy measurements in the initialization stage for dataset 1. Although there are still performance discrepancies compared to the enhanced PPP with the range error rejection approach, the adaptive threshold approach shows its potential to reduce the maximum error from 12.0 to 4.2 m. Furthermore, the last subplot of Fig. 13 exemplifies the importance of the proposed adaptive algorithm for dataset 4. Enhanced PPP solutions with the adaptive post-fit residual threshold exhibit improved positioning performance, with 95th percentile error, 68th percentile error, and overall RMS reduced to 1.5 m, 1.0 m, and 1.6 m, respectively. Although the adaptive post-fit residual threshold provides little improvement for datasets 2 and 3, the proposed algorithm does not harm the enhanced PPP solutions with good GNSS geometry and data quality. Meanwhile, owing to the harsher driving conditions, the maximum horizontal positioning errors for datasets 3 and 4 can reach as high as 24.7 m and 44.9 m at the overpass D2, respectively. Given the limited availability of GNSS observations during these instances, neither the proposed methods could effectively mitigate these gross errors. Consequently, it is anticipated that the inclusion of an IMU holds the potential to significantly reduce such large errors, which deserves future research.

Fig. 13
figure 13

Horizontal error with respect to the reference trajectory for road tests 1 to 4 processed by pseudorange-enhanced PPP and pseudorange-enhanced PPP with adaptive post-fit thresholds, and maximum errors are 24.7 m, 44.9 m for road tests 3 and 4, respectively

Figure 14 highlights the overall horizontal error probability density function (PDF) and cumulative distribution function (CDF) for ten tested datasets. The solutions processed by PPP, enhanced PPP, and enhanced PPP with adaptive post-fit residual threshold are represented by red, blue, and green colors, respectively. It is evident that the inclusion of pseudorange-only measurements significantly enhances the accuracy of PPP positioning, as it effectively reduces the occurrence of horizontal errors exceeding 2.5 m. Furthermore, as highlighted in Table 3, the proposed adaptive post-fit residual rejection function further improves overall solutions, resulting in improvements of approximately 0.3 m, 0.2 m, and 0.3 m for overall RMS, mean, and 95th percentile errors, respectively, when compared to employing a traditional fixed post-fit threshold across ten datasets. Overall, when compared to conventional PPP strategy, the horizontal RMS, 95th percentile error, and 68th percentile error are reduced from 2.8 m, 5.5 m, and 2.2 m to 1.4 m, 1.8 m, and 1.3 m, respectively. These results demonstrate a notable improvement in smartphone PPP performance compared to previous studies conducted in harsh GNSS environments (Wu et al. 2019; Aggrey et al. 2020; Yi et al. 2022).

Fig. 14
figure 14

Overall horizontal errors probability density function (PDF) and cumulative distribution function (CDF) for all tested ten datasets processed by PPP (red), pseudorange-enhanced PPP (blue), and pseudorange-enhanced PPP with adaptive post-fit residual threshold rejection function (green)

Table 3 Overall horizontal statistics for all tested ten datasets processed by PPP, pseudorange-enhanced PPP, and pseudorange-enhanced PPP with adaptive post-fit residual threshold rejection function (Unit: m)

Conclusions and future work

Since every satellite measurement matters in smartphone GNSS processing, this study uniquely proposes a new PPP algorithm by enhancing the single- and dual-frequency PPP with pseudorange-only measurements to improve the satellite geometry and measurement redundancy. Also, a new adaptive post-fit residual rejection threshold is adopted to improve the measurement quality control strategy for different driving conditions. In light of these investigations, the contributions and novelties of this work can be concluded to answer the posed research objective questions:

  1. 1.

    We utilized the pseudorange-only measurements enhanced PPP algorithm to draw upon all available smartphone observations. Through the validation of ten vehicle experiments, the result reveals that the enhanced PPP solution can provide all-round enhancements in mitigating 95th and 68th percentile horizontal positioning error. Moreover, a significant level of 46% improvement with 1.5 m overall horizontal RMS can be attained with the enhanced PPP, which considerably outperforms conventional PPP solutions in smartphone processing.

  2. 2.

    The range error analysis explicitly indicates that post-fit residuals have the strongest positive correlation with receiver noise and multipath effects among the examined parameters. However, it is also important to note that in rare cases, post-fit residuals can perform deceptively compared to actual range errors, e.g., in Fig. 11, there are some measurements with small post-fit residuals but large range errors.

  3. 3.

    We proposed a new adaptive post-fit residual rejection threshold to screen out the measurement outliers according to the specific learning statistics, which can be determined by the three-segment function. Based on experimental solutions, it is concluded that the enhanced PPP with adaptive post-fit residual rejection threshold can provide improved solutions among other traditional PPP strategies, and corresponding statistics indicate that the proposed algorithm can attain 1.8 m, 1.3 m, and 1.4 m horizontal positioning performance in 95th percentile error, 68th percentile error, and overall RMS, respectively, under different driving environments.

Future work will focus on utilizing other advanced quality control strategies and stochastic weighting schemes to further reduce the negative impacts induced by pseudorange-only measurements. More broadly, this work will be extended to GNSS/IMU integrations and dense urban canyon environments for smartphone-based LBS applications.