Submitted Successfully!
Thank you for your contribution! You can also upload a video entry or images related to this topic.
Version Summary Created by Modification Content Size Created at Operation
1 -- 1207 2022-05-27 16:01:07 |
2 format correct -11 word(s) 1196 2022-05-30 04:43:03 |

Video Upload Options

Do you have a full video?


Are you sure to Delete?
If you have any further questions, please contact Encyclopedia Editorial Office.
Everett, T.; Lee, D.; Taylor, T. Optimizing Use of RTKLIB for Smartphone-Based GNSS Measurements. Encyclopedia. Available online: (accessed on 03 March 2024).
Everett T, Lee D, Taylor T. Optimizing Use of RTKLIB for Smartphone-Based GNSS Measurements. Encyclopedia. Available at: Accessed March 03, 2024.
Everett, Tim, Dong-Kyeong Lee, Trey Taylor. "Optimizing Use of RTKLIB for Smartphone-Based GNSS Measurements" Encyclopedia, (accessed March 03, 2024).
Everett, T., Lee, D., & Taylor, T. (2022, May 27). Optimizing Use of RTKLIB for Smartphone-Based GNSS Measurements. In Encyclopedia.
Everett, Tim, et al. "Optimizing Use of RTKLIB for Smartphone-Based GNSS Measurements." Encyclopedia. Web. 27 May, 2022.
Optimizing Use of RTKLIB for Smartphone-Based GNSS Measurements

The Google Smartphone Decimeter Challenge (GSDC) was a competition held in 2021, where data from a variety of instruments useful for determining a phone’s position (signals from GPS satellites, accelerometer readings, gyroscope readings, etc.) using Android smartphones were provided to be processed/assessed in regard to the most accurate determination of the longitude and latitude of user positions. One of the tools that can be utilized to process the GNSS measurements is RTKLIB. RTKLIB is an open-source GNSS processing software tool that can be used with the GNSS measurements, including code, carrier, and doppler measurements, to provide real-time kinematic (RTK), precise point positioning (PPP), and post-processed kinematic (PPK) solutions.

Android smartphone RTK PPK GNSS RTKLIB

1. Real-Time Kinematic (RTK)

Multiple global navigation satellite system (GNSS) measurements exist that can be used for position, velocity, and time (PVT) computations. These include code, carrier, and doppler measurements. RTK uses carrier phase measurements to provide more precise PVT than code-based positioning. Theoretically, RTK is able to provide centimeter-level positioning to its users [1]. Multiple GNSS receivers exist that provide RTK solutions, but commercial software packages are expensive [2]. A list of the available open-source and closed-source GNSS packages with RTK capabilities is provided by the National Geodetic Survey (NGS) [3]. RTKLIB is one of the open-source packages available to the public.

2. What Is RTKLIB?

RTKLIB was first developed in April 2006 by Tomoji Takasu, first released to the public as an open source in January 2009, and is currently distributed under a BSD 2-clause license [4]. The latest version from Takasu’s branch is 2.4.3 b34, which was released on 29 December 2020, but multiple forks exist, including the one from the authors, Tim Everett. For user interface, RTKLIB offers graphic user interface (GUI) access points (AP) on Windows and Console apps on both Windows and Linux environments. RTKLIB is a powerful GNSS data analysis tool that can process various types of GNSS, data including receiver independent exchange format (RINEX) [5] and radio technical commission for maritime services (RTCM) formats [6]. Using the input data, it is able to carry out various position computations, including single point positioning (SPP), differential GNSS (DGNSS), real-time kinematic GNSS (RTK-GNSS), post-processing kinematic GNSS (PPK-GNSS), and precise point positioning (PPP). Over the years, numerous updates have been made to the RTKLIB for the support of multi-constellation and multi-frequencies. Researchers look at the PPK solution, since it does not require any real-time navigation solution computations, and PPK is able to provide higher accuracy position solutions than SPP and PPP [7]. Furthermore, all the GNSS observables and ephemeris information from nearby base stations required for PPK are available from various public servers.

3. Google Smartphone Decimeter Challenge (GSDC)

GSDC was a Kaggle competition held by Google in 2021 (with a second expected offering in 2022). The objective was to generate the most accurate position solutions for a large number of raw observation data sets collected using Android devices inside a moving vehicle in the San Francisco Bay area [8]. In 2021, two sets of data, training and test, were provided by Google on Kaggle [9]. There were 29 routes and 73 smartphone data in the train set, and 19 routes and 45 data in the test set. There were multiple data for each route because multiple Android devices, spaced approximately 20 cm apart, were logging the data at the same time. During the drive, truth data was also collected using a NovAtel SPAN ISA-100C unit. This is because the SPAN unit is able to provide a horizontal accuracy of up to 0.01 m RMS [10]. As the smartphones were not in the same location as the antenna, their relative displacements with respect to the NovAtel antenna were taken into account for the smartphone truth determination. The training set was provided with the corresponding truth positions, but the truth for the test set was used for the Kaggle leaderboard determination. The data collected was provided in both RINEX and raw GnssLogger format. Although the raw format is what is logged by the smartphone, Google also provided a translation of the raw measurements into the RINEX format for those who preferred the more commonly used format. The measurements were filtered by Google during the conversion, and more details on this are provided in the Data Conversion section.
The drive routes can be classified into highway, street, and downtown, depending on the amount of expected multipath in the signals [11]. The highway is mostly open-sky, the street is open-sky with some attenuation from trees and nearby buildings, and downtown is heavily affected by attenuation and multipath from high-rise buildings. For the phone setup, the devices were located on the dashboard of the vehicles with no ground plane, which means that they were exposed to significant amounts of additional signal attenuation, and multipath at least at the level as to what would be expected if the antennas were placed on the roof of the vehicle.
The scores for the competition were determined by averaging the 50th percentile and 95th percentile errors of the computed latitude and longitude positions at each time epoch. The errors were computed using truth provided by the NovAtel SPAN unit. As the truth was not released for the test set, the scores were available upon submitting a list of the computed positions to the Kaggle website. In order to allow the participants to test the Kaggle website interface, a baseline results file was provided by Google as well. The algorithms used by Google to obtain the positions in the baseline file were proprietary, but some details about how the results were processed were provided to all participants [12].

4. Performance of RTKLIB and GSDC Participants

Coupled with commercial receivers such as u-blox, RTKLIB has been able to provide centimeter level of accuracy [13]. However, as RTKLIB was originally designed for commercial GNSS receivers with survey type measurements, multiple adaptations are required for its use in GSDC, where only the GNSS measurements from smartphones are available. The smartphones used in GSDC (Google Pixel4 variants, Samsung S series variants, and Xiaomi Mi8) have several differences from commercial GNSS receivers, particularly with respect to antenna design/performance [14]. Consequently, the quality of the measurements is worse, leading to greater signal noise, increased number of carrier phase cycle slips, and increased multipath. This issue is illustrated by Qiong [15], when raw GNSS measurements from a Xiaomi Mi8 smartphone and a geodetic receiver collected at the same time were processed using RTKLIB. When GPS L1 measurements from both devices were processed using the same kinematic PPP mode, the geodetic receiver had horizontal position errors of approximately 1 m, while the smartphone’s errors were approximately 3–5 m, due to fewer observed satellites and lower carrier to noise ratio density (C/N0) for the tracked satellites.
In the 2021 GSDC, the 1st-place winner used factor graph optimization, coupled with Takasu’s version of the RTKLIB, to obtain a score of 1.62 m [11]. Other teams used Google’s baseline Android navigation engine [16] or their own proprietary navigation engines [17]. In the Results, the performance of the updated RTKLIB against other navigation engines will be provided using the official Kaggle scoring system. The comparison candidates are Google’s baseline solution and the scores of other participants. The goal will be to assess where the performance of the suggested RTKLIB adaptation stands among other available navigation engines used in the competition.


  1. Wang, J. Stochastic Modeling for Real-Time Kinematic GPS/GLONASS Positioning. Navigation 1999, 45, 297–305.
  2. Gakstatter, E.; GPS World. RTK GNSS Receivers: A Flooded Market? 21 March 2013. Available online: (accessed on 1 April 2022).
  3. Bilich, A. National Geodetic Survey, Last Modified. 14 July 2021. Available online: (accessed on 1 April 2022).
  4. Takasu, T. RTKLIB: Open Source Program Package for RTK-GPS. In Proceedings of the FOSS4G 2009, Tokyo, Japan, 20–23 October 2009.
  5. IGS/RTCM RINEX Working Group. The Receiver Independent Exchange Format, Version 4.00. 1 December 2021. Available online: (accessed on 1 April 2022).
  6. RTCM Standard 10403.3; Differential Global Navigation Satellite Systems Services, Version 3. RTCM Special Committee: Washington, DC, USA, 20 May 2021. Available online: (accessed on 1 April 2022).
  7. European Global Navigation Satellite Systems Agency. PPP-RTK Market and Technology Report. 2019. Available online: (accessed on 1 April 2022).
  8. Fu, G.; Khider, M.; van Diggelen, F. Android raw GNSS Measurement Datasets for Precise Positioning. In Proceedings of the ION GNSS+ 2020, St. Louis, MI, USA, 22–25 September 2020.
  9. Google Smartphone Decimeter Challenge. Available online: (accessed on 1 April 2022).
  10. NovAtel. IMU-ISA-100C Product Sheet, Version 8, Updated 10 May 2016. Available online: (accessed on 1 April 2022).
  11. Taro, S. First Place Award Winner of the Smartphone Decimeter Challenge: Global Optimization of Position and Velocity by Factor Graph Optimization. In Proceedings of the ION GNSS+ 2021, Denver, CO, USA, 19–23 September 2021.
  12. Sohier, D. Methodology behind the Baseline Location Estimates, Kaggle. Available online: (accessed on 28 March 2022).
  13. Tomoji, T. Development of the low-cost RTK-GPS receiver with an open source program package RTKLIB. In International Symposium on GPS/GNSS; International Convention Center: Jeju, Korea, 2009.
  14. Pesyna, K.M., Jr.; Heath, R.W., Jr.; Humphreys, T.E. Centimeter Positioning with a Smartphone-Quality GNSS Antenna. In Proceedings of the ION GNSS+ 2014, Tampa, FL, USA, 8–12 September 2014.
  15. Wu, Q.; Sun, M.; Zhou, C.; Zhang, P. Precise Point Positioning Dual-Frequency GNSS Observations on Smartphone. Sensors 2019, 19, 2189.
  16. Han, K.; Lee, S.; Song, Y.J.; Lee, H.B.; Park, D.H.; Won, J.H. Precise Positioning with Machine Learning based Kalman Filter using GNSS/IMU Measurements from Android Smartphone. In Proceedings of the ION GNSS+2021, Denver, CO, USA, 19–23 September 2021.
  17. Fortunato, M.; Tagliaferro, G.; Fernandez-Rodriguez, E.; Critchley-Marrows, J. The Whole Works: A GNSS/IMU Tightly Coupled Filter for Android Raw GNSS Measurements with Local Ground Augmentation Strategies. In Proceedings of the ION GNSS+ 2021, Denver, CO, USA, 19–23 September 2021.
Contributors MDPI registered users' name will be linked to their SciProfiles pages. To register with us, please refer to : , ,
View Times: 660
Revisions: 2 times (View History)
Update Date: 30 May 2022