Abstract
In recent years, there has been increasing attention to positioning, navigation, and timing applications with smartphones. Because of frequently disrupted carrier phase observations, code observations remain critical for smartphone-based positioning. Considering a realistic stochastic model is mandatory to obtain the utmost positioning performance, this study proposes a sound stochastic approach for code observations from Android smartphones. The proposed approach includes a modified version of the SIGMA-ɛ variance model with different coefficients for each GNSS constellation and a robust Kalman filter method. First the noise characteristics of observations from the **aomi Mi 8 smartphone are analyzed utilizing code-minus-phase combinations to estimate the coefficients for each GNSS constellation. This includes the determination of a variance model as well as a check of the probability distribution. Finally, the proposed approach is validated in the positioning domain using single-frequency code observation-based real-time standalone positioning. The results show that more than 95% of observations follow the normal distribution when the proposed approach is applied. Compared with the conventional stochastic approach, including a C/N0-dependent model and standard Kalman filter, it improves the positioning accuracy by 45.8% in a static experiment, while its improvement is equal to 26.6% in a kinematic experiment. For the static and kinematic experiments, in 50% of the epochs, the 3D positioning errors are smaller than 3.0 m and 3.4 m for the proposed stochastic approach. The results exhibit that the stochastic properties of code observations from smartphones can be successfully represented by the proposed approach.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
Introduction
In 2016, Google made raw GNSS (Global Navigation Satellite System) observations of Android devices accessible (Banville and Diggelen 2016). Since this date, the GNSS community has seen a growing interest in navigation, positioning, and timing applications with Android devices, particularly smartphones. The growing attention is mainly because the GNSS mass market is quantitatively dominated by low-cost receivers, taking the sensors in mobile devices and smartphones into account (EUSPA EO and GNSS Market Report 2022). However, achieving high positioning accuracy with smartphones is quite difficult because of their specific limitations, such as low protection against multipath, noisy code and phase observations, and disrupted carrier phases (Wanninger and Heßelbarth 2020; Darugna et al. 2021; Paziewski et al. 2021; Vazquez-Ontiveros et al. 2024). In the last few years, researchers have conducted numerous attempts to assess and improve the performance of smartphone positioning applications based on mostly the Real-time Kinematic (RTK) (Odolinski and Teunissen 2019; Dabove and Di Pietra 2019; Yong et al. 2021; Darugna 2021; Gao et al. 2021; Tao et al. 2023) and Precise Point Positioning (PPP) methods (Wu et al. 2019; Aggrey et al. 2020; Wang et al. 2021, 2023; Li et al. 2021).
Recent literature includes several studies that focus on the quality analysis of observations collected from Android smartphones. Studies have reported that observations from smartphones are more susceptible to multipath effects as they typically utilize low-cost antennas that are linearly polarized, unlike circularly polarized geodetic-grade antennas (Paziewski 2020; Zangenehnejad and Gao 2021). Compared to those from geodetic-grade receivers, smartphone observations have significantly lower C/N0 (carrier-to-noise ratio) values, which indicates lower signal strength (Zhang et al. 2018; Paziewski et al. 2021). As a result, GNSS observations of smartphones are substantially noisier than those of geodetic-grade receivers, and rather than the satellite elevation angle, their observation noise is strongly correlated with C/N0 values (Håkansson 2019; Paziewski et al. 2019; Zangenehnejad and Gao 2021; Liu et al. 2019). On the other hand, smartphone phase observations suffer from frequent interruptions because of abrupt phase drifts, missing phase observations, and duty cycling mode for some smartphone models (Li and Geng 2019; Geng and Li 2019; Paziewski et al. 2021).
Due to considerable discontinuities in carrier phase observations, code pseudorange observations still play a crucial role in smartphone-based positioning applications: They are commonly used in RTK and PPP methods, especially to compensate for inconsistencies in phase observations (Wang et al. 2023; Cheng et al. 2023; Tao et al. 2023; Li et al. 2023). Very recently, Yi et al. (2024) have used an enhanced PPP method that also includes the satellites that have pseudorange-only observations in addition to the ones with pseudorange and carrier phase observations for smartphone positioning and demonstrated an improvement of the overall RMS (root mean square) statistics by 46% compared to the traditional PPP method. On the other hand, studies concentrating on stochastic models have suggested that it is more convenient to use C/N0-dependent weighting schemes due to the low correlation between smartphone observation noise and satellite elevation angle (Liu et al. 2019; Wanninger and Heßelbarth 2020; Gao et al. 2021; Yuan et al. 2022; Bahadur 2022). These studies are mainly limited to the most common models used for comparing the C/N0-dependent and elevation-dependent weighting schemes, not proposing any special approach for smartphone observations. Sui et al. (2022) have proposed a stochastic model optimized for smartphone observations and showed that the positioning performance of SPP (single point positioning) and RTK methods can be improved between 10% and 40%, considering three-dimensional RMS errors. Zangenehnejad and Gao (2023) have presented the C/N0/elevation-based model for smartphone observations depending on the LS-VCE (least-square variance component estimation) method and showed an improvement of 25.1% in PPP solution, considering horizontal RMS errors. Still, these studies do not consider all GNSS constellations in their proposed stochastic models and the impact of outlier and incorrectly weighted observations.
A proper stochastic model that can represent the stochastic properties of their observations is mandatory to obtain the utmost positioning performance with smartphones. Therefore, this study proposes a sound stochastic approach for code pseudorange observations from Android smartphones. The corresponding approach adopts a weighting scheme that depends on C/N0 values with different coefficients estimated for GPS, GLONASS, Galileo, BeiDou-2, and BeiDou-3 constellations, separately. Also, a robust Kalman filter method based on the IGG III (Institute of Geodesy and Geophysics) function is employed in this approach to compensate for the effects of outliers and mis-weighted observations. Finally, the real-time standalone positioning method with smartphone observations collected in the static and kinematic environments is applied in this study to evaluate the positioning performance of the proposed approach.
The remainder of the paper is divided into the following sections: the methodology applied in this study to build a realistic stochastic approach for smartphone code observations, the observation noise assessment including evaluation of variance functions, the positioning performance evaluation for the proposed stochastic model in static and kinematic environments, and the summary and conclusions of this study.
Methodology
This section provides the detailed methodology applied in this study to build a sound stochastic approach for smartphone code observations. The section first introduces code-minus-phase (CMP) observations used to analyze the stochastic properties of smartphone code observations. Afterward, it explains three variance models utilized to represent characteristics of smartphone observations based on satellite elevation angle and signal C/N0 value. Finally, the section provides a robust Kalman filter method adopted in this study to compensate for the impact of outlier and incorrectly weighted observations.
Code-minus-phase (CMP) observation
The code pseudorange (\(P\)) and carrier phase (\(L\)) observations are given in meters by the following equations:
where subscripts \(i\) and \(r\) represent the frequency and receiver, respectively. Herein, superscripts \(s\) and \(j\) indicate the constellation index and satellite number, respectively. Also, \({\rho }_{r}^{s,j}\) is the geometric distance from the satellite to receiver in meters, \(c\) is the velocity of light in vacuum (\(m{s}^{-1}\)), \({dt}_{r}^{s}\) and \({dt}^{s,j}\) are the receiver and satellite clock offsets in seconds, \({T}_{r}^{s,j}\) is the tropospheric delay in meters, \({I}_{i,r}^{s,j}\) is the first-order ionospheric delay on the \(i\)th frequency in meters, \({b}_{i,r}^{s}\) and \({b}_{i}^{s,j}\) are the receiver and satellite code hardware biases on the \(i\)th frequency in seconds, \({B}_{i,r}^{s}\) and \({B}_{i}^{s,j}\) are the receiver and satellite phase hardware biases on the \(i\)th frequency in seconds, \({\lambda }_{i}^{s}\) is the wavelength of the corresponding GNSS signal in meters, \({N}_{i,r}^{s,j}\) is the integer ambiguity parameter in cycles and \(\varepsilon\) represents the observation noise and multipath for the related observation. The code-minus-phase observation (CMP) can be formed as follows:
This observation eliminates the geometry-dependent terms, including the receiver and satellite clock offsets, tropospheric delay, and geometric distance. However, it still includes twice the ionospheric delay, code and phase hardware biases, multipath effect, and observation noise. As the observation noise and multipath effect for phase observations are substantially lower than those of code observations, their effects can be neglected in the CMP observation. The slowly changing terms in the CMP observation, i.e., the constant ambiguities, hardware biases, low-frequency ionospheric delay, and multipath, can be removed by fitting a low-order polynomial \(p\left(t\right)\) over 120 s and subtracting it from the CMP observation (de Bakker et al. 2012). After a low-order polynomial fitting, the CMP observation contains the code observation noise in addition to the high-frequency ionospheric delay and multipath effect. For the CMP observation, the expectation and dispersion can be approximated by:
where \(d{I}_{i,r}^{s,j}\) and \(dMP_{i,r}^{s,j}\) represent the high-frequency ionospheric delay and multipath, respectively. Also, \({\sigma }_{C}\) is the standard deviation of the code observation noise and is directly connected to the \(\varepsilon \left({P}_{i,r}^{s,j}\right)\) given in Eq. (1).
Variance models
Traditionally, variance models depending on the satellite elevation angle are often used to describe the noise of code observations since the noise level is correlated with the elevation angle for geodetic-grade receiver-antenna-combination. This study adopts the cosec function, for GNSS applications one of the most common models, to determine observation weights based on the satellite elevation angle:
where \(a\) is the empirical coefficient generally selected as 0.3 m and 3.0 m for P- or C/A code observations obtained from geodetic-grade receivers and \(E\) is the satellite elevation angle.
For geodetic equipment, the C/N0 is implicitly elevation-dependent since values are dominated by the antenna gain. So, the noise of code observations can be assessed with a C/N0 dependent variance function (Langley 1996) which is linked to the noise of the receiver’s delay lock loop. This function is also adequate for GNSS observations whose noise level is correlated with C/N0 values rather than the elevation angle, like smartphone observations. The C/N0 dependent variance function is given by:
where \(\alpha\) and \({B}_{L}\) are the dimensionless delay lock loop discriminator correlator factor and equivalent code loop noise bandwidth, which can be approximated as 0.5 Hz and 0.8 Hz, also, \(c{n}_{0}\) represents the linear carrier-to-noise density calculated as \({10}^{(C/N0)/10}\) for C/N0 given in dB-Hz, \(T\) is the predetection integration time in seconds, which is typically smaller than 0.02 s, and \({\lambda }_{C}\) is the wavelength of P- or C/A-code (29.305 and 293.05 m) (Langley 1996).
Finally, the SIGMA-ɛ variance model introduced by Hartinger and Brunner (1999) can be employed to specify the noise of code observations based on C/N0 values. This study adopts the modified version of this model (de Bakker et al. 2009); we consider a lower C/N0 reference value of 40 dB-Hz because C/N0 values obtained from smartphones are considerably lower compared to geodetic-grade receivers. The modified version of the SIGMA-ɛ variance model can be written by:
where \(C\) is the variance factor which has to be estimated for specific frequencies and constellations. Figure 1 shows the value change of the SIGMA-ɛ variance function for a set of C/N0 data ranging from 10 to 60 dB-Hz in cases where reference values are selected as 40 and 45 dB-Hz, respectively. Herein, the figure shows that the function value is equal to 1 for C/N0 values of 40 and 45 dB-Hz for the respective reference values. Therefore, the reference value is usually selected very close to the average of C/N0 values for an observation dataset. When the reference value of 45 dB-Hz is selected, relatively higher function values are computed for low C/N0 values. As lower C/N0 values are acquired from smartphones, compared to geodetic-grade receivers, a C/N0 reference value of 40 dB-Hz is selected in this study to represent the smartphone observations better for the SIGMA-ɛ model.
Robust Kalman filter
The main difference between robust and standard Kalman filters is the use of an equivalent covariance matrix rather than the original covariance matrix for observations. The equivalent covariance matrix makes the filter more resistant to the negative impacts of dynamic system errors and outliers. Depending on the equivalent covariance matrix (\(\overline{\varvec{R}}_{k}\)), the Kalman gain (\(\overline{\varvec{K}}_{k}\)) at the epoch of \(k\) can be computed for the robust Kalman filter as follows:
where \({\varvec{P}}_{{\stackrel{-}{\varvec{x}}}_{\varvec{k}}}\) is the covariance matrix for the predicted state vector and \({\varvec{H}}_{k}\) is the design matrix. Herein, observation variances are realigned in the equivalent covariance matrix by means of a robust function (Yang et al. 2001). This study employs the IGG III function, one of the most popular functions used in GNSS applications, to design the equivalent covariance matrix.
Based on the IGG III function (Yang et al. 2002), standardized residuals for the related observation can be calculated by the following equation:
where \({v}_{k}\) denotes the observation residual, \({Q}_{{v}_{k}}\) is the variance of the observation residual, and \({\widehat{\sigma }}_{0}^{2}\) indicates the estimate of unit weight variance. It can be computed by \({\widehat{\sigma }}_{0}^{2}={(\varepsilon }^{T}{Q}_{\varepsilon }^{-1}\varepsilon )/n,\) where \(\varepsilon\;\text{and}\; {Q}_{\varepsilon }\) are the innovations (predicted residuals) and their covariance matrix, and \(n\) is the observation number. Depending on the standardized residuals (\({\stackrel{\sim}{v}}_{k}\)), the variance inflation factor can be computed for the related observation \(({\gamma }_{k})\) as follows:
where \({c}_{0}\) and \({c}_{1}\) are two thresholds, typically chosen as \({c}_{0}=1.0\sim2.5\) and \({c}_{1}=3.0\sim8.0\). Finally, the equivalent covariance matrix can be formed by:
where \({\stackrel{-}{R}}_{k}\) and \({R}_{k}\) represent the original and equivalent covariance matrices for observations, respectively.
In the conventional application of the IGG III function, the variance inflation factor is computed for each observation to shape the equivalent covariance matrix. Alternatively, Guo and Zhang (2014) followed an iterative procedure applying the IGG III function for the observation with the largest standardized residual in each iteration. The main reason for the use of this iterative procedure is the avoidance of filter divergence and a reduction in the contribution of the normal observations (Bahadur and Nohutcu 2021). Therefore, this iterative procedure is adopted in this study to conserve the original distributional properties of the observations.
Observation noise assessment
This section presents the detailed analysis conducted for assessing the observation noise of smartphones. Before the noise assessment, the section describes the observation dataset used in this study.
Data collection
In this study, the observation data collected at the HiTeC building roof of Leibniz University Hannover on October 25, 2019, is utilized for the observation noise assessment. The dataset includes GPS, GLONASS, Galileo, BeiDou-2, and BeiDou-3 observations with a 1-second sampling interval from a ** Functions 3 and Global Pressure and Temperature 3 (Landskron and Böhm 2018). Also, the ionospheric delay is mitigated with the daily predicted Global Ionosphere Map (GIM) generated by the CODE (Centre for Orbit Determination in Europe). In the filtering process, in addition to three positioning components, a separate receiver clock offset is defined for each navigation system, including BeiDou-2 and BeiDou-3, and they are estimated as the random walk process with a spectral density of \({10}^{3}\,m/\sqrt{s}ec\). Similarly, the random walk process with a spectral density of \(10\, cm/\sqrt{s}ec\)is used to estimate the positioning components, respectively.
Positioning solutions are conducted using an advanced version of PPPH software (Bahadur and Nohutcu 2018) under six separate scenarios to understand the impact of different variance functions with and without the robust Kalman filter method adopted in this study. So, the standard Kalman filter and robust Kalman filter methods are used with three variance functions explained previously. The standard Kalman filter employs the original covariance matrix for observations with a conventional outlier detection method. This method conventionally relies on the median absolute deviation check based on the innovations (a priori residuals). To be more specific, 852 observations are removed as they are labeled as outliers in the standard Kalman filter, which means 0.5% of the total observations, equal to 153,294, are excluded in the filtering process. Therefore, the influence of outlier observations is eliminated by this conventional method in the standard Kalman filter. The observation dataset has been processed under six separate scenarios. The positioning errors have been computed for each epoch as the difference between coordinates obtained from the related process and reference coordinates in the local coordinate system, including north, east, and up directions. Figure 8 indicates the positioning errors computed in the north, east, and up directions for the elevation-dependent, C/N0-dependent, and SIGMA-ɛ variance models with the standard Kalman filter. It can be observed that the SIGMA-ɛ variance model significantly improves the positioning accuracy in all directions. It can also be said that the positioning errors obtained from the C/N0-dependent model are relatively lower than those of the elevation-dependent model.
Similarly, Fig. 9 depicts the positioning errors calculated in the north, east, and up directions for three variance models with the robust Kalman filter. It is clear from the figure that the positioning accuracy is improved for all variance models when the robust Kalman filter method is employed. From these results, it can be said that the robust Kalman filter is more successful in compensating for the negative impacts of outliers and incorrectly weighted observations compared to the standard Kalman filter. Also, the SIGMA-ɛ variance model presents higher positioning accuracy when compared to other variance models.
Table 3 presents RMS errors computed for horizontal, vertical, and three-dimensional (3D) positioning components using different processing scenarios in the static experiment. Herein, horizontal positioning errors are calculated as the norm of the north and east components. Also, all epochs where position estimates exist are considered in the RMS error computation. These results demonstrate that the elevation-dependent variance function presents the worst positioning accuracy for the standard and robust Kalman filter solutions. In the standard Kalman filter, the SIGMA-ɛ model improves the positioning accuracy of the C/N0-dependent model by 20.3%, 22.3%, and 21.4% for horizontal, vertical, and 3D, respectively. These improvements are 22.1%, 15.6%, and 18.5% in the robust Kalman filter. Considering that many studies in the literature usually adopt the C/N0-dependent model without any robust statistical approach, the C/N0-dependent model with the standard Kalman filter can be assumed as the typical stochastic approach for smartphone observations. From this point, the proposed stochastic approach that includes the SIGMA-ɛ model and robust Kalman filter augments the 3D positioning accuracy of the typical stochastic approach by 45.8%.
Figure 10 presents the CDF (Cumulative Distribution Function) plots of 3D positioning errors computed for three variance models with the standard and robust Kalman filters in the static experiment. In the standard Kalman filter, expected 3D positioning errors in the 50th percentile are 5.44 m, 3.99 m, and 3.04 m for the elevation-dependent, C/N0-dependent, and SIGMA-ɛ models. As regards the robust Kalman filter, in the 50th percentile, expected 3D positioning errors are computed as 3.43 m, 2.66 m, and 2.23 m for the elevation-dependent, C/N0-dependent, and SIGMA-ɛ models. These results mean that the proposed stochastic approach provides the best positioning accuracy, and its improvement percentage equals 44.1% in comparison to the typical stochastic approach that contains the C/N0-dependent model with the standard Kalman filter.
Kinematic experiment
To test the proposed stochastic approach with the dataset collected in a realistic kinematic environment, the benchmark data released by the Android GPS team is utilized in this study (Fu et al. 2020). The main reason for selecting this dataset is that it includes observations collected from the **aomi Mi 8 smartphone and has highly reliable reference coordinates for each observation epoch. The reference coordinates provided with the observation dataset were obtained from an external system containing the RTK positioning and NovAtel SPAN Inertial Measurement Unit system. The observation dataset was collected from the **aomi Mi 8 smartphone placed above the dashboard of a test vehicle moving along a highway around the US Los Angeles North Hills on December 8, 2021 (Fig. 11). The dataset includes observations of GPS, GLONASS, Galileo, BeiDou-2, and BeiDou-3 satellites with a sampling interval of 1 s. More details about the benchmark dataset can be found in Fu et al. (2020). For this dataset, the average numbers of available GPS, GLONASS, Galileo, BeiDou-2, and BeiDou-3 satellites on their first frequencies are 8.06, 5.55, 3.72, 1.98, and 4.94, respectively.
Experimental setup used for the observation collection in the test vehicle (Fu et al. 2020)
Like the static experiment, the observation dataset was processed under six different scenarios, including three separate variance functions with the standard and robust Kalman filters. The same processing strategies applied in the previous experiment were adopted in positioning solutions. All noise properties were taken identically to what has been determined in the static experiment, excluding that a greater spectral density of \(1\, m/\sqrt{s}ec\)is used to estimate the positioning components in the kinematic process. The positioning errors were calculated as the coordinate difference between the related solution and ground truth provided with the dataset. Figures 12 and 13 depict positioning errors calculated in the north, east, and up directions for three variance functions with the standard and robust Kalman filter, respectively. These figures also include a plot showing the satellite visibility during the experiment. It is clear in the figures that the positioning accuracy of the kinematic experiment is relatively lower than that of the static experiment for all components. It can be observed that there exist some jumps in the positioning errors that mainly resulted from the unexpected decrease in visible satellite numbers due to objects blocking visibility, such as bridges, large buildings, etc. It can also be observed that their impacts are minimized by using the robust Kalman filter. From the figures, it is obvious that the SIGMA-ɛ model substantially augments the positioning accuracy for the standard and robust Kalman filter solutions.
Table 4 provides RMS errors computed for the horizontal, vertical, and 3D positioning components under six different processing scenarios. Herein, to further analyze the results, in addition to the whole observation duration, RMS errors are also computed for four periods obtained by dividing it into equal segments whose duration is nearly equal to 6 min. The table presents the corresponding period numbers in which RMS errors are computed, while RMS errors computed for the whole observation duration are presented as the ALL in the table. Compared to the static experiment, it is obvious that lower positioning accuracy can be obtained from the kinematic experiment for all processing scenarios. From the results, it can be said that the highest positioning errors are acquired from the elevation-dependent model for all periods. The positioning accuracy can be improved with the SIGMA-ɛ model considerably for both filtering solutions. For the standard Kalman filter solution, the SIGMA-ɛ model provides considerably better 3D positioning accuracy in all periods, excluding the fourth period where the C/N0-dependent model has the lowest positioning error. Regarding the robust Kalman filter solution, the best 3D positioning accuracy is obtained from the SIGMA-ɛ model in all periods. These results demonstrate that the SIGMA-ɛ model augments the positioning accuracy throughout the entire observation period. Compared to the C/N0-dependent model in the standard Kalman filter, the SIGMA-ɛ model improves horizontal, vertical, and 3D positioning accuracies by 26.3%, 2.1%, and 10.2%, respectively; while these numbers are equal to 13.0%, 10.8%, and 11.4% for the robust Kalman filter. Also, the 3D positioning accuracy of the typical stochastic approach is augmented by 26.6% with the proposed stochastic approach including the SIGMA-ɛ model and robust Kalman filter.
Finally, Fig. 14 shows the CDF plots of 3D positioning errors computed in the static experiment for three variance models with the standard and robust Kalman filters. Considering the standard Kalman filter, expected 3D errors in the 50th percentile are computed as 5.81 m, 4.41 m, and 3.52 m for the elevation-dependent, C/N0-dependent, and SIGMA-ɛ models. In the robust Kalman filter, expected 3D errors in the 50th percentile are 4.86 m, 3.82 m, and 3.36 m for the elevation-dependent, C/N0-dependent, and SIGMA-ɛ models. These results indicate that considerably improved positioning accuracy can be acquired from the stochastic approach that augments the 3D positioning accuracy of the typical stochastic approach by 26.5%.
Summary and conclusions
Using collected data from **aomi Mi 8 smartphones, the results of this study show that using C/N0-dependent weighting methods is more appropriate for representing the actual stochastic characteristics of smartphone observations instead of elevation-dependent weighting methods. As the noise characteristics of observations obtained from different constellations alter substantially, it is required to consider these differences to build a realistic stochastic model for smartphone observations. Assuming a normal distribution, the results indicate that the SIGMA-ɛ model, which includes different coefficients for each constellation, can stochastically represent more than 95% of smartphone observations. On the other side, the results also highlight that there are still a number of observations that cannot be correctly modeled regardless of the applied variance model. Therefore, a realistic stochastic model should contain a statistically robust approach to compensate for the negative impact of outliers and incorrectly weighted observations.
Concerning positioning performance, the results show that the proposed stochastic approach can provide better positioning accuracy than the conventional approaches. Compared to the typical stochastic approach that contains the C/N0-dependent model and standard Kalman filter, the proposed stochastic approach improves horizontal, vertical, and 3D positioning accuracies by 47.3%, 44.5%, and 45.8% in the static experiment, respectively. Similarly, horizontal, vertical, and 3D positioning accuracies of the typical stochastic approach are augmented by 33.5%, 22.9%, and 26.6% using the proposed stochastic approach in the kinematic experiment. 50% of the 3D positioning errors of the proposed stochastic approach are below 3.04 m and 3.36 m for the static and kinematic experiments, respectively.
These results conclude that the proposed stochastic approach can successfully represent the stochastic properties of code observations from Android smartphones and provide improved positioning accuracy compared to the conventional approaches. This study is limited to the use of the proposed stochastic approach with the **aomi Mi 8 smartphone, and future works should focus on its application with different smartphones. Also, the employment of the proposed stochastic model in other positioning methods, such as PPP and RTK, will be studied in future works.
Data availability
The observation dataset collected by the Android GPS Team can be found in the following link (https://www.kaggle.com/competitions/smartphone-decimeter-2023/overview). The remaining GNSS data are available from the corresponding author on reasonable request.
References
Aggrey J, Bisnath S, Naciri N, Shinghal G, Yang S (2020) Multi-GNSS precise point positioning with next-generation smartphone measurements. J Spat Sci 65(1):79–98. https://doi.org/10.1080/14498596.2019.1664944
Bahadur B (2022) A study on the real-time code-based GNSS positioning with android smartphones. Measurement 194:111078. https://doi.org/10.1016/j.measurement.2022.111078
Bahadur B, Nohutcu M (2018) PPPH: a MATLAB-based software for multi-GNSS precise point positioning analysis. GPS Solut 22:113. https://doi.org/10.1007/s10291-018-0777-z
Bahadur B, Nohutcu M (2021) Integration of variance component estimation with robust Kalman filter for single-frequency multi-GNSS positioning. Measurement 173:108596. https://doi.org/10.1016/j.measurement.2020.108596
Banville S, van Diggelen F (2016) Precision GNSS for everyone. GPS World 27:43–48
Cheng S, Wang F, Li G, Geng J (2023) Single-frequency multi-GNSS PPP-RTK for smartphone rapid centimeter-level positioning. IEEE Sens J 23(18):21553–21561. https://doi.org/10.1109/JSEN.2023.3301658
Dabove P, Di Pietra V (2019) Single-baseline RTK positioning using dual-frequency GNSS receivers inside smartphones. Sensors 19(19):4302. https://doi.org/10.3390/s19194302
Darugna F Improving smartphone-based GNSS positioning using state space augmentation techniques. Veröffentlichungen der DGK, Ausschuss Geodäsie der Bayerischen Akademie der Wissenschaften, Reihe C, Dissertationen (2021) No. 864, 189 pgs
Darugna F, Wübbena JB, Wübbena G, Schmitz M, Schön S, Warneke A (2021) Impact of robot antenna calibration on dual-frequency smartphone-based high-accuracy positioning: a case study using the Huawei Mate20X. GPS Solut 25:15. https://doi.org/10.1007/s10291-020-01048-0
de Bakker P, Marel H, Tiberius C (2009) Geometry-free undifferenced, single and double differenced analysis of single frequency GPS, EGNOS and GIOVE-A/B measurements. GPS Solut 13(4):305–314. https://doi.org/10.1007/s10291-009-0123-6
de Bakker PF, Tiberius CCJM, van der Marel H, van Bree RJP (2012) Short and zero baseline analysis of GPS L1 C/A, L5Q, GIOVE E1B, and E5aQ signals. GPS Solut 16:53–64. https://doi.org/10.1007/s10291-011-0202-3
European Union Agency for the Space Programme (2022) EUSPA EO and GNSS Market Report, Issue 1, Publications Office of the European Union. https://data.europa.eu/doi/10.2878/94903
Fu GM, Khider M, van Diggelen F (2020) Android raw GNSS measurement datasets for precise positioning. In: Proceedings of ION GNSS 2020. Institute of Navigation, September 21–25, pp 1925–1937
Gao R, Xu L, Zhang B, Liu T (2021) Raw GNSS observations from Android smartphones: characteristics and short-baseline RTK positioning performance. Meas Sci Technol 32(8):084012. https://doi.org/10.1088/1361-6501/abe56e
Geng J, Li G (2019) On the feasibility of resolving Android GNSS carrier-phase ambiguities. J Geod 93:2621–2635. https://doi.org/10.1007/s00190-019-01323-0
Guo F, Zhang X (2014) Adaptive robust Kalman filtering for precise point positioning. Meas Sci Technol 25(10):105011. https://doi.org/10.1088/0957-0233/25/10/105011
Håkansson M (2019) Characterization of GNSS observations from a Nexus 9 Android tablet. GPS Solut 23:21. https://doi.org/10.1007/s10291-018-0818-7
Hartinger H, Brunner F (1999) Variances of GPS Phase observations: the SIGMA-ɛ Model. GPS Solut 2:35–43. https://doi.org/10.1007/PL00012765
Landskron D, Böhm J (2018) VMF3/GPT3: refined discrete and empirical Troposphere map** functions. J Geod 92:349–360. https://doi.org/10.1007/s00190-017-1066-2
Langley RB (1996) GPS receivers and the observables. In: Kleusberg A, Teunissen PJG (eds) GPS for geodesy. Lecture notes in earth sciences, vol 60. Springer, Berlin
Li GC, Geng JH (2019) Characteristics of raw multi-GNSS measurement error from Google android smart devices. GPS Solut 23(3):90. https://doi.org/10.1007/s10291-019-0885-4
Li M, Lei Z, Li W, Jiang K, Huang T, Zheng J, Zhao Q (2021) Performance evaluation of single-frequency precise point positioning and its use in the android smartphone. Remote Sens 13(23):4894. https://doi.org/10.3390/rs13234894
Li M, Huang G, Wang L, **e W (2023) BDS/GPS/Galileo Precise Point Positioning Performance Analysis of Android Smartphones Based on Real-Time Stream Data. Remote Sens 15(12):2983. https://doi.org/10.3390/rs15122983
Liu W, Shi X, Zhu F, Tao X, Wang F (2019) Quality analysis of multi-GNSS raw observations and a velocity-aided positioning approach based on smartphones. Adv Space Res 63(8):2358–2377
Odolinski R, Teunissen PJG (2019) An assessment of smartphone and low-cost multi-GNSS single-frequency RTK positioning for low, medium and high ionospheric disturbance periods. J Geod 93:701–722. https://doi.org/10.1007/s00190-018-1192-5
Paziewski J (2020) Recent advances and perspectives for positioning and applications with smartphone GNSS observations. Meas Sci Technol 31(9):091001. https://doi.org/10.1088/1361-6501/ab8a7d
Paziewski J, Sieradzki R, Baryla R (2019) Signal characterization and assessment of code GNSS positioning with low-power consumption smartphones. GPS Solut 23:98. https://doi.org/10.1007/s10291-019-0892-5
Paziewski J, Fortunato M, Mazzoni A, Odolinski R (2021) An analysis of multi-GNSS observations tracked by recent android smartphones and smartphone-only relative positioning results. Measurement 175:109162. https://doi.org/10.1016/j.measurement.2021.109162
Saastamoinen J (1973) Contributions to the theory of atmospheric refraction. Bull Geodesique 107:13–34. https://doi.org/10.1007/BF02522083
Sui M, Gong C, Shen F (2022) An optimized stochastic model for smartphone GNSS positioning. Front Earth Sci 10:1018420. https://doi.org/10.3389/feart.2022.1018420
Tao X, Liu W, Wang Y, Li L, Zhu F, Zhang X (2023) Smartphone RTK positioning with multi-frequency and multi-constellation raw observations: GPS L1/L5, Galileo E1/E5a, BDS B1I/B1C/B2a. J Geod 97:43. https://doi.org/10.1007/s00190-023-01731-3
Vazquez-Ontiveros JR, Martinez-Felix CA, Melgarejo-Morales A et al (2024) Assessing the quality of raw GNSS observations and 3D positioning performance using the **aomi Mi 8 dual-frequency smartphone in Northwest Mexico. Earth Sci Inf 17:21–35. https://doi.org/10.1007/s12145-023-01148-8
Wang L, Li Z, Wang N, Wang Z (2021) Real-time GNSS precise point positioning for low-cost smart devices. GPS Solut 25:69. https://doi.org/10.1007/s10291-021-01106-1
Wang J, Zheng F, Hu Y, Zhang D, Shi C (2023) Instantaneous sub-meter level precise point positioning of low-cost smartphones. Navigation 70(4). https://doi.org/10.33012/navi.597
Wanninger L, Heßelbarth A (2020) GNSS code and carrier phase observations of a Huawei P30 smartphone: quality assessment and centimeter-accurate positioning. GPS Solut 24(24):64. https://doi.org/10.1007/s10291-020-00978-z
Wieser A, Gaggl M, Hartinger H (2005) Improved positioning accuracy with high-sensitivity GNSS receivers and SNR aided integrity monitoring of pseudo-range observations. In: Proceedings of the 18th international technical meeting of the satellite division of the institute of navigation (ION GNSS 2005). pp 1545–1554
Wu Q, Sun M, Zhou C, Zhang P (2019) Precise point positioning using dual-frequency GNSS observations on Smartphone. Sensors 19(9):2189. https://doi.org/10.3390/s19092189
Yang Y, He H, Xu G (2001) Adaptively robust filtering for kinematic geodetic positioning. J Geodesy 75:109–116. https://doi.org/10.1007/s001900000157
Yang Y, Song L, Xu T (2002) Robust estimator for correlated observations based on bifactor equivalent weights. J Geodesy 76:353–358. https://doi.org/10.1007/s00190-002-0256-7
Yi D, Hu J, Bisnath S (2024) Improving PPP smartphone processing with adaptive quality control method in obstructed environments when carrier-phase measurements are missing. GPS Solut 28:56. https://doi.org/10.1007/s10291-023-01596-1
Yong CZ, Odolinski R, Zaminpardaz S, Moore M, Rubinov E, Er J, Denham M (2021) Instantaneous, Dual-Frequency, Multi-GNSS Precise RTK positioning using Google Pixel 4 and Samsung Galaxy S20 smartphones for Zero and Short Baselines. Sensors 21(24):8318. https://doi.org/10.3390/s21248318
Yuan H, Zhang Z, He X, Li G, Wang S (2022) Stochastic model assessment of low-cost devices considering the impacts of multipath effects and atmospheric delays. Measurement 188:110619. https://doi.org/10.1016/j.measurement.2021.110619
Zangenehnejad F, Gao Y (2021) GNSS smartphones positioning: advances, challenges, opportunities, and future perspectives. Satell Navig 2:24. https://doi.org/10.1186/s43020-021-00054-y
Zangenehnejad F, Gao Y (2023) Stochastic modeling of smartphones GNSS observations using LS-VCE and application to Samsung S20. Sensors 23:3478. https://doi.org/10.3390/s23073478
Zhang X, Tao X, Zhu F, Shi X, Wang F (2018) Quality assessment of GNSS observations from an android N smartphone and positioning performance analysis using time-differenced filtering approach. GPS Solut 22:70. https://doi.org/10.1007/s10291-018-0736-8
Acknowledgements
The authors would like to thank the Scientific and Technological Research Council of Turkey (TUBITAK) for supporting this study as part of the International Postdoctoral Research Fellowship Program (2219).
Funding
The first author is funded by the Scientific and Technological Research Council of Turkey (TUBITAK) as part of the International Postdoctoral Research Fellowship Program (2219).
Open access funding provided by the Scientific and Technological Research Council of Türkiye (TÜBİTAK).
Author information
Authors and Affiliations
Contributions
All authors contributed to the study’s conception and design. Material preparation, data collection, and analysis were performed by B.B. and S.S. The first draft of the manuscript was written by B.B. and all authors commented on previous versions of the manuscript. All authors read and approved the final manuscript.
Corresponding author
Ethics declarations
Ethics approval and consent to participate
Not applicable.
Consent for publication
All authors give their consent to the journal for publication of this study.
Competing interests
The authors declare no competing interests.
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Bahadur, B., Schön, S. Improving the stochastic model for code pseudorange observations from Android smartphones. GPS Solut 28, 148 (2024). https://doi.org/10.1007/s10291-024-01690-y
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10291-024-01690-y