=Paper=
{{Paper
|id=Vol-3919/short12
|storemode=property
|title=Analyzing Google Smartphone Decimeter Challenge 2023-2024 Data on a Pixel 6 Pro: A Comparison with Rtklibexplorer
|pdfUrl=https://ceur-ws.org/Vol-3919/short12.pdf
|volume=Vol-3919
|authors=Shilin Shen,Nobuaki Kubo
|dblpUrl=https://dblp.org/rec/conf/ipin/ShenK24
}}
==Analyzing Google Smartphone Decimeter Challenge 2023-2024 Data on a Pixel 6 Pro: A Comparison with Rtklibexplorer==
Analyzing Google Smartphone Decimeter Challenge
2023-2024 Data on a Pixel 6 Pro: A Comparison with
Rtklibexplorer
Shilin Shen1 , Nobuaki Kubo2
1
Graduate School of Marine Science and Technology, Tokyo University of Marine Science and Technology, Tokyo, Japan
2
Faculty of Marine Technology, Tokyo University of Marine Science and Technology, Tokyo, Japan
Abstract
This paper presents an analysis of GNSS data from the Google Smartphone Decimeter Challenge 2023-2024 using
a Pixel 6 Pro smartphone. The study compares the results obtained using rtklibexplorer and a proprietary program
developed in our laboratory focusing on real-time forward analysis applicable to practical scenarios. Initially, a
program script was constructed following detailed instructions from Tim Everett, the developer of rtklibexplorer,
achieving a public leaderboard score of 1.807. Through further optimizations, including adjustments to GNSS
parameters such as the signal-to-noise ratio (SNR) mask and elevation ratio, the score was improved to 1.545,
securing a highest ranking of 13th place. Building on insights from the challenge, this study further refines
our laboratory’s software for real-world GNSS applications. By processing data from the Pixel 6 Pro using
its L1 frequency and forward techniques, we compared our results with those obtained using rtklibexplorer.
Our program demonstrated comparable performance, with horizontal 2DRMS values ranging from 3m to 5m,
and in some instances, even surpassing the accuracy of rtklibexplorer. These findings highlight the significant
research value and potential of our laboratory’s program for enhancing GNSS positioning accuracy in practical
applications.
Keywords
GNSS, Google Smartphone Decimeter Challenge, rtklibexplorer, positioning accuracy, real-time analysis, forward
processing, GNSS optimization
1. Introduction
This paper presents the results of an analysis using GNSS (Global Navigation Satellite System) data from
the Google Smartphone Decimeter Challenge 2023-2024 (GSDC)[1]. The challenge has been completed,
and we utilized the GNSS data provided as training data. The software used in this analysis includes
rtklibexplorer[2] and a program developed in our laboratory. Rtklibexplorer, a popular GNSS analysis
tool available on GitHub, is a modified version of RTKLIB[3] optimized for moving platforms and
challenging environments. Similarly, our lab’s software has been designed to address these challenging
conditions, particularly through the use of loosely-coupled GNSS and velocity integration.
The rtklibexplorer software was employed by the author to participate in the challenge, achieving
a score of approximately 2 meters and a ranking of 50th without specific optimizations. Despite the
performance gap between the top scores and that of rtklibexplorer, it serves as a valuable benchmark.
This paper aims to demonstrate the performance of forward analysis and explore strategies for improving
positioning accuracy using the software developed in our laboratory.
2. Participation and Performance in the Google Smartphone
Decimeter Challenge
The GSDC 2023-2024 focused on enhancing high-precision GNSS positioning using data collected
from smartphones[4]. Hosted on Kaggle, the competition encouraged participants to develop solutions
Proceedings of the Work-in-Progress Papers at the 14th International Conference on Indoor Positioning and Indoor Navigation
(IPIN-WiP 2024)
Envelope-Open m235029@edu.kaiyodai.ac.jp (S. Shen); nkubo@kaiyodai.ac.jp (N. Kubo)
© 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
CEUR
ceur-ws.org
Workshop ISSN 1613-0073
Proceedings
achieving decimeter-level accuracy.
2.1. Scoring and Leaderboards
Submissions were evaluated based on the mean of the 50th and 95th percentile distance errors across
various smartphone models. The competition included two phases: a public leaderboard for interim
rankings and a private leaderboard for final rankings, with prizes and recognition based on the private
leaderboard results[5].
2.2. Data Collection
GSDC utilized smartphones with advanced GNSS capabilities to collect raw GNSS measurements and
high-precision ground truth data across diverse environments in the United States, such as open areas,
urban canyons, and highways. The smartphones used included:
• Google Pixel Series (e.g. Pixel 6 Pro)
• Xiaomi Mi 8
• Samsung Models (e.g. Samsung S22 Ultra)
The dataset was divided into training and test sets, with the training set used for model development
and the test set for final submissions and leaderboard ranking.
3. Score Using Rtklibexplorer
During our participation in GSDC, we followed the guidance and programs provided by rtklibexplorer
to obtain initial positioning results. Building on this foundation, we made further optimizations and
improvements, ultimately enhancing the public leaderboard score from 1.807 to 1.545 for the test dataset.
Although the improvement in the public score was modest, the progress in the private score underscores
the feasibility and effectiveness of our optimizations. Below is a detailed account of our participation
process:
3.1. Initial Setup
Based on rtklibexplorer’s ”Getting Started with RTKLIB: 2023” article for the Google Smartphone
Decimeter Challenge[6], Tim Everett, the developer of rtklibexplorer, provides a detailed competition
notebook outlining four key steps to enhance positioning accuracy:
1. Pre-processing Data: Preprocessing to convert raw data into readable rover data, resulting in
gnss_log.obs and gnss_log.trc files from the initial gnss_log.txt file.
Figure 1: Converted Files
2. Initial Processing with RTKLIB: Retrieving base observation and satellite navigation files. For
the 2023 competition, the primary base observations are SLAC and VDCY, obtainable using the
get_base_data.py script in the Python folder of the notebook.
3. Post-processing and Smoothing: Applying Kalman filtering and other smoothing techniques
to refine initial estimates and improve accuracy.
4. Automating with Python: Using Python scripts to automate the entire processing workflow,
ensuring efficient and rapid data handling.
In the 2023-2024 Challenge, the test dataset comprised 40 data sets. Using Tim Everett’s program, an
initial public score of 1.807 was achieved.
Figure 2: Score in Public Leaderboard on Initial Setup
3.2. Enhancing Accuracy
At this stage, our score ranked around 40th place. To achieve a higher ranking, we further optimized the
GNSS parameters in the configuration file to better align with the positioning accuracy requirements of
the competition data. Since the data lacked L2 frequency information, we focused on the L1 and L5
frequencies. The key adjustments made were as follows:
1. Signal-to-Noise Ratio (SNR) Mask: We adjusted the SNR mask from
snrmask_L1=28,28,28,28,28,28,28,28,28,
snrmask_L5=20,20,20,20,20,20,20,20,20
to
snrmask_L1=28,28,29,29,30,30,31,31,32,
snrmask_L5=20,20,21,21,22,22,23,23,24.
The SNR mask filters out satellite signals that do not meet the minimum SNR requirements,
ensuring that only signals with sufficient quality are used, thereby improving positioning accuracy.
2. Elevation Ratio (Eratio): We modified the elevation ratio (Eratio ) from
stats-eratio1 = 200
to
stats-eratio1 = 100.
The Eratio filters out satellite signals that are too close to the horizon, which are more prone to
errors due to atmospheric interference and multipath effects. This adjustment further enhanced
the accuracy of our GNSS solutions.
Through these parameter adjustments, we achieved a best public score of 1.545, with a highest
ranking of 13th place.
Figure 3: Best Score and Highest Ranking
4. Results and Comparison
4.1. New Attempts After the Challenge
In real-world applications, smartphone positioning is typically performed in real-time. Although
the GSDC permits a combination of pre-processing and post-processing (integrating forward and
backward processing) to achieve highly accurate positioning, practical scenarios generally rely on
forward processing for real-time measurements. Based on this, the present study aims to optimize
smartphone positioning algorithms using GSDC data under real-world conditions.
Following participation in the 2023-2024 GSDC, this research leverages GSDC datasets to refine
our lab’s existing algorithms, with the objective of benchmarking our results against those from the
rtklibexplorer project. Our laboratory’s methodology involves using pseudorange and Doppler residuals
to exclude satellites with significant errors, followed by Kalman filtering for state estimation, which
includes the smoothing of both position and velocity measurements. By systematically adjusting the
filtering thresholds, we aim to achieve optimal performance. This approach is expected to yield critical
insights into the efficacy of our methodologies and contribute valuable knowledge to the GNSS research
community.
The optimization process for improving positioning accuracy is systematically divided into four
critical steps, each addressing specific aspects of positioning errors to refine the overall solution. These
steps are detailed below.
4.1.1. Differential GNSS
The first step involves obtaining an initial solution through Differential GNSS (DGNSS). Our propri-
etary program provides a foundational positioning estimate. Figures 4 , 5 , and 6 illustrate the initial
pseudorange residuals, Doppler residuals, and horizontal error results, respectively, observed during
this stage. These residuals are computed using the least squares method, where velocity vectors are
derived by minimizing the sum of squared pseudorange residuals. This step establishes the baseline
performance of the system.
Figure 4: Original Pseudorange Residuals
Figure 5: Original Doppler Residuals
Figure 6: Initial Horizontal Error Result
4.1.2. Mitigation of Suspect Satellites Using Pseudorange Residuals
In this part, we focus on enhancing positioning accuracy by identifying and eliminating suspect satellites
based on pseudorange residuals. GNSS signals are susceptible to interference and multipath effects,
often indicated by significant pseudorange residuals, which can introduce systematic errors into the
positioning solution.
To mitigate these errors, we first increase the precision of pseudorange residual calculations. The
pseudorange residual is computed using the following mathematical expression:
𝑟𝑖 = √(𝑆𝑉 𝑥𝑖 − 𝑥0 )2 + (𝑆𝑉 𝑦𝑖 − 𝑦0 )2 + (𝑆𝑉 𝑧𝑖 − 𝑧0 )2 (1)
where 𝑆𝑉 𝑥𝑖 , 𝑆𝑉 𝑦𝑖 , 𝑆𝑉 𝑧𝑖 are the satellite coordinates for satellite 𝑖, while 𝑥0 , 𝑦0 , 𝑧0 are the initial
estimated receiver coordinates.
The pseudorange residual 𝑅𝑖 is then computed as:
𝑅𝑖 = 𝑃𝑖 + Δ𝑡 + 𝐶 − 𝑟𝑖 (2)
where 𝑃𝑖 is the measured pseudorange, Δ𝑡 is the satellite clock correction, 𝐶 is any additional correction
factor.
By utilizing this method, we can identify and exclude satellites with large pseudorange residuals.
Figure 7 shows the corrected pseudorange residuals after removing the suspect satellites.
Figure 7: Corrected Pseudorange Residuals
4.1.3. Mitigation of Suspect Satellites Using Doppler Residuals
This part addresses the enhancement of positioning accuracy by focusing on Doppler residuals. Signif-
icant Doppler residuals can indicate errors in the GNSS signals, which may degrade the positioning
solution.
The Doppler residual for each satellite is calculated by comparing the measured Doppler shift with
the calculated Doppler shift. The calculated Doppler shift (Dopplercalculated ) is determined using the
following formula:
𝑓𝑐
Dopplercalculated = × (vsat − vrecv ) ⋅ r̂ (3)
𝑐
where 𝑓𝑐 is the carrier frequency of the signal, 𝑐 is the speed of light, vsat is the velocity vector of the
satellite, vrecv is the velocity vector of the receiver, r̂ is the unit vector pointing from the receiver to the
satellite.
The Doppler residual is then calculated as:
Dopplerresidual = Dopplermeasured − Dopplercalculated (4)
where Dopplermeasured is the observed Doppler shift from the satellite.
This process allows us to identify and exclude satellites with large Doppler residuals, thus improving
the accuracy of the positioning solution. The corrected Doppler residuals are shown in Figure 8.
Figure 8: Corrected Doppler Residuals
Additionally, after enhancing the positioning accuracy through the mitigation of suspect satellites
using pseudorange residuals and Doppler residuals, the updated horizontal error results are illustrated
in Figure 9. This demonstrates the improvement in positioning accuracy after applying the pseudorange
residuals and Doppler residuals corrections.
Figure 9: Horizontal Error Result after Mitigating Suspect Satellites Using pseudorange residuals and Doppler
residuals
4.1.4. Incorporation of Loosely coupled Kalman Filter
The third step involves applying a Loosely coupled Kalman Filter to the positioning data. This technique
is crucial for smoothing and refining estimated positions by filtering out noise and correcting errors that
may have accumulated during data collection. The Kalman Filter is particularly effective in dynamic
environments, offering a method to continuously improve the accuracy and stability of the positioning
solution[7].
The final horizontal error result after implementing the aforementioned three steps was 5.45 meters,
indicating a significant improvement in positioning accuracy.
Figure 10: Horizontal Error Result after the Three Steps
4.1.5. Optimization Through Threshold Selection
The final step is selecting appropriate thresholds, essential for balancing sensitivity and specificity in
detecting and correcting errors. Systematically adjusting and comparing different threshold values
allows us to identify the settings that yield the best performance in terms of accuracy and reliability.
This ensures that the refined positioning solution is both accurate and robust across various operational
conditions.
In the subsequent analysis, we used data obtained from the Pixel 6 Pro model in the training dataset
of the Google Smartphone Decimeter Challenge. The dataset contains 14 routes with Pixel 6 Pro
measurement data. We processed this data using only L1 frequency and forward techniques, comparing
our laboratory program results with those obtained using Tim Everett’s rtklibexplorer program.
First, we obtained processing results from both rtklibexplorer and our laboratory’s program. Since
the training dataset includes ground truth data (span_log.nmea ), we were able to compare the Google
Score values of the output position files, as shown in Table 1.
Table 1
Google Score Comparison of Results
File Our Score Rtklibexplorer Score
2021-12-07-19-22-us-ca-lax-d 2.51 2.57
2021-12-07-22-21-us-ca-lax-g 2.82 2.07
2021-12-08-17-22-us-ca-lax-a 2.62 1.04
2021-12-08-18-52-us-ca-lax-b 3.80 2.74
2021-12-08-20-28-us-ca-lax-c 2.36 1.69
2021-12-09-17-06-us-ca-lax-e 3.26 1.83
2022-01-11-18-48-us-ca-mtv-n 6.50 3.46
2022-04-01-18-22-us-ca-lax-t 6.23 24.78
2022-05-13-20-57-us-ca-mtv-pe1 2.44 1.25
2023-03-08-21-34-us-ca-mtv-u 2.97 1.93
2023-09-06-00-01-us-ca-routen 3.76 3.34
2023-09-06-18-47-us-ca 6.62 2.62
2023-09-07-19-33-us-ca 2.48 2.45
2023-09-07-22-47-us-ca-routebc2 2.78 2.14
Final Score 3.65 3.85
In addition to the Google Score comparison, we also compared the total number of epochs processed
by both programs. Table 2 below presents the original number of epochs and the total positioning
results from our laboratory’s program versus rtklibexplorer.
Table 2
Google Score Comparison of Results
File Original Number of Our Total Rtklibexplorer Total
Epochs Positioning Results Positioning Results
2021-12-07-19-22-us-ca-lax-d 1760 1748 1723
2021-12-07-22-21-us-ca-lax-g 1433 1428 1432
2021-12-08-17-22-us-ca-lax-a 1441 1430 1432
2021-12-08-18-52-us-ca-lax-b 1417 1414 1379
2021-12-08-20-28-us-ca-lax-c 922 911 918
2021-12-09-17-06-us-ca-lax-e 1100 1092 1090
2022-01-11-18-48-us-ca-mtv-n 943 938 934
2022-04-01-18-22-us-ca-lax-t 1465 1421 242
2022-05-13-20-57-us-ca-mtv-pe1 2161 2174 2147
2023-03-08-21-34-us-ca-mtv-u 1101 1096 1078
2023-09-06-00-01-us-ca-routen 1649 1644 1506
2023-09-06-18-47-us-ca 1485 1429 1393
2023-09-07-19-33-us-ca 1088 1077 1060
2023-09-07-22-47-us-ca-routebc2 2066 2061 2026
The table shows that the results from our laboratory’s program are generally comparable to those
obtained using rtklibexplorer, demonstrating the research value and potential of our approach. In some
cases, our program even outperforms rtklibexplorer.
5. Summary, Conclusion, and Future Works
5.1. Summary
This study utilized GNSS data from the Google Smartphone Decimeter Challenge 2023-2024 to evaluate
and enhance smartphone positioning accuracy. The primary tools employed were rtklibexplorer and a
proprietary program developed in our laboratory. The focus was on real-time forward analysis, which
is more relevant for everyday smartphone use. Optimizations were made by adjusting GNSS parameters
in the configuration files, such as the signal-to-noise ratio (SNR) mask and elevation ratio (Eratio), to
improve performance.
5.2. Conclusion
The comparison between rtklibexplorer and our laboratory’s program demonstrated that our program
could achieve comparable accuracy levels. Through parameter adjustments, the initial public leaderboard
score was improved from 1.807 to 1.545, with the highest ranking reaching 13th place. This improvement
indicates the feasibility and effectiveness of the optimizations implemented. Post-competition compar-
isons revealed that, in certain scenarios and environments, our program outperformed rtklibexplorer,
suggesting that our lab’s program has significant research value and potential for real-world GNSS
applications, on par with rtklibexplorer.
5.3. Future Works
Future work will focus on several key areas:
• Incorporating Carrier Phase Measurements: As carrier phase measurements were not utilized in
this analysis, future efforts will focus on integrating these measurements into our program to
enhance accuracy.
• Incorporating L5 Measurements: Given that L5 measurements are generally more accurate than
L1, incorporating L5 data into our program will be a priority.
• Improving Pseudorange Residual Detection: We have used a standard pseudorange residual check
in this study. Future work will involve developing more sophisticated algorithms to detect large
pseudorange residuals more accurately.
• Achieving 2.0 m Horizontal Errors in 2DRMS: Our ultimate goal is to achieve horizontal errors of
2.0 meters in 2DRMS. This will require the development of new methods to reach this target.
Acknowledgments
We would like to thank the organizers of the Google Smartphone Decimeter Challenge for providing
the dataset used in this study. This research was supported by the Tokyo University of Marine Science
and Technology.
References
[1] Google smartphone decimeter challenge 2023-2024, https://www.kaggle.com/competitions/
smartphone-decimeter-2023, 2023. Accessed: 2024-08-27.
[2] RTKLIB Explorer, Rtklib explorer, https://github.com/rtklibexplorer/RTKLIB, 2024. Accessed: 2024-
08-27.
[3] Rtklib, https://github.com/tomojitakasu/RTKLIB, 2024. Accessed: 2024-08-27.
[4] C. Loh, Google decimeter challenge explanation, https://www.chadloh.com/
google-decimeter-challenge, 2022. Accessed: 2024-08-27.
[5] Smartphone decimeter competition, https://www.ion.org/gnss/smartphone-decimeter-challenge.
cfm, 2024. Accessed: 2024-08-27.
[6] T. Everett, Getting started with rtklib: 2023, https://www.kaggle.com/code/timeverett/
getting-started-with-rtklib-2023, 2023. Accessed: 2024-08-27.
[7] K. N. E.-M. A. Fredeluces E, Ozeki T, Modified rtk-gnss for challenging environments, Sensors 24
(2024) 2712. doi:10.3390/s24092712 .