Next Article in Journal
Development of a Moving Baseline RTK/Motion Sensor-Integrated Positioning-Based Autonomous Driving Algorithm for a Speed Sprayer
Next Article in Special Issue
GNSS Observation Generation from Smartphone Android Location API: Performance of Existing Apps, Issues and Improvement
Previous Article in Journal
Imputing Missing Data in Hourly Traffic Counts
Previous Article in Special Issue
Real-Time Loosely Coupled 3DMA GNSS/Doppler Measurements Integration Using a Graph Optimization and Its Performance Assessments in Urban Canyons of New York
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Inherent Limitations of Smartphone GNSS Positioning and Effective Methods to Increase the Accuracy Utilizing Dual-Frequency Measurements

Department of Aerospace Engineering and Convergence Engineering for Intelligent Drone, Sejong University, Seoul 05006, Republic of Korea
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(24), 9879; https://doi.org/10.3390/s22249879
Submission received: 28 October 2022 / Revised: 21 November 2022 / Accepted: 8 December 2022 / Published: 15 December 2022
(This article belongs to the Special Issue Precise Positioning with Smartphones)

Abstract

:
Xiaomi Mi8 with a Broadcom BCM47755 chip, an Android smartphone that supports multi-constellation (GPS, GLONASS, Galileo, BeiDou, and QZSS) and dual-frequency (L1/E1 and L5/E5), was launched in May 2018. Unlike previously released smartphones, it was technically expected to provide robust precise positioning with a fast ambiguity resolution, which led many researchers to be overly optimistic about the applicability of high-accuracy techniques such as real-time kinematic (RTK) systems and precise point positioning (PPP) of smartphones. The global navigation satellite system (GNSS) raw measurement quality of Android smartphones is, however, inherently far lower than that of general GNSS receivers due to their structure, which accordingly makes it difficult for them to be realized. Considering inherent limitations of smartphones such as low-quality antenna, frequent cycle slips, and the duty cycle, a practical strategy including L5 measurements, pseudo-range corrections for L5, and a weighting method is proposed in this paper. The results show that the proposed methods of L5 differential GNSS (DGNSS) and Doppler-based filtering can guarantee a positioning accuracy of 1.75 m horizontally and 4.56 m vertically in an Android device, which is comparable to the performance of commercial low-cost receivers.

1. Introduction

In the recent smart mobility era, the use of smartphone location-based services such as remote vehicle driving and mobility location sharing services, as well as navigation and route-finding services, is increasing. For example, Android Auto users can easily use smartphone location-based navigation services in the vehicle by connecting their smartphone to a vehicle that does not have a built-in global navigation satellite system (GNSS) [1]. Because this service relies on the location accuracy of a smartphone installed inside the vehicle rather than a GNSS antenna installed on the vehicle ceiling, incorrect directions often occur. As another example, Tesla recently released a new technology known as Smart Summon, which allows a Tesla vehicle to be called through a smartphone application [2]. It enables a Tesla vehicle to drive itself towards the owner’s location based on the relative position between the vehicle and the smartphone. Since the GNSS of a smartphone cannot provide an accurate position, the owner should be cautious of potential malfunctions such as the target point being set incorrectly. However, the GNSS chipset currently used to calculate the location of smartphones has an error of more than 5–10 m in open-sky and 20–100 m in urban areas with many obstacles, such as buildings. Before Google’s announcement of providing GNSS raw measurements [3], all the location-based products and services were totally dependent on the location accuracy that the chipsets provide. Smartphone and GNSS chipset vendors previously did not allow general users to feed the correction to the module or access the GNSS pseudo-range [4,5], which resulted in smartphones providing horizontal accuracy up to 10 m with a 95% probability [6,7].
After Android GNSS raw measurements were introduced, many researchers worked on assessing the positioning performance of smartphones. However, the low-cost chips in currently commercialized smartphones do not guarantee reliable high-quality positioning results as general GNSS receivers do. Smartphones use low quality linearly polarized (LP) antenna optimized for voice communication. Since it was not right hand circularly polarized (RHCP) specialized for navigation signals, smartphones are very vulnerable to multipath interference. As a result, multipath errors of smartphones are higher than a few tens of meters [3]. To apply high-precision positioning techniques such as RTK and PPP to smartphones, external equipment or various strong constrains are essential. In particular, continuous carrier-phase measurements are difficult to obtain because of the duty-cycle effect. Moreover, conservation time of smartphone PPP is much longer than geodetic receivers due to unstable carrier-phase measurements [3,6].
The launch of the first dual-frequency GNSS chipset, BCM47755 (designed by Broadcom, San Jose, California, USA), was a big opportunity to reduce the performance gap between the smartphones and general GNSS receivers. The BCM47755 was first installed in the Xiaomi Mi8 (designed by Xiaomi, Haidian District, Beijing, China) in May 2018, and supported multi-constellation (GPS, GLONASS, Galileo, BeiDou and QZSS) and dual-frequency (L1/E1 and L5/E5). Recently, researchers tried to apply high-end technologies, utilized in general GNSS receivers, to Android smartphones. Fortunato applied RTK and PPP methods to the Xiaomi Mi8 and achieved horizontal root mean squares (RMS) of 1.17 m and 2.23 m in dynamic positioning, respectively [7]. Since he utilized the code-minus-carrier phase (CMC) observable method, a separate pretreatment process was required to void the vulnerability by interference, multipath, or cycle slip. Despite preprocessing, ambiguity fix was not enabled. Wu investigated the application of PPP in static and kinematic modes using the Xiaomi Mi8 [6]. The convergence time of dual-frequency smartphones in static experiments was 102 min for 1 m and 116 min for 0.2 m, which is far longer than 40 min of general GNSS receivers. A single-frequency PPP strategy-based clock bias estimation method was studied [8], but the matrix size is too large to be used as real-time high-precision smartphone positioning because the state of the filter had to include the integer ambiguities for all satellites.
Common problems in existing studies include interference, multipath, and cycle slip due to the use of carrier-phase. Additionally, carrier ambiguity fix requires very long convergence times and a complex matrix. To overcome these limitations, this study introduces a method to utilize the L5 measurement, which is strong against noise and multipath error. We also suggest a method to provide the L5 Pseudo Range Correction (PRC) for accurate positioning of an Android smartphone without building a new infrastructure or correction messages. In addition, we present a method to use Doppler measurements instead of carrier phase, and it does not require cycle slip monitor and ambiguity determination processes that caused the complexity and frequent discontinuity due to the instability of carrier-phase measurement. It is expected to be practical and economical to use a smartphone itself aligned with existing infrastructures without adding or modifying the device and current systems.
The remainder of this paper is organized as follows. In Section 2, the obstacles to applying precision positioning method to Android smartphones are described. In Section 3, the strategy for reliable accuracy improvement algorithm for Android is introduced. Further, a field test results after implementing the suggested algorithm on the user side is presented and examined in Section 4. Finally, Section 5 presents the discussion and conclusions.

2. Obstacles to Applying Precision Positioning Technique to an Android Smartphone

2.1. Low Quality of Android Smartphones Antenna

RHCP GNSS antennas are used for commercial geodetic receivers, which are optimized to reject reflected signals. However, LP planar inverted F (PIF) antennas are embedded in smartphones and optimized for voice communication with a lower volume. The vulnerability of Android GNSS raw measurements to multipath interference primarily arises due to the antenna configuration.
The PIF antenna significantly affects the quality of the received GNSS signal. First of all, the multipath and noise of smart devices are much larger than the received signals through general GNSS antennas. Noise and multipath error RMS of Android smartphone L1 code was observed up to 10 m under open-sky and reported over 20 m in a multipath environment. It directly affected the smartphone positioning performance, and an error of 11.65 m in vertical RMS was remained even though all the other errors such as ionospheric and tropospheric delay were removed by applying DGNSS [8,9]. Despite the high elevation angle over 60°, weak signal strength of 27 to 33 dB-Hz C/No were observed with frequent loss-of-locks [9], which are very rare cases for RHCP antennas. In addition, uncertainty of the exact phase center was reported to cause the bias of the phase residuals after double-difference [10].
To examine the effect of antenna configuration on the smartphone, we conducted a static test, as shown in Figure 1.
Unlike other GNSS receivers, the hardware structure makes it difficult to connect a smartphone directly to a geodetic antenna. GNSS repeaters were used to solve this problem [10,11]. Open-sky GNSS signals were directly re-radiated to one smartphone via a GNSS repeater coupled with a geodetic antenna to eliminate interference from the surrounding environment and amplify the receivable signal strength. We placed a Xiaomi Mi8 Android smartphone to receive signals that were transmitted by a repeater via a Trimble choke ring antenna. The other Mi8 was placed to receive live GNSS signals at the rooftop where the choke ring antenna was implemented. We collected pseudo-range ( P ) and carrier-phase ( Φ ) for both cases using the two smartphones at the same period, which are denoted in meters in Equations (1) and (2).
P r , i s = d r s b s + B r + T r s + I r , i s + ε P r , i s ,
Φ r , i s = d r s b s + B r + T r s I r , i s + λ i s N r , i s + ε Φ r , i s ,
where d , b , B , T , I , λ , N and ε denote the geometric range from satellite to ground receiver, satellite clock bias, receiver clock bias, tropospheric delay, ionospheric delay, carrier wavelength, integer ambiguity, and measurement noise, respectively. The subscript, r , denotes each test scenario, Open-sky for case 1 and Repeater for case 2. The superscript, s and subscript, i , denote the s -th satellite and type of carrier-frequency, respectively.
The combination of code and carrier described in Equation (3) enables all the geometric and ionospheric terms removed, so that there are only integer ambiguity and noise terms remained in R r s .
R r s = P r , L 1 s P r , L 5 s + Φ r , L 1 s Φ r , L 5 s ,
In this case, since the integer ambiguity has a constant value that does not change unless a cycle-slip occurs, the integer ambiguity can be estimated by taking the average value. Therefore, it is easy to compare the pseudo-range noise levels of live and re-radiated signals after removing the integer ambiguity from Equation (3), since L1 and L5 pseudo-range noise terms are dominant over carrier-phase noise. Table 1. and Figure 2. shows the measurement noise level with the SNR measured for the two cases. The signal to noise ratios (SNR) of the smartphone live signals were generally lower than re-radiated signal via a choke-ring antenna, and accordingly noise levels of the live signals were far higher.
The smartphone observed the signals passing through the GNSS repeater with an SNR value of 40 dB-Hz or higher. In contrast, the SNR of the PRN 8 was observed around 30 dB-Hz when a smartphone receiving live signal and did not exceed 40 dB-Hz despite a high elevation angle of 60° or more. Signal SNR observed by a commercial GNSS receiver generally increases as the elevation angle increases. The clear relationship between elevation and SNR, however, is not found in smartphones equipped with low-cost GNSS antenna. To make matters worse, as can be seen from PRNs 27 and 30, SNR and noise fluctuations due to multipath were significantly severe to smartphone measurements.
In summary, the Android GNSS measurement had much a larger noise level and a lower correlation to the satellite elevation than that of a typical GNSS receiver, and is very vulnerable to multipath error [12]. Therefore, we should find ways to reduce the multipath effect on the measurement results and devise a new noise modeling [13] and weighting method appropriate for noise characteristics of smartphone GNSS modules.

2.2. Unstable and Discontinuous Measurements

Smartphone vendors prioritize to maximize power consumption, and accordingly, a duty cycle technique is implemented to maintain a low power consumption because continuously operating the GNSS chipset drains the battery [7,14]. The navigation chip on the smartphone tracks the signal for 200 ms/s and is dormant for 800 ms/s when the duty cycle is on, which limits the continuous acquisition of measurements, as shown in Figure 3. While this feature would not degrade code measurement quality, it does have a significant impact on carrier-phase measurements. Without continuous tracking, several cycle slips may occur between two consecutive measurements, which severely limit the use of advanced phase-based precise positioning techniques such as RTK or PPP. To cope with the hardware limitation for the precise positioning, a function to turn off the duty-cycle, called “Force full GNSS measurements,” was added at the Android 9 Pie update in 2018. However, executing the duty-cycle off mode does not completely remove the cycle slips, as shown in Figure 4.
Even though the function of the duty-cycle de-activation was reported to reduce the cycle slips found in the duty-cycle on mode by more than 50%, it is not so perfect as to prevent all the measurements from being slipped. As described in Section 2.1 above, PIF antennas optimized for voice signals are highly affected by multipath errors. Although “Force full GNSS measurements” may be effective to reduce cycle slips caused by duty-cycle function, it is difficult to completely remove all the cycle slips, therefore a substantial number of cycle-slips still remain. Because of this instability and discontinuity of Android carrier-phase, the ambiguity determination process in precise positioning should be often initialized, which results in long convergence time in PPP. Wu et al., reported that the convergence time within 0.2 m of a smartphone was up to 272 min, which was longer than twice of a geodetic receiver converging time, 116 min [6].
In RTK cases, frequent unstable measurements on a smartphone and their misdetection hinder the ambiguity to be fixed or often cause wrong ambiguity determination, resulting in float solutions for a long period or large position errors. We processed GPS L1/L5 measurement results obtained from a Mi8 to examine how much the duty-cycle off function actually contributes to making the carrier-based positioning robust. GPS observables for the two modes were logged from two Mi8 devices, and their results, processed by a RTKLIB software package [15], were compared in Figure 5. The commonly used RTK algorithm, which could provide cm-level accurate position to commercial GPS receivers, is not valid to Android measurements for both duty-cycle modes. Integer ambiguities of the carrier-phase measurements were rarely determined through all the test periods. Subsequently, position errors in each direction were barely found within 1 m. Frequent initialization and wrong position fixes, which are typical results caused by undetected cycle slips, were found in both modes. In conclusion, the “Force full GNSS measurements” function can effectively eliminate the cycle-slip caused by the duty-cycle, however, a lot of cycle-slip remains due to the structural limitations of the Android smartphone. Even with the duty-cycle turned off, errors of more than 10 m at five points and non-continuous carrier-phase measurements still do not achieve centimeter-level accuracy.

2.3. Carrier-Phase Is Not Available on All Android Smartphones

Smartphones with Android Nougat operating systems (OS) and above allow access to Google’s application program interfaces (APIs) that provide GNSS raw measurements of pseudo-range, carrier-phase, and Doppler measurements. Although Android OS is up-to-date and the dual-frequency carrier-phase available chip is included in devices, it is totally up to the manufacturer whether or not each measurement is provided to the public.
Even though code measurements filtering based on carrier-phase is essential to improving the positioning accuracy, recently released smartphones mostly do not support carrier-phase measurements. Galaxy S21 Z-Fold and Z-Flip series, flagship models of Samsung that ranked first with 19.0% market share (Table 2, [16]), do not provide carrier phase measurement to users. Xiaomi, the third ranker of the market and the manufacturer of the dual-frequency carrier-phase enabled smartphone Mi8, stopped providing carriers in its latest release, Mi 9 (see Table 3) [17].
There are few smartphones remaining in the market that carrier-phase based precise positioning methods can be applied to. Instead, dual-frequency, multi-constellation, and Doppler capabilities has become more general. Therefore, it is necessary to find a way to improve the accuracy of smartphones more universally considering the market trends.

3. Strategy for Reliable Accuracy Improvement of Android Smartphone Positioning

3.1. Usage of the L5 Code Measurements

L5 band signals such as GPS L5 and GAL E5 have a high chipping rate, 10 times higher than that of L1 frequency signals [18]. In addition, it includes a pilot channel, which can lead to a total integration time. These new features of L5/E5 signals are less prone to multipath errors; therefore, they provide inherent noise and multipath mitigation capabilities [19].
To compare the multipath error characteristics of L1 and L5 pseudo-range measurements, we constructed a signal reception experiment for 30 min (2019/09/18 04:40:00~05:09:59 UTC) in Children’s Grand Park, Seoul, Korea. There were many obstacles such as trees, as shown in Figure 6.
In Equation (4), an ionospheric-free residual is obtained by combining code and phase measurement, which contains multipath error and noise components.
M P r , i s + ε P r , i s Φ r , i s = P r , i s Φ r , i s 2 f j 2 f i 2 f j 2 Φ r , i s Φ r , j s         + λ i s N r , i s ,
We assessed multipath errors of L1 and L5 frequencies by comparing the results when GPS 30 and GAL 13 satellites were employed. The two satellites were observed from the elevation angles smaller than 30° in the southeast, whose signals are heavily affected by nearby obstacles. Figure 7 shows the multipath error and noise for the two satellites. As summarized in Table 4, the RMS and 95% percentile errors of L1 frequency measurements for the two multipath-affected satellites were about 3.4 and 6.5 m, respectively, which is about 2.4 times larger than those of L5 frequency. The maximum multipath of L5 was about 5 m, and it was reduced by 60 to 70% compared to the maximum error of L1.
Considering the low noise level and multipath characteristics of the L5 signal, the use of L5 code measurements can achieve higher positioning results than the conventional L1 single-frequency positioning.

3.2. Enhancing Available L5 Signals by Adding Weighted L1 Signals

Noise and multipath performance of L5 measurement is better than that of L1 measurement. In the case of GPS, however, only 17 out of total 31 satellites currently transmit the L5 signal [20]. The number of available L5 GPS signals is frequently observed to be less than four, as shown for about 24 h (1 October 2022 00:00:00~24:00:00 UTC) in Figure 8, which means that smart devices cannot understand their positions for approximately half a day. Although GPS-Galileo multi-constellation might enable the L5 positioning, the increased DOP values due to a bad satellite geometry cannot guarantee high accuracy performance of positioning. At about 23:50, when the L5 satellite’s Horizontal DOP (HDOP) was the highest, the L5 DOP was three times larger than that of the L1 DOP, and at about 04:50, when the L5 satellite’s Vertical DOP (VDOP) was the highest, the L5 DOP was twice larger than that of the L1 DOP. Moreover, the satellite geometry might be worse than expected because it is reported that fewer Galileo satellites were usually observed by Android smartphones than general commercial receivers, and their signal tracking quality was relatively poor [6]. Therefore, L5-only positioning performance is not guaranteed to provide better results than L1-only because of the satellite geometry, although L5 signal itself has a better performance than L1.
Nevertheless, the excellent L5 signal performance must be utilized, and thus a method to overcome the low number of available L5 signals and poor geometry must be considered. In this study, we suggest adding L1 signals to L5-only positioning and giving different weight by noise-level to each frequency to take advantage of L5 signals.
To implement L1/L5 GPS/Galileo algorithm, observation matrix ( H ) for each constellation and frequency is defined in Equation (5).
H L 1 G P S H L 1 G A L H L 5 G P S H L 5 G A L = E L 1 G P S 1 0 0 0 E L 1 G A L 0 1 0 0 E L 5 G P S 0 0 1 0 E L 5 G A L 0 0 0 1 ,
e e x ,   e y ,   e z is a line-of-sight unit vector from a user to each satellite, E is a group of e vectors for each constellation and frequency, which is defined as m -by-3 matrix, E L 1 G P S represents the number of GPS L1 signals, m . Since user clock bias of each constellation and frequency is different, H-matrix is defined as m + n + o + p -by-7 matrix, and n , o , and p stands for the number of Galileo (GAL) L1 signals, GPS L5 signals, and GAL L5 signals, respectively, where 1 and 0 are vectors of ones and zeros, each.
As previously shown, GNSS signal tracking of smart devices is often unstable even at high elevations, and its SNR fluctuation is generally large. Therefore, it is recommended to use a noise modeling function of both elevation angle and signal strength when setting a weighting matrix. One common method for weighting the pseudo-range for the s-th satellite based on its elevation angle ( e l ) and the SNR is Equation (6) [21]. The coefficient k j for the L1 and L5 frequency has been added to the equation, which need to be assigned based on the noise characteristics for the frequency.
( σ j s ) 2 = k j 2 10 0.1 × S N R s sin 2 e l s ,
According to Section 3.1, noise at L1 frequency was observed to be 3 m-level, and noise at L5 frequency was observed to be 1 m-level. Thus, we set k 1 and k 5 as 3 and 1, respectively. In addition, we assumed that the noise levels of GPS and Galileo were similar. The weighting matrix for both L1 and L5 signals in Equation (7) enables L5 measurements with good signal performance to be used as a primary source of the positioning and several L1 measurements to provide good satellite geometry.
R = R L 1 | G P S 0 0 0 0 R L 1 | G A L 0 0 0 0 R L 5 | G P S 0 0 0 0 R L 5 | G A L
where
R j | G P S = 1 σ j | G P S 1   2 0 0 0 1 σ j | G P S 2   2 0 0 0 1 σ j | G P S m   2 ,   R j | G A L = 1 σ j | G A L 1   2 0 0 0 1 σ j | G A L 2   2 0 0 0 1 σ j | G A L m   2

3.3. L5 Pseudo-Range Correction Generation

DGNSS and Wide Area DGNSS (WADGNSS) are typical methods for mitigating code measurement errors [19,20]. Pseudorange received from two GNSS receivers located in close proximity (e.g., within a few hundred kilometers) will contain the same atmospheric errors. To eliminate this, users can mitigate common errors by using base stations with precise and known locations. Since the base receiver knows the actual geometric position between the GNSS satellites and the receiver, it can use this to create corrections from differences in pseudorange measurements received from the satellites. Correction information can be applied in real time on site using radio signals or post-processed using specialized processing software. A similar system that transmits corrections from satellites instead of ground-based transmitters is called a Wide Area Augmentation System (WAAS) or WADGNSS. A Satellite-Based Augmentation System (SBAS), sometimes used synonymously, can include satellite systems implemented in many parts of the world, such as EGNOS, MSAS, QZSS, and GAGAN.
In a similar way for general GNSS receivers, GNSS common errors, such as satellite-related and atmospheric errors, must be mitigated to improve the smartphone position accuracy. The correction messages for the code measurements usually extract or model the error for each satellite itself as defined in Radio Technical Commission for Maritime services (RTCM) Special Committee (SC)-104 version 2 [22] or Radio Technical Commission for Aeronautics (RTCA) DO-229 [23]. On the other hand, Multiple Signal Messages (MSM) that support multi-frequency carrier phase are close to observables [24,25] as defined in RTCM SC-104 version 3. While the bandwidth for the code measurement corrections is bound to several hundred bps [26], the carrier phase corrections cost high-rate transmission data has a bandwidth of at least 9600 bps [27]. However, the overall performance of accuracy and initialization of the smartphones carrier phase positioning has been reported to not be so outstanding as typical commercial receivers. Carrier-phased based positioning employed to smartphones should wait stationary over several or even up to tens of minutes in order to get cm-level results [28]. Furthermore, the long initialization time could not guarantee accurate positioning of cm-level accuracy, which is an added disadvantage [29] and often results in wrong ambiguity resolution or convergence. Therefore, code-based DGNSS positioning is more practical in Android smartphone than phase-based one, and L1/L5 dual frequency for multi-constellation GNSS would enhance the smartphone DGNSS performance.
The errors included in the L5 code measurement should be also mitigated by using correction message since the L5 signal is expected to contribute significantly to the accuracy improvement of the code-based positioning, as discussed in the previous section. Unfortunately, neither DGNSS nor Satellite Based Augmentation System (SBAS) currently provide correction for the frequency other than L1, and this strategy is not able to be applied to smartphones with the existing infrastructures [30]. Moreover, it is unreasonable and impractical to build new infrastructures for L5 signals to improve smartphone positioning accuracy. Therefore, we need to propose a new method to mitigate L5 code measurement errors of smartphones based on the existing infrastructures.
Multi-constellation GNSS errors due to the various sources, i.e., the tropospheric ( T ) and ionospheric ( I ) error and satellite-related error ( δ R ) would be effectively mitigated if only the nearby reference station supports as many GNSS constellations as the smart device. PRC and Carrier-Phase Correction (CPC) for DGNSS are generated by Equations (8) and (9), respectively.
P R C L 1 = d r s P r , L 1 s b s + B r = T r s I r , L 1 s δ R r s ε P r s ,
C P C L 1 = d r s Φ r , L 1 s b s + B r = T r s + I r , L 1 s δ R r s λ L 1 s N r , L 1 s ε Φ r s ,
where superscript s , subscript L 1 , and subscript r represent the satellite id, L1 frequency, and a reference station, respectively. d r s is the geometric range between the s -th satellite and the reference station, P r , L 1 s and Φ r , i s are L1 frequency pseudo-range and carrier-phase. The satellite clock bias and receiver clock bias are denoted as b s and B r , respectively.
Range Rate Correction (RRC) accompanied with PRC are usually calculated by differentiating CPC rather than PRC, as shown in Equation (7) [31], since the time difference of PRC is far noisier than the CPC rate or Doppler [32]. By the time differencing of Equation (10), the integer ambiguity term λ L 1 s N r , L 1 s has been removed so that only GNSS common error related terms remain in RRC.
R R C L 1 = C P C ˙ L 1 = T ˙ r s + I ˙ r , L 1 s δ R ˙ r s ε ˙ Φ r s ,
The generated PRC and RRC can mitigate the errors in pseudo-range and Doppler D u , L 1 s measurements of a rover station, respectively, as Equations (11) and (12) show.
P u , L 1 c o r r e c t s = P u , L 1 s + P R C L 1 d u s b s + B u + ε P r u s ,
D u , L 1 c o r r e c t s = D u , L 1 s + R R C L 1 d ˙ u s b ˙ s + B ˙ u + ε D r u s ,
Current DGNSS standard [25] defines PRC and RRC for only L1, and no DGNSS reference station is providing DGNSS services for L2 or L5. Although L5 signals are far more beneficial for smart device positioning than L1, implementing a new L5 DGNSS infrastructure for only a smart device service is not economical. Moreover, it is impossible without revision of standards for L5.
Therefore, we suggest a practical solution for generating L5 PRC correction in a user side using current L1 PRC and SBAS message based on current DGNSS infrastructures as well as standards. The only difference in PRC between L1 and L5 is ionospheric error due to the dispersive signal characteristics [33], and thus we can get I c L 5 for the L5 signals based on the L1 ionospheric correction from the SBAS messages.
I C L 5 = γ I C L 1
where γ = L 1   F r e q u e n c y L 5   F r e q u e n c y 2 .
Since the SBAS messages, unlike PRC of DGNSS, enable generating ionospheric correction based on its pierce point, it can compensate for the L5 PRC difference for all the visible satellites as presented in Equation (13). Most GNSS receivers can compensate for the ionospheric error difference by themselves using Equations (14) and (15) because they include built-in SBAS functions.
P R C L 5 = P R C L 1 γ 1 I C L 1 = T r s I r , L 1 s δ R r s γ 1 I C L 1 ε P r s T r s I r , L 5 s δ R r s ε P r s ,
R R C L 5 = R R C L 1 + γ 1 I C ˙ L 1 = T ˙ r s + I ˙ r , L 1 s δ R ˙ r s + γ 1 I C ˙ L 1 ε ˙ Φ r s T ˙ r s + I ˙ r , L 5 s δ R ˙ r s ε ˙ Φ r s ,
Finally, the compensated PRC and RRC are fed to the pseudo-range and Doppler measurement as described in Equations (16) and (17). Allocating separate L5 frequency reference stations or related infrastructures and messages is not required by the correction generation.
P u , L 5 c o r r e c t s = P u , L 5 s + P R C L 5 d u s b s + B u + ε P r u s ,
D u , L 5 c o r r e c t s = D u , L 5 s + R R C L 5 d ˙ u s b ˙ s + B ˙ u + ε ˙ D r u s ,

3.4. Code Filtering Using Doppler Measurements

Our last proposal to improve the smart device positioning accuracy is using Doppler measurements instead of carrier-phase to filter the code measurements. Commonly used filtering methods such as Hatch-filter and Kalman-filter usually filter the code measurements using carrier-phase measurements because carrier-phase noises are much smaller than that of code measurements [34,35].
However, many Android smartphones do not support carrier-phases as shown in Table 3. In addition, the ambiguity of carrier-phases on Androids is not kept constant even when the duty-cycle is turned off, which causes frequent cycle slips without any notice or float ambiguity, thus remaining unfixed. The Doppler equivalent of the time derivative of carrier-phase is available from all Android devices on the market and free from the cycle slip.
In commercial geodetic receivers, Doppler measurements have a higher noise level than that of the carrier-phase time differenced measurements [9], however, the noise levels of both measurements are so similar on the Mi8. It is unclear as the chipset vendor does not provide detailed algorithms for measurement generating process, but the smartphone’s chipset seems to provide carrier phase measurements generated in a different manner than commercial receivers. Figure 9 compares the noise level of the 2nd order time derivative of carrier-phase measurements against 1st order time derivative of Doppler measurements obtained from Xiaomi Mi8. Excluding the abnormal jumps due to carrier-phase discontinuity, the discrepancy is small with a magnitude of approximately 6.4 × 10−8 m.
Sharp jumps due to unexpected cycle-slips of the phase shown in the green dashed line box in Figure 9 can cause filter initialization and divergence, but this can be prevented for Doppler without cycle slip. In addition, as mentioned in Section 2.3, not all smartphones support carrier-phase measurements, but all Doppler measurements are supported. Therefore, a practical filtering method to smart devices L1/L5 code measurements should be performed with Doppler rather than phase difference.

4. Smartphone Positioning Algorithm Implementation and Field Test Results

4.1. Configuration of Field Test

A static field test was carried out for 50 min (1 April 2019 08:00:00~08:50:00 UTC) on the rooftop of the Chung-moo building, Sejong University, Seoul, Korea to obtain raw measurements of dual-frequency smartphone Xiaomi Mi8. Figure 10 shows the actual signal-receiving environment of the static test site. Two Mi8 were installed 30 m apart from the reference station of Trimble NetR9 for DGNSS.
During the test, eight GPS satellites (PRN 1, 7, 8, 11, 16, 18, 27, 30) and three Galileo satellites (PRN 15, 27, 30) were observed under the open-sky. Among them, four GPS (PRN 1, 8, 27, 30) and three Galileo (PRN 15, 27, 30) satellites provided L5 frequency signals. To use SBAS message for the ionospheric compensation, MTSAT Satellite Augmentation System (MSAS) PRN 129 message in #RAWSBASFRAMEA format was transmitted from a Novatel flexpak 6 receiver and decoded. Corrections for L1/L5 DGNSS, P R C L 1 , and R R C L 1 were obtained by the transmitted RTCM v2 message from the Trimble NetR9 receiver. P R C L 5 and R R C L 5 were generated after compensating the ionospheric error by the transmitted #RAWSBASFRAMEA from the flexpak 6 receiver as described in Equations (14) and (15).

4.2. L1/L5 DGNSS Results

Figure 11 and Table 5 show the L1 and L1/L5 DGNSS positioning results of Mi8 smartphone. The masks of elevation angle and SNR were set to 20° and 20 dB-Hz, respectively. L1 DGNSS used the L1 PRC and RRC generated for all available GNSS by the existing in infrastructure. Then, we estimated ionospheric error for each signal of other GNSS using ionospheric vertical delays at the grid points surrounding its pierce point. Subsequently, in L1/L5 DGNSS, the L5 PRC and RRC compensated by the received SBAS message according to Equations (14) and (15) were fed to the Android L5 GNSS measurements.
The vertical average error, which was larger than 5 m for L1 GPS + GAL, was reduced to 1.3 m by the compensated L1/L5 DGNSS PRC generation. Moreover, better signal quality by adding L5 satellites made it possible for the Android user get the horizontal position of 2.7 m in 95%. Providing good satellite geometry by L1 multi-constellation GNSS and enabling L5 signals to be available by compensating L5 DGNSS correction would be more beneficial to enhance the position availability and accuracy of users, especially with low satellite visibility in urban or mountainous areas.
Therefore, the Android user can successfully mitigate L5 GNSS error as well as L1 error using existing L1 reference stations and received SBAS messages, without adding infrastructures or modifying the related correction message standards.

4.3. L1/L5 Doppler-Based Kalman-Filter Results

Kalman filter is a recursive filter that estimates the state of a linear dynamics system based on random noise statistical characteristics. A two-step approach to prediction and update can reduce GNSS positioning errors from an optimization point of view. In this study, we defined a state of Kalman filter at time k , 12 × 1 vector of X k , which consists of position, velocity, clock bias, clock drift, and Inter-signal Bias, as shown in Equation (18).
X k = x B L 1 G P S B L 1 G A L x ˙ B ˙ L 1 G P S B ˙ L 1 G A L I S B G P S I S B G A L T
where x is three-dimensional position vector, and x ˙ is its velocity vector. The user clock biases and user clock drifts for GPS and Galileo satellites of L1 frequency are denoted as B L 1 G P S , B L 1 G A L , B ˙ L 1 G P S and B ˙ L 1 G A L , respectively. Inter-signal Bias, I S B , represents the difference of L1/L5 frequency, which is assumed constant during the session. Dynamics of the state were modeled as the first order state prediction based on the relationship between x   B and x ˙   B ˙ , while the I S B was set as a random walk [36]. The noise level ratio of L5 signals to L1, described in Section 3.1, was considered to define covariance matrix of the observables, R k , for the measurement update. The measurement vector and m + n + o + p × 1 vector of Z k are obtained from observables for L1 and L5. Unlike Kalman filters for general GNSS receivers, carrier-phase observables were replaced with Doppler to reliably filter the Android pseudo-range noise as described in Equation (19).
Z k s = P u , L 1 c o r r e c t s e · R s + b s P u , L 5 c o r r e c t s e · R s + b s D u , L 1 c o r r e c t s e · R ˙ s + b ˙ s D u , L 5 c o r r e c t s e · R ˙ s + b ˙ s ,
The results of L1/L5 Kalman filter are shown in Figure 12 and summarized in Table 6. The positioning accuracy was improved by 20 to 40% after applying the suggested Doppler-based filter so that the RMS values were reduced to 1.2 m horizontally and 2.3 m vertically. During 95% of the periods of the test sessions, the Android devices were able to provide positions with horizontal accuracy of 2.3 m, which shows that L1/L5 DGNSS was properly filtered by the suggested filter construction.

5. Conclusions

Since Google’s announcement of providing GNSS raw measurements in 2016, many expected that accurate location information with only several centimeters of error would be provided soon from the palm of the hand. To meet the expectations of the public, many researchers have made efforts to apply PPP or RTK technology to Android devices, and recently published papers have presented the results of feasibility studies. However, considering the smart device manufacturing technologies, market status, and implemented infrastructure for improving positioning accuracy, it might be difficult to realize most of the introduced technologies.
This study discussed why overly optimistic use of high-accurate applications such as RTK or PPP with Android raw measurements alone are difficult to be implemented. LP antenna optimized for voice communication reduces the quality of the GNSS signal and makes the signals be more vulnerable by multipath. Duty-cycle technique for battery saving obstructs measuring continuous carrier-phase, which makes ambiguity estimation of RTK and PPP meaningless. Even when the duty-cycle is turned off, frequent initializations of carrier tracking have been reported. The absence of infrastructures to improve L5 pseudo-range measurements would be a major obstacle when a real service is considered.
To overcome the limitation of smart devices and solve the problems in the real world, practical methods for improving the positioning were proposed as follows:
  • Using weighted L5 code measurements with less-weighted L1 measurements is effective in reducing positioning errors due to the noise and multipath.
  • Feeding L5 PRC after compensating L1 PRC currently in service is efficient way to mitigate the GNSS measurement errors without implementing new infrastructures for L5 service.
  • In the case of the filtering method using Doppler measurements, it can be used even in smartphones that do not support carrier-phase measurements. It also has the advantage of not having to detect an ambiguity cycle sip.
The L5 weighting and Doppler-based filtering method can guarantee that the Android devices provide the positions with an accuracy of 2.32 m horizontally and 4.19 m vertically for most of the time (95%). In addition, the Doppler-based filtering was helpful to increase the reliability of the location information so that the maximum error was bounded within 5 m.
The methods proposed in this paper are of great practical significance as they can be applied to any Android device on the market using the existing infrastructure or service; moreover, they could guarantee assured achievable performance. Therefore, we expect our proposed methods to be a useful and practical solution for not only founding the basis of future Android location-related 4th industrial technologies, but also for improving the location performance of smart devices themselves.

Author Contributions

All the authors have contributed to the presented work. The first author, J.Y. conducted smartphone algorithm proposals and experiments and processed experimental research datasets. C.L. implemented a baseline user SW and correction generating module. B.P. suggested the original concept of the system and supervised its development and the direction of the research. All authors participated in formulating the idea and in discussing the proposed approach and results. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by a grant from National R&D Project of “Development of Ground-based Centimeter level High Accuracy Augmentation Technologies for Maritime PNT” of Korea institute of Marine Science & Technology Promotion (KIMST) funded by Ministry of Oceans and Fisheries, Korea (20200451).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

References

  1. Khan, Z. Your Guide to Location Services in Android 12. Available online: https://www.androidauthority.com/android-location-services-3219012/ (accessed on 14 November 2022).
  2. Merano, M. Tesla FSD “Actual” Smart Summon Is Almost Done. Available online: https://www.teslarati.com/tesla-fsd-actual-smart-summon/ (accessed on 14 November 2022).
  3. GSARMT Force. Using GNSS Raw Measurements on Android Devices: White Paper. Eur. GNSS Agency 2017, 10, 449581. [Google Scholar] [CrossRef]
  4. Park, B.; Lee, J.; Kim, Y.; Yun, H.; Kee, C. DGPS Enhancement to GPS NMEA Output Data: DGPS by Correction Projection to Position-Domain. J. Navig. 2013, 66, 249–264. [Google Scholar] [CrossRef] [Green Version]
  5. Yoon, D.; Kee, C.; Seo, J.; Park, B. Position Accuracy Improvement by Implementing the DGNSS-CP Algorithm in Smartphones. Sensors 2016, 16, 910. [Google Scholar] [CrossRef] [Green Version]
  6. 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]
  7. Fortunato, M.; Critchley-Marrows, J.; Siutkowska, M.; Ivanovici, M.; Benedetti, E.; Roberts, W. Enabling High Accuracy Dynamic Applications in Urban Environments Using PPP and RTK on Android Multi-Frequency and Multi-GNSS Smartphones. In Proceedings of the European Navigation Conference, ENC 2019, Warsaw, Poland, 9–12 April 2019; pp. 1–9. [Google Scholar]
  8. 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] [Green Version]
  9. Yun, J.; Park, B.; Lim, C.; Yoon, H.; Lee, Y.; Lee, Y. Performance Comparison of L1 and L5 GNSS Measurements Using Android Smartphone. In Proceedings of the ISGNSS 2019 in Conjunction with IPNT Conference, Jeju, Korea, 29 October–1 November 2019; pp. 423–425. [Google Scholar]
  10. Darugna, F.; Wübbena, J.; Ito, A.; Wübbena, T.; Wübbena, G.; Schmitz, M. RTK and PPP-RTK Using Smartphones: From Short-Baseline to Long-Baseline Applications. In Proceedings of the 32nd International Technical Meeting of the Satellite Division of the Institute of Navigation, ION GNSS+, Miami, FL, USA, 16–20 September 2019. [Google Scholar]
  11. Gao, R.; Xu, L.; Zhang, B.; Liu, T. Raw GNSS Observations from Android Smartphones: Characteristics and Short-Baseline RTK Positioning Performance. Meas. Sci. Technol. 2021, 32, 084012. [Google Scholar] [CrossRef]
  12. Park, K.; Seo, J. Single-Antenna-Based GPS Antijamming Method Exploiting Polarization Diversity. IEEE Trans. Aerosp. Electron. Syst. 2021, 57, 919–934. [Google Scholar] [CrossRef]
  13. Lee, Y.; Park, B. Nonlinear Regression-Based GNSS Multipath Modelling in Deep Urban Area. Mathematics 2022, 10, 412. [Google Scholar] [CrossRef]
  14. Warnant, R.; de Vyvere, L.; Warnant, Q. Positioning with Single and Dual Frequency Smartphones Running Android 7 or Later. In Proceedings of the 31st International Technical Meeting of the Satellite Division of the Institute of Navigation, ION GNSS+, Miami, FL, USA, 24—28 September 2018; pp. 284–303. [Google Scholar]
  15. Takasu, T. Open-Source Program Package for RTK-GPS. Available online: https://www.rtklib.com/rtklib_reference.htm (accessed on 26 October 2022).
  16. Gartner Inc. Gartner Says Global Smartphone Sales Grew 6% in 2021. Available online: https://www.gartner.com/en/newsroom/press-releases/2022-03-01-4q21-smartphone-market-share (accessed on 26 October 2022).
  17. Google Android Developers Raw GNSS Measurements—Android Devices That Support Raw GNSS Measurements. Available online: https://developer.android.com/guide/topics/sensors/gnss?hl=en (accessed on 26 October 2022).
  18. Leclère, J.; Landry, R., Jr.; Botteron, C. Comparison of L1 and L5 Bands GNSS Signals Acquisition. Sensors 2018, 18, 2779. [Google Scholar] [CrossRef] [Green Version]
  19. Circiu, M.; Felux, M.; Thölert, S.; Antreich, F.; Vergara, M.; Sgammini, M.; Enneking, C.; Pullen, S. Evaluation of GPS L5 and Galileo E1 and E5a Performance for Future Multi Frequency and Multi Constellation GBAS. In Proceedings of the Institute of Navigation International Technical Meeting 2015 (ITM 2015), Dana Point, CA, USA, 26–28 January 2015. [Google Scholar]
  20. NOAA GPS.Gov. Available online: https://www.gps.gov/systems/gps/space/ (accessed on 26 October 2022).
  21. Tay, S.; Marais, J. Weighting Models for GPS Pseudorange Observations for Land Transportation in Urban Canyons. In Proceedings of the 6th European Workshop on GNSS Signals and Signal Processing, Noordwijk, The Netherlands, 5–7 December 2012; p. 4. [Google Scholar]
  22. Yoon, H.; Seok, H.; Lim, C.; Park, B. An Online SBAS Service to Improve Drone Navigation Performance in High-Elevation Masked Areas. Sensors 2020, 20, 3047. [Google Scholar] [CrossRef]
  23. RTCA DO-229; Minimum Operational Performance Standards for Global Positioning System. Wide Area Augmentation System Airborne Equipment: Washington DC, USA, 2006.
  24. Park, B.; Kee, C. The Compact Network RTK Method: An Effective Solution to Reduce GNSS Temporal and Spatial Decorrelation Error. J. Navig. 2010, 63, 343–362. [Google Scholar] [CrossRef]
  25. RTCM Standard 10402.3; Differential GNSS (Global Navigation Satellite Systems) Service: Version 3, RTCM 10403.2 RTCM Paper 104-2013. Radio Technical Commission for Maritime Services: Washington, DC, USA, 2010.
  26. Kim, J.; Song, J.; No, H.; Han, D.; Kim, D.; Park, B.; Kee, C. Accuracy Improvement of DGPS for Low-Cost Single-Frequency Receiver Using Modified Flächen Korrektur Parameter Correction. ISPRS Int. J. Geoinf. 2017, 6, 222. [Google Scholar] [CrossRef] [Green Version]
  27. Song, J.; Park, B.; Kee, C. Comparative Analysis of Height-Related Multiple Correction Interpolation Methods with Constraints for Network RTK in Mountainous Areas. J. Navig. 2016, 69, 991–1010. [Google Scholar] [CrossRef] [Green Version]
  28. Wanninger, L.; Heßelbarth, A. GNSS Code and Carrier Phase Observations of a Huawei P30 Smartphone: Quality Assessment and Centimeter-Accurate Positioning. GPS Solut. 2020, 24, 64. [Google Scholar] [CrossRef] [Green Version]
  29. Lachapelle, G.; Gratton, P.; Horrelt, J.; Lemieux, E.; Broumandan, A. Evaluation of a Low Cost Hand Held Unit with GNSS Raw Data Capability and Comparison with an Android Smartphone. Sensors 2018, 18, 4185. [Google Scholar] [CrossRef] [Green Version]
  30. Lim, C.; Shin, D.; Park, B.; Kee, C.; Seo, S.; Park, J.; Cho, A. L1 SFMC SBAS System to Improve the Position Accuracy of Android Device. In Proceedings of the 31st International Technical Meeting of the Satellite Division of the Institute of Navigation, ION GNSS+, Miami, FL, USA, 24—28 September 2018; pp. 455–481. [Google Scholar]
  31. Park, B.; Kim, J.; Kee, C.; Cleveland, A.; Parsons, M.; Wolfe, D.; Kalafus, R. RRC Unnecessary for DGPS Messages. IEEE Trans. Aerosp. Electron. Syst. 2006, 42, 1149–1160. [Google Scholar] [CrossRef]
  32. Kee, C.; Park, B.; Kim, J.; Cleveland, A.; Parsons, M.; Wolfe, D. A Guideline to Establish DGPS Reference Station Requirements. J. Navig. 2008, 61, 99–114. [Google Scholar] [CrossRef]
  33. Park, B.; Lim, C.; Wang, J.; Morton, Y.T.J. Horizontal Drift Velocity and Dimensions of Ionospheric Irregularities Using ROT from a GNSS Receiver Array. IEEE Trans. Geosci. Remote Sens. 2022, 60, 1–14. [Google Scholar] [CrossRef]
  34. Park, B.; Sohn, K.; Kee, C. Optimal Hatch Filter with an Adaptive Smoothing Window Width. J. Navig. 2008, 61, 435–454. [Google Scholar] [CrossRef]
  35. Park, B.; Lim, C.; Yun, Y.; Kim, E.; Kee, C. Optimal Divergence-Free Hatch Filter for GNSS Single-Frequency Measurement. Sensors 2017, 17, 448. [Google Scholar] [CrossRef]
  36. Zhou, F.; Dong, D.; Li, P.; Li, X.; Schuh, H. Influence of Stochastic Modeling for Inter-System Biases on Multi-GNSS Undifferenced and Uncombined Precise Point Positioning. GPS Solut. 2019, 23, 59. [Google Scholar] [CrossRef]
Figure 1. Test configuration for comparison of noise-level with or without GNSS repeater.
Figure 1. Test configuration for comparison of noise-level with or without GNSS repeater.
Sensors 22 09879 g001
Figure 2. SNR and Noise-level of Live and Re-radiated signal.
Figure 2. SNR and Noise-level of Live and Re-radiated signal.
Sensors 22 09879 g002
Figure 3. Duty-cycle versus time.
Figure 3. Duty-cycle versus time.
Sensors 22 09879 g003
Figure 4. Cycle-slip Flag: (a) Duty-cycle On; (b) Dufy-cycle Off.
Figure 4. Cycle-slip Flag: (a) Duty-cycle On; (b) Dufy-cycle Off.
Sensors 22 09879 g004
Figure 5. RTKLIB Processing Results of Mi8 L1/L5 GPS Measurements: (a) Duty-cycle On; (b) Duty-cycle Off.
Figure 5. RTKLIB Processing Results of Mi8 L1/L5 GPS Measurements: (a) Duty-cycle On; (b) Duty-cycle Off.
Sensors 22 09879 g005
Figure 6. Experiment place: Children’s Grand Park near the Sejong University: (a) experimental environment; (b) experimental equipment: Android smartphones.
Figure 6. Experiment place: Children’s Grand Park near the Sejong University: (a) experimental environment; (b) experimental equipment: Android smartphones.
Sensors 22 09879 g006
Figure 7. Multipath error and noise at GPS 30 and GAL 13 satellites in L1 and L5 Frequency.
Figure 7. Multipath error and noise at GPS 30 and GAL 13 satellites in L1 and L5 Frequency.
Sensors 22 09879 g007
Figure 8. Available satellites status observed at SOUL reference station, Korea on 1 October 2022.
Figure 8. Available satellites status observed at SOUL reference station, Korea on 1 October 2022.
Sensors 22 09879 g008
Figure 9. Noise level of measurements: (a) 2nd order time derivative of Carrier-phase; (b) 1st order time derivative of Doppler.
Figure 9. Noise level of measurements: (a) 2nd order time derivative of Carrier-phase; (b) 1st order time derivative of Doppler.
Sensors 22 09879 g009
Figure 10. Test Environment at the Roof of the Chung-moo building in Sejong University.
Figure 10. Test Environment at the Roof of the Chung-moo building in Sejong University.
Sensors 22 09879 g010
Figure 11. L1/L5 DGNSS positioning results: (a) Horizontal Error; (b) Vertical Error.
Figure 11. L1/L5 DGNSS positioning results: (a) Horizontal Error; (b) Vertical Error.
Sensors 22 09879 g011
Figure 12. L1/L5 Kalman-filter positioning results: (a) Horizontal Error; (b) Vertical Error.
Figure 12. L1/L5 Kalman-filter positioning results: (a) Horizontal Error; (b) Vertical Error.
Sensors 22 09879 g012
Table 1. SNR and Noise-level with or without GNSS repeater results.
Table 1. SNR and Noise-level with or without GNSS repeater results.
PRNSignal TypeSNR [dB-Hz]Noise Level [m]
MEANRMS95%
GPS 1Live37.84122.59635.0824
Repeater44.96571.38532.6775
GPS 8Live33.13334.74259.2270
Repeater48.97880.83841.6925
GPS 27Live32.92586.855813.3884
Repeater41.77452.01983.9691
GPS 30Live37.08586.262114.0582
Repeater45.82121.05342.0153
Table 2. Worldwide smartphone sales to end users by vendor in 2021 (Gartner, March 2022 [16]).
Table 2. Worldwide smartphone sales to end users by vendor in 2021 (Gartner, March 2022 [16]).
Vendor2021 Units
(Thousands of Units)
2021 Market Share (%)
Samsung272,327.519.0%
Apple239,239.116.7%
Xiaomi189,305.413.2%
OPPO138,242.19.6%
Vivo136,011.39.5%
Others458,733.932.0%
Total1,433,859.4100.0%
Table 3. Android devices that support raw GNSS measurements (Android Developers [17]).
Table 3. Android devices that support raw GNSS measurements (Android Developers [17]).
ModelAndroid VersionADR
(Carrier-Phase)
L5 FrequencyGlobal System
Samsung Galaxy
S20/S21 (Snapdragon)
12.0NoYesGPS, GLO,
GAL, BDS, QZS
Xiaomi Mi99.0NoYesGPS, GLO,
GAL, BDS, QZS
Samsung Galaxy
Note 10
9.0NoYesGPS, GLO, GAL
LG G8 ThinQ9.0NoYesGPS, GLO, GAL
One Plus 79.0NoYesGPS, GLO, GAL
Pixel 39.0NoYesGPS, GLO,
GAL, BDS
Table 4. Multipath error and noise results.
Table 4. Multipath error and noise results.
ResultsMAX [m]STD [m]RMS [m]95% [m]
GPS 30L1 Frequency13.59133.35513.35326.4155
L5 Frequency5.43171.50121.50042.9514
GAL 13L1 Frequency15.00053.48393.48296.6878
L5 Frequency4.73031.42581.42542.9438
Table 5. Statistics of L1/L5 DGNSS positioning results.
Table 5. Statistics of L1/L5 DGNSS positioning results.
Positioning ResultsMEAN [m]STD [m]RMS [m]95% [m]
L1 GPS + GALHorizontal1.70014.46294.77509.3116
Vertical5.06378.39059.798819.0114
L1 DGNSSHorizontal0.29164.38204.39098.6137
Vertical1.05868.08818.155815.8754
L1/L5 GPS + GALHorizontal0.76071.48721.67033.3183
Vertical4.61503.92266.056411.1689
L1/L5 DGNSSHorizontal0.29911.40231.43362.7209
Vertical1.29653.17163.42596.8974
Table 6. Statistics of L1/L5 Kalman-filter positioning results.
Table 6. Statistics of L1/L5 Kalman-filter positioning results.
Positioning ResultsMEAN [m]STD [m]RMS [m]95% [m]
L1 DGNSSHorizontal0.29164.38204.39098.6137
Vertical1.05868.08818.155815.8754
L1/L5 DGNSSHorizontal0.29911.40231.43362.7209
Vertical1.29653.17163.42596.8974
L1/L5 KFHorizontal0.24491.13041.15642.3188
Vertical1.29061.90742.30284.1931
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Yun, J.; Lim, C.; Park, B. Inherent Limitations of Smartphone GNSS Positioning and Effective Methods to Increase the Accuracy Utilizing Dual-Frequency Measurements. Sensors 2022, 22, 9879. https://doi.org/10.3390/s22249879

AMA Style

Yun J, Lim C, Park B. Inherent Limitations of Smartphone GNSS Positioning and Effective Methods to Increase the Accuracy Utilizing Dual-Frequency Measurements. Sensors. 2022; 22(24):9879. https://doi.org/10.3390/s22249879

Chicago/Turabian Style

Yun, Jeonghyeon, Cheolsoon Lim, and Byungwoon Park. 2022. "Inherent Limitations of Smartphone GNSS Positioning and Effective Methods to Increase the Accuracy Utilizing Dual-Frequency Measurements" Sensors 22, no. 24: 9879. https://doi.org/10.3390/s22249879

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop