1. Introduction
The technological innovations introduced by Google in smartphone and internet of things (IoT) devices during the past two years started a revolution within the mass-market GNSS world. The release of the Android Raw GNSS Measurements API (
Figure 1), compatible with Android 7.0 or higher, allows app developers to access not only the internal position–velocity–time (PVT) solution, but also the raw GNSS measurements. This enables the reconstruction of pseudorange, carrier-phase, Doppler, and signal-to-noise ratio (SNR) observables.
The number of Android smartphones compatible with the Google API is increasing day-by-day. During the first months of 2017, the Samsung S8 and Huawei P10 were released as the first multi-GNSS smartphones able to track carrier-phase measurements. However, the real turning point was the release of the Xiaomi Mi 8 in May 2018. This device is the first multi-GNSS dual-frequency (L1/E1 and L5/E5a) smartphone using the new Broadcom BCM47755 GNSS chipset. In fact, the availability of L5/E5a measurements ensures improvements in signal tracking and positioning performances when combined with the traditional L1/E1. Furthermore, the release of Android 9, which allows the acquisition of carrier-phase measurements not affected by duty cycle—a battery-saving mode leading to continuous cycle slip in carrier-phase measurements—indicates the leading position that Android is assuming within the mass-market GNSS world.
The availability of GNSS measurements from such mass-market devices encourages researchers to extend the use of traditional algorithms that were originally developed for high-end receivers to include this new generation of GNSS devices, aiming mainly at increasing the positioning accuracy. Real-time kinematic (RTK) and Precise Point Positioning (PPP), for example, are widely used to exploit the benefits coming from the accessibility of the raw GNSS measurements [
1,
2,
3,
4]. However, high accuracy is prevented by the quality of GNSS measurements obtainable from Android smartphones, due especially to the characteristics of the GNSS antenna: shared with other communication systems (WiFi, Bluetooth, etc.), low cost, and linearly polarized [
5,
6]. The research carried out so far has highlighted the low resistance to interference, cycle slip, and multipath effects, as well as a marked gain in the SNR with respect the geodetic class receivers [
7]. Researchers are also focusing their attention on the development of new positioning algorithms based on the integration of different GNSS measurements such as pseudorange and doppler and/or carrier-phase [
5,
8], or on the combination of GNSS and external information to overcome the low accuracy achievable with GNSS observables from Android devices.
Despite the problems affecting these GNSS measurements—especially in urban environments—smartphone position, especially for the real-time navigation of pedestrians and vehicles, is the first beneficiary of the new possibility offered by Google. However, the availability of multi-GNSS and multi-frequency smartphones also opens possibilities to new applications not immediately related to positioning. Innovative research fields are inspired by the GNSS community through the European GNSS Agency (GSA) and its GNSS Raw Measurements Task Force, launched in 2017, which now brings together around 100 members from international agencies, universities, research institutes, and companies.
Following the main research fields in GNSS, this work aims at investigating the real-time performances of Android smartphones in the description and reconstruction of phenomena in the geosciences field. The Geodesy and Geomatics Division of Sapienza University of Rome is responsible for the development of different GNSS algorithms to enhance the integration of GNSS within geophysical applications. VADASE (Variometric Approach for Displacements Analysis Stand-alone Engine) and VARION (Variometric Approach for Real-time Ionospheric Observations) are two methodologies based on the variometric approach used, respectively, during the activities described here to estimate fast movement 3D velocity and to study ionospheric conditions and disturbances.
This paper presents a feasibility study to define whether raw GNSS measurements coming from a Xiaomi Mi 8 can be used to detect movements of frequency and amplitude similar to seismic waves, and to monitor ionosphere conditions. This introduction is followed by the description of potential benefits for the geoscience community coming from the availability of raw Android GNSS measurements (
Section 2). The same section contains a description of the main features of VADASE and VARION, the two algorithms used in this work. The last part of the paper deals with the description of data analyses (
Section 3) and the discussion of the results obtained (
Section 4).
2. Materials and Methods
2.1. Smartphones and Geoscience
The use of GNSS signal to describe geophysical phenomena is well known: many studies have already been carried out on GNSS seismology, GNSS meteorology, and induced ionospheric perturbations [
9,
10,
11]. The studies carried out so far have mainly been focused on the use of geodetic class or low-cost GNSS receivers. However, the technological development that is revolutionizing the mass-market GNSS world—described in
Section 1—allows us to name Android smartphones as the new tool to be used within geoscience applications.
The description of a generic geophysical phenomenon and its effects requires dense information. In the case of GNSS receivers, which can be considered as sensors providing isolated measurements, a densification is required. However, in the case of geodetic class or low-cost receivers, a densification of the actual network is prevented by the associated costs. Android smartphones represent everyday tools and, thanks to the Android Raw GNSS Measurements API, they are becoming the leading GNSS products within the mass-market world. Therefore, following the trend in the GNSS community, Android smartphones seem to be the perfect solution to fulfill the requirements for GNSS data usage in geophysical applications. Moreover, the use of GNSS signal from different constellations—especially from Galileo and BeiDou—and frequencies allows the accuracy of the overall GNSS solutions to be increased. This is necessary when smartphones are used in geophysics because multipath and interference with other signal sources are projected into the reconstruction of the phenomenon of interest, reducing the reliability of the final solution. However, the new generation of Broadcom chipset offers greater resistance to these problems, and further improvements are expected with the next generations of chipset that manufacturers will provide.
Finally, it is important to consider that smartphones are multi-sensor devices where GNSS and IMUs (inertial measurement units) are able to provide independent measurements with a proper time scale. For example, the availability of GNSS and accelerometer measurements allows the motion parameters of the smartphone in high-frequency kinematic scenarios to be improved and validated. Different research projects are now focused on the possibility of using sensor data from smartphones to describe the effects of geophysical phenomena on the device: MyShake [
12] represents an example of a seismic system intended to detect and characterize earthquakes based on accelerometer data from smartphones. In this sense, the integration with raw Android GNSS measurements may be beneficial in ensuring higher accuracy in smartphone positioning and increased reliability in the detection of the motion.
2.2. VADASE
The first algorithm used to analyze GNSS measurements in this study is the variometric approach developed by the Geodesy and Geomatics Division of Sapienza University of Rome within the VADASE algorithm. This approach, starting from the single difference time variation of carrier-phase measurements acquired on a certain frequency, allows estimation of the 3D velocity and displacements of a GNSS receiver. The model is fully described in [
9].
VADASE was developed to be used in GNSS seismology where it soon became widespread due to the differences with respect to the traditional algorithms used to study velocity and co-seismic displacements, such as real-time kinematic (RTK) and Precise Point Positioning (PPP) [
13]. In fact, using these approaches, displacements with centimeter accuracy can be obtained only with an external infrastructure able to provide differential correction from a base station or precise products—orbits, clock, and earth orientation parameter (EOP)—in real-time. Contrariwise, VADASE needs only broadcast parameters and, not requiring any ambiguity resolution algorithm, is able to estimate real-time velocity and displacements with accuracy comparable to traditional techniques on geodetic class receivers without the need for convergence time [
14,
15].
The availability of raw GNSS measurements from Android smartphones opens the way to new applications of this approach in mass-market GNSS receivers. The results obtained in the reconstruction of kinematic track and gesture [
16] encouraged the analysis in the field of high-frequency movements.
2.3. VARION
The VARION (Variometric Approach for Real-Time Ionosphere Observation) algorithm can provide time series of real-time sTEC (slant total electron content) variations in a stand-alone operational mode starting from each dual-frequency GNSS receiver [
11]. It was derived from VADASE: it is based on single time differences of geometry-free combinations of GNSS carrier-phase measurements, using a standalone GNSS receiver and standard GNSS broadcast products (orbits and clock corrections) that are available in real-time. sTEC estimates are referred to the ionospheric pierce point (IPP), which represents the intersection between the line of sight satellite-receiver and the single thin layer with which the ionosphere is approximated. Hence, the Klobuchar broadcast ionospheric model, based on an ionosphere thin shell (in our case, at the height of 350 km) approximation is used [
17]: it enables the real-time computation of both the positions of the ionospheric pierce points and the sub-ionospheric points (SIP: IPP projection onto the ellipsoid) [
11].
VARION was successfully applied to the detection of traveling ionospheric disturbances (TIDs) induced by the 2012 Haida Gwaii earthquake and tsunami [
11] and by the Illapel earthquake and tsunami [
18]. It was also efficaciously applied to ionospheric plasma density depletion caused by the Falcon 9 rocket launch [
19]. All these applications prove VARION’s extreme versatility and also explain the reasons for this preliminary analysis: using smartphones as a tool for increasingly accurate real-time ionospheric monitoring.
VARION is implemented in a Python-based open-source software [
20].
3. Results
The Android Raw GNSS Measurements API provides measurements enabling the reconstruction of the traditional GNSS observables. Different apps are already available in the Google Play Store allowing the GNSS measurements to be converted to RTCM (Radio Technical Commission for Maritime Services) or RINEX (Receiver Independent Exchange Format) format. RINEX files from a Xiaomi Mi 8 were obtained in this work using
rinex ON [
21], which is the only RINEX logger able to decode GNSS measurements and navigation messages (RINEX 3.03 format): the only two types of information required to perform analyses in real-time scenarios with VADASE and VARION. The analysis in the velocity/positioning domain, carried out with VADASE, was based on L1/E1 GPS and Galileo measurements with a cut-off angle equal to 15. As discussed in
Section 1, due to its poor quality, the GNSS antenna used within the smartphone is less resistant to cycle slips and multipath effects. In order to improve the final accuracy, a cycle-slip detection algorithm [
13] and a LOOCV (leave one-out cross validation) [
15] algorithm were used to remove faulty measurements from the final solution.
In addition to the analyses with VADASE, the VARION algorithm was applied to observations coming from the Xiaomi Mi8. In detail, GPS and Galileo L1/E1 and L5/E5a signals were used. These tests represent a preliminary analysis of using smartphones to monitor the ionosphere. In particular, only the rate of change of sTEC as a function of time, that is, the sTEC time derivative (), was considered. Hence, no filtering and no integration were applied. In the end, only satellites with high SNR were chosen, in order to remove noisier observations.
Although the Xiaomi Mi 8 is able to track L1/E1 and L5/E5a signals for GPS and Galileo, only L1/E1 measurements were considered in this paper during the analyses with VADASE. In fact, the redundancy within the estimation process is reduced using satellites with L1/E1 and L5/E5a in combination with ionosphere-free combination: only block IIF from GPS satellites currently transmits L5 signal. Furthermore, the development of a single-frequency methodology allows a larger number of users to be reached, considering the number of single-frequency smartphones now available on the market.
3.1. Static Scenario
If the noise of VADASE solutions (around few mm/s) is well known when GNSS measurements from geodetic class receivers are analyzed, the model noise on mass-market devices (e.g., Android smartphones) has to be evaluated. In fact, the noise level of variometric solutions could increase due to the poor quality of GNSS measurements acquired with extremely low-cost equipment. Furthermore, knowing the VADASE noise level allows one to immediately understand whether, for example, a fast periodic movement can be detected and analyzed.
Fifteen minutes of 1 Hz measurements in static and open-sky scenarios were acquired with a Xiaomi Mi 8. The comparison with 3D variometric velocity estimated at the same time with a geodetic class receiver placed nearby allowed us to evaluate how the different observation qualities affected the achievable accuracy (
Figure 2). M0SE, one of the permanent stations within IGS/EUREF network, was used in this analysis in order to consider similar atmospheric conditions: the distance between the two receivers was around 100 m.
The root mean square error (RMSE), computed for each component of the 3D velocity, is representative of the noise level of the VADASE solution.
Table 1 shows that higher RMSEs were obtained when measurements from the Xiaomi Mi 8 were considered. Although the accuracy achievable with Android measurements is lower with respect to solutions obtained with high-end receivers, the results show that movements with planimetric velocity higher than 1 cm/s could also be reconstructed with mass-market devices, opening the way to different innovative applications.
3.2. Periodic Dynamic Scenario
The outcomes from the test in the static scenario encouraged the use of a vibrating table in order to expose the smartphone to a periodic movement (
Figure 3).
On 2 April 2019 the Xiaomi Mi 8 and a geodetic class receiver (STONEX S900A) were fixed over a table placed in an open-sky environment in order to reduce multipath, interferences, and cycle slip for 10 min. The table subjected the two GNSS receivers to a 1D periodic motion with an oscillation period of about 10 s and an amplitude of 0.125 cm. Unfortunately, due to the mechanical characteristics of the table, the motion was irregular but this was negligible for the purpose of this paper. If the acquisition rate for the Xiaomi Mi 8 was fixed at 1 Hz from the Android Raw GNSS Measurements API, 10 Hz observations were collected by the STONEX S900A. However, the reference solution enabling the performance evaluation of the Xiaomi Mi 8 was built on 1 Hz measurements derived from the STONEX S900A. The table alternated between static and kinematic conditions during the tests.
Although the low resistance of the GNSS antenna embedded in the smartphone to the multipath phenomenon is a well-known problem, its effect on carrier-phase observations (the only one used from the algorithms discussed in this paper) is lower compared to pseudorange measurements. Nevertheless, a preliminary analysis of the GNSS observables was carried out in order to detect possible environmental factors affecting the measurements.
The Android Raw GNSS Measurements API allows the decoding of carrier-to-noise density ratio (C/No) measurements, defined as the ratio of the carrier power (C) to the noise power density (No), expressed in dB-Hz. Even if the C/No values depends on the GNSS equipment used, the careful analysis of its behavior may indicate environmental interference on the signal.
Figure 4 shows the traditional dependency between elevation and C/No in high-end receivers. The same dependency is not always clear with Android GNSS measurements, where the C/No is noisier and less stable (
Figure 5). As expected, the measurements from the Xiaomi were characterized by lower C/No: the reduction, with a maximum value of 19 dB-Hz, was independent of the azimuth but higher differences were observed for the satellites with higher elevation (
Table 2). The skyplots analysis confirms the independence of the C/No values from the azimuth for both the receivers (
Figure 6). The results are in line with published research in this field [
5,
7,
8].
Due to the short acquisition time-typical of GNSS applications for smartphones, no further multipath analysis could be carried out. However, the impact of multipath for the kinematic application studied in this paper can be considered small given the satisfactory C/No values for the signals acquired.
Moving on the VADASE solutions,
Figure 7 illustrates the time series of the 3D velocity estimated for all the epochs in the analysis. Static and kinematic periods were clearly identified from both the receivers and acquisition rate—for the STONEX S900A—used in this test.
Furthermore, the 3D velocity estimated during a period of kinematic conditions for the vibrating table using both 10 Hz and 1 Hz measurements (
Figure 8) demonstrates the capability of raw GNSS measurements from the Xiaomi Mi 8 to follow the periodic motion in analysis. Due to the low frequency at which the table was moving, the increased noise level of variometric solutions obtained with 10 Hz measurements in both static and kinematic conditions could be immediately detected (
Figure 7).
Aiming at defining the accuracy achievable in the reconstruction of the motion parameters using the Xiaomi Mi 8, a comparison with the 1 Hz solution obtained from the STONEX S900A was carried out for the epochs between 14:17:40 and 14:19:40 GPST on 2 April 2019.
Figure 9 and
Figure 10 show the trend of 1D velocity and displacements, along with the residuals computed epoch by epoch with respect to the reference solutions, for the kinematic scenario under analysis.
Despite the differences between the two GNSS receivers considered in this paper, the analysis of
Figure 9 shows a good agreement between the estimated velocities. The main differences between the two solutions were observed close to the peaks in the velocity domain. This behavior could be related to the different “prediction” algorithm of carrier-phase measurements implemented within the two different GNSS receivers. In addition to this, the estimated velocity using the Xiaomi Mi 8 showed higher noise mainly in the epochs when the vibrating table moved slowly (e.g., the third and fourth periodic cycle in
Figure 9). Consequently, the higher noise led to a greater difference in the displacements obtained by integration (
Figure 10).
Table 3 contains the results obtained from statistical analyses of the residual velocity and displacements displayed in
Figure 9 and
Figure 10. The results obtained in this test confirm that high reliability in the reconstruction of fast movement is achievable combining raw Android GNSS measurements and a variometric approach.
3.3. Ionospheric Analysis
For the ionopsheric analysis, a static acquisition using the Xiaomi Mi8 during 15 min was considered. In order to validate the Xiaomi Mi8 results, the M0SE GNSS permanent station was used as reference. In this case, the distance between the smartphone and M0SE was 107.58 m, so we could assume that we were referring to the same ionospheric condition.
Figure 11 shows the trend of
with respect to GPS satellite G24 for M0SE and for Xiaomi Mi8 during the 15 min of acquisition. It is possible to observe that the Xiaomi Mi8
series was much noisier than that of M0SE: the RMSEs for G24
were 0.011 TECU/s and 0.066 TECU/s, respectively, for M0SE and Xiaomi Mi8. Hence, a moving median on window of 5–10–15–20–30 s was computed in order to clean the noisy data and try to detect some kind of ionospheric disturbances, if they were present. The median operator was chosen since it is much more robust to outliers compared to the mean. Then, RMSEs on the median series were computed and compared to those of M0SE. Already using the median with a window of 15 s, results comparable with the M0SE results were obtained as shown in
Table 4.
Figure 12 shows the original Xiaomi Mi8
series and the one after using a 10 s window moving median. It is important to highlight how the noise was remarkably decreased just by using a 10 s window moving median, which had no influence of any ionospheric perturbation detection.
The same analysis was carried out on Galileo satellite E13.
Figure 13 shows the trend of
with respect to Galileo satellite E13 for M0SE and for Xiaomi Mi8 during the 15 min of acquisition. Also in this case, it is possible to observe that the Xiaomi Mi8
series (RMSE: 0.066 TECU/s) was much noisier than that of M0SE (RMSE: 0.013 TECU/s); thus, the same procedure was applied.
Table 5 shows the RMSEs for the different time windows used for the moving median. A window of 10 s allowed a noise comparable to that of M0SE to be obtained.
Figure 14 shows the original Xiaomi Mi8
series and the one after using a 10 s window moving median. Also in this case, the 10 s window moving median allowed the noise to be notably reduced.
4. Discussion
The Android Raw GNSS Measurements API and the progress made by smartphone and GNSS chipset manufacturers allowed us to evaluate the possibility of using this new generation of GNSS receivers for scientific applications in the field of geosciences. This study represents a feasibility study for real-time detection of fast and periodic movements and ionospheric monitoring using GNSS measurements from a Xiaomi Mi 8. We used two pieces of software that were developed internally at Sapienza University of Rome that have already been used for several published studies: VADASE to estimate 3D velocity with a stand-alone receiver and VARION to compute sTEC time variation.
Considering the position/velocity domain, the noise level obtained in static scenario (i.e., few mm/s for the horizontal components and around 1 cm/s for the vertical component) underlines the possibility of detecting fast movements with horizontal velocity higher than 1 cm/s. In fact, using a vibrating table, a simulated 1D periodic movement was retrieved with RMSEs of 0.011 m/s and 0.02 m for the residual velocity and displacements with respect to the reference solution obtained with a geodetic receiver. The acquisition rate, fixed to 1 Hz from the Raw GNSS Measurements API, could represent the main constraining factor for the detection of fast movements. However, considering, for example, the effects of earthquakes on smartphones, the acquisition rate should ensure the detection of most of the effects, since the typical period of seismic waves is between 6 and 7 s.
The preliminary ionospheric analysis carried out in this paper shows that the measurement noise could prevent the possibility of using raw GNSS data from smartphones for ionosphere monitoring: RMSEs for both GPS and Galileo were 5 to 6 times higher then the results obtained on the M0SE station. However, using the moving median technique it was possible to reduce—in real-time—the noise to levels comparable to what is achievable with geodetic class receivers, increasing the capabilities of raw Android GNSS measurements. Nonetheless, it is important to highlight that all these considerations are extremely dependent on the desired object of detection in the ionosphere: not all the traveling ionospheric disturbances are characterized by the same frequency and period.
The results obtained in this paper encourage further tests to evaluate the performance of Android smartphones in more realistic environments. In fact, smartphones are typically used in urban environments where GNSS signal is poor, and in kinematic conditions. This and further feasibility studies will contribute to define the benefits coming from an integration of GNSS measurements from smartphones in the existing monitoring systems for geophysics phenomena using a Big Data analysis approach in order to increase the knowledge of our World.