Abstract
Developers targeting Android platforms can obtain raw GNSS measurements, which can achieve submeter or even decimeter-level positioning accuracy. An accurate receiver measurement error model is an important prerequisite for precise positioning with smart devices. Therefore, we analyzed the measurement error characteristics of raw GNSS data from smart devices using both embedded and external antennas. We find that the GNSS signals produced by smart devices have non-uniform signal strengths, rapid C/N0 variations, and low C/N0 at high elevations. The pseudorange noise is about 10 times larger than that from geodetic receivers; the carrier phase noise of Nexus 9 is 3–5 times larger than that of geodetic receivers, and unexpectedly is half of that of μ-blox. We provide theoretical parameters for the noise versus C/N0 models of the GNSS chipset for different smart devices. Unfortunately, the carrier phase tracking of Samsung Galaxy S8 and Huawei Honor v8 are discontinuous due to the duty-cycle issue, which results in greater noise and carrier phase unavailability. Moreover, we found two unique error characteristics of the carrier phase available from Nexus 9 anomalous “jagged” distribution and random initial phase biases, which is evident in the controlled environment test. Finally, we obtained promising positioning results: the horizontal and vertical RMS of pseudorange single-point positioning are about 10–20 m; the static carrier phase relative positioning (CRP) solutions of Nexus 9 can achieve centimeter-level precision, whereas both horizontal and vertical STDs are about 1 cm or better but with decimeter-level biases. When using an external antenna, the resulting biases are as small as a few centimeters. Encouragingly, the actual vehicle test results showed that the STD of the Nexus 9 kinematic CRP 3D-distance error is 0.169 m, and the percentages of errors falling into ± 0.1 m and ± 0.5 m are 63.59% and 100%, respectively. Furthermore, multi-GNSS is able to provide more reliable position services in GNSS-adverse environments.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Avoid common mistakes on your manuscript.
Introduction
The decreasing size and shrinking cost of Global Navigation Satellite System (GNSS) chipsets have been facilitating their embedment into devices such as smartphones, wearables, shared bicycles, and vehicles. However, mass-market chipsets can only achieve 2–3 m positioning accuracy, which can degrade to 10 m or worse in case of adverse multipath conditions (Pesyna et al. 2017). Prior to 2016, when raw GNSS data at smartphones were not accessible to the public, differential GNSS (DGNSS) in the position domain (Hwang et al. 2012) was attempted to improve the positioning accuracy, although with negligible success. Pesyna et al. (2014) used a smartphone antenna to direct GNSS signals into a software receiver and reached centimeter-level positioning accuracy using DGNSS in the observation domain, preliminarily suggesting that it was possible to achieve high-precision positioning on smart devices.
During the May 2016 “Google I/O” conference, Google announced that raw single-frequency GNSS data, i.e., pseudorange, carrier phase and Doppler would be available through the Android N system. The first official release of Android N was on August 22, 2016, with Nexus tablets being the first to output raw GNSS data. Banville and Diggelen (2016) explained how to access such raw GNSS data and made the first assessment on the data quality and demonstrated that carrier phase data from smart devices might have the potential to provide decimeter-level or better positioning accuracy.
As a response to such expectations, high-precision GNSS positioning attempts have been conducted on Android N. For example, the French Space Agency introduced the Radio Technical Commission for Maritime (RTCM) converter and Precise Point Positioning (PPP) Wizlite smartphone apps and presented meter-level kinematic positioning (Laurichesse et al. 2017). Shin et al. (2017) proposed a divergence-free Hatch filter based on Satellite-Based Augmentation Systems (SBAS) messages, and the RMS of Nexus 9 pseudorange noise was reduced from 5 to 0.6 m, while the RMS of horizontal positioning error was less than 1.5 m as a result. Apart from such single-point positioning techniques, DGNSS has also been introduced to improve the positioning performance using smart devices. Realini et al. (2017) obtained relative positioning solutions of decimeter-level accuracy using static baselines between smart devices and survey-grade GNSS receivers separated by 8 m to 10 km. Pirazzi et al. (2017) implemented the carrier phase DGNSS and the Variometric Approach for Displacements Analysis Stand-alone Engine (VADASE) algorithm on a GPS/Galileo smartphone. Then, a decimeter or submeter positioning accuracy could be achieved in static mode and in a rural environment. Moreover, the variometric approach was able to track the smartphone motions with cm/s precisions. Zhang et al. (2018) thus proposed time-difference filtering and obtained static positioning results with RMS errors of less than 0.8 and 1.4 m in the horizontal and vertical components, respectively. Overall, though great efforts have been invested in developing high-precision GNSS using smart devices, obtaining decimeter-level or even better positions is still an immense challenge at this time. The difficulties primarily are due to unknown receiver measurement errors, since smart devices employ linearly polarized antennas and low-cost GNSS chipsets.
Multipath and receiver noise are the two main sources of receiver measurement errors. Typically, the multipath error of the code is less than 2 or 3 meters and that of phase is less than 1/4 of a wavelength. However, its impact on smart devices is significant, due to the poor multipath suppression of smart device antenna. Multipath can induce deep fading of the GNSS signal strength, resulting in cycle slip and loss of lock for smart devices (Humphreys et al. 2016). Moreover, it also results in large and strongly time-correlated phase errors, which can result in hundreds of seconds needed for ambiguity resolution of (Pesyna et al. 2017). Due to multipath and polarization mismatch (Zhang et al. 2013), carrier-to-noise ratio (C/N0) of smart devices is about 10 dB-Hz lower than that of a geodetic receiver with a survey-grade GNSS antenna (Geng et al. 2018), which also increases the receiver noise. The receiver noise is white, affecting both the code and carrier measurements, but in different magnitudes: submeter and millimeter, respectively. Banville and Diggelen (2016) tested the code noise level of the Samsung Galaxy S7, which is about one order of magnitude larger than that of geodetic quality measurements. Pirazzi et al. (2017) estimated the code phase jitter and carrier phase jitter for a smart device indicating that the code phase jitter is normal, while the carrier phase exhibits high jitter. Laurichesse et al. (2017) and Gogoi et al. (2019) comparatively analyzed the carrier phase and pseudorange noise before and after the duty-cycle, respectively, and showed the result of the noise increasing after the duty-cycle was turned on. Duty-cycle is a battery saving mode for the GNSS chip. Moreover, the carrier phase measurements include some errors that are not present in the geodetic receivers. Humphreys et al. (2016) found an error in the carrier phase measurement of Samsung Galaxy S5 that grows approximately linearly with time. Riley et al. (2017) found an arbitrary offset in the short baseline double-difference (DD) carrier phase residual of Nexus 9. Realini et al. (2017) and Håkansson (2018) also demonstrated that DD carrier phase ambiguities of Nexus 9 were not of integer nature, and only implemented the float solution for carrier phase relative positioning. However, these earlier studies have not comprehensively studied the measurement error characteristics of smart devices.
Therefore, we aim at studying the error characteristics of raw GNSS measurements from smart devices and refining the GNSS error model. First, we use an external antenna to replace the embedded GNSS antenna, which will enhance the signal strength and reduce the multipath effects; as a result, a stable antenna phase center for more precise positioning can be maintained. Later, we inspect the observation error characteristics of different smart devices through stand-alone and controlled environment tests and formulate a refined error model. Finally, we investigate the positioning performance using smart devices in different situations with various data processing strategies. In addition, we also discuss the benefits of multi-GNSS data to high-precision positioning on smart devices.
Methodology and investigation strategies
We experimented on four portable smart devices, two low-cost GNSS receivers/antennas, two survey-grade receivers/antennas, and a reference station from the International GNSS Service (IGS). For brevity, we list these devices and stations in Table 1. All data sampling rates were 1 Hz.
Methodology
The pseudorange and carrier phase observations between receiver \(r\) and satellite \(s\) tracked at frequency \(i\) can be modeled, respectively, as
where \(P_{r,i}^{s}\) and \(\varPhi_{r,i}^{s}\) are pseudorange and carrier phase measurements in the unit of length with residual measurement errors \(\varepsilon_{P}\) and \(\varepsilon_{\varPhi }\), respectively;\(\rho_{r}^{s}\) denotes the range between the receiver and the satellite; \(dt_{r}\) and \(dT^{s}\) are the receiver and satellite clock biases, respectively; \(I_{r,i}^{s}\) is the ionospheric delay and \(T_{r}^{s}\) is the tropospheric delay; \(d_{r,i}\) and \(d_{i}^{s}\) are the receiver and satellite pseudorange instrumental delays, while \(\delta_{r,i}\) and \(\delta_{i}^{s}\) are the receiver and satellite carrier phase instrumental delays, respectively; \(m_{r,i}^{s}\) and \(M_{r,i}^{s}\) represent the multipath effect on the pseudorange and carrier phase, respectively; \(\phi_{r,0,i}\) and \(\phi_{0,i}^{s}\) are the receiver and satellite initial phase in cycle, respectively; \(N_{r,i}^{s}\) is the integer ambiguity and \(\lambda_{i}\) is the signal wavelength on frequency \(i\); \(d\varPhi_{r,i}^{s}\) is a carrier phase correction term including antenna phase center offsets and variations, station displacements by earth tides, phase windup effect and relativity correction on the satellite clock.
We note that the residual measurement errors can be divided into uncorrelated and correlated parts. Uncorrelated/random errors are typically caused by, for example, thermal electronic noise which affects the receiver correlation process (thermal noise tracking jitter) and reflects the precision of receiver tracking signals; such errors can thus be modeled as white noise. Correlated/colored errors usually correspond to multipath effects, which reflect the systematic errors within GNSS data. To investigate such residual GNSS errors of smart devices, the unknown measurement delays in (1) such as satellite orbits and clock biases, ionospheric and tropospheric delays need to be eliminated. Therefore, we used both third-derivative and zero-baseline approaches.
The third-derivative approach is similar to a high-pass filter, which excludes the low-frequency measurement delays while preserving the high-frequency noise. The noise calculation equation is as follows:
where \(\varepsilon_{L}\) is the measurement noise to be investigated; \(L(k)\) is the pseudorange or carrier phase measurement at epoch \(k\); \(\Delta t\) is the time interval; \(\frac{1}{{\sqrt {20} }}\) is the normalization factor according to the law of error propagation. The third-derivative approach requires continuous observations and high sampling rates. Note that the third derivative cannot separate clock noise from thermal noise because the receiver clock noise in a low-cost receiver can be of the same order of magnitude, or higher, than that of the phase-locked loop (PLL) thermal noise (Pirazzi et al. 2017).
On the other hand, for the zero-baseline approach where two GNSS receivers share a common antenna and simultaneously receive the GNSS signals, the measurement delays such as the geometric receiver-satellite distance and the multipath effects can all be favorably eliminated. As such, the zero-baseline model can be written as:
where the reference and rover receivers are denoted with subscript \(b\) and \(r\), respectively, while the satellites are denoted using superscript \(k\) and \(j\). \(B_{rb,i}^{jk}\) is the double-difference (DD) carrier phase bias in cycles, which mainly consists of DD carrier phase integer ambiguity and other unknown phase biases. \(B_{rb,i}^{jk}\) is a low-frequency component, and we can use the third-derivative approach to eliminate it, i.e.,
With equation (4), the standard deviation of the third-derivative can be used to quantify the resulting measurement noise. The zero-baseline approach can separate the receiver clock noise from the thermal noise on the phase measurements by the inter-satellite differences. Please note that, however, using this approach to quantify the noise of a receiver requires that the two receivers at the zero-baseline to be of the same type, i.e., the radio frequency (RF) chain, as well as tracking loop characteristics, are identical.
Investigation strategies for GNSS observation quality
The tests on GNSS observation quality of smart devices are divided into stand-alone and controlled environment tests, as shown in Table 2.
The purpose of stand-alone tests is to analyze the GNSS measurement quality in the open-sky environment, including the signal strength (carrier-to-noise density, C/N0), the antenna gain and the measurement noise resolved by the third-derivative approach. We placed the smart devices on the rooftop of a laboratory building at Wuhan University. The low-cost μ-blox ANN-MS antennas were placed next to the smart devices. The NEX2 shared a common survey-grade antenna with station PRID; this antenna was fixed on an observation pier about 0.5 meters away from the smart devices, as shown in Fig. 1.
More investigations on the GNSS measurement errors from smart devices were carried out using the controlled environment test. First, we use an attenuator to reduce the signal C/N0 from 47 dB-Hz down to 23 dB-Hz, with a C/N0 bin of 1 dB, to analyze the noise versus C/N0 model parameters for the GNSS chipset. The noise of each smart device is obtained by the third-derivative approach, and that of the Nexus 9 is obtained by the zero-baseline approach. Finally, we also analyzed the zero-baseline carrier phase residuals to explore other errors in the carrier phase observations of the Nexus 9. We held multiple smart devices and μ-blox ANN-MS antennas within an RF shielding box, as shown in Fig. 2.
Investigation strategies for GNSS positioning performance
We assess the GNSS positioning performance of smart devices in different situations using methods such as single-point positioning (SPP) using pseudorange, and relative positioning (CRP) using carrier phase. This investigation is divided into static and kinematic tests, as illustrated in Table 3.
For the static test, we processed the measurements (7:00–13:00) from the stand-alone test dataset presented already in Table 1, where the corresponding stations and baselines are shown in Fig. 1. Because the position of the internal GNSS antenna phase center of smart devices could not be precisely measured, we instead used the geometric centers of the smart devices as truth benchmarks to gauge their relative positions, as shown in Table 4.
In addition, for the kinematic test, both SPP and CRP were used to study the epoch-wise positioning accuracy of smart devices in suburban environments. NEX1 and TRIM were fixed on the top of the vehicle, and their relative positions were known, as delineated in Fig. 1. The positions of station TRIM were resolved using relative positioning with respect to station PRID, and the baseline length ranged from about 10–14 km. The 3D distance error is used to quantify the positioning accuracy:
where \(e_{t}\) is the 3D distance error at time \(t\);\(d_{t}\) is the distance of NEX1 from the survey-grade antenna; \(d_{\text{true}}\) is the true distance between the two devices; since the antenna phase center is unknown, we use the geometric center distance to replace the \(d_{\text{true}}\); \((x_{t}^{s} ,y_{t}^{s} ,z_{t}^{s} )\) and \((x_{t}^{r} ,y_{t}^{r} ,z_{t}^{r} )\) are the three-dimensional coordinates of NEX1 and station TRIM at the time \(t\).
Characterization of GNSS observations
We will analyze the signal strength and variation characteristics of the GNSS observations from smart devices and explore the multipath suppression capability and gain pattern of the internal GNSS antennas. Then, the noise of the pseudorange and carrier phase are analyzed with stand-alone and controlled environment tests. Meanwhile, the carrier phase error of the GNSS chip embedded in the smart device is evaluated without the influence of the internal antenna. As a result, a more comprehensive GNSS observation characterization of smart devices is obtained, which help in formulating a refined error model for high-precision positioning with smart devices.
GNSS signal strengths in terms of C/N 0
The C/N0 output of a receiver is a diagnostic of both the signal power of tracked satellite and the noise density of the front-end (Joseph 2010). A larger C/N0 indicates a stronger signal and a better observation quality for positioning; low C/N0 usually implicates a high probability of outliers and cycle slips. Figure 3 shows the C/N0 of GPS satellite G05 tracked by different devices. Most other satellites exhibit the same behavior. Therefore, we first use the C/N0 of satellite G05 as an example to analyze the characteristics of GPS signals. Subsequently, we perform a statistical analysis of the C/N0 of all GPS satellites tracked by different devices over a day, and the corresponding results will be shown in Figs. 4, 5 and 6.
Figure 3 shows that the C/N0 of satellite G05 tracked by NEX2, μBX1 and μBX2 are similar to those of the PRID. This is because NEX2 shares a survey-grade antenna with PRID, and the μBX1 and μBX2 use active right-handed circularly polarized antennas, whose maximum noise figure is 0.9 dB and typical gain without cable is 29 dB. However, the C/N0 of satellite G05 tracked by NEX1, SAMS and HONO is about 10 dB-Hz lower than those of PRID. This is due to the passive linearly polarized GNSS antennas employed in the smart devices, which cannot compensate for 3 dB signal power loss caused by polarization mismatch (Zhang et al. 2013). Consequently, carrier phase cycle slips occurred quite frequently for smart devices without external antennas, as shown in Table 5. The cycle slip percentages of PRID, μBX1 and μBX2 are less than 0.1%, that of NEX2 is less than 4%, and that of NEX1 is greater than 7%. Abnormally, the cyclic slip percentages of SAMS and HONO are greater than 50% and 90%, respectively. This is because, in addition to the low antenna characteristics and multipath, cycle slip occurs every second after the duty-cycle is turned on.
Figure 3 also shows that the C/N0 of NEX1, SAMS and HONO vary quickly with time, while that of NEX2 connected to the external antenna does not. Humphreys et al. (2016) attributed such rapid C/N0 variation to multipath effects due to poor multipath suppression by smart device antennas. One interesting phenomenon is that the C/N0 variations with respect to high elevations are not synchronized among NEX1, SAMS and HONO. Since multipath is environment dependent, there should be high correlations among the multipath signatures from different GNSS devices placed jointly in the same observation environment. This is evidenced by the large correlation coefficients between the C/N0 values of NEX2, PRID, μBX1 and μBX2 as shown in Fig. 4. In contrast, NEX1, SAMS and HONO without external GNSS antennas show quite weak correlations not only in their C/N0 variations but also when compared to those of NEX2, PRID, μBX1 and μBX2. Therefore, we argue that in addition to multipath, the individual design of smart device GNSS antennas, i.e., non-uniform antenna gain, may also contribute to the rapid C/N0 variations. To verify this point, we counted the mean C/N0 values of all GPS satellites tracked by different devices over a day at different elevations, as shown in Fig. 5.
Figure 5 shows that the C/N0 values of NEX1, SAMS and HONO at high elevations are about 5–10 dB-Hz smaller than those at low elevations, sharply differing from the high-elevation C/N0 values of NEX2, PRID, μBX1 and μBX2. For example, the C/N0 values of HONO drop by almost 10 dB-Hz at the highest elevations, i.e., from about 35 dB-Hz at 50°–60° to 25 dB-Hz at 80°–90°. Since multipath effects at high elevations are nominally weaker than those at low elevations, we ascribe this abnormal C/N0 pattern to the non-uniform gain of the smart devices GNSS antennas. This point can be further verified using the relative C/N0 values, i.e., the difference between C/N0 of smart and survey-grade GNSS devices, to approximate the gain pattern of the internal GNSS antennas of the smart devices. Figure 6 hence shows the skyplot of relative C/N0 for different devices relative to PRID, a station presumed as the benchmark of GNSS signal strengths. It is obvious that, in contrast to NEX2, the smart devices without external GNSS antennas, i.e., NEX1, SAMS and HONO, have clearly inconsistent signal strengths compared to those of PRID. High relative C/N0 regions are called the “hot zone” and color-coded as hot, while low relative C/N0 regions are called the “cold zone” and color-coded as cold. They are subject to both satellite azimuths and elevations variation. Of particular interest is that the distribution of such hot and cold zones differs among different smart devices. For example, in Fig. 6, the corner at about 30° elevation and 150° azimuth is the hot zone for NEX1, which is, however, is a cold zone for SAMS. This implicates that the hot and cold zones are not caused by multipath effects since they should be consistent among different devices under the same observation environment. Therefore, we conclude that the hot and cold zones of the smart devices internal GNSS antennas are due largely to their non-uniform gain patterns, which differ clearly among different smart devices. As a result, the GNSS signal strength no longer increases with the increase in elevation but fluctuates and even decreases. Consequently, the traditional observations weighting method by elevation is no longer suitable for GNSS positioning of smart devices, and the C/N0 or SNR-based weighting model seems to be more feasible.
GNSS observation noise
We used the third-derivative approach, as shown in (2), to quantify the GNSS measurement noise for various devices in stand-alone tests, as shown in Table 6. The pseudorange noise of smart devices, no matter whether with or without external GNSS antennas, is about 10 times larger than that of μBX1 and PRID. On the contrary, the NEX1 carrier phase noise is less than 0.04 cycles, which is only 3–5 times larger than that of PRID, while, unexpectedly, half that of μBX1. However, the pseudorange and carrier phase noises of HONO and SAMS are significantly larger than those of other devices, which is attributed to the duty-cycle issue within smart devices.
The chip remains continually active while decoding the navigation message. From a cold start, it takes minutes to decode the full message, leaving the users to track continuously the carrier phase. Therefore, we can obtain nearly 3 min of continuous carrier phase observations from HONO and SAMS, and then discontinuous carrier phase observations, as shown in Fig. 7. The pseudorange and carrier phase noises are significantly different depending on the off-and-on condition of duty-cycle. The noise of pseudorange and carrier phase will increase after the duty-cycle occurs, which has been demonstrated by Gogoi et al. (2019) and Laurichesse et al. (2017). These results are also confirmed in this study. This might be explained by the GNSS chipset not continuously operating, i.e., the GNSS chip is active only for a fraction of each second when duty-cycle is turned on (Linty et al. 2014). The duty-cycle wakes up the GNSS chip once a per second for only a few milliseconds, but what the phase changes in the remaining milliseconds is unknown (Pirazzi et al. 2017). As a result, discontinuous carrier phase can be obtained every second when the duty-cycle is turned on. However, in order to evaluate the carrier phase noise during the duty-cycle on, we did not remove the carrier phase measurements with cycle slips. Because that would remove almost all observations, as a result, the estimated noise may be affected by this discontinuity. However, during duty-cycle on, the carrier phase noise of HONO and SMAS is less than one cycle, as shown in Fig. 7. Laurichesse et al. (2017) also obtained similar results using a Samsung S8 + smartphone. This indicates that the phase change caused by the duty-cycle may not be a full-cycle. In addition, STDs of carrier phase noise for HONO and SMAS all exceed 0.1 cycles after duty-cycle occurs, which indicates that the discontinuous carrier phase cannot be used for integer ambiguity resolution when the duty-cycle is turned on.
We also use a controlled environment test to provide noise versus C/N0 model parameters for the GNSS chipset of smart devices. Multiple devices receive the GNSS signals from 47 to 23 dB-Hz in the RF shielding box. The noise of each smart device is obtained by the third-derivative approach and is named as name-TD, such as SAMS-TD. NEX1-NEX2 represents the Nexus 9 noise obtained by the zero-baseline approach, as shown in (4). Meanwhile, we used the uncertainty observation, ReceivedSvTimeUncertaintyNanos and AccumulatedDeltaRangeUncertaintyMeters of the GNSSlogger raw log file, which are obtained through the functions provided by the Android API, to calculate pseudorange noise and phase noise, respectively. They are represented as name-U, such as SAMS-U. The ideal GPS 1-sigma code tracking loop (DLL) thermal noises have been estimated using the dot-product closed formula (Kaplan and Hegarty 2017; Van Dierendonck et al. 1992), represented as BPSK-R(1). In particular, the code loop noise bandwidth is 1 Hz, the double-sided front-end bandwidth is 4 MHz, the early-to-late correlator spacing is 1/2 chips, the predetection integration time is 20 ms. The ideal GPS 1-sigma PLL thermal noise has been estimated using the thermal noise jitter formula for an arctangent PLL (Kaplan and Hegarty 2017), where the carrier loop noise bandwidth is 10 Hz and the predetection integration time is 20 ms.
Figure 8 shows that the pseudorange and phase noise estimated by the third-derivative approach are all greater than the ideal noise, which is mainly caused by the receiver clock noise. Note that the noise of both HONO and SAMS shows anomalies, especially their phase noise, which are larger than that of NEX1 and vary irregularly. That may be because the discontinuity of the carrier phase measurements after their duty-cycles are turned on. The noise estimated by the zero-baseline approach, NEX1-NEX2, is more consistent with the ideal noise because they have removed the common clock jitter by double difference. However, its phase noise is higher than the ideal noise, probably caused by internal crystal instability. Some smooth noise curve was obtained using the raw uncertainty observations. The overlap of the NEX1-U, NEX2-U and HONO-U noise curves indicates that they use the same estimation model, while SAMS-U uses other models or parameters. For example, for the phase noise estimate of SAMS-U, the carrier loop noise bandwidth may be set to 25 Hz instead of 10 Hz.
Carrier phase error of Nexus 9
Since the GNSS signals received by all devices in the controlled environment test come from a common survey-grade antenna, the effects of the antenna and the external environment can be excluded, so the double-difference (DD) residuals of zero-baseline can be used to evaluate the GNSS chip performance of the smart devices. Figure 9 shows the DD pseudorange and phase residuals for the zero-baseline float and fixed solution. The DD phase ambiguity of the fixed solution is obtained by rounding the float DD phase ambiguity, and thus, the residual includes fractional phase bias and noise. We only discussed the zero-baseline NEX1-PRID because the carrier phase observations of Nexus 9 are continuous.
Figure 9 shows that the DD pseudorange residuals reveal a white noise pattern, whereas the DD phase residuals, however, exhibit an anomalous “jagged” distribution (or near periodic fluctuations). This phenomenon exists in the float and fixed solutions. As shown in Fig. 10, the DD phase observations and residuals of NEX1-PRID jumped synchronously at the instant marked by the two-way arrows, while those of μBX1-PRID did not. However, the DD pseudorange is inconsistent with these jumps, which proves that the anomalous “jagged” distribution is not caused by the receiver clock jump. This anomaly is similar to the type 2 carrier phase anomaly, i.e., the small discontinuity of the Galaxy S5 phase observation found by Humphreys et al. (2016). The reason for this anomaly is unknown, probably caused by the discontinuous operation of the PLL. Unfortunately, the mean of the DD carrier phase residual of the fixed solution is nonzero. The residual differs from signal to signal and even changes if the signal is re-tracked. For example, the G05 signal is unlocked and then re-tracked at t1, but the mean of its DD carrier phase residual changed from 0.1 to − 0.1 cycle. This might be explained by the fact that Nexus 9 delivers an accumulated delta range with an arbitrary phase offset, i.e., its initial phase bias is randomly assigned when the signal is tracked (Riley et al. 2017). Consequently, the DD carrier phase bias \(B_{rb,i}^{jk}\) of the Nexus 9 should be modeled as:
where \(\phi_{rb,0,i}^{jk}\) is the DD initial phase. Obviously, \(\phi_{rb,0,i}^{jk}\) destroys the integer property of the DD ambiguity, and DD ambiguity fixing is not possible.
GNSS positioning performance of smart devices
This section presents the positioning performance of smart devices by SPP and CRP results. We will also present the results of static and vehicle test to verify the actual positioning performance of smart devices. In addition, we will also discuss the benefits of multi-GNSS for smart device positioning and the opportunities and challenges for smart device to achieve high-precision positioning.
Results of static pseudorange positioning
Figure 11 and Table 7 show the results of pseudorange SPP of smart devices for low-cost and survey-grade receivers in static tests. We also calculate the solution availability, which is the percentage of eligible positions that have a 3D error of less than 30 m. For GPS, the horizontal and vertical RMS of all smart devices with embedded antennas are about 10–20 m, which is nearly 10 times larger than those of μ-blox and PRID. However, the horizontal and vertical RMS of NEX2 is only 5–8 m, which is half that of NEX1. This implies that the embedded antennas of smart devices are responsible for their poor positioning precisions. In the case of multi-GNSS, as mentioned above, the observations are weighted according to C/N0, and the weight ratios among GPS, GLONASS and BeiDou are 3:1:3 according to the pseudorange noise of smart devices (Table 6). We found that GLONASS does not contribute significantly to improving the RMS or the availability of SPP positions, as illustrated by Table 7. We argue that this is because GLONASS data from smart devices seem to have much poorer quality, though they can almost double the number of satellites per epoch. In contrast, when BeiDou data are also included as exemplified by SAMS, the 3D positioning RMS can be reduced from 26.61 m for GPS-only solutions to 18.94 m for multi-GNSS solutions. Meanwhile, the availability of eligible solutions is increased considerably from 69.9 to 78.6%.
Results of static carrier phase positioning
Figure 12 shows the convergence time in the case of static carrier phase positioning for different devices. The results do not include HONO and SAMS because their carrier phases are discontinuous. The static CRP convergence time of the NEX2-WUHN was about 17 min but exceeded 1 h for the NEX1-WUHN. Thus, low-cost and survey-grade receivers have shorter convergence time and more stable positioning performance than smart devices.
Table 8 illustrates that the static CRP solutions of smart devices can achieve decimeter-level positioning precision after convergence. For example, NEX1-WUHN and NEX2-WUHN obtain centimeter-level positions where both horizontal and vertical STDs are about 1 cm or better. Such achievement is comparable to those of μ-blox and survey-grade receivers. Nevertheless, we note that the ambiguity fixing rates for smart devices-based baselines are quite low, which are normally smaller than 10%. This is mainly because the random initial phase destroys the ambiguity integer property. Moreover, the baseline vector estimated from smart devices usually contains biases, which can be up to a few decimeters. The only exception is NEX2 when only GPS data are processed, where the resulting biases are as small as a few centimeters. This is probably because the antenna phase centers of smart devices are replaced by their geometric centers, which introduces system bias, except for NEX2. NEX2 is connected to an external survey-grade antenna with a known phase center, so its positioning accuracy and precision are excellent.
Results of the kinematic test
Figure 13 shows the trajectory of the kinematic CRP solutions (yellow line) and pseudorange SPP solutions (red line) of NEX1, which mostly coincide with the reference path (green line). This shows that kinematic navigation based on smart devices is feasible.
The top two panels of Fig. 14 show that 92.7% of the NEX1 GPS SPP 3D-distance errors fall within ± 10 m, and its STD is 8.1 m. Larger errors occur, especially when the number of satellites decreases. For example, when the vehicle reached corner C (around 8:14:50), its SPP solution deviated from the lane. This is because the number of visible satellites is reduced by the blockage of nearby high-rises. Compared with GPS-only solution, the average number of GPS/GLONASS satellites increased by 3.8, the STD of SPP 3D-distance error decreased to 6.6 m, and the percentage of SPP 3D-distance error within ± 10 m increased from 92.7 to 93.8%. Therefore, in GNSS-adverse environments such as urban areas, where some of the signals can be obstructed, multi-GNSS will provide better location services in terms of availability and positioning accuracy.
More encouragingly, as shown in the bottom two panels of Fig. 14, the kinematic CRP solutions of the NEX1 have a decimeter-level 3D-distance positioning error. Specifically, the STD of the GPS kinematic CRP 3D-distance error is 0.169 m, and the percentages of errors falling into ± 0.1 m and ± 0.5 m are 63.59% and 100%, respectively. For GPS/GLONASS, the positioning accuracy of the kinematic CRP solutions slightly decreases. This may be due to the poor observation quality of GLONASS from the smart device mentioned before. For Nexus 9, the GLONASS pseudorange noise is 3–4 times larger than that of the GPS, as shown in Table 6. In addition, some sort of frequency deviation in phase tracking of the Nexus 9 results in a curved trend in the double-differenced carrier phase observations of GLONASS (Håkansson 2018), which also explains in part the poor positioning performance of GLONASS. However, it can still provide a decimeter-level navigation service with the STD of 3D-distance error being 0.348 m and 98.15% solution falling in ± 0.5 m.
Conclusions and outlook
We comprehensively analyze the error characteristics and positioning performance of the raw GNSS measurements from smart devices. First, we find that the C/N0 of smart devices are about 10 dB-Hz lower than those of low-cost and geodetic receivers and are characterized by rapid variations and low values at high elevations. To investigate the reasons for these characteristics, we use an external survey-grade GNSS antenna to replace the embedded GNSS antenna of the smart device. It has been proven that the omnidirectional passive linear polarized embedded GNSS antennas of smart devices with poor multipath suppression capability and non-uniform gain pattern are responsible for these characteristics. Consequently, we suggest that the observation-weighted models based on C/N0 or SNR should be more suitable for GNSS positioning of smart devices than elevation-based weighting models.
We inspect the observation error characteristics of different smart devices through stand-alone and controlled environment tests. We find that the pseudorange noise of smart devices is about 10 times larger than that of geodetic receivers. On the contrary, the carrier phase noise of Nexus 9 is less than 0.04 cycles, only 3–5 times larger than that of geodetic receivers, but half of that of μ-blox. However, the carrier phases tracked by Samsung Galaxy S8 and Huawei Honor v8 are discontinuous due to the duty-cycle issue, which results in greater noise and carrier phase unavailability. Based on different methods, we provide theoretical parameters for the noise versus C/N0 models of the GNSS chipset for different smart devices. Moreover, we found two unique error characteristics of the available Nexus 9 carrier phase: anomalous “jagged” distribution and random initial phase bias, which is evident in the controlled environment test. These imply that this error of carrier phase is a major obstacle for smart devices to achieve high-precision positioning based on the carrier phase.
Finally, we investigate the positioning performance using smart devices in the case of static and vehicle situations with pseudorange SPP and CRP. The horizontal and vertical RMS of static pseudorange SPP solutions for all smart devices with embedded antennas are about 10–20 m, but for NEX2 with an external GNSS antenna the values only 5–8 m. The static CRP solutions of smart devices can achieve at least decimeter-level positioning precisions after convergences. NEX1-WUHN and NEX2-WUHN even obtain centimeter-level positions where both horizontal and vertical STDs are about 1 cm or better.
However, due to the unknown phase center of the embedded GNSS antenna, except for NEX2, the baseline vectors estimated from smart devices usually contain biases. For the kinematic test, the STD of the NEX1 pseudorange SPP 3D-distance error is 8.1 m, and the percentage of errors falling in ± 10 m is 92.7%. More encouragingly, the STD of the NEX1 kinematic CRP 3D-distance error is 0.169 m, and the percentages of errors falling in ± 0.1 m and ± 0.5 m are 63.59% and 100%, respectively. This implies that kinematic navigation based on smart devices is feasible.
For multi-GNSS, we find that GLONASS does not contribute significantly to improving the positioning accuracy because GLONASS data from smart devices seem to have large pseudorange noise and some unconventional phase biases. With these biases, we only achieve a float solution, which does not need to correct the inter-frequency biases. However, in GNSS-adverse environments, where some of the signals are obstructed, multi-GNSS will provide better location services in terms of availability and positioning accuracy.
Fortunately, on May 30, 2018, Frank van Diggelen announced the addition of duty-cycle control for Android P, which allows users to obtain continuous carrier phase with no duty-cycles. Nevertheless, poor multipath suppression capability, non-uniform gain and undetermined phase center offset of the passive linearly polarized embedded GNSS antenna are still significant challenges for the high-precision positioning of smart devices.
References
Banville S, Diggelen FV (2016) Precise GNSS for everyone: precise positioning using raw GPS measurements from android smartphones. GPS World 27(11):43–48
Geng J, Li G, Zeng R, Wen Q, Jiang E (2018) A Comprehensive assessment of raw multi-GNSS measurements from mainstream portable smart devices. In: Proceedings of ION GNSS 2018, Institute of Navigation, Miami, Florida, USA, Sept 24–28, pp 392–412
Gogoi N, Minetto A, Linty N, Dovis F (2019) A controlled-environment quality assessment of android GNSS raw measurements. Electronics 8(1):5. https://doi.org/10.3390/electronics8010005
Håkansson M (2018) Characterization of GNSS observations from a Nexus 9 android tablet. GPS Solut 23(1):21. https://doi.org/10.1007/s10291-018-0818-7
Humphreys TE, Murrian M, Diggelen FV, Podshivalov S, Pesyna KM (2016) On the feasibility of cm-accurate positioning via a smartphone’s antenna and GNSS chip. In: Proceedings of IEEE/ION PLANS 2016, Savannah, GA, USA, 11–14 Apr 2016, pp 232–242
Hwang J, Yun H, Suh Y, Cho J, Lee D (2012) Development of an RTK-GPS positioning application with an improved position error model for smartphones. Sensors (Basel, Switzerland) 12(10):12988–13001. https://doi.org/10.3390/s121012988
Joseph A (2010) What is the difference between SNR and C/N0? InsideGNSS 5:20–25
Kaplan ED, Hegarty C (2017) Understanding GPS/GNSS: principles and applications, 3rd edn. Artech House Publishers, London
Laurichesse D, Rouch C, Marmet FX, Pascaud M (2017) Smartphone applications for precise point positioning. In: Proceedings of ION GNSS 2017, Institute of Navigation, Portland, Oregon, USA, Sept 25–29, pp 171–187
Linty N, Presti LL, Dovis F, Crosta P (2014) Performance analysis of duty-cycle power saving techniques in GNSS mass-market receivers. In: Proceedings of PLANS 2014, Monterey, CA, USA, May 5–8, pp 1096–1104
Pesyna KM, Heath RW, Humphreys TE (2014) Centimeter positioning with a smartphone-quality GNSS antenna. In: Proceedings of ION GNSS 2014, Tampa, Florida, USA, Sept 8–12, pp 1568–1577
Pesyna KM, Humphreys TE, Heath RW, Novlan TD, Zhang JC (2017) Exploiting antenna motion for faster initialization of centimeter-accurate GNSS positioning with low-cost antennas. IEEE Trans Aerosp Electron Syst 53(4):1597–1613. https://doi.org/10.1109/TAES.2017.2665221
Pirazzi G, Mazzoni A, Biagi L, Crespi M (2017) Preliminary performance analysis with a GPS + Galileo enabled chipset embedded in a smartphone. In: Proceedings of ION GNSS 2017, Institute of Navigation, Portland, Oregon, USA, Sept 25–29, pp 101–115
Realini E, Caldera S, Pertusini L, Sampietro D (2017) Precise GNSS positioning using smart devices. Sensors 17(10):2434. https://doi.org/10.3390/s17102434
Riley S, Lentz W, Clare A (2017) On the path to precision—observations with android GNSS observables. In: Proceedings of ION GNSS 2017, Institute of Navigation, Portland, Oregon, USA, Sept 25–29, pp 116–129
Shin D, Lim C, Park B, Yun Y, Kim E, Kee C (2017) Single-frequency divergence-free hatch filter for the android N GNSS raw measurements. In: Proceedings of ION GNSS 2017, Institute of Navigation, Portland, Oregon, USA, Sept 25–29, pp 188–225
Van Dierendonck AJ, Fenton P, Ford T (1992) Theory and performance of narrow correlator spacing in a GPS receiver. Navigation 39(3):265–283
Zhang Y, Yao Y, Yu J, Chen X, Zeng Y, He N (2013) Design of a novel quad-band circularly polarized handset antenna. In: Proceedings of the international symposium on antennas & propagation, Nanjing, China, Oct 23–25, pp 146–148
Zhang X, Tao X, Zhu F, Shi X, Wang F (2018) Quality assessment of GNSS observations from an android N smartphone and positioning performance analysis using time-differenced filtering approach. GPS Solut 22(3):70. https://doi.org/10.1007/s10291-018-0736-8
Acknowledgements
This work is funded by the National Key R&D Program of China (2018YFC1504002, 2016YFB0501802). We used Google developed GNSS Logger apps to obtain GNSS data from smart devices. We thank two anonymous reviewers for their valuable comments.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Li, G., Geng, J. Characteristics of raw multi-GNSS measurement error from Google Android smart devices. GPS Solut 23, 90 (2019). https://doi.org/10.1007/s10291-019-0885-4
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10291-019-0885-4