Skip to main content
  • Original Article
  • Open access
  • Published:

Evaluation of the performance of GNSS-based velocity estimation algorithms

Abstract

Global Navigation Satellite System (GNSS) based velocity estimation is one of the most cost-effective and widely used methods in determining velocity in geodesy and transport applications. Highly accurate and reliable velocity measurements can be obtained by exploiting the raw Doppler, carrier phase, and pseudorange measurements with a GNSS receiver. There are several approaches to GNSS-based velocity determination. This paper investigates the characteristics of the approaches which are currently popular and applicable to the observations of Global Positioning System (GPS), BeiDou Navigation Satellite System (BDS), and their combination (GPS/BDS). Specifically, it evaluates the performance of the velocity estimated based on the Raw Doppler method, the Time-Differenced Pseudorange method, the Time-Differenced Carrier Phase method, and the Double-Differenced Carrier Phase method, in both static and dynamic modes and in open and urban scenarios. The experiments show that BDS has the advantages in delivering accurate velocity determinations over GPS in the Asia–Pacific region, and the effectiveness of the GPS/BDS in improving the overall accuracy of velocity determination in complex urban scenarios.

Introduction

The process of urbanization has brought new challenges for transport operations. For example, accurate determination of the velocity of a vehicle is necessary for a wide range of applications in urban environments, such as autonomous vehicles, traffic flow monitoring, etc. Advances in the development of intelligent transportation systems that require vehicle–road coordination have spurred a need for accurate velocity information.

Many sensors can currently be used to determine a vehicle’s velocity, including Inertial Measurement Units (IMU), speedometers, accelerometers, cameras, Global Navigation Satellite System (GNSS) receivers, and their combinations (Alban, 2004). The use of GNSS for velocity determination is a cost-effective means to obtain reliable and accurate velocities without initial alignment or error accumulation (Van-Graas & Soloviev, 2003). Overall, the recent literature on GNSS velocity determination methods has shown, based on the comparison of experimental results, that the differential carrier phase method is the most accurate in a static environment, the doppler method is the most accurate in a dynamic environment, and the differential pseudorange method is the least accurate (Deng & Geng., 2021; He et al., 2002; Sun et al., 2017). More specifically, the optimal linear filter method with white noise orthogonal polynomial is designed to improve the accuracy of the Global Positioning System (GPS) carrier phase differential method to within 0.01 m/s (Du et al., 2012). The method based on Doppler observations, meanwhile, can gives the accuracy in the order of cm/s, but the obtained accuracy is correlated strongly with the dynamic state of the carrier (Wang et al., 2007). Although the differential pseudorange method can measure the velocity of vehicles, the experiments show that the accuracy can only reach a m/s level in a dynamic environment (Wu & Xiao, 2010). The above assessments, however, are made only for a single constellation, not for multi- constellations.

On July 31, 2020, China’s BeiDou-3 Navigation Satellite System (BDS-3) was completed with thirty satellites in orbit. Since then, the BDS-3 has continuously provided high-quality navigation, positioning, and timing services to the users around the world, and especially in the Asia–Pacific region (Lu et al., 2020; Yang et al., 2020). The completion of the BeiDou Navigation Satellite System (BDS) gives an opportunity to compare the performances of the available velocity determination methods using BDS, GPS, and GPS/BDS data collected with a GNSS receiver on a moving vehicle. It should be noted that GPS is the most widely used in the world and BDS is independently developed by China, so we select these two constellations in our study since they are the two most important systems used in China. In this paper we select four velocity determination methods for comparison, i.e., the Raw Doppler (RD) method, the Time-Differenced Pseudorange (TDPR) method, the Time-Differenced Carrier Phase (TDCP) method, and the Double-Differenced Carrier Phase (DDCP) method.

GNSS velocity determination methods

Raw Doppler (RD) method

In the RD method, the doppler shift is calculated as the difference in the carrier phase frequency between the signal transmitted by a satellite and the signal received by a receiver and is thus related to the pseudorange rate. The RD method is quite suitable for velocity determination (Cheng et al., 2021; He et al., 2020), and the measurement model can be written as

$$\lambda D = \dot{\rho } + c\left( {{\text{d}}\dot{t}_{R} - {\text{d}}\dot{t}_{S} } \right) + \dot{I}_{\rho } + \dot{T}_{\rho } + \dot{\varepsilon }_{\rho }$$
(1)

where \(\lambda\) is the wavelength, \(D\) is the Doppler shift, \(\dot{\rho }\) is the pseudorange rate, \(c\) is the speed of light in vacuum, \({\text{d}}\dot{t}_{R}\) and \({\text{d}}\dot{t}_{S}\) are the satellite clock drift and receiver clock drift, respectively, \(\dot{I}_{\rho }\) and \(\dot{T}_{\rho }\) are the rates of change in the ionospheric and tropospheric delays, respectively, and \(\dot{\varepsilon }_{\rho }\) denotes all of the unmodeled error and observational noise. The pseudorange rate \(\dot{\rho }\) can be expressed as

$$\dot{\rho } = \frac{{{\varvec{X}}^{R} - {\varvec{X}}^{S} }}{\rho } \cdot \left( {{\varvec{V}}^{R} - {\varvec{V}}^{S} } \right)$$
(2)

where \({\varvec{X}}^{S}\) and \({\varvec{V}}^{S}\) denote the satellite position vector and velocity vector, respectively. \({\varvec{X}}^{R}\) and \({\varvec{V}}^{R}\) denote the receiver position vector and velocity vector, respectively; and \(\rho\) is the pseudorange between the satellite and the receiver.

The velocity and position of a satellite can be obtained from broadcast ephemeris, and the satellite clock drift is negligible due to the stability of the atomic clocks. The ionospheric delay and tropospheric delay vary slowly within a sufficiently small sampling interval, therefore we can also ignore the changes in a small-time interval (Cheng et al., 2021). Let \({\varvec{u}} = \left( {{\varvec{X}}^{R} - {\varvec{X}}^{S} } \right)/\rho\) and hence we can get the observation equation in vector form as

$$\left[ {\begin{array}{*{20}c} u & 1 \\ \end{array} } \right] \cdot \left[ {\begin{array}{*{20}c} {V^{R} } \\ {{\text{d}}\dot{t}_{R} } \\ \end{array} } \right] = {\varvec{u}} \cdot {\varvec{V}}^{S} + \lambda D + \dot{\varepsilon }_{\rho }$$
(3)

Then we can calculate the vehicle velocity \({\varvec{V}}^{R}\) in the Earth-Centered Earth-Fixed (ECEF) frame if more than four satellites are observed at the same time, as follows:

$$\left[ {\begin{array}{*{20}c} {u_{1} } & 1 \\ {u_{2} } & 1 \\ \vdots & \vdots \\ {u_{i} } & 1 \\ \end{array} } \right] \cdot \left[ {\begin{array}{*{20}c} {V^{R} } \\ {{\text{d}}\dot{t}_{R} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {u_{1} \cdot V_{1}^{S} + \lambda D_{1} } \\ {u_{2} \cdot V_{2}^{S} + \lambda D_{2} } \\ \vdots \\ {u_{i} \cdot V_{i}^{S} + \lambda D_{i} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {\dot{\varepsilon }_{\rho \left( 1 \right)} } \\ {\dot{\varepsilon }_{\rho \left( 2 \right)} } \\ \vdots \\ {\dot{\varepsilon }_{\rho \left( i \right)} } \\ \end{array} } \right]$$
(4)

Let \({\varvec{B}} = \left[ {\begin{array}{*{20}c} {u_{1} } & 1 \\ {u_{2} } & 1 \\ \vdots & \vdots \\ {u_{i} } & 1 \\ \end{array} } \right]\), \({\varvec{C}} = \left[ {\begin{array}{*{20}c} {u_{1} \cdot V_{1}^{S} + \lambda D_{1} } \\ {u_{2} \cdot V_{2}^{S} + \lambda D_{2} } \\ \vdots \\ {u_{i} \cdot V_{i}^{S} + \lambda D_{i} } \\ \end{array} } \right]\), and \(i\) is the number of satellites, then we can obtain the least squares solution as (Koch, 1999):

$$\left[ {\begin{array}{*{20}c} {V^{R} } \\ {{\text{d}}\dot{t}_{R} } \\ \end{array} } \right] = \left( {{\varvec{B}}^{{\text{T}}} {\varvec{B}}} \right)^{ - 1} {\varvec{B}}^{{\text{T}}} {\varvec{C}}$$
(5)

where \({\varvec{V}}^{R} = \left[ {V_{x}^{R} \, V_{y}^{R} \, V_{z}^{R} } \right]^{{\text{T}}}\). \(V_{x}^{R}\), \(V_{y}^{R}\), and \(V_{z}^{R}\) are vehicle velocity components calculated by the RD method.

Additionally, the use of multi-constellation observations will introduce multiple receiver clock drifts, so we can obtain the vehicle velocity if more than \(3 + n_{{{\text{Const}}}}\) satellites are observed, where \(n_{{{\text{Const}}}}\) denotes the number of constellations.

Time-Differenced Pseudorange (TDPR) method

The pseudorange measurement model can be written as:

$$\rho = r + c\left( {{\text{d}}t_{R} - {\text{d}}t_{S} } \right) + I_{\rho } + T_{\rho } + \varepsilon_{\rho }$$
(6)

where \(\rho\) is the measured pseudorange, \(r\) denotes the geometric range between a receiver and a satellite, \(c\) is the speed of light in vacuum, \({\text{d}}t_{R}\) and \({\text{d}}t_{S}\) are the receiver clock error and satellite clock error, respectively, \(I_{\rho }\) and \(T_{\rho }\) are the ionospheric and tropospheric delays, respectively, and \(\varepsilon_{\rho }\) denotes all of the unmodeled error and observational noise (Soon et al., 2008).

The satellite clock error \({\text{d}}t_{S}\), ionospheric delay \(I_{\rho }\), tropospheric delay \(T_{\rho }\), and other error \(\varepsilon_{\rho }\) are negligible since most of these errors vary slowly within a small sampling interval. Thus, we can obtain the time-differenced pseudorange as:

$${\Delta }\rho = \rho_{{t\left( {k + 1} \right)}} - \rho_{t\left( k \right)} = {\Delta }r + c{\Delta\text{d}}t_{R} + {\Delta }\varepsilon_{\rho }$$
(7)

where \({\Delta }\rho\) and \({\Delta }r\) denote the changes in the pseudorange and geometric range between the receiver and the satellite, and \({\Delta\text{d}}t_{R}\) denotes the receiver clock drift. According to the relationship between the positions of the satellite and the receiver, the change in the position of the receiver between two epochs can be expressed as (Sun et al., 2020):

$${\Delta }r = {\varvec{u}}_{{t\left( {k + 1} \right)}} \cdot \left( {{\varvec{X}}_{{t\left( {k + 1} \right)}}^{S} - {\varvec{X}}_{{t\left( {k + 1} \right)}}^{R} } \right) - {\varvec{u}}_{t\left( k \right)} \cdot \left( {{\varvec{X}}_{t\left( k \right)}^{S} - {\varvec{X}}_{t\left( k \right)}^{R} } \right)$$
(8)

where \({\varvec{u}}_{{t\left( {k + 1} \right)}}\) and \({\varvec{u}}_{t\left( k \right)}\) are the unit vector from the satellite to the receiver at epochs \(t\left( {k + 1} \right)\) and \(t\left( k \right)\), respectively. \({\varvec{X}}_{{t\left( {k + 1} \right)}}^{S}\) and \({\varvec{X}}_{t\left( k \right)}^{S}\) are the satellite position vectors at the two epochs, respectively. Similarly, \({\varvec{X}}_{{t\left( {k + 1} \right)}}^{R}\) and \({\varvec{X}}_{t\left( k \right)}^{R}\) are the receiver position vector at the two epochs, respectively. Considering the velocity of the satellite is much larger than that of the receiver, we can deem that \({\varvec{u}}_{{t\left( {k + 1} \right)}}\) is approximately equal to \({\varvec{u}}_{t\left( k \right)}\). Hence, we can obtain:

$$ \begin{aligned}{\Delta }r = &\,{\varvec{u}}_{{t\left( {k + 1} \right)}} \cdot \left( {{\varvec{X}}_{{t\left( {k + 1} \right)}}^{S} - {\varvec{X}}_{{t\left( {k + 1} \right)}}^{R} } \right) - {\varvec{u}}_{{t\left( {k + 1} \right)}} \\&\cdot \left( {{\varvec{X}}_{t\left( k \right)}^{S} - {\varvec{X}}_{t\left( k \right)}^{R} } \right) = {\varvec{u}}_{{t\left( {k + 1} \right)}} \cdot \left( {{\Delta }{\varvec{r}}^{S} - {\Delta }{\varvec{r}}^{R} } \right)\end{aligned} $$
(9)

where \({\Delta }{\varvec{r}}^{S}\) and \({\Delta }{\varvec{r}}^{R}\) are the geometric position changes of the satellite and the receiver between two epochs, respectively. According to (7) and (9), we can obtain:

$${\Delta }\rho = {\varvec{u}}_{{t\left( {k + 1} \right)}} \cdot \left( {{\Delta }{\varvec{r}}^{S} - {\Delta }{\varvec{r}}^{R} } \right) + c{\Delta\text{d}}t_{R} + {\Delta }\varepsilon_{\rho }$$
(10)

And the above equation can be rewritten in a vector form as:

$$\left[ {\begin{array}{*{20}c} {u_{{t\left( {k + 1} \right)}} } & { - 1} \\ \end{array} } \right] \cdot \left[ {\begin{array}{*{20}c} {{\Delta }r^{R} } \\ {c{\Delta\text{d}}t_{R} } \\ \end{array} } \right] = {\varvec{u}}_{{t\left( {k + 1} \right)}} \cdot {\Delta }{\varvec{r}}^{S} - {\Delta }\rho + {\Delta }\varepsilon_{\rho }$$
(11)

When using the observations of a single constellation, we can calculate the vehicle delta position \({\Delta }{\varvec{r}}^{R}\) in the ECEF frame if more than four satellites are observed, as follows:

$$ \begin{aligned}&\left[ {\begin{array}{cc} {\begin{array}{*{20}c} {u_{1}^{{t\left( {k + 1} \right)}} } \\ {u_{2}^{{t\left( {k + 1} \right)}} } \\ \end{array} } & {\begin{array}{*{20}c} { - 1} \\ { - 1} \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {u_{i}^{{t\left( {k + 1} \right)}} } \\ \end{array} } & {\begin{array}{*{20}c} \vdots \\ { - 1} \\ \end{array} } \\ \end{array} } \right] \cdot \left[ {\begin{array}{*{20}c} {{\Delta }r^{R} } \\ {c{\Delta\text{d}}t_{R} } \\ \end{array} } \right] \\&= \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {u_{1}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{1}^{S} - {\Delta }\rho_{1} } \\ {u_{2}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{2}^{S} - {\Delta }\rho_{2} } \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {u_{i}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{i}^{S} - {\Delta }\rho_{i} } \\ \end{array} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\Delta }\varepsilon_{\rho \left( 1 \right)} } \\ {{\Delta }\varepsilon_{\rho \left( 2 \right)} } \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {{\Delta }\varepsilon_{\rho \left( i \right)} } \\ \end{array} } \\ \end{array} } \right]\end{aligned} $$
(12)

When multi-constellation observations are used, the number of constellations \(n_{{{\text{Const}}}}\) is included in the elements of the receiver clock error \({\text{d}}t_{R}\). Then, the minimum number of observed satellites is \(3 + n_{{{\text{Const}}}}\).

Let \({\varvec{B}} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {u_{1}^{{t\left( {k + 1} \right)}} } \\ {u_{2}^{{t\left( {k + 1} \right)}} } \\ \end{array} } & {\begin{array}{*{20}c} { - 1} \\ { - 1} \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {u_{i}^{{t\left( {k + 1} \right)}} } \\ \end{array} } & {\begin{array}{*{20}c} \vdots \\ { - 1} \\ \end{array} } \\ \end{array} } \right]\), \({\varvec{C}} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {u_{1}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{1}^{S} - {\Delta }\rho_{1} } \\ {u_{2}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{2}^{S} - {\Delta }\rho_{2} } \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {u_{i}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{i}^{S} - {\Delta }\rho_{i} } \\ \end{array} } \\ \end{array} } \right]\), we can obtain the delta position of a vehicle between two epochs in the ECEF frame based on the least squares method:

$$\left[ {\begin{array}{*{20}c} {{\Delta }r^{R} } \\ {c{\Delta\text{d}}t_{R} } \\ \end{array} } \right] = \left( {{\varvec{B}}^{{\text{T}}} {\varvec{B}}} \right)^{ - 1} {\varvec{B}}^{{\text{T}}} {\mathbf{C}}$$
(13)

According to the delta position between epochs \(t\left( {k + 1} \right)\) and\(t\left( {k} \right)\), we can obtain the mean velocity between epochs \(t\left( {k + 1} \right)\) and \(t\left( k \right)\) calculated by \({\varvec{V}}^{R} = {\Delta }{\varvec{r}}^{R} /{\Delta }t\), and then treat \({\varvec{V}}^{R}\) as instantaneous velocity at epoch \(t\left( {k + 1} \right)\).

Time-Differenced Carrier Phase (TDCP) method

The carrier phase measurement model can be written as:

$$\Phi = \frac{1}{\lambda }\left( {r - I_{\Phi } + T_{\Phi } } \right) + \frac{c}{\lambda }\left( {{\text{d}}t_{R} - {\text{d}}t_{S} } \right) + N + \varepsilon_{\Phi }$$
(14)

where \(\Phi\) is the measured carrier phase in cycles, \(r\) denotes the geometric range between a receiver and a satellite, \(c\) is the speed of light in vacuum, \(\lambda\) is the wavelength of the carrier, \(I_{\Phi }\) and \(T_{\Phi }\) are the ionospheric delay and tropospheric delay, respectively, \({\text{d}}t_{R}\) and \({\text{d}}t_{S}\) are the satellite clock error and receiver clock error, respectively, \(N\) is the integer ambiguity, and \(\varepsilon_{\Phi }\) denotes all of the unmodeled error and observational noise. Since most of these errors vary slowly within a small sampling interval, we can ignore their changes. In addition, the integer ambiguity \(N\) remains unchanged if the carrier tracking loop maintains lock. Hence by differencing the observational equations at two epochs we have:

$${\Delta }\Phi = \Phi_{{t\left( {k + 1} \right)}} - \Phi_{t\left( k \right)} = \frac{1}{\lambda }{\Delta }r + \frac{c}{\lambda }{\Delta\text{d}}t_{R} + {\Delta }\varepsilon_{\Phi }$$
(15)

According to (9) and (15), we can obtain:

$${\Delta }\Phi = \frac{1}{\lambda }{\varvec{u}}_{{t\left( {k + 1} \right)}} \cdot \left( {{\Delta }{\varvec{r}}^{S} - {\Delta }{\varvec{r}}^{R} } \right) + \frac{c}{\lambda }{\Delta\text{d}}t_{R} + {\Delta }\varepsilon_{\Phi }$$
(16)

The above expression can be written in a vector form as:

$$\left[ {\begin{array}{*{20}c} {u_{{t\left( {k + 1} \right)}} } & { - 1} \\ \end{array} } \right] \cdot \left[ {\begin{array}{*{20}c} {{\Delta }r^{R} } \\ {c{\Delta\text{d}}t_{R} } \\ \end{array} } \right] = {\varvec{u}}_{{t\left( {k + 1} \right)}} \cdot {\Delta }{\varvec{r}}^{S} - \lambda {\Delta }\Phi + \lambda {\Delta }\varepsilon_{\Phi }$$
(17)

Similar to the TDPR method, we can calculate the vehicle delta position \({\Delta }{\varvec{r}}^{R}\) in the ECEF frame if more than \(3 + n_{{{\text{Const}}}}\) satellites are observed, and all the carrier tracking loops maintain lock, where \(n_{{{\text{Const}}}}\) is the number of constellations, as follows:

$$ \begin{aligned}&\left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {u_{1}^{{t\left( {k + 1} \right)}} } \\ {u_{2}^{{t\left( {k + 1} \right)}} } \\ \end{array} } & {\begin{array}{*{20}c} { - 1} \\ { - 1} \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {u_{i}^{{t\left( {k + 1} \right)}} } \\ \end{array} } & {\begin{array}{*{20}c} \vdots \\ { - 1} \\ \end{array} } \\ \end{array} } \right] \cdot \left[ {\begin{array}{*{20}c} {{\Delta }r^{R} } \\ {c{\Delta\text{d}}t_{R} } \\ \end{array} } \right]\\& = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {u_{1}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{1}^{S} - \lambda {\Delta }\Phi_{1} } \\ {u_{2}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{2}^{S} - \lambda {\Delta }\Phi_{2} } \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {u_{i}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{i}^{S} - \lambda {\Delta }\Phi_{i} } \\ \end{array} } \\ \end{array} } \right] + \lambda \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\Delta }\varepsilon_{\Phi \left( 1 \right)} } \\ {{\Delta }\varepsilon_{\Phi \left( 2 \right)} } \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {{\Delta }\varepsilon_{\Phi \left( i \right)} } \\ \end{array} } \\ \end{array} } \right]\end{aligned} $$
(18)

Let \({\varvec{B}} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {u_{1}^{{t\left( {k + 1} \right)}} } \\ {u_{2}^{{t\left( {k + 1} \right)}} } \\ \end{array} } & {\begin{array}{*{20}c} { - 1} \\ { - 1} \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {u_{i}^{{t\left( {k + 1} \right)}} } \\ \end{array} } & {\begin{array}{*{20}c} \vdots \\ { - 1} \\ \end{array} } \\ \end{array} } \right]\), \({\varvec{C}} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {u_{1}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{1}^{S} - \lambda {\Delta }\Phi_{1} } \\ {u_{2}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{2}^{S} - \lambda {\Delta }\Phi_{2} } \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {u_{i}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{i}^{S} - \lambda {\Delta }\Phi_{i} } \\ \end{array} } \\ \end{array} } \right]\), we can obtain:

$$\left[ {\begin{array}{*{20}c} {{\Delta }r^{R} } \\ {c{\Delta\text{d}}t_{R} } \\ \end{array} } \right] = \left( {{\varvec{B}}^{{\text{T}}} {\varvec{B}}} \right)^{ - 1} {\varvec{B}}^{{\text{T}}} {\varvec{C}}$$
(19)

According to the delta position \({\Delta }{\varvec{r}}^{R}\), we can get the approximate vehicle velocity at epoch \(t\left( {k + 1} \right)\) calculated by \({\varvec{V}}^{R} = {\Delta }{\varvec{r}}^{R} /{\Delta }t\) (Farrell, 2001; Wendel et al., 2006).

Double-Differenced Carrier Phase (DDCP) method

The DDCP method represents the difference in the carrier phase between epochs and between satellites successively. According to (16), after determining the difference between satellite \(P\) and satellite \(Q\) to eliminate the inconsistency of the receiver clock errors between epochs, we can obtain:

$$\lambda \nabla {\Delta }\Phi_{PQ} = \left( {{\varvec{u}}_{Q}^{{t\left( {k + 1} \right)}} - {\varvec{u}}_{P}^{{t\left( {k + 1} \right)}} } \right) \cdot {\Delta }{\varvec{r}}^{R} + {\varvec{u}}_{P}^{{t\left( {k + 1} \right)}} \cdot {\Delta }{\varvec{r}}^{P} - {\varvec{u}}_{Q}^{{t\left( {k + 1} \right)}} \cdot {\Delta }{\varvec{r}}^{Q} + \lambda \nabla {\Delta }\varepsilon_{\Phi }$$
(20)

where \(\nabla {\Delta }\Phi_{PQ} = {\Delta }\Phi_{P} - {\Delta }\Phi_{Q}\) with \({\Delta }\Phi_{P}\) and \({\Delta }\Phi_{Q}\) being the delta carrier phases of satellite \(P\) and satellite \(Q\) between two adjacent epochs, respectively.

The above expression can be written in a vector form as:

$$\left[ {\begin{array}{*{20}c} {\left( {u_{Q}^{{t\left( {k + 1} \right)}} - u_{P}^{{t\left( {k + 1} \right)}} } \right)} & { - 1} \\ \end{array} } \right] \cdot {\Delta }{\varvec{r}}^{R} = {\varvec{u}}_{Q}^{{t\left( {k + 1} \right)}} \cdot {\Delta }{\varvec{r}}^{Q} - {\varvec{u}}_{P}^{{t\left( {k + 1} \right)}} \cdot {\Delta }{\varvec{r}}^{P} + \lambda \nabla {\Delta }\Phi_{PQ} + \lambda \nabla {\Delta }\varepsilon_{\Phi }$$
(21)

where \({\Delta }{\varvec{r}}^{P}\) and \({\Delta }{\varvec{r}}^{Q}\) denote the delta satellite position between epoch \(t\left( {k + 1} \right)\) and \(t\left( k \right)\), \({\varvec{u}}_{P}^{{t\left( {k + 1} \right)}}\) and \({\varvec{u}}_{Q}^{{t\left( {k + 1} \right)}}\) are the unit vectors from satellites \(P\) and \(Q\) to the receiver at epoch \(t\left( {k + 1} \right)\), respectively.

To determine the vehicle delta position \({\Delta }{\varvec{r}}^{R}\), we can calculate \({\Delta }{\varvec{r}}^{R}\) in the ECEF frame if more than \(3 + n_{{{\text{Const}}}}\) satellites are observed and all the carrier tracking loops maintain lock, where \(n_{{{\text{Const}}}}\) is the number of constellations, as follows:

$$ \begin{aligned}&\left[ {\begin{array}{*{20}c} {\left( {u_{Q\left( 1 \right)}^{{t\left( {k + 1} \right)}} - u_{P\left( 1 \right)}^{{t\left( {k + 1} \right)}} } \right)} & { - 1} \\ {\left( {u_{Q\left( 2 \right)}^{{t\left( {k + 1} \right)}} - u_{P\left( 2 \right)}^{{t\left( {k + 1} \right)}} } \right)} & { - 1} \\ \vdots & \vdots \\ {\left( {u_{Q\left( i \right)}^{{t\left( {k + 1} \right)}} - u_{P\left( i \right)}^{{t\left( {k + 1} \right)}} } \right)} & { - 1} \\ \end{array} } \right] \cdot \Delta {\varvec{r}}^{R} \\ &= \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {u_{Q\left( 1 \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{1}^{Q} - u_{P\left( 1 \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{1}^{P} + \lambda \nabla {\Delta }\Phi_{1}^{PQ} } \\ {u_{Q\left( 2 \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{2}^{Q} - u_{P\left( 2 \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{2}^{P} + \lambda \nabla {\Delta }\Phi_{2}^{PQ} } \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {u_{Q\left( i \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{i}^{Q} - u_{P\left( i \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{i}^{P} + \lambda \nabla {\Delta }\Phi_{i}^{PQ} } \\ \end{array} } \\ \end{array} } \right]\\&\quad + \lambda \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\nabla {\Delta }\varepsilon_{\Phi \left( 1 \right)} } \\ {\nabla {\Delta }\varepsilon_{\Phi \left( 2 \right)} } \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {\nabla {\Delta }\varepsilon_{\Phi \left( i \right)} } \\ \end{array} } \\ \end{array} } \right]\end{aligned} $$
(22)

Let \({\varvec{B}} = \left[ {\begin{array}{*{20}c} {\left( {u_{Q\left( 1 \right)}^{{t\left( {k + 1} \right)}} - u_{P\left( 1 \right)}^{{t\left( {k + 1} \right)}} } \right)} & { - 1} \\ {\left( {u_{Q\left( 2 \right)}^{{t\left( {k + 1} \right)}} - u_{P\left( 2 \right)}^{{t\left( {k + 1} \right)}} } \right)} & { - 1} \\ \vdots & \vdots \\ {\left( {u_{Q\left( i \right)}^{{t\left( {k + 1} \right)}} - u_{P\left( i \right)}^{{t\left( {k + 1} \right)}} } \right)} & { - 1} \\ \end{array} } \right]\), \({\varvec{C}} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {u_{Q\left( 1 \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{1}^{Q} - u_{P\left( 1 \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{1}^{P} + \lambda \nabla {\Delta }\Phi_{1}^{PQ} } \\ {u_{Q\left( 2 \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{2}^{Q} - u_{P\left( 2 \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{2}^{P} + \lambda \nabla {\Delta }\Phi_{2}^{PQ} } \\ \end{array} } \\ {\begin{array}{*{20}c} \vdots \\ {u_{Q\left( i \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{i}^{Q} - u_{P\left( i \right)}^{{t\left( {k + 1} \right)}} \cdot {\Delta }r_{i}^{P} + \lambda \nabla {\Delta }\Phi_{i}^{PQ} } \\ \end{array} } \\ \end{array} } \right]\), we have:

$${\Delta }{\varvec{r}}^{R} = \left( {{\varvec{B}}^{{\text{T}}} {\varvec{B}}} \right)^{ - 1} {\varvec{B}}^{{\text{T}}} {\varvec{C}}$$
(23)

The vehicle velocity at epoch \(t\left( {k + 1} \right)\) can then be calculated by \({\varvec{V}}^{R} = {\Delta }{\varvec{r}}^{R} /{\Delta }t\). The DDCP method introduces the parameter of double-difference carrier phase ambiguity (Jin et al., 2020), which can be used to evaluate the reliability of the calculated velocity by checking if it is fixed.

Experiments and analysis

Static test

To compare and analyze the performance of various velocity determination methods with different constellations, the GNSS data at a base station on November 8, 2021 were chosen for static testing. The base station in Nanjing University of Aeronautics and Astronautics collected several hours of data. The selected data include BDS and GPS observations with a sampling rate of 10 Hz. We determined its velocity with the RD-, TDCP-, TDPR- and DDCP-based methods and reported the Root Mean Square Error (RMSE) and the MAXimum error (MAX) in Table 1. It is assumed that the observation errors are normally distributed, and different constellations and satellites have an equal weight. The results are subject to the quality control based on the three-sigma rule to eliminate gross errors. The errors in three dimensions are shown in Figs. 1, 2, and 3. The velocity vectors were transformed from ECEF frame to ENU frame, and hence the results are all in the ENU frame. The \(V_{E}\), \(V_{N}\) and \(V_{U}\) in figures represent the velocity in these three directions respectively.

Table 1 Comparisons of velocity accuracies in a static test
Fig. 1
figure 1

Velocity determination results in east component with the RD- (a), TDPR- (b), TDCP- (c) and DDCP- (d) based methods in a static test

Fig. 2
figure 2

Velocity determination results in north component with the RD- (a), TDPR- (b), TDCP- (c) and DDCP- (d) based methods in a static test

Fig. 3
figure 3

Velocity determination results in up component with the RD- (a), TDPR- (b), TDCP- (c) and DDCP- (d) based methods in a static test

The results show that in an open environment all the methods can determine the velocity with an accuracy at centimeter level. Apart from the TDPR method, three other methods achieve similar accuracies. Among them, the TDCP method performs better than the RD and DDCP since the accuracy of the carrier phase data is intrinsically higher than the doppler shift data, and the double-difference methods like DDCP will amplify the noise, leading to lower accuracy. The maximum errors of the RD, TDCP, and DDCP methods are also satisfy this rule. Taking the results with BDS data as an example, the RMSEs with the TDCP are 0.015 and 0.010 m/s for the east and north components, respectively, and 0.029 m/s for the up component, the corresponding values with the RD method are 0.016, 0.011, and 0.031 m/s, and with the DDCP method are 0.015, 0.016, and 0.039 m/s, which are all slightly larger than the TDCP method. This demonstrates that the carrier phase velocity determination methods are more stable and accurate in an open environment and stationary conditions. In addition, it can be seen from Table 1 that the TDPR method has the lowest accuracy among the four methods because pseudorange observations are less accurate. It can also be found from Figs. 1, 2 and 3 that when the coordinate scales of the four subgraphs are the same, the error curves of the TDPR method fluctuate more than the other three methods, which can confirm the above conclusions.

For different constellations, we can see that the BDS generally provides more accurate results compared with GPS in all three dimensions. Taking the TDCP method as an example, the corresponding RMSEs are 0.015, 0.010, and 0.029 m/s for BDS, and 0.025, 0.020, and 0.047 m/s for GPS.

The accuracy for GPS/BDS is close to the that for BDS. It can also be seen from the figures that the distribution range of the GPS/BDS curve is the smallest, and close to the range of the BDS curve. This is because in an open environment and stationary conditions, the accuracy of the observations has the greatest effect on the accuracy of the velocity determination rather than the number of visible satellites. Therefore, due to the strong influence of higher-precision BDS data and the weak influence of visible satellite number, the accuracy of GPS/BDS is slightly higher than that of BDS-only.

Dynamic tests

To assess the performance of the velocity determination methods in a dynamic environment, we conducted an onboard dynamic experiment in the Nanjing urban area. The GNSS data for two dynamic tests were collected using a BDStar C520-AT receiver at a sampling frequency of 10 Hz, see Figs. 4 and 5. The first test was conducted on a wide main road in a lightly urbanized area, and the second test was on a street in a moderate urban canyon area. The reference velocity was determined by post-processing using commercial software for onboard high-precision IMU and RTK GNSS integration (i.e., Honeywell N580).

Fig. 4
figure 4

Trajectory of dynamic test 1

Fig. 5
figure 5

Trajectory of dynamic test 2

In the dynamic tests, the equal weight was used for the fusion of different constellations. The results for the RD-, TDPR-, TDCP- and DDCP-based velocity determination methods for test 1 are shown in Table 2, and the results are subject to the quality control using the three-sigma rule to eliminate gross errors. Since the velocity determination results with BDS, GPS, and GPS/BDS have approximately the same magnitude ratio for the 3D components, Figs. 6 and 7 show only the east component results (in epoch 4230–4390 GNSS signal interruption). These show that the RD, TDCP, and DDCP methods deliver more accurate velocities than the TDPR method. Taking the BDS results with the RD method as an example, the RMSEs are 0.051 m/s and 0.077 m/s for the east and north components, respectively, and 0.147 m/s for the up component. Both the TDCP and DDCP methods, meanwhile, have the similar results as those with the RD method, less than 0.1 m/s in the east and north and 0.2 m/s in the up components. Thus, they outperform the TDPR method, whose corresponding values are 0.173 m/s, 0.341 m/s, and 0.857 m/s, respectively. According to the comparison results, one can conclude that the velocity determined with the TDPR method is only accurate to around a meter per second, which is much worse than the other methods by an order of magnitude. This is because the pseudorange measurements are less accurate than the carrier phase measurements, and the TDCP and DDCP methods are more reliable in urban environments since they are less affected by the occlusion and reflection of satellite signals.

Table 2 A comparison of the obtained velocity accuracies in dynamic test 1
Fig. 6
figure 6

Velocity determination results and zoomed-in windows in east component with the RD- (a), TDPR- (b), TDCP- (c) and DDCP- (d) based methods in test 1

Fig. 7
figure 7

Velocity determination accuracy and zoomed-in windows in east component with the RD- (a), TDPR- (b), TDCP- (c) and DDCP- (d) based methods in test 1

In addition, Table 2 shows that even with data quality control there still exist significant outliers in the results with the TDPR method. They are caused by large pseudorange measurement errors because of the multipath effects when a satellite signal is blocked or reflected by the surrounding buildings. Although meter-level errors are common in pseudorange single-point positioning, they lead to the substantial errors in velocity determination; and the higher the receiver frequency is, the more obvious the spike-like error will be. In dynamic test 1, we can see that the maximum errors of the RD, TDCP, and DDCP methods vary within less than 1 m/s, while the maximum errors of the TDPR method, taking the 3D components from the BDS data as an example, are 1.280 m/s, 2.789 m/s, and 7.125 m/s, in the east, north and up components, respectively.

The detailed figures are zoomed in from the results between epochs 4620 and 4660. The state of motion during this period was that the vehicle was continuously decelerating and accelerating. Obviously, the velocity determination result with the RD method is more in line with the real velocity value curve, while the other methods all have some degree of deviation and fluctuation. This is because the mathematical model of the RD method is more rigorous due to its direct velocity determination with the doppler shift at the current moment (Wang & Xu, 2011) than the other three methods, which have different models using the average velocity between two epochs instead of the instantaneous velocity of the current epoch. The advantage of the RD method will become obvious when the vehicle motion state changes greatly (i.e., accelerating and turning).

Comparing the velocity determination results with different constellations we can see that the RD, TDPR, and TDCP methods all determine the velocity at a similar level of accuracy regardless of the data sources, i.e., from BDS, GPS or GPS/BDS. Specifically, with the RD and TDCP methods, BDS and GPS can give similar results, while with the TDPR method, BDS can provide higher accuracy than GPS. And GPS/BDS, on the other hand, result in higher accuracy than a single constellation along due to the data used from more satellites. With the DDCP method, however, the velocities determined from GPS data are less accurate than those derived from BDS and GPS/BDS. This is because the DDCP method requires one more satellite compared with the other methods, and there are less visible GPS satellites in the Asia–Pacific region while BDS satellites are densely distributed in the region. The number of visible satellites is shown in Fig. 8. Although GPS has achieved global coverage of satellites, the number of visible satellites cannot be larger than the BDS that focuses on the services in the Asia–Pacific region. In general, the number of visible satellites for GPS is in the range of 6–9, while the corresponding value for BDS is greater than 11 (Ke et al., 2021). Thus, when the DDCP utilizes either BDS or GPS/BDS there are enough satellites to find the optimal solution.

Fig. 8
figure 8

Number of visible satellites in test 1

The results with the RD-, TDPR-, TDCP- and DDCP-based velocity determination methods for test 2 are shown in Table 3. For a more intuitive comparison the east component results are illustrated in Figs. 9 and 10. The results in Table 3 tell that the RD, TDCP, and DDCP methods have an accuracy between 0.1 and 0.2 m/s, whereas the accuracy with the TDPR method is in the range of decimeters to meters per second. The lower accuracy with the TDPR method is because the multipath effect has a great influence for that method. Test 2 was conducted in a moderate urban canyon area with surrounding tall buildings, which lead to the blockage and reflection of the satellite signals, causing large multipath errors. This severely reduce the accuracy of the velocity determination with the TDPR.

Table 3 A comparison of the obtained velocity accuracies in dynamic test 2
Fig. 9
figure 9

Velocity determination results and zoomed-in windows in east component for the RD- (a), TDPR- (b), TDCP- (c) and DDCP- (d) based methods in test 2

Fig. 10
figure 10

Velocity determination accuracy and zoomed-in windows in east component for the RD- (a), TDPR- (b), TDCP- (c) and DDCP- (d) based methods in test 2

The different satellite constellations are also associated with the different degrees of velocity estimation accuracy with various methods. Taking the RD method as an example, the BDS can provides the horizontal RMSEs of 0.081 m/s and 0.085 m/s for the east and north components, respectively, thus outperforms the GPS, whose corresponding values are 0.104 m/s and 0.142 m/s, respectively. It is evident that the BDS has better performance in a complicated environment due to its better signal accuracy and distribution geometry. A comparative analysis of the maximum errors for different constellations shows that the use of BDS and GPS leads to the same conclusions. Again, taking the RD as an example, the maximum errors with BDS are 0.442 m/s and 0.476 m/s compared to 0.462 m/s and 0.728 m/s, respectively, with GPS. This shows that the BDS signal resists interference more effectively, providing more stable observations in urban environments. The comparative analysis of the results indicates BDS is of advantage in delivering more accurate velocity than GPS in the Asia–Pacific region. In general, however, velocity determination results are susceptible to the interference from abnormal signals, resulting in large errors and deviations when less satellites are visible. This means that the maximum errors of these carrier phase-based methods can be significantly reduced by combining GPS and BDS constellations due to more visible satellites.

The comparative analysis also shows that the use of BDS leads to more accurate results in the horizontal directions, but slightly less accurate results in the vertical direction, compared with GPS. This suggests that different constellations may be suitable for different types of users. For example, the vehicles on a road are affected by the physical properties of the road, and the accuracy requirement in the vertical direction is not critical, then BDS would be the appropriate choice. In contrast, UAVs require higher accuracy in the vertical direction when operating in the urban canyons, thus GPS is the better choice. Figures 9 and 10, meanwhile, show that the velocity results with GPS/BDS are more stable and reliable than that with each individual constellation. The zoom-in representation in Fig. 9 shows clearly how the curve of the GPS/BDS-based results is more in line with the reference curve, and with fewer spike-like errors.

Continuous availability is also an indicator to evaluate the performance of the methods. As shown in Table 4, the DDCP method with GPS data is only available 77.14% of the time, which means that this combination can lead to ineffective velocity determination results for nearly a quarter of the time. In contrast, as shown in Fig. 11, the greater number of BDS satellites in the Asia–Pacific region is sufficient to meet the satellite availability requirements of the DDCP method even if the satellite signals are heavily occluded in urban environments, meaning that with BDS the continuous availability rises to 96.60%. With dual constellations (GPS/BDS) the number of visible satellites is greatly increased, and the availability and accuracy are further improved with all the methods.

Table 4 The continuous availability in the dynamic test 2
Fig. 11
figure 11

Number of visible satellites in test 2

Conclusions

This study compared the performance of various velocity determination methods (i.e., RD, TDPR, TDCP and DDCP) using BDS, GPS, and GPS/BDS observations in both static and dynamic environments. The results show that:

  1. 1.

    In a static environment, while the RD, TDPR, TDCP, and DDCP methods all achieve the accuracy at a cm/s level, the TDCP is more accurate than the others. With the TDPR method, however, the accuracy is lower than the others, and the error is about two times of that with the other methods.

  2. 2.

    In a dynamic environment, meanwhile, the RD, TDCP, and DDCP methods can achieve the accuracy at a several cm/s to dm/s level, which contrasts with an accuracy of several dm/s to m/s for the TDPR method. This is because the multipath effect has a greater influence on the TDPR method than on the other methods.

  3. 3.

    When vehicle movement is in highly dynamic state, the RD method is the best for velocity determination because of its more rigorous mathematical model. Thus, the RD method can be applied in the scenarios where the vehicle motion state is changing greatly.

  4. 4.

    In most cases, the velocity determination accuracy with BDS is higher than that with GPS, which indicates BDS is of advantage over GPS in velocity determinations in the Asia–Pacific region.

GPS has less visible satellites than BDS in the Asia–Pacific region and the DDCP requires more visible satellites than the other methods, so the accuracy of the velocity determination using the DDCP with GPS data is lower than with BDS. The GPS/BDS have more visible satellites, thus improve the accuracy with all the velocity determination methods. The above conclusions can be used for the selection of velocity determination methods. The RD method is suitable for highly dynamic environments due to its more rigorous mathematical model, meaning that, the RD method performs better when the vehicle is in dynamic state. The TDPR method has lower accuracy but is suitable for the most situations where the accuracy requirement is not high, such as the assisted velocity monitoring for non-autonomous driving due to its simple principle and no need for additional cycle slip detection. The TDCP and DDCP method can achieve high accuracy, but the error is significantly increased due to the easy occurrence of signal loss of lock in urban canyons. Therefore, they are suitable for providing high-precision velocity determination services in a relatively open environment or integrated with other sensors before and after signal loss. Based on this research one can select an optimal method for different scenarios to meet the required accuracy and availability.

This study focuses on the GNSS velocity determination methods due to their merits of low cost and stability. In future, we will expand our study to the velocity determination algorithms with sensor fusion by combining with EKF or factor graph and taking full advantages of different sensors such as visual, LiDAR or odometry.

Availability of data and materials

The GNSS data was collected by real tests. In addition, if required, the datasets used and/or analysed during the study are available from the corresponding author on reasonable request.

References

  • Alban, S. (2004). Design and performance of a robust GPS/INS attitude system for automobile applications. Ph.D. Thesis, Stanford University, Stanford, CA, USA.

  • Cheng, Q., Sun, R., & Wang, J. (2021). The Influence of Multipath Effect on GPS Doppler Velocity Determination. Journal of Beijing University of Aeronautics and Astronautics, 47(09), 1807–1813. (in Chinese).

    Google Scholar 

  • Deng, G., & Geng, T. (2021). Accuracy analysis of Beidou-3 vehicle-mounted velocity determination based on Doppler, carrier phase and pseudorange difference methods. Journal of Geomatics. https://doi.org/10.14188/j.2095-6045.2021213. (in Chinese).

    Article  Google Scholar 

  • Du, J., Sun, Z., Yao, F., & Liu, X. (2012). Methods and accuracy analysis of GPS velocity determination. GMSS World of China, 37(06), 13–16. (in Chinese).

    Google Scholar 

  • Farrell, J. L. (2001). Carrier phase processing without integers. In: Proceedings of the 57th Annual Meeting of The Institute of Navigation, Albuquerque, NM, USA (pp. 423–428).

  • He, H., Yang, Y., & Sun, Z. (2002). Comparison and analysis of GPS velocity determination methods. Acta Geodaetica Et Cartographica Sinica, 03, 217–221. (in Chinese).

    Google Scholar 

  • He, K., Xu, T., Christoph, F., Wang, Z., Zhao, Q., & Wei, Y. (2020). A method to correct the raw doppler observations for GNSS velocity determination. In International Association of Geodesy Symposia. Berlin, Heidelberg: Springer. https://doi.org/10.1007/1345_2020_119.

  • Jin, S., Yang, Z., Gu, H., & Xu, Y. (2020). GNSS velocity determination method based on epochs and satellites double difference model. Journal of Henan Polytechnic University (natural SCIENCE), 39(01), 53–59. (in Chinese).

    Google Scholar 

  • Ke, Y., Lv, Z., Xu, H., Zhou, W., & Zhou, S. (2021). Comparative analysis of BDS-3 and GPS navigation satellite constellation performance. Paper presented at the 12th China Satellite Navigation Conference, Nanchang, Jiangxi, China, May 26–28. (in Chinese)

  • Koch, K. R. (1999). Parameter estimation and hypothesis testing in linear models. Berlin, Heidelberg: Springer.

    Book  Google Scholar 

  • Lu, J., Guo, X., & Su, C. (2020). Global capabilities of BeiDou Navigation Satellite System. Satellite Navigation. https://doi.org/10.1186/s43020-020-00025-9

    Article  Google Scholar 

  • Soon, B. K., Scheding, S., Lee, H. K., & Durrant-Whyte, H. (2008). An approach to aid INS using time-diferenced GPS carrier phase (TDCP) measurements. GPS Solution, 12(4), 261–271.

    Article  Google Scholar 

  • Sun, W., Duan, S., Ding, W., & Kong, Y. (2017). Comparison and analysis of GPS single point velocity determination methods. Journal of Navigation and Positioning, 5(01), 81-85+99. (in Chinese).

    Google Scholar 

  • Sun, R., Cheng, Q., & Wang, J. (2020). Precise vehicle dynamic heading and pitch angle estimation using time-differenced measurements from a single GNSS antenna. GPS Solutions, 24(3), 1–9.

    Article  Google Scholar 

  • Van-Graas, F., & Soloviev A. (2003). Precise velocity estimation using a stand-alone GPS receiver. In Proceedings of the ION NTM 2003, Anaheim, CA, USA (pp. 262–271).

  • Wang, Q., & Xu, T. (2011). Combining GPS carrier phase and Doppler observations for precise velocity determination. Science China Physics, Mechanics and Astronomy, 54, 1022–1028.

    Article  Google Scholar 

  • Wang, F., Zhang, X., & Huang, J. (2007). Error Analysis and Precision Evaluation of GPS Single Point Velocity Determination. Geomatics and Information Science of Wuhan University, 06, 49–53. (in Chinese).

    Google Scholar 

  • Wendel, J., Meister, O., Moenikes, R., & Trommer, G. F. (2006). Time-diferenced carrier phase measurements for tightly coupled GPS/INS integration. In Proceedings of the IEEE/ION PLANS 2006, San Diego, CA, USA (pp. 54–60).

  • Wu, F., & Xiao, Y. (2010). GPS velocity determination using pseudorange difference method. Geomatics and Information Science of Wuhan University, 35(9), 1034–1038. (in Chinese).

    Google Scholar 

  • Yang, Y., Mao, Y., & Sun, B. (2020). Basic performance and future developments of BeiDou global navigation satellite system. Satellite Navigation. https://doi.org/10.1186/s43020-019-0006-0

    Article  Google Scholar 

Download references

Acknowledgements

Not applicable.

Funding

The authors are grateful for the sponsorship of the National Natural Science Foundation of China (Grant No. 42174025, 41974033) and the Natural Science Foundation of Jiangsu, China (Grant No. BK20211569).

Author information

Authors and Affiliations

Authors

Contributions

Conceptualization, LJ and QC; Methodology, LJ and RS; Data curation, JW; Software, QC and JW; Formal analysis, LJ; Supervision, RS and QC; Writing—original draft, LJ; Writing—review & editing, RS. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Rui Sun.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ji, L., Sun, R., Cheng, Q. et al. Evaluation of the performance of GNSS-based velocity estimation algorithms. Satell Navig 3, 18 (2022). https://doi.org/10.1186/s43020-022-00080-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s43020-022-00080-4

Keywords