As it is known, on May 2018 Xiaomi introduced to market its new flagship smartphone, the Xiaomi Mi 8. For GNSS enthusiats, this was a huge milestone since this is the first device to have the Broadcom BCM47755 GNSS chipset, which delivers dual-frequency (L1/L5) GNSS measurements. In particular, the signal properties at the GPS L5 and Galileo E5a bands promise greater multipath rejection which in turn yields better navigation accuracies. Former performance assessment has been done in terms of positioning accuracy relative to other smartphones and GNSS measurement quality of the Xiaomi smarpthone.
This post focuses a bit more on the quality of the carrier phase measurements that can be obtained and therefore on what can be expected of these measurements when analyzing various types of measurement combinations.

Test setup

For this study, a Xiaomi Mi 8 has been flashed with an Android 9 Miui v10 ROM (ver. 8.9.11), which also allows to disable the duty cycling. To disable it, activate the option “Force Full GNSS measurements” that can be accessed in “Settings > Additional Settings > Developer Options”.  Two long data takes have been recorded using Google’s GNSSLogger app:

Start time (GPS time)End time (GPS time)DurationDuty cycling
First data set2018-10-26 10:53:102018-10-25 10:46:0317hoff
Second data set2018-10-25 18:51:382018-10-26 10:53:1016hon

Albeit the test was conducted in an urban scenario, the smartphone (placed at the same exact position for the 2 data takes) had a reasonable clear view except with partial obstruction in the South direction (see map below).

Ionospheric combinations

As it is known, GPS was designed with two frequencies (L1 and L2) to allow the removal of the delay caused by the ionosphere (a dispersive media whose effect depends on frequency). This is achieved by the so-called ionosphere-free combination. Similarly, the same property is actually exploited to monitor the state of the ionosphere and compute the Global Ionospheric Maps (such as the IONEX maps distributed by the IGS). This is achieved by the geometric free combination. The phase ionospheric combination (for L1 and L2) is defined as:

Similarly, for L1 and L5, the expression equals to:


\alpha_{15} = \left( 40.3 / f_0^2 \right) \cdot \left( 1/115^2-1/154^2\right)

is a constant that translates from Slant Total Electron Content (i,e. integral of the ionospheric electron density along the line-of-sight) to meters of delay in:


The term:

\lambda_a \cdot N_{a} - \lambda_b \cdot N_{b}

represents the phase ambiguities in the two carrier-phase measurements used to build the combination. Finally, the remainder error terms are represent by:


For single frequency users, the so-called GRAPHIC ionospheric combination (or code-minus-carrier combination) can be also formed:

CMC_1 = \frac{L_1-C_1}{2} = \frac{40.3}{f_1^2}\cdot STEC + \frac{\lambda_1}{2} \cdot N_1 +\frac{\varepsilon_{C1}}{2}

A similar expression would be used for the L5 signal. The drawback of the code-minus-carrier combination is that, besides being affected by half of the phase ambiguity, it contains half the noise of the range measurement.

Ionospheric delay monitoring

The figures below show some examples on how the phase geometry-free (or ionospheric) combination defined above, obtained with the Xiaomi Mi 8 smartphone, follows the ionospheric delay variation over time. In the figures, an arbitrary bias has been added to the combinations to help the visualization. In an operational system, these biases would need to be estimated. As an external reference, the ionospheric delay computed using the Slant TEC provided by the IGS IONEX maps is also shown. Despite the fact that low elevation measurements are greatly affected by multipath (specially critical in smarpthones due to the low-grade antenna used), high elevation measurements are capable of providing with decent observations for the ionospheric variability.

Ionospheric combination for G10
Ionospheric combination for G03
Ionospheric combination for G01

Note how, despite the fact that these plots correspond to the second data take (with duty cycling activated), the phase measurements of the Xiaomi Mi 8 are of similar quality than those of the previous day, where the duty cycle was deactivated. This might be a feature of the GNSS Logger, which might automatically deactivate the duty cycling when the app is active.

Multipath analysis

One of the features of the geometry-free (or ionospheric) code-minus-carrier (CMC) combination for single frequency data is that they remove the non-dispersive terms of the GNSS observables (i.e. those terms that do not depend on the frequency such as geometry, clock, troposphere, …), but keep half the noise of the pseudorange measurement. This property makes it suitable to check additional sources of error that affect code pseudorange such as multipath.

This is specially true for the GPS case where the orbit of the satellites repeat each sidereal day (23h 56min 4.1s). Unfortunately this does not happen to other constellations such as Galileo (see discussion on orbit repatability here). If the geometry repeats every day, then the multipath pattern should repeat from day-to-day. The figures below show some examples on how this can be verified also for data gathered by the Xiaomi Mi 8 smartphone.

The following figure contains the CMC combination for GPS L1 and L5 for the 2 data takes. The second day (2018-10-25) has been moved back by a sidereal day. Note that, despite the duty cycling settings, the carrier phases for both days look reasonably similar. The plot also shows how quickly the multipath increases with lower elevation. Large multipath error appears at the beginning of the time series (from 5 to 6hours). This is due to a wall obstructing the view below 30 degrees in the South direction (corresponding to the map view on top of the post). Additionally, the plot makes evident the fact that the tracking of L5 signal yields to a less noisier code measurements, as expected. Finally, the cycle slips present in the data are fairly evident with these combinations, which makes it a suitable combination for cycle slip detection, even in the case of smartphone data.

Multipath analysis for G08. Variability with elevation

In order to provide a detail of the multipath pattern and how it varies across sideral days, the following figure shows the CMC combinations for another satellite. The figure clearly shows how the noise pattern (due to multipath) are almost identical from sidereal day to sidereal day, due to the repeating geometry.

The qualitatively analysis provided here shows how, with new dual-frequency capabilities, smartphone data can be also used for ionospheric monitoring to a certain extent as well as to perform data editing and cycle slip detection, which is critical in order to obtain meaningful results in PPP or RTK positioning engines.