<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Data on a Pixel 6 Pro: A Comparison with Rtklibexplorer</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Shilin Shen</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nobuaki Kubo</string-name>
          <email>nkubo@kaiyodai.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Workshop</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Marine Technology, Tokyo University of Marine Science and Technology</institution>
          ,
          <addr-line>Tokyo</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Graduate School of Marine Science and Technology, Tokyo University of Marine Science and Technology</institution>
          ,
          <addr-line>Tokyo</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>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.</p>
      </abstract>
      <kwd-group>
        <kwd>Comparison</kwd>
        <kwd>GNSS</kwd>
        <kwd>Google Smartphone Decimeter Challenge</kwd>
        <kwd>rtklibexplorer</kwd>
        <kwd>positioning accuracy</kwd>
        <kwd>real-time analysis</kwd>
        <kwd>forward</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        This paper presents the results of an analysis using GNSS (Global Navigation Satellite System) data from
the Google Smartphone Decimeter Challenge 2023-2024 (GSDC)[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The challenge has been completed,
and we utilized the GNSS data provided as training data. The software used in this analysis includes
rtklibexplorer[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and a program developed in our laboratory. Rtklibexplorer, a popular GNSS analysis
tool available on GitHub, is a modified version of RTKLIB[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] 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.
      </p>
      <p>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.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Participation and Performance in the Google Smartphone Decimeter Challenge</title>
      <p>CEUR</p>
      <p>ceur-ws.org
achieving decimeter-level accuracy.</p>
      <sec id="sec-2-1">
        <title>2.1. Scoring and Leaderboards</title>
        <p>
          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[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Data Collection</title>
        <p>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)</p>
        <p>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.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Score Using Rtklibexplorer</title>
      <p>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 efectiveness of our optimizations. Below is a detailed account of our participation
process:</p>
      <sec id="sec-3-1">
        <title>3.1. Initial Setup</title>
        <p>
          Based on rtklibexplorer’s ”Getting Started with RTKLIB: 2023” article for the Google Smartphone
Decimeter Challenge[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], 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.
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 eficient and rapid data handling.
        </p>
        <p>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.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Enhancing Accuracy</title>
        <p>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
to
to
snrmask_L1=28,28,28,28,28,28,28,28,28,
snrmask_L5=20,20,20,20,20,20,20,20,20
snrmask_L1=28,28,29,29,30,30,31,31,32,
snrmask_L5=20,20,21,21,22,22,23,23,24.
stats-eratio1 = 200
stats-eratio1 = 100.</p>
        <p>The SNR mask filters out satellite signals that do not meet the minimum SNR requirements,
ensuring that only signals with suficient quality are used, thereby improving positioning accuracy.
2. Elevation Ratio (Eratio): We modified the elevation ratio ( Eratio) from</p>
        <p>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 efects. This adjustment further enhanced
the accuracy of our GNSS solutions.</p>
        <p>Through these parameter adjustments, we achieved a best public score of 1.545, with a highest
ranking of 13th place.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Results and Comparison</title>
      <sec id="sec-4-1">
        <title>4.1. New Attempts After the Challenge</title>
        <p>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.</p>
        <p>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
ifltering thresholds, we aim to achieve optimal performance. This approach is expected to yield critical
insights into the eficacy of our methodologies and contribute valuable knowledge to the GNSS research
community.</p>
        <p>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.</p>
        <sec id="sec-4-1-1">
          <title>4.1.1. Diferential GNSS</title>
          <p>The first step involves obtaining an initial solution through Diferential GNSS (DGNSS). Our
proprietary 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.</p>
        </sec>
        <sec id="sec-4-1-2">
          <title>4.1.2. Mitigation of Suspect Satellites Using Pseudorange Residuals</title>
          <p>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 efects,
often indicated by significant pseudorange residuals, which can introduce systematic errors into the
positioning solution.</p>
          <p>To mitigate these errors, we first increase the precision of pseudorange residual calculations. The
pseudorange residual is computed using the following mathematical expression:</p>
          <p>= √(   −  0)2 + (   −  0)2 + (   −  0)2
where    ,    ,    are the satellite coordinates for satellite  , while  0,  0,  0 are the initial
estimated receiver coordinates.</p>
          <p>The pseudorange residual   is then computed as:</p>
          <p>=   + Δ +  −  
where   is the measured pseudorange, Δ is the satellite clock correction,  is any additional correction
factor.</p>
          <p>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.</p>
        </sec>
        <sec id="sec-4-1-3">
          <title>4.1.3. Mitigation of Suspect Satellites Using Doppler Residuals</title>
          <p>This part addresses the enhancement of positioning accuracy by focusing on Doppler residuals.
Significant Doppler residuals can indicate errors in the GNSS signals, which may degrade the positioning
solution.
(1)
(2)</p>
          <p>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:</p>
          <p>Dopplercalculated =
 × (vsat − vrecv) ⋅ r̂


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.</p>
          <p>The Doppler residual is then calculated as:</p>
          <p>Dopplerresidual = Dopplermeasured − Dopplercalculated
where Dopplermeasured is the observed Doppler shift from the satellite.</p>
          <p>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.
(3)
(4)</p>
          <p>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.</p>
        </sec>
        <sec id="sec-4-1-4">
          <title>4.1.4. Incorporation of Loosely coupled Kalman Filter</title>
          <p>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 efective in dynamic
environments, ofering a method to continuously improve the accuracy and stability of the positioning</p>
          <p>The final horizontal error result after implementing the aforementioned three steps was 5.45 meters,
indicating a significant improvement in positioning accuracy.</p>
        </sec>
        <sec id="sec-4-1-5">
          <title>4.1.5. Optimization Through Threshold Selection</title>
          <p>The final step is selecting appropriate thresholds, essential for balancing sensitivity and specificity in
detecting and correcting errors. Systematically adjusting and comparing diferent 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.</p>
          <p>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.</p>
          <p>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.</p>
          <p>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.</p>
          <p>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.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Summary, Conclusion, and Future Works</title>
      <sec id="sec-5-1">
        <title>5.1. Summary</title>
        <p>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.</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Conclusion</title>
        <p>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 efectiveness of the optimizations implemented. Post-competition
comparisons 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.</p>
      </sec>
      <sec id="sec-5-3">
        <title>5.3. Future Works</title>
        <p>Future work will focus on several key areas:
• Incorporating Carrier Phase Measurements: As carrier phase measurements were not utilized in
this analysis, future eforts will focus on integrating these measurements into our program to
enhance accuracy.
• Incorporating L5 Measurements: Given that L5 measurements are generally more accurate than</p>
        <p>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.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>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.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>[1] Google smartphone decimeter challenge 2023-2024</article-title>
          , https://www.kaggle.com/competitions/ smartphone-decimeter-
          <year>2023</year>
          ,
          <year>2023</year>
          . Accessed:
          <fpage>2024</fpage>
          -08-27.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>RTKLIB</given-names>
            <surname>Explorer</surname>
          </string-name>
          ,
          <article-title>Rtklib explorer</article-title>
          , https://github.com/rtklibexplorer/RTKLIB,
          <year>2024</year>
          . Accessed:
          <fpage>2024</fpage>
          - 08-27.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Rtklib</surname>
          </string-name>
          , https://github.com/tomojitakasu/RTKLIB,
          <year>2024</year>
          . Accessed:
          <fpage>2024</fpage>
          -08-27.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>C.</given-names>
            <surname>Loh</surname>
          </string-name>
          ,
          <article-title>Google decimeter challenge explanation</article-title>
          , https://www.chadloh.com/ google-decimeter-challenge,
          <year>2022</year>
          . Accessed:
          <fpage>2024</fpage>
          -08-27.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <article-title>[5] Smartphone decimeter competition</article-title>
          , https://www.ion.org/gnss/smartphone-decimeter-challenge. cfm,
          <year>2024</year>
          . Accessed:
          <fpage>2024</fpage>
          -08-27.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Everett</surname>
          </string-name>
          , Getting started with rtklib:
          <year>2023</year>
          , https://www.kaggle.com/code/timeverett/ getting
          <article-title>-started-with-rtklib-</article-title>
          <year>2023</year>
          ,
          <year>2023</year>
          . Accessed:
          <fpage>2024</fpage>
          -08-27.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>K. N. E.-M. A. Fredeluces</surname>
            <given-names>E</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ozeki</surname>
            <given-names>T</given-names>
          </string-name>
          ,
          <article-title>Modified rtk-gnss for challenging environments</article-title>
          ,
          <source>Sensors</source>
          <volume>24</volume>
          (
          <year>2024</year>
          )
          <article-title>2712</article-title>
          . doi:
          <volume>10</volume>
          .3390/s24092712.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>