1. Introduction
GNSS provide the three-dimensional position, velocity, and UTC time synchronization, worldwide and in every meteorological condition. The main component of GNSS is represented by GPS (Global Positioning System), which is fully operational and comprises MEO (Medium Earth Orbit) satellites orbiting the Earth twice a day, and a global network of ground stations tracking the satellites, analyzing the signals, and sending commands and data to the system. The main GPS (and GNSS) application is real-time navigation, which can be performed with low-cost receivers; however, it can also be used for topographical and geodetical applications, such as the monitoring of structures, plate tectonics monitoring, a survey of points on large-scale cartography, and so on [
1,
2,
3,
4,
5].
The main interest of this study is real-time navigation. Indeed, nowadays, smart devices, such as smartphones, smartwatches, and tablets, are largely equipped with GNSS chips, allowing pedestrian navigation, sports tracking, and location-based services. These applications need accurate and reliable positioning that the GNSS chips are not always able to provide, mainly because of their small size, low-cost, and linear-polarized antenna [
6,
7,
8]. In this context, advanced processing algorithms are necessary, and an accurate estimation of velocity could play a key role. The TDCP (Time-Differenced Carrier Phase) technique is able to provide mm/s order accuracy for high-grade receivers, but its performance with smart devices should be assessed in terms of accuracy and reliability. Therefore, the main objective of this work is the analysis of the TDCP-based velocity performance of a smartphone.
GNSS receivers usually estimate velocity by processing the Doppler measurement—a shift in signal frequency of the satellite–user relative motion [
1].
Alternatively, velocity can be estimated by the TDCP (Time-Differenced Carrier Phase) technique [
9], which employs two consecutive carrier-phase observables. The main problem with carrier-phase observables is the presence of integer ambiguity, which must be estimated. If no cycle slips occur, the ambiguity remains constant [
2]; thus, differencing two consecutive measurements cancels the ambiguity [
10]. This is an important aspect of TDCP, which frees it from a classical problem affecting carrier phase. The most evident benefit of TDCP is that it can provide mm/s accuracies, compared with the Doppler technique which enables estimation at the cm/s accuracy level [
11]. On the other hand, TDCP is not a snapshot technique, being based on two consecutive carrier-phase measurements from the same satellite; if a loss of contact occurs on a satellite at the current or previous epoch, the TDCP observable, relative to that satellite, is unavailable. This results in a lower observable availability compared with the Doppler technique (which is a snapshot technique and does not experience this problem). An additional drawback is that the presence of cycle slip directly affects the TDCP observable so a suitable detector must be used.
TDCP was studied in several works. In [
12], the authors developed an approach where TDCP aids an INS to determine the velocity of the receiver and it achieved sub-meter positional accuracies. In [
13], an improved TDCP velocity-estimation approach, which was dependent on the receiver position at the current epoch and the satellite position at the current and successive epochs, was developed. A source of discontinuity in TDCP measurements is the changing of ephemerides; to overcome this limitation, in [
11], a strategy based on the use of the same set of ephemerides was proposed. In [
14], TDCP was used to improve pedestrian localization in an integrated scheme that included PDR (Pedestrian Dead Reckoning) and GNSS measurements.
The literature reports several studies into the development of GNSS receivers embedded into smart devices (above all smartphones); an exhaustive review of the state of art is in [
15].
Several specific studies into velocity estimation and/or the TDCP technique with smart devices are found in the literature. In [
16], the results from the integration of GNSS and inertial sensors of two smartphones were assessed, focusing on performance during the passage from an open sky to a more challenging environment.
In [
17], a quality analysis of GNSS smartphone observations was carried out and a velocity-aided positioning approach was proposed; an analysis of velocity estimation was conducted using the carrier-phase rate and the Doppler measurements; the results showed that the carrier-phase approach was more accurate than the Doppler approach. In [
18], an analysis of Doppler-based velocity estimation with smartphones was conducted for single and multi GNSS constellations, and single and dual frequencies.
In [
19], GNSS pseudorange, phase, and Doppler observables were combined in order to develop a precise positioning algorithm that exploited a robust Kalman Filter to obtain the smartphone position, where a velocity term was present, the position being determined using a TDCP method.
In [
20], measurements from a smartphone GNSS chip were analyzed and, owing to the presence of high noise levels, and frequent cycle slips and blunders, an advanced positioning algorithm, involving TDCP, was proposed. This research highlighted the importance of TDCP because it is crucial for advanced algorithms. A proof analysis of TDCP performance in the velocity domain using a smartphone GNSS chip is, therefore, required.
In the present work, a trial was conducted to assess the performance of the TDCP technique applied to a smartphone GNSS receiver. The considered device was a Xiaomi Mi8, equipped with a Broadcom BCM47755 chipset, able to receive L1/L5 frequencies from the GPS, GLONASS, Galileo, and BeiDou satellites. The need to investigate the TDCP performance with a smartphone arose from the typical noisiness of observations for this type of device [
6,
15,
21,
22].
A comparison was conducted with a Novatel GPS geodetic receiver, able to track L1/L2 frequencies of GPS only, and with a u-blox ZED F9P multi-band GNSS receiver, able to receive L1/L2/L5, frequencies from GPS, GLONASS, Galileo, and BeiDou [
23]. Data collection was performed in an open sky context, and the velocity was estimated using both the Doppler and TDCP techniques; the data collection was static to ensure zero speed value as the reference.
The test results demonstrate that a smartphone chip provides degraded performance compared with the higher-grade devices; nevertheless, a velocity accuracy of the order of a few mm/s is attainable with TDCP. A RAIM (Receiver Autonomous Integrity Monitoring) algorithm was applied in order to reduce the effect of blunders among the measurements and to obtain reliability information about the solution.
This paper is organized as follows. In
Section 2 and
Section 3, the Doppler and TDCP techniques for velocity estimation are discussed, respectively. In
Section 4, the RAIM concept is briefly outlined. In
Section 5, the experiment and the results are described.
Section 6 is dedicated to the conclusions.
2. Doppler-Based Velocity Estimation
In GNSS receivers, velocity estimation is usually determined by exploiting the Doppler shift in the signals transmitted by satellites. The Doppler shift is caused by the relative motion between the satellite and the user. According to the Doppler principle, the received frequency increases as the satellite approaches the receiver; it is equal to zero when the satellite reaches the minimum distance from the receiver; finally, the frequency decreases as the satellite recedes from the receiver [
1]. The frequency received by the receiver, indicated as
, can be calculated by (1):
where
is the frequency of the signal transmitted by the satellite,
is the dot product between the satellite–user relative velocity vector and the unit vector of the direction from satellite to user,
is the speed of light.
The satellite–receiver relative velocity is the difference between the satellite velocity,
, and user velocity,
:
For a generic i-th satellite, and substituting (2) in (1), it is possible to obtain:
is the signal frequency received by the i-th satellite, and it depends on the ideal received signal frequency and the receiver clock bias drift .
is signal frequency transmitted by the i-th satellite and generated by correcting the
frequency of transmission (L1) of a term
contained in the navigation message [
1].
These two frequencies are expressed by (4):
Substituting the new expression of
in (3):
Expanding the dot product, Equation (5) is obtained:
The first member of (5) contains only calculated elements, while the second member contains the unknowns of the problem, namely .
Setting:
and considering that the ratio between
and
is near to 1, it is possible to neglect it in the last term
of (5), obtaining (6):
For a satellite number
:
where
is the vector containing the error sources contributions, while the remaining elements are:
The measurement Equation (7) can be solved using the Weighted Least Squares (WLS) method:
where W is the weighting matrix,
The measurements are assumed to be uncorrelated; hence, W is a diagonal matrix. The variance of the measurements,
, are placed on the diagonal, as shown below:
All the above equations are adapted from [
1].
For the present study, the diagonal elements of
are determined with a weighting model based on the carrier to noise ratio, C/N
0, and satellite elevation (
), shown in (9) and assessed in [
24]. This model was adopted after several attempts with various weighting strategies, as it provided the best results.
is a constant variance value.
3. Time-Differenced Carrier-Phase Technique
The TDCP algorithm estimates user velocity in a very accurate manner by processing the differences in two consecutive carrier-phase measurements, as long as the i-th satellite signal is received in both the current and the previous epochs [
10].
As can be seen from
Figure 1, which represents how the TDCP algorithm works, user velocity is computed starting with the GNSS measurements: raw pseudorange is used to determine the GNSS position at the current epoch, referred as
; and two consecutive raw carrier-phase measurements at
and
epochs.
Through GPS and GNSS ephemerides, it is possible to determine the satellite’s positions and the parameters of the Klobuchar ionospheric model (this latter information is contained in the GPS navigation message [
1] and explains the “GPS/GNSS EPH”-named box). It is important to note that, because the TDCP algorithm uses two consecutive carrier-phase measurements, two consecutive positions for the same satellite are needed, as also clarified from
Figure 1.
The raw carrier-phase measurements are corrected from the satellite clock bias, and relativistic and atmospheric effects; just before the estimation method, the RAIM (Receiver Autonomous Integrity Monitoring) algorithm is applied to detect and exclude any carrier-phase measurements affected by blunders, especially those caused by cycle slip. RAIM is a method used to determine the integrity of the navigation solution and to protect it from an excessive horizontal position error caused by gross errors, excluding these from the navigation solution computation (Fault Detection and Exclusion (FDE) technique) [
1]. RAIM theory is detailed in [
25]. An application of RAIM in cycle-slip detection was assessed in [
26]. In this study, RAIM is applied to the measurement set in order to exclude those blunders that can affect the accuracy of estimated velocity.
Therefore, once RAIM is applied, corrected and consistent measurements are produced. These, together with the user position at and consecutive epochs in the estimation method (that in this study is the WLS method), allow the user velocity to be calculated.
The carrier-phase measurements are expressed by (10):
where
is the wavelength of the signal transmitted by the satellite,
is the measured carrier phase expressed in cycles,
is the satellite–receiver geometric distance (also defined as “range”),
is the speed of light,
is the satellite clock bias,
is the receiver clock bias,
is the integer ambiguity,
is the ephemeris errors,
and
are, respectively, the ionospheric and tropospheric errors, and
is another error term which includes multipath and receiver noise.
Calculating the difference between two consecutive carrier-phase measurements, referred at epochs
and
, it is possible to write (11):
Analyzing the terms of (11), it is possible to neglect
because the corrections for satellite clock bias are contained in ephemeris data [
1], so
consists of a difference in residual errors and has a very small value. Regarding the atmospheric terms (
and
), these can also be neglected because they are compensated, in a single epoch, using specific algorithms: the Klobuchar model is employed to mitigate the ionospheric delay and the Saastamoinen model is used to mitigate the tropospheric delay. This means that, following the previous logic,
and
are differences in residual errors, so they can be removed. Finally,
is negligible because, assuming the quasi-constancy in time of ephemeris errors, this difference tends to a zero value.
In this way, the compensated TDCP measure equation is:
In (12), the term contains the errors relating to multipath, receiver noise, and residuals from the other error sources.
From
Figure 2, the satellite–receiver relative geometry can be seen, where
is the satellite position vector and
is the user position vector, both referred to in the ECEF frame,
is the geometric distance of satellite–receiver, and
is the receiver position shift.
The satellite–receiver range, varying between
and
, can be formulated as follows:
where
is the Line-Of-Sight (LOS) versor referring to
and
epochs, and “
” indicates the dot product operation.
is the difference between
and
:
The receiver position at the current epoch is:
Substituting (15) in (14), obtains:
It is possible to express
as follows:
In (17), represents change in range, proportional to the average Doppler frequency shift due to the satellite motion, while represents the relative satellite–receiver geometry change due to the orientation shift of the LOS vector.
Substituting (17) in (12):
Carrying
and
terms at the first member of (9), the adjusted TDCP measurement is obtained:
The final expression of the TDCP measurement equation is:
and are unknown quantities which should be calculated.
For a number of available measurements
m, at least equal to the number of unknowns, it is possible to estimate the unknowns by solving a set of equations such as (19), whose expression is:
where
is the vector of the measurements,
is the vector containing the unknown quantities,
is the design matrix,
is a vector containing the measurement errors.
The WLS method can be adopted to solve Equation (20), as shown below:
where W is the weighting matrix.
The velocity can be determined as follows:
All equations are taken from [
9,
11], and the
matrix elements are calculated using the same weighting strategy discussed in the previous section, scaling the constant variance value to one order of magnitude.
4. RAIM
Integrity refers to the capability of a navigation system to provide timely warnings to users when the system should not be used. RAIM is a user-level algorithm for solution integrity, based on a consistency check of redundant measurements [
1].
There are several RAIM algorithms; the algorithm used in this study is the RAIM Subset, whose functional scheme is shown in
Figure 3. The inputs of this algorithm are the residual vector, the design matrix
H, and the weighting matrix
W.
Before RAIM application, a check on satellite geometry and protection levels (PL) is carried out and, if this test fails, the solution is declared impossible to check, as indicated in the yellow box. The satellite geometry check consists in comparing DOP parameters against suitable thresholds: if DOP values exceed the threshold, the observation geometry is considered “bad” [
1], and the solution is declared impossible to check. Similarly, if Horizontal and Vertical Protection Levels (HPL and VPL, respectively), largely detailed in [
27], exceed the limit values named the Horizontal Alert Limit and Vertical Alert Limit (HAL and VAL, respectively), the measurement set is considered impossible to check.
After the Geometry and PL checks, a Global Test (GT) is carried out to verify the self-consistency of the measurement set. In this phase, a decision variable
D is computed by (23):
where
r is the residual vector, obtained by:
where
is the measurement vector and
is the state vector, estimated using the WLS method.
is assumed to follow a
distribution with
degrees of freedom (or redundancy), defined as the difference between the number of measurements
m and the state dimension
n, and it is compared with the threshold
:
where
indicates the abscissa value of a
distribution of
degrees of freedom.
is the probability of a false alarm and, in this experiment, is fixed at 0.1%.
In subset testing, the global test is applied to all possible measurement subsets until a subset is found from which the supposed blunders are excluded. This is done by searching for a subset that most clearly passes the global test, i.e., which satisfies its self-consistency test with the smallest test statistic. The subset with the smallest test statistic below the threshold, and the largest number of measurements, is chosen to provide the best position solution [
28].
5. Test and Results
The main objective of this study was to analyze the velocity estimation performance of a smartphone GNSS; in particular, the TDCP technique was considered. The smartphone Xiaomi Mi8 was used for the test; the device is equipped with a Broadcom BCM47755 chipset, and is able to receive L1/E1 and L5/E5 signal frequencies from the GPS, GLONASS, Galileo, and BeiDou constellations [
29].
For comparison, a geodetic receiver and a high-sensitivity receiver were also considered, specifically a Novatel Geodetic GPS receiver and a u-blox ZED-F9P GNSS receiver. The former device is a double-frequency GPS receiver; the latter is a multi-frequency GNSS receiver. In this work, only GPS measurements were analyzed.
For this experiment, all the devices simultaneously acquired about 22 min of raw GPS data at L1 frequency in static mode in order to compare the estimated velocity with a reference of zero speed value. The data were collected on 24 April 2022 in a rural area in the suburbs of Naples (
Figure 4).
The test scenario was open sky, as can be seen in
Figure 4; satellite visibility was, therefore, good during the entire session, as shown in
Figure 5.
Figure 5 shows an overview of the number of visible GPS satellites for each device; visible satellites were well above the minimum number of four satellites necessary for the estimation of the unknowns. Initially, there were eight visible satellites for each device, and then nine from about 09:42. The smartphone visibility was the least stable, as indicated by the frequent drops; however, the number of visible satellites from the Mi8 was never less than 6.
Figure 6 shows the C/N
0 behavior for each device. It can be seen that this ratio decreases in the devices in the following order: Novatel geodetic receiver (a), u-blox receiver (b), and Mi8 smartphone (c). For the geodetic receiver, the C/N
0 values are mainly between 40 and 50 dB-Hz; for the high-sensitivity device, the values are mainly between 30 and 50 dB-Hz; finally, for the smartphone, the values are between 20 and 45 dB-Hz.
This is a clear indication that the observations collected by the smartphone are noisier than the other devices.
At three moments, around 9:39, 9:49, and 9:58, a drop in C/N
0 values, probably related to unknown interferences, is evident; the main effects are on the u-blox and, most of all, on the Xiaomi, and they correspond to the decrease in the available measurements in
Figure 5.
In order to assess the performance of the smartphone GNSS chip for velocity estimation, Doppler-derived and TDCP-derived velocities were considered.
Collected observables were processed with PANG-NAV, a MATLAB
® tool developed by PANG (PArthenope Navigation Group) able to obtain a PVT (Position, Velocity, Timing) solution and, in the presence of a reference, to perform the error analysis. Further details about PANG-NAV are provided in [
30]. PANG-NAV is able to apply the FDE-RAIM (Fault Detection and Exclusion-RAIM) algorithm.
Table 1 and
Table 2 summarize the experimental results, which were obtained without and with RAIM, respectively. The analyzed configurations are reported in the first and second columns, indicating the device used (Novatel, u-blox, or Xiaomi) and technique (Doppler-based or TDCP-based velocity estimation), respectively. The considered figures of merits are the mean, the root mean square (RMS), and the maximum errors for horizontal (H) and vertical (U) directions. The last columns of
Table 1 and
Table 2 report the solution availability and the solution reliability, respectively. Solution availability indicates percentage of available solutions, i.e., when the number of measurements is sufficient for velocity computation. Solution reliability is the percentage of reliable solutions (on the total of potential epochs) according to RAIM.
Table 1 shows that the theoretical performance of Doppler-based and TDCP-based velocity estimation are confirmed for the geodetic receiver, with an accuracy of cm/s and mm/s order, respectively. A degradation is evident for the high-sensitivity and smartphone receivers, with larger values for each considered figure of merit. In particular, the presence of anomalous measurements is remarkable in the TDCP results for the u-blox, characterized by a maximum error of 4 dm/s (horizontal) and 1.3 m/s (vertical). The application of RAIM is, therefore, necessary for TDCP in order to identify and exclude anomalous measurements, often related to cycle slips, and to obtain a reliable solution. Finally, the solution availability is 100% for the Doppler approach for all the considered devices; the 99.9% value for TDCP case is simply due to the impossibility of differencing consecutive carrier phases at the first epoch.
From
Table 2, it can be observed that TDCP provides better velocity accuracy compared with the Doppler technique for all the devices. On the other hand, the reliability percentage obtained with TDCP is lower compared with the Doppler-based application; this happens mainly because TDCP is prone to the issue of cycle slips, which are considered by RAIM as blunders.
As expected, the Novatel Geodetic Receiver, which was the highest-grade device used, provides the best performance for all the considered figures of merits. TDCP RMS errors are one order of magnitude smaller than those of the Doppler approach; the reliability percentage of the Doppler solution is 100%, while it is 95.6% for TDCP, because a number of anomalous measurements were detected by RAIM, which flagged about 50 epochs as “unreliable”.
The u-blox receiver with the TDCP technique also provided accuracy at the mm/s level. This configuration evidently benefits from RAIM application. Indeed, horizontal and vertical maximum errors decrease from 4.2 dm/s to 2.4 cm/s and from 1.3 m/s to 7.6 cm/s, respectively; the benefits are also clear in terms of RMS and mean errors. The reliable availability of this configuration is 96.4%.
For the Mi8 GNSS chip, the TDCP technique provided better performance compared with the Doppler-based technique, as it did for the other considered devices. The TDCP performance was good, with RMS horizontal and vertical errors equal to 7 and 16 mm/s, respectively, and maximum horizontal and vertical errors less than 6 cm/s and 2 dm/s, respectively. The solution reliability is lower than the other two devices; indeed, it is 89.5%. This confirms that, as previously discussed in
Section 1, the smartphone observables are noisier, and the cycle slip more frequent compared with the other devices.
In order to highlight the benefits of TDCP compared with Doppler for velocity estimation,
Figure 7,
Figure 8 and
Figure 9 show the behavior of horizontal and vertical velocity errors for each device. These figures were obtained by applying RAIM.
It is interesting to note that several spikes are present in
Figure 9 which refers to the Xiaomi device; such sudden increases in error occur in both the Doppler and TDCP cases and are related to the sudden drops in visibility and C/N
0 shown in
Figure 5 and
Figure 6, respectively.
In order to underline the key role of RAIM in velocity estimation with TDCP, the behavior of velocity errors, with and without RAIM, for the considered devices is plotted in
Figure 10,
Figure 11 and
Figure 12. It is interesting to note how the RAIM application is particularly effective for the high-sensitivity receiver; in fact, errors in the order of several dm/s for the horizontal channel, and of about one m/s for the vertical channel, are significantly reduced. However, RAIM is less effective for the Xiaomi Mi8, as is evident in
Figure 12, where several spikes escape the RAIM check; the reason for this is the noisy measurements, which make it difficult for RAIM to work. Nevertheless, the benefits of RAIM to the Xiaomi case are evident, with a reduction in maximum errors of about 1.5 cm/s (horizontal) and 7.5 cm/s (vertical).
6. Conclusions
The objective of this study was to assess the performance of the TDCP technique, compared to the Doppler-based technique, for velocity estimation, with particular reference to smartphone GNSS chips. The motivation for this is related to the noisy observations characterizing such devices, implying degraded performance compared with other receivers, such as geodetic or consumer-grade receivers with dedicated antennas.
A static test was carried out in an open sky environment, using a geodetic-grade receiver with a survey antenna, a high-sensitivity receiver with a patch antenna, and a smartphone GNSS chip (Xiaomi Mi8). A RAIM algorithm was used in the data processing, to avoid the cycle slip issue which affects TDCP technique.
From the test, it is evident that TDCP is a valid approach for a precise velocity estimation for all the used devices, showing better performance than the Doppler-based approach. The geodetic receiver provided the best performance with RMS horizontal and vertical errors of about 2 and 4 mm/s, respectively, and a reliability percentage of 95.6%. The high-sensitivity receiver provided a slightly degraded performance compared with the geodetic receiver, with RMS horizontal and vertical errors of about 3 and 6 mm/s, respectively, and a similar reliable availability.
The Xiaomi Mi8 GNSS chip provided lower performance, with RMS horizontal and vertical errors of about 7 and 16 mm/s, respectively, and with a reliable availability of about 89%. The TDCP performance degradation of the smartphone GNSS chip compared with higher-grade devices confirms the typical observable noisiness of such types of devices, specifically of the carrier phase. Nevertheless, the maximum errors for the smartphone GNSS chip are not greater than 6 cm/s. Such performance allows the usage of TDCP-based velocity in advanced algorithms. RAIM plays an important role, significantly reducing the maximum errors. The reduced reliable availability suggests its usage in integrated systems (with inertial sensors for instance); a multi-GNSS approach could mitigate this problem.