GNSS Observation Generation from Smartphone Android Location API: Performance of Existing Apps, Issues and Improvement
Abstract
:1. Introduction
- To provide a performance evaluation of RINEX outputs from two widely used smartphone GNSS data loggers, namely the GnssLogger App, and the Geo++ RINEX App, and also compare to our newly developed software (UofC CSV2RINEX tool). It gives the reader a great insight into the potential issues in the GNSS observations such as their inconsistency and bias issues in the smartphone pseudorange, carrier-phase and Doppler observations;
- To introduce our newly developed software (UofC CSV2RINEX tool) available at https://github.com/FarzanehZangeneh/csv2rinex, which provides improved performance. Such a tool is of value to researchers and engineers who are developing precise positioning algorithms and products with smartphones GNSS observations;
- To investigate the positioning performance of the three RINEX files in the post-processed mode using a real kinematic dataset.
2. Access to Android Raw GNSS Measurements and GNSS Observation Generation
2.1. Pseudorange Observation Generation
2.2. Carrier-Phase Observation Generation
2.3. Doppler Observation Generation
3. Precise Positioning Using Uncombined PPP (UPPP) Algorithm
4. Quality Analysis of GNSS Observations from Different Logging Apps and Improvement
4.1. Analysis of GNSS Observations from Different Logging Apps
4.1.1. Inconsistency between Pseudorange, Carrier-Phase and Doppler Observations
- First-order differentiation of pseudorange and carrier-phase versus Doppler observations: The first-order differentiation of GNSS pseudorange and carrier-phase observations are obtained by calculating differences between adjacent elements of GNSS pseudorange and carrier-phase observations divided by the sampling interval (i.e., and where is the sampling interval which is 1 s here). They then compare to the Doppler observations (). The first-order differences of pseudorange and carrier-phase observations have to follow the same trend of the Doppler observations in theory;
- Geometry-free combination (Code-minus-phase: CMP): It cancel the geometric part of the measurement (i.e., geometric range, receiver and satellite clock and tropospheric delay), leaving ambiguity, ionosphere term, multipath and noise. This combination can also be used to detect cycle-slips in the carrier-phase observations as a cycle-slip appears as a jump in the CMP plot;
- Carrier-phase predicted error: The predicted carrier-phase in cycle can be obtained using the discrete Doppler measurements as . The carrier-phase predicted error is then estimated as in meters.
Indicator | Formula |
---|---|
First-order differentiation of pseudorange and phase versus Doppler observations | |
Geometry-free (Code minus phase: CMP) | |
Carrier-phase predicted error |
4.1.2. Carrier-Phase Observations with No Change over Time
4.2. UPPP Positioning Accuracy Analysis
5. Conclusions
- Consistency between generated pseudorange, carrier-phase and Doppler observations from Android smartphone devices was not fully met in the RINEX outputs of the GnssLogger and Geo++ RINEX Logger Apps. As a highlight, in GnssLogger RINEX file, pseudorange and carrier-phase, observations were not consistent with each other while looking at the CMP combination. In Geo++ RINEX Logger output, the consistency between the carrier-phase and Doppler observations was not met. With our converter software, these three types of measurements were consistent;
- GnssLogger App had an issue that some carrier-phase observations from the Xiaomi Mi8 and Samsung S20 devices (saved into the RINEX files) did not change over time. These epochs mainly belonged to the lower C/N0 values with invalid ADR states;
- With our converter software, an improved positioning accuracy could be witnessed when compared with both Geo++ RINEX Logger and GnssLogger outputs. Using UofC CSV2RINEX output, the 50th percentile CEP was 0.330 m, which was 0.450 m for GEO++ RINEX Logger, and SPP-level accuracy for GnssLogger due to frequent cycle slip was detected.
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Navarro-Gallardo, M.; Bernhardt, N.; Kirchner, M.; Musial, J.R.; Sunkevic, M. Assessing Galileo Readiness in Android Devices using Raw Measurements. In Proceedings of the ION GNSS 2017, Institute of Navigation, Portland, OR, USA, 25–29 September 2017; pp. 85–100. [Google Scholar]
- Zhang, X.; Tao, X.; Zhu, F.; Shi, X.; Wang, F. Quality Assessment of GNSS Observations from an Android N Smartphone and Positioning Performance Analysis Using Time-differenced Filtering Approach. GPS Solut. 2018, 22, 70. [Google Scholar] [CrossRef]
- Li, G.; Geng, J. Characteristics of raw multi-GNSS measurement error from Google Android smart devices. GPS Solut. 2019, 23, 90. [Google Scholar] [CrossRef]
- Robustelli, U.; Baiocchi, V.; Pugliano, G. Assessment of Dual Frequency GNSS Observations from a Xiaomi Mi 8 Android Smartphone and Positioning Performance Analysis. Electronics 2019, 8, 91. [Google Scholar] [CrossRef] [Green Version]
- Robustelli, U.; Paziewski, J.; Pugliano, G. Observation Quality Assessment and Performance of GNSS Standalone Positioning with Code Pseudoranges of Dual-frequency Android Smartphones. Sensors 2021, 21, 2125. [Google Scholar] [CrossRef] [PubMed]
- Elmezayen, A.; El-Rabbany, A. Precise Point Positioning using World’s First Dual-frequency GPS/GALILEO Smartphone. Sensors 2019, 19, 2593. [Google Scholar] [CrossRef] [Green Version]
- Wu, Q.; Sun, M.; Zhou, C.; Zhang, P. Precise Point Positioning using Dual-frequency GNSS Observations on Smartphone. Sensors 2019, 19, 2189. [Google Scholar] [CrossRef] [Green Version]
- Aggrey, J.; Bisnath, S.; Naciri, N.; Shinghal, G.; Yang, S. Multi-GNSS Precise Point Positioning with Next-Generation Smartphone Measurements. J. Spat. Sci. 2020, 65, 79–98. [Google Scholar] [CrossRef]
- Shinghal, G.; Bisnath, S. Conditioning and PPP Processing of Smartphone GNSS Measurements in Realistic Environments. Satell. Navig. 2021, 2, 10. [Google Scholar] [CrossRef]
- Zangenehnejad, F.; Gao, Y. Application of UofC Model Based Multi-GNSS PPP to Smartphones GNSS Positioning. In Proceedings of the 34th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2021), St. Louis, MO, USA, 20–24 September 2021; pp. 2986–3003. [Google Scholar]
- Dabove, P.; Di Pietra, V. Towards High Accuracy GNSS Real-time Positioning with Smartphones. Adv. Space Res. 2019, 63, 94–102. [Google Scholar] [CrossRef]
- Dabove, P.; Di Pietra, V. Single-Baseline RTK Positioning using Dual frequency GNSS Receivers Inside Smartphones. Sensors 2019, 19, 4302. [Google Scholar] [CrossRef]
- Zhang, K.; Jiao, W.; Wang, L.; Li, Z.; Li, J.; Zhou, K. Smart-RTK: Multi-GNSS Kinematic Positioning Approach on Android Smart Devices with Doppler-Smoothed-Code Filter and Constant Acceleration Model. Adv. Space Res. 2019, 64, 1662–1674. [Google Scholar] [CrossRef]
- Heßelbarth, A.; Wanninger, L. Towards Centimeter Accurate Positioning with Smartphones. In Proceedings of the 2020 European Navigation Conference (ENC), Virtual, 23–24 November 2020; pp. 1–8. [Google Scholar]
- Paziewski, J.; Fortunato, M.; Mazzoni, A.; Odolinski, R. An Analysis of Multi-GNSS Observations Tracked by Recent Android Smartphones and Smartphone-only Relative Positioning Results. Measurement 2021, 175, 109162. [Google Scholar] [CrossRef]
- Yan, W.; Bastos, L.; Magalhães, A. Performance Assessment of the Android Smartphone’s IMU in a GNSS/INS Coupled Navigation Model. IEEE Access 2019, 7, 171073–171083. [Google Scholar] [CrossRef]
- Niu, Z.; Nie, P.; Tao, L.; Sun, J.; Zhu, B. RTK with the Assistance of an IMU-based Pedestrian Navigation Algorithm for Smartphones. Sensors 2019, 19, 3228. [Google Scholar] [CrossRef] [Green Version]
- Bochkati, M.; Sharma, H.; Lichtenberger, C.A.; Pany, T. Demonstration of Fused RTK (Fixed)+ Inertial Positioning using Android Smartphone Sensors only. In Proceedings of the 2020 IEEE/ION Position, Location and Navigation Symposium (PLANS), Portland, OR, USA, 20–23 April 2020; pp. 1140–1154. [Google Scholar]
- Paziewski, J. Recent Advances and Perspectives for Positioning and Applications with Smartphone GNSS Observations. Meas. Sci. Technol. 2020, 31, 091001. [Google Scholar] [CrossRef]
- Zangenehnejad, F.; Gao, Y. GNSS Smartphones Positioning: Advances, Challenges, Opportunities, and Future Perspectives. Satell. Navig. 2021, 2, 24. [Google Scholar] [CrossRef]
- Bahadur, B. A Study on the Real-time Code-Based GNSS Positioning with Android Smartphones. Measurement 2022, 194, 111078. [Google Scholar] [CrossRef]
- Li, Y.; Cai, C.; Xu, Z. A Combined Elevation Angle and C/N0 Weighting Method for GNSS PPP on Xiaomi MI8 Smartphones. Sensors 2022, 22, 2804. [Google Scholar] [CrossRef]
- Li, Y.; Cai, C. A Mixed Single-and Dual-Frequency Quad-Constellation GNSS Precise Point Positioning Approach on Xiaomi Mi8 Smartphones. J. Navig. 2022, 75, 849–863. [Google Scholar] [CrossRef]
- Li, Z.; Wang, L.; Wang, N.; Li, R.; Liu, A. Real-time GNSS Precise Point Positioning with Smartphones For Vehicle Navigation. Satell. Navig. 2022, 3, 19. [Google Scholar] [CrossRef]
- Li, X.; Wang, H.; Li, X.; Li, L.; Lv, H.; Shen, Z.; Xia, C.; Gou, H. PPP Rapid Ambiguity Resolution using Android GNSS Raw Measurements with a Low-Cost Helical Antenna. J. Geod. 2022, 96, 65. [Google Scholar] [CrossRef]
- Xu, L.; Zha, J.; Li, M.; Yuan, Y.; Zhang, B. Estimation of Ionospheric Total Electron Content using GNSS Observations Derived From a Smartphone. GPS Solut. 2022, 26, 138. [Google Scholar] [CrossRef]
- Zhu, H.; Xia, L.; Li, Q.; Xia, J.; Cai, Y. IMU-Aided Precise Point Positioning Performance Assessment with Smartphones in GNSS-Degraded Urban Environments. Remote Sens. 2022, 14, 4469. [Google Scholar] [CrossRef]
- Yi, D.; Yang, S.; Bisnath, S. Native Smartphone Single-and Dual-Frequency GNSS-PPP/IMU Solution in Real-World Driving Scenarios. Remote Sens. 2022, 14, 3286. [Google Scholar] [CrossRef]
- Bakuła, M.; Uradziński, M.; Krasuski, K. Performance of DGPS Smartphone Positioning with the Use of P (L1) vs. P (L5) Pseudorange Measurements. Remote Sens. 2022, 14, 929. [Google Scholar] [CrossRef]
- Li, F.; Tu, R.; Han, J.; Zhang, S.; Liu, M.; Lu, X. Performance Research of Real-Time Kinematic/5G Combined Positioning Model. Meas. Sci. Technol. 2023, 34, 035115. [Google Scholar] [CrossRef]
- Benvenuto, L.; Cosso, T.; Delzanno, G. An Adaptive Algorithm for Multipath Mitigation in GNSS Positioning with Android Smartphones. Sensors 2022, 22, 5790. [Google Scholar] [CrossRef]
- Li, Y.; Mi, J.; Xu, Y.; Li, B.; Jiang, D.; Liu, W. A Robust Adaptive Filtering Algorithm for GNSS Single-Frequency RTK of Smartphone. Remote Sens. 2022, 14, 6388. [Google Scholar] [CrossRef]
- Liu, Q.; Gao, C.; Shang, R.; Peng, Z.; Zhang, R.; Gan, L.; Gao, W. NLOS Signal Detection and Correction for Smartphone using Convolutional Neural Network and Variational Mode Decomposition in Urban Environment. GPS Solut. 2023, 27, 31. [Google Scholar] [CrossRef]
- Miao, W.; Li, B.; Gao, Y. The Superiority of Multi-GNSS L5/E5a/B2a Frequency Signals in Smartphones: Stochastic Modelling, Ambiguity Resolution and RTK Positioning. IEEE Internet Things J. 2022. [Google Scholar] [CrossRef]
- Yong, C.Z.; Harima, K.; Rubinov, E.; McClusky, S.; Odolinski, R. Instantaneous Best Integer Equivariant Position Estimation Using Google Pixel 4 Smartphones for Single-and Dual-Frequency, Multi-GNSS Short-Baseline RTK. Sensors 2022, 22, 3772. [Google Scholar] [CrossRef]
- Li, B.; Miao, W.; Chen, G.E.; Li, Z. Ambiguity Resolution for Smartphone GNSS Precise Positioning: Effect Factors and Performance. J. Geod. 2022, 96, 63. [Google Scholar] [CrossRef]
- Fu, G.; Mohammed, K.; van Diggelen, F. Android Raw GNSS Measurement Datasets for Precise Positioning. In Proceedings of the 33rd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2020), Virtual, 22–25 September 2020; pp. 1925–1937. [Google Scholar]
- Geo++ GmbH. Geo++ GmbH. Logging of GNSS Raw Data on Android. Geo++. 2018. Available online: http://www.geopp.de/logging-of-gnss-raw-data-on-android/ (accessed on 12 December 2022).
- Zangenehnejad, F.; Jiang, Y.; Gao, Y. Improving Smartphone PPP and RTK Performance Using Time-Differenced Carrier Phase Observations. In Proceedings of the 35th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2022), Denver, CO, USA, 19–23 September 2022; pp. 2287–2300. [Google Scholar]
- European Global Navigation Satellite Systems Agency, GSA. Using GNSS Raw Measurements on Android Devices—Towards Better Location Performance in Mass Market Applications (White Paper); Publications Office of the European Union: Luxembourg, 2018; Available online: https://www.gsa.europa.eu/system/files/reports/gnss_raw_measurement_web_0.pdf (accessed on 12 December 2022).
- Teunissen, P.J.G.; Kleusberg, A. GPS for Geodesy, 2nd ed.; Springer: Berlin/Heidelberg, Germany; New York, NY, USA, 1998. [Google Scholar]
- Kouba, J.; Héroux, P. Precise Point Positioning using IGS Orbit and Clock Products. GPS Solut. 2001, 5, 12–28. [Google Scholar] [CrossRef]
- Chen, B.; Gao, C.; Liu, Y.; Sun, P. Real-Time Precise Point Positioning with a Xiaomi MI 8 Android Smartphone. Sensors 2019, 19, 2835. [Google Scholar] [CrossRef]
App | Developer | Output Format |
---|---|---|
GnssLogger | CSV, NMEA and RINEX | |
Geo++ RINEX Logger | Geo++ GmbH Company | RINEX |
rinexON | FLAMINGO | NMEA, RINEX |
GalileoPVT | European Space Agency (ESA) | CSV and NMEA |
G-RitZ logger | Ritsumeikan University | NMEA, RINEX |
GNSS/IMU Android Logger | Universität der Bundeswehr München | CSV, RINEX and IMU data |
Devices | Xiaomi Mi8, Google Pixel 5 and Samsung S20 |
PRNs | PRN 01 (GPS), 17 (GLONASS), 31 (Galileo) |
Mode | Static |
App logger | Geo++ RINEX logger (v2.1.6), GnssLogger (v3.0.5.6) |
Date | 23 November, 2022 |
Duration | ~1 h 30 min |
Sampling interval | 1 sec |
Combination | GnssLogger | Geo++ RINEX Logger | UofC CSV2RINEX |
---|---|---|---|
Code & Phase | No (Attention required!) | Yes | Yes |
Code & Doppler | No | No | Yes |
Phase & Doppler | Yes | No (Attention required!) | Yes |
Device | Xiaomi Mi8 |
Measurements used | GPS (L1/L5), GLONASS (L1), Galileo (E1/E5a) |
Mode | Kinematic |
Date | 22 November 2022 |
Duration | 1 h |
Sampling interval | 1 s |
Troposphere model | Saastamoinen model |
Ionosphere model | Global ionospheric maps (GIM) |
Functional model | UPPP model |
Stochastic model | C/N0 and elevation weighting function |
Elevation mask angle | 10 deg |
C/N0 mask | 20 dB-Hz |
Satellite orbit | CODE MGEX precise ephemerides (5 min interval) |
Clock error | CODE MGEX precise clock (1 sec interval) |
Satellite DCB correction | CAS DCBs in Bias SINEX (BSX) format |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Zangenehnejad, F.; Jiang, Y.; Gao, Y. GNSS Observation Generation from Smartphone Android Location API: Performance of Existing Apps, Issues and Improvement. Sensors 2023, 23, 777. https://doi.org/10.3390/s23020777
Zangenehnejad F, Jiang Y, Gao Y. GNSS Observation Generation from Smartphone Android Location API: Performance of Existing Apps, Issues and Improvement. Sensors. 2023; 23(2):777. https://doi.org/10.3390/s23020777
Chicago/Turabian StyleZangenehnejad, Farzaneh, Yang Jiang, and Yang Gao. 2023. "GNSS Observation Generation from Smartphone Android Location API: Performance of Existing Apps, Issues and Improvement" Sensors 23, no. 2: 777. https://doi.org/10.3390/s23020777
APA StyleZangenehnejad, F., Jiang, Y., & Gao, Y. (2023). GNSS Observation Generation from Smartphone Android Location API: Performance of Existing Apps, Issues and Improvement. Sensors, 23(2), 777. https://doi.org/10.3390/s23020777