**Q: How does a GNSS receiver estimate velocity?**

**A: **Stand-alone single-frequency GNSS receivers represent the largest slice of the commercial positioning market. Such receivers operate mainly in single point position (SPP) mode and estimate velocity either by differencing two consecutive positions (i.e., approximating the derivative of user position) or by using Doppler measurements related to user-satellite motion.

**Q: How does a GNSS receiver estimate velocity?**

**A: **Stand-alone single-frequency GNSS receivers represent the largest slice of the commercial positioning market. Such receivers operate mainly in single point position (SPP) mode and estimate velocity either by differencing two consecutive positions (i.e., approximating the derivative of user position) or by using Doppler measurements related to user-satellite motion.

The former approach is the most simple to implement, but it has a meter per second–level of accuracy due to the dependence on pseudorange-based position accuracy. In contrast, Doppler frequency shifts of the received signal produced by user-satellite relative motion enables velocity accuracy of a few centimeters per second.

In several applications, such as high-dynamic mobile navigation, the accuracy of the foregoing methods is insufficient. Improved performance could be achieved by processing differences of consecutive carrier phase measurements (TDCP – time-differenced carrier phase), a strategy that enables velocity accuracies one order of magnitude better than the “raw” Doppler measurements output from the receiver’s tracking loops.

The carrier phase ambiguity issue usually limits the use of carrier phase observables, but the TDCP technique overcomes this problem because, in the absence of cycle slips, the ambiguity is constant and is removed by differencing two consecutive carrier phase measurements.

In this article, we review classical velocity estimation techniques implemented for single-frequency receivers, with details on achievable accuracies. We will also discuss TDCP methods along with their associated benefits.

**Obtaining Velocity**

Equations **(1)** and **(2)** *(For all equations, see inset photo, above, right)*, and receiver positions at two epochs (**Figure 1**). *(see image at the top of this article)*

If the positions are obtained by single point positioning with meter-level accuracy and the time interval is one second, a velocity of accuracy on the order of a few meters per second is possible.

In applications that need a precise estimation of velocity in real time, different methods have to be considered.

Doppler shift, affecting the frequency of the signal received from a GNSS satellite, is related to the user-satellite relative motion and is useful to study receiver motion. If ƒ* _{Ti }*and ƒ

*are, respectively, the frequencies of the transmitted and received signal of i-th satellite, the Doppler shift is*

_{Ri }
Equation **(3)**

Ignoring the effect of satellite clock errors that can be easily compensated, the receiver-generated frequency is biased due to the drift rate, *ṫ _{u}*, of the receiver clock relative to the GNSS system time. This drift rate causes the perceived received frequency to be:

Equation** (4)**

Scaling the Doppler shift in equation (3) by the carrier wavelength and substituting equation (4), we obtain the pseudorange rate observation

Equation** (5)**

Note that this equation depends on the observer position. In fact, this dependence was the basis of the U.S. Navy’s Transit positioning system. However, this positioning approach is negatively influenced by observation geometry compared with the ranging case and, as a result, is not used much in modern GNSS systems except, perhaps, to derive an a priori estimate of position. In the velocity domain, an accurate solution can be obtained using the pseudorange rate equation.

Expanding the dot product in equation (5) and considering that satellite velocities can be computed from the GNSS ephemerides, we can write

Equation **(6)**

Using measurements from at least four simultaneous Doppler measurements, least-squares (LS) or Kalman filter (KF) estimation techniques can be employed to obtain an estimate of the four unknowns.

The design matrix of the Doppler-based velocity model is the same as for the pseudorange case. For this reason the constellation geometry influences the velocity accuracy according to the DOP (dilution of precision).

Of particular importance are the measurement errors, which can be broken down into two parts: systematic errors due to orbital errors, atmosphere, and so forth, and measurement noise. Just as the Doppler is the time derivative of the carrier phase, the systematic Doppler errors are the time derivative of the corresponding carrier phase errors. Fortunately, these systematic errors change slowly in time, typically at the level of millimeters per second. A good paper on this subject by M. Olynik *et alia* is listed in the Additional Resources section at the end of this article.

The measurement noise arises from the jitter in the receiver’s tracking loops. For most commercial receivers, the jitter is on the order of a few centimeters per second and thus dominates the systematic errors. With this in mind, the velocity accuracy that can be expected when using “raw” Doppler measurements (versus the carrier phase-derived values that we will discuss later) is on the order of a few centimeters per second.

**Velocity Estimation Using Time-Differenced Carrier-Phase **

In the literature, two categories of TDCP methods for velocity estimation have been proposed: instantaneous velocity and precise position change (so-called “delta position”). Both are based on carrier phase measurements, that is, the (accumulated) phase generated by the difference of the incoming (from the satellite) and the local carriers and is able to provide receiver-satellite distance estimation by multiplying with the carrier wavelength *λ*,

Equation** (7)**

where *λ* is the wavelength, *Φ* is the measured carrier phase in cycles, *d* is the geometric range receiver-satellite, *c* is the speed of light, *δt _{s}* is the satellite clock bias,

*δt*is the user clock bias,

_{u}*N*is the integer ambiguity;

*δd*,

_{eph}*δd*, and

_{iono}*δd*are the errors due to ephemeris, ionosphere, and troposphere errors, respectively; and the term

_{trop}*η*includes multipath and receiver noise.

In the first category of TCDP algorithm (instantaneous velocity) the carrier phase measurement is used to estimate the Doppler shift by the equation:

Equation** (8)**

where *t _{j}* is the epoch of velocity estimation,

*Δt*is measurement data rate, and

*Φ*is the measured carrier phase for the i-th satellite.

_{i}
Once *D _{i}* is computed, the pseudorange rate is evaluated so that the measurement model used is the same as described earlier. The benefit of this approach is that the reduced noise of the carrier phase measurements yields less noisy Doppler measurements than using the “raw” Doppler directly. In turn, this generates more accurate velocity estimates. Prerequisites for this method are:

- a priori estimation of receiver positions in at least two consecutive epochs. These positions, obtained by a SPP method, have to be characterized by a 10 meters accuracy in order to not degrade the velocity solution.
- accurate satellites velocity computation.

This approach only theoretically provides the receiver instantaneous velocity because the averaged carrier phase rate across two or more sampling intervals yields an average Doppler shift. To deal with this, higher data rates can be used (i.e., reducing Δ*t*), or using more sophisticated Doppler computation algorithms than in equation (8) (e.g., third- or higher-order central differences).

The second category of TDCP algorithm (precise position change) is based on the time-difference of successive carrier phases to the same satellite at small data rates (≤1 hertz) to obtain delta position information. Assuming that no cycle slips occur between two consecutive measurements, the time difference between carrier phases eliminates the integer ambiguities as well as most of the common errors, such as satellite clock bias, ephemeris error, tropospheric error, and ionospheric error which vary slowly with time.

The difference between carrier phase measurements at two successive epochs *t _{j}* and

*t*

_{j}_{-1}, called time single difference (SD), is:

Equation** (9)**

where *Δ* represents the differencing operation. For example, *Δd* = *d*(*t _{j}*) –

*d*(

*t*

_{j}_{-1}) is the change of geometric range between two epochs, and the other terms in (9) are defined accordingly.

The terms *c**Δδt _{s}*,

*Δδd*,

_{iono}*Δδd*,

_{trop}*Δδd*are negligible if, before the SD computation, single carrier phase measurement are compensated by applying an atmospheric correction algorithm and satellite clock corrections.

_{eph}
The *Δd* term of (9) depends on the delta position* _{ }*(

**Figure 2**).

*(see image at the top of this article)*

Equations **(10) **and **(11)**

Both TDCP methods’ achievable accuracies are mainly related to the noise reduction obtained in the process of computing the combination of carrier phase measurements used. Specifically, the carrier phase measurement noise is very small, typically one millimeter or less. Thus, when computing the Doppler using equation (8), or computing the position difference using (11), the measurement is also on the order of millimeters. Assuming a one-second data rate, this yields Doppler/velocity measurement noise on the order of a few millimeters per second, which is much better than for the “raw” Doppler case.

**Summary**

Classical velocity determination algorithms based on position difference or Doppler shift measurement are simple to implement but have limitations in terms of the final solution accuracy. Differencing carrier phase measurements at consecutive epochs allows for velocity estimates to obtained with an accuracy of a few millimeters per second.

The downside is that for the TDCP method, the application of a cycle slip detection and repair (or discard) algorithm is critical. As an example, assuming the use of the GPS L1 frequency (whose wavelength is about 19 centimeters), an undetected jump of three cycles, and a one-hertz data rate; an error of about 60 centimeters/second will affect the differenced carrier phase and will be propagated into the estimated velocity.

**Additional Resources ****
[1]** Freda P., and A. Angrisano, S.Gaglione, and S. Troisi, ”Time-Differenced Carrier Phases Technique for Precise GNSS Velocity Estimation,”

*GPS Solutions*, Doi: 10.1007/s10291-014-0425-1, 2014

**Hoffmann-Wellenhof, B., and H. Lichtenegger, and J. Collins,**

[2]

[2]

*Global Positioning System: Theory and Practice*, Springer, Berlin Heidelberg New York, 1992

**Olynik, M., and M. G. Petovello, M. E. Cannon, and G. Lachapelle, “Temporal Impact of Selected GPS Errors on Point Positioning,”**

[3]

[3]

*GPS Solutions*, 6(1-2): 47-57, 2002

**Serrano L., and D. Kim D, R. B. Langley, K. Itani, and M. Ueno, “A GPS Velocity Sensor: How Accurate Can It Be? — A First Look,” Proceedings of the ION National Technical Meeting 2004, pp. 875-885, Institute of Navigation, San Diego, California, January 26–28, 2004**

[4]

[4]

**Szarmes, M., and S. Ryan, G. Lachapelle, and P. Fenton, “DGPS High Accuracy Aircraft Velocity Determination Using Doppler Measurements,”**

[5]

[5]

*Proceedings of International Symposium on Kinematic Systems in Geodesy, Geomatics and Navigation – KIS97*, pp. 167-174, Department of Geomatics Engineering, The University of Calgary, Banff, June 3–6, 1997

**Van Graas, F., and A. Soloviev A., “Precise Velocity Estimation Using a Stand-Alone GPS Receiver,” Proceedings of the ION NTM 2003, Institute of Navigation, Anaheim, California, January 22–24, 2003, pp. 283-292**

[6]

[6]