Abstract
This paper presents an uncertainty quantification analysis of the first fix in a time-differenced carrier phase (TDCP) observation model. TDCP is a widely used method in GNSS-based odometry for precise positioning and displacement estimation. A key point in the TDCP modeling is the assumption that the GNSS receiver’s initial position is perfectly known, which is never exactly the case in real-world applications. This study assesses the impact of initial position errors on estimated displacement by formulating a correct TDCP model and a misspecified one, where the first position is not correct. Theoretical derivations provide a generic framework of estimation under the misspecified model and its associated mean squared error (MSE), as well as estimation performance bounds through the misspecified Cramer Rao bound (MCRB) for the considered case. These theoretical considerations are then used to build an estimator of the receiver’s displacement, with comparisons to the MCRB for performance evaluation. Extensive simulations using realistic GNSS geometry assess the influence of a first-fix error under various conditions, including different time intervals, first-fix error norms, and first-fix error direction. As an example, it is shown that for the considered geometry, if a TDCP of s is built with an initial first fix error norm , then it introduces an estimation of the displacement, with an error of norm equal to , at most. The results indicate that the displacement estimation error is linearly related to the initial position error and the time interval between observations, highlighting the importance of accurate first-fix estimation for reliable TDCP-based odometry. The findings contribute to highlighting the order of magnitude of errors on solutions as a function of the error on parameters.
1. Introduction
Odometry is a fundamental technique used in robotics, autonomous vehicles, and geospatial applications for estimating the change in position of a moving system. It relies on sensors or data from systems like wheel encoders, inertial measurement units, vision sensors, lasers, or global navigation satellite systems (GNSS) to measure the motion of a vehicle or object. GNSS-based odometry has become an essential tool for achieving precise and reliable positioning and displacement estimation over long distances.
In GNSS-based odometry, the system estimates its positions and/or displacements by processing satellite observations. One of the most precise observations is the carrier phase observation. The carrier phase refers to the phase of the carrier wave used by satellites to transmit signals. This carrier phase observation is particularly valuable because it provides much higher accuracy (on the order of millimeters) compared to standard pseudorange measurements (with meter-level accuracy), making it ideal for precise positioning and odometry. However, this observation is ambiguous, the ambiguity being the integer number of wavelengths traveled by the signal. One way to get rid of this ambiguity, if constant over time, is to use the subtraction of two consecutive carrier phase observations and form what is known as the time-differenced carrier phase (TDCP) observation. This method is widely used in GNSS-based odometry to estimate the change in position over time. In TDCP, it is assumed that the integer ambiguities present in both carrier phase observations cancel out when the subtraction is built, allowing for highly accurate displacement estimation.
Uncertainty quantification refers to the process of quantifying the uncertainties in a quantity of interest by propagating the uncertainties in the input of a system. Uncertainty in GNSS measurements arises from various factors, such as observation noise or an approximate assumed position that is used when building observation models. Reviews about sources of error and their impact within GNSS systems are available in [1].
This paper proposes to focus on the TDCP model: when constructing the TDCP equations as a function of the receiver displacement, the receiver’s position must be known at one of the two epochs. This knowledge on position is never perfect and can affect the estimated displacement. To account for this, uncertainty quantification is used to assess the impact of this inaccuracy on the displacement estimate. By quantifying the uncertainty in the receiver’s position, one can evaluate how this error propagates through the TDCP equations and influences the displacement estimation. This helps in understanding the potential error margins and ensuring that the odometry results remain reliable, even when position uncertainties are present, thus improving the reliability of GNSS-based odometry in real-world applications.
2. Related Work
2.1. TDCP Models
Using a GNSS receiver, a system could estimate its speed vector at a given instant by means of Doppler observations. Once integrated, these speeds provide an estimation of the system’s displacement. It is known that the Doppler observations, when integrated, are noisier than carrier phase observations, though not sensitive to cycle slip [2]. For this reason, it is interesting to estimate a receiver displacement between two instants by means of TDCP.
In [3], the authors assume a perfectly known receiver position at the first epoch and use this information to run a Kalman filter with TDCP and substracted TDCP observations between satellites, along with a cycle slip detector. The source of the first position is not specified in the experiments. Also, the receiver-to-satellite unit vectors at the two epochs are known. To assess potential cycle slips, the cycle slip detector first generates a set of valid solutions (from a previous estimate, integrated IMU measurements and IMU specifications), and checks if the TDCP solution is within that set.
In [3,4], the authors build substracted TDCPs, i.e., the subtraction of TDCPs between two different satellites, in order to remove the receiver clock bias difference. The subtraction is done with the satellite with the highest elevation, as the receiver most likely receives a direct signal from this one. Still, to estimate the receiver displacement with these subtracted TDCPs, the authors assume known receiver-to-satellite vectors and receiver position at the first epoch of substracted TDCPs.
Some authors go further in the approximations of the TDCP model. In [5,6], the receiver-to-satellite unit vectors are assumed constant at the two TDCP epochs, leading to a unique receiver-to-satellite vector. It should be noted that this approximation requires the knowledge of the receiver position. Then, the receiver and satellite displacement vectors are projected onto this vector thanks to a scalar product. This makes the TDCP a linear model of the receiver displacement.
The same approximation is made in [2,7], where the author explains that the TDCP model is linearized around the estimated position at the previous epoch. Also, the authors build the single difference of carrier phase observations between satellites and between epochs.
In [8], a similar TDCP model is built, with a time between the two epochs ranging from to . Regarding the geometric part, the model includes two terms, the first one being a change of range between the satellite and the receiver, which requires the receiver position, and a second term where the estimated receiver displacement vector is projected onto the unit line-of-sight vector at the second epoch, which also requires the receiver position to be known. Also, a single line-of-sight vector is considered, even if the time of interval is . This TDCP model is used to build a TDCP factor inside a factor graph optimization problem. At the first epoch, a first position is set from a prior factor, and for other epochs, the first position is set from previous nodes. It should be noted that cycle slip factors are used to handle cycle slips.
In [9], the geometric part of the TDCP model is split into three terms, the first one due to the satellite motion along the line-of-sight, a second term that contains the receiver position at the first epoch, and the last term is a linear term of the receiver displacement and of the line-of-sight vector at the second epoch. All these terms require the knowledge of the receiver coordinates at the two epochs.
In [10], the authors leave the TDCP model as a function of the two receiver positions. The TDCPs are used in a factor graph optimization problem, where relative displacement factors from preintegrated inertial measurements are used. In the experimental part of their work, their proposed method outperforms two filtering methods that also use TDCP observations. This is likely due to a prior factor that sets the receiver position at the first epoch, although no details are given regarding this assumption.
Overall, within the GNSS community, many approximations of the TDCP model are provided, which all assume the known receiver coordinates in order to estimate a displacement.
2.2. Uncertainty Quantification
Uncertainty quantification can be defined as the process of assessing (and if possible, reducing) the impact of an uncertainty within a system on its output. It is a very general topic that applies to any engineering problem. In the case of a deterministic system, the uncertainty can either come from a lack of knowledge or from a probabilistic modeling of it. Indeed, when the system is probabilistic, the uncertainty directly comes from it. Regarding the quantification, multiple methods exist, depending on where the uncertainty comes from.
In [11], the authors deliver a Python library for uncertainty quantification, for very general cases, ranging from physics to applied mathematics, and with many algorithms.
Within the GNSS community, uncertainty quantification has already been applied. For example, in [12], the authors consider multiple sources of uncertainty, which propagates in GNSS reflectometry observations to estimate sea level. The quantification is made using the RMSE metric. In [13], the authors estimate a GNSS receiver position using noisy observations. The uncertainty is modeled by an Ornstein–Uhlenbeck random process, a Brownian random process, with learned parameters. The observations are run in a Kalman filter, and they find out that all these methods outperform, in terms of uncertainty, the direct approach which consists of running the Kalman Filter in a traditional way. In [14], from confidence volumes of Gaussian distributions, the authors provide analytical extensions of these volumes into zonotopes that take into account uncertainties of an observation model containing potential biases and/or random errors.
2.3. Overview of Proposed Method
In the estimation community, work on estimators built with misspecified models exist [15,16,17]. On the other hand, in the GNSS community, to the best of the author’s knowledge, the impact of a misspecified first position in a TDCP model has never been studied. Therefore, a correct TDCP model, as well as a misspecified one, is going to be built. The misspecified one will be different from the correct one by the fact that the true receiver position at the first epoch is never known perfectly. The receiver displacement will be estimated, and the receiver position at the second epoch will be deduced from the receiver position at the first epoch and the estimated displacement. No approximations will be made in these models. They will contain the subtraction of ranges, but these ranges will not be projected onto a line-of-sight vector, as has been done by previously mentioned authors. These two models will be compared experimentally, with multiple values around the true receiver position at the first epoch, in order to assess the importance of the receiver position at the first epoch in a TDCP model to properly estimate a receiver displacement.
3. Carrier Phase Observation Model and TDCP
3.1. Carrier Phase Observation Model
A GNSS receiver at epoch t of coordinates with a clock bias with respect to GPS time is tracking a satellite of coordinates with a clock bias with respect to GPS time .
The carrier phase observation is modeled as follows:
where the subscript t is used to indicate that the parameters are expressed at epoch t, is the carrier phase raw measurement, is the wavelength of the considered frequency band, c is the speed of light, is the ionospheric delay, is the tropospheric delay, is the multipath error, is the integer ambiguity, is a centered Gaussian noise with standard deviation , and the norm of a vector is defined as .
In this model, the satellite coordinates and clock bias are known from the ephemeride information. In a precise point positioning (PPP) framework, the unknown quantities that are estimated are the receiver coordinates , the clock bias , the integer ambiguity , and possible other atmospheric states.
3.2. TDCP Observation Model and Corrections
Considering two carrier phase observations as in Equation (1) at epochs and from the same satellite, the TDCP model is built:
Correcting all the atmospheric terms [18,19] and satellite clock biases, assuming the difference between the two multipath terms is an additive centered Gaussian noise, and assuming no cycle slip (), the model (2) becomes:
where corresponds to the corrected carrier phase observation, is the contribution of the two independent errors , as well as all other mutually independent Gaussian centered residual errors after correction. Therefore, is a centered Gaussian noise with standard deviation . The assumption of constant ambiguity requires the use of a properly working cycle slip detector [20].
Written this way, the model in Equation (3) is a function of the receiver coordinates and and receiver clock biases and . While the use of multiple observations from other satellites (at least 4 for each epoch) with this model would still permit one to estimate all of these quantities, depending on the time elapsed between epochs and , the obtained result would be highly sensitive to noise, and the mean error of an optimal unbiased estimator would be very large. This is due to the fact that between two epochs, the receiver-to-satellite unit vectors would not change much, hence a linear approximation that is badly conditioned. This point discourages a user from estimating all these quantities directly using TDCP observations unless considering a very large time interval between the two considered epochs.
Regarding the ephemerides, in [9], the authors compared the use of final products (i.e., high-precision satellite coordinates in post-processing conditions) versus real-time navigation data and figured out that the use of final products would not improve the solution with respect to the use of navigation data, as between the two epochs, if the same set of ephemerides is used, the satellites positions errors are approximately constant. On the other hand, they figured out that when the set of ephemeride parameters is updated, a gap appears in the satellite positions, which adds an important error in a TDCP model if this update happens between the two epochs. To cancel this phenomenon, it is therefore important to use the same set of ephemerides in a TDCP model.
3.3. TDCP Model with True Receiver Position and Receiver Displacement
The model in Equation (3) can be expressed in terms of receiver displacement and clock bias difference. The receiver displacement vector between epochs and is defined as , and the receiver clock bias difference between epochs and is defined as . With these notations, the model in Equation (3) is written as:
where
The index indicates that this function is not a function of the receiver coordinates but of its displacement, with the position at epoch set to , and not of a receiver clock bias, but of its clock bias difference. Given a set of visible satellites, this observation model and TDCP observations can be built for each satellite. The set of models and observations can then be used to estimate the receiver displacement vector and clock bias difference by solving the maximum likelihood problem. In practice, the receiver position is not perfectly known. Therefore, in the next subsection, an error term will be introduced, leading to a different model.
3.4. TDCP Model with Assumed Receiver Position and Receiver Displacement
The previous model in Equation (5) assumed perfect knowledge of the true receiver coordinates . In practice, these coordinates can be inaccurate. A first fix denotes an estimated initial position of the true initial position . Therefore, the error between the true coordinates and the assumed ones are defined as . From these notations, the true model is the one in Equation (5) while the assumed one is:
One can notice that .
In order to quantify the difference between the two models as a function of , one defines the difference between the assumed model Equation (6) and the true model Equation (5), expressed as a function of the error , for the true receiver displacement and the true receiver clock bias difference:
It can be noted that this application cancels all the clock biases terms, and only the difference in the geometric ranges remains:
Therefore, the first fix may have an impact on the estimated receiver displacement and clock bias difference.
In general, the use of a misspecified model to estimate parameters has an impact on the estimation. The objective of the following sections is to experimentally assess the estimation error due to a fix error .
3.5. Estimation of a Receiver Displacement and Clock Bias Difference from TDCP Observations
Now that a misspecified TDCP model has been written in Equation (6), one can estimate a receiver displacement and clock bias difference from a set of m visible satellites at the two epochs and and from the set of TDCP observations at these epochs. A receiver’s displacement estimator is going to be defined and is denoted . The second epoch receiver’s position estimator is denoted . A 2D representation of the TDCP model, for a single satellite, is visible in Figure 1.
Figure 1.
Representation of the TDCP model in 2D. The blue disks represent the satellite positions at the two epochs, the green crosses represent the true receiver positions, the red ones represent the assumed receiver positions.
To assess the degradation of the displacement estimation due to a misspecified first fix, one can explicitly write this estimator, compute its statistical properties, and assess the impact of on it. In the next section, theoretical elements are provided to achieve these objectives.
4. Estimation: Computation of Mean Squared Error and Its Lower Bound
This section uses a more general framework than the one used so far in this article and provides the theoretical elements to build an estimator of a vector of parameters living in a Euclidean space from a multivariate Gaussian random variable. In the considered framework, the mean value of the Gaussian random variable is misspecified. This uncertainty is going to impact the estimator’s performances, and one proposes to quantify this impact. Additionally, this section provides a theory to compute the statistical properties of this estimator. Finally, the link with the original problem (the estimation of a GNSS receiver’s displacement and clock bias difference, from a set of TDCP observations) is made.
4.1. Estimator of a Real Vector
Given an unknown vector and a function differentiable at , one obtains a vector of observations:
where denotes the multivariate Gaussian distribution with mean vector and covariance matrix . In this study, the function g is unknown, i.e., the construction of an estimator of will be based on a function .
Since , but g is unknown, one defines the misspecified likelihood function:
where . The mismatched maximum likelihood estimator (MMLE) is defined as:
as long as the above equation is a measurable function of . is Gaussian if and only if h is a linear or affine function. In general, computing its distribution or statistical properties is not straightforward. Instead, an approximation of is defined: assuming that the function h is differentiable on a set , then one can choose a vector , and the function can be written:
where represents the Jacobian matrix of h at . This way, the function h is replaced by its first order development at in the misspecified likelihood Equation (10), leading to:
The vector can be obtained by running the Gauss–Newton algorithm with a sample of and an arbitrary initial estimate. Under certain conditions on the function h and on the step size [21], the Gauss–Newton algorithm is guaranteed to converge to a local minima and give an estimate (denoted ). The proposed approach assumes that the function h is not too nonlinear (in particular, that from the definition of an operator norm, ).
If represents an injective application, one defines the matrix:
The solution of the optimization problem Equation (13) is given by:
In this case, is approximated by a Gaussian random vector.
4.2. Properties of the Estimator
Now that an estimator Equation (15) is available, some of its statistical properties are provided. One determines that:
- Since , the estimators’s mean vector is ;
- The estimator’s bias is ;
- Since , the estimator’s covariance matrix is .
Defining the mean squared error operator , it can be shown that:
4.3. Lower Bound of the Mean Squared Error of a Biased Estimator
Formally, an estimator is a measurable function that takes as input a random variable (often called observations), and with an output space that contains the vector of parameters to estimate. In the estimation theory, it is known that among all estimators, with the same input random variable and the same output space, there exists a lower bound for the mean squared error [22]. Therefore, it is interesting to construct it and compare it with the mean squared error of the considered estimator.
The misspecified Cramer–Rao Bound (MCRB) is defined as [23]:
where represents the identity matrix of size n.
The term represents the Jacobian matrix of the estimator’s bias, denoted , at the vector , when it is seen as a function of the true vector of parameters . The previous section has shown that, in general, the considered estimator is biased. Therefore, one defines this bias function as:
The Jacobian matrix of at is given by:
where indicates the Jacobian matrix of g at .
The term denotes the Fisher Information matrix [23]. Since , the likelihood function is given by:
Under some regularity conditions [22], the Fisher Information matrix is defined as:
where corresponds to the Hessian matrix of a function f at . In the considered case, one can show that:
Finally, assuming that represents an injective application, then the Fisher Information matrix invert is well defined.
Finally, a theorem states that [23]:
where the inequality symbol ≥ represents the Loewner partial order.
4.4. Application to the Problem
Now that a theoretical framework has been written, it can be used to estimate a GNSS receiver displacement and clock bias difference from a misspecified TDCP observation model and quantify the impact of this misspecified model on the estimated displacement. The link between the different quantities introduced in the previous sections is summarized in Table 1. In the next section, the receiver displacement and clock bias difference will be estimated from a set of TDCP observations of m satellites.
5. Experiments
In this experiment, the set of all visible GPS satellites in Toulouse, France, on the first of January 2024, 12:00 UTC are considered. A skyplot is provided in Figure 2. A synthetic GNSS receiver is constructed, with known coordinates . Its displacement vector is a sample of a random zero-mean Gaussian random variable with a covariance matrix proportional to the time interval between successive epochs, i.e., is a sample of the random variable , as this stochastic model captures small random movements of the receiver between epochs while maintaining a realistic representation of a pedestrian receiver over short timescales [24,25]. The receiver clock bias difference is a sample of the law .
Figure 2.
Skyplot of GPS satellites in Toulouse, France, on the first of January 2024, 12:00 UTC.
The satellite positions are derived from precise orbit data provided in the Standard Product 3 (SP3) format. These SP3 files offer highly accurate satellite ephemerides, providing the real positions of GPS satellites. This ensures that the data reflect actual satellite orbits, further enhancing the realism of the simulation.
5.1. Experimental Uncertainty Quantification of TDCP Model
The first experiment characterizes the TDCP model Equation (7), for a single satellite. A satellite is chosen (G17). For each value of , a value for Equation (7) is obtained, indicating the discrepancy between the two TDCP models.
In Figure 3 and Figure 4, the set of values taken by is set to the unit sphere in order to study the importance of its direction. The time between the two epochs is set to , which is a common value in standard receivers. The figures indicate that the discrepancy between the two models is maximum and minimum on two antipodal points, is null on the equator defined by these two antipodal points, and is continuous, as there is no rapid change of value.
Figure 3.
, . , , and indicate the x, y, and z components, in the ECEF frame, of . The dot indicates the satellite displacement direction.
Figure 4.
, . and are the spherical coordinates in the ECEF frame of . The cross indicates the satellite displacement direction.
In Appendix A, one shows that the maximum and minimum errors are along the direction given by the vector , which approximately corresponds to the satellite displacement, and the error is null for orthogonal vectors to this direction.
Overall, the error is low compared to the norm of the first position error, with a maximum error that is approximately lower than .
The same experiment is conducted with a much higher first fix error (i.e., a larger sphere). The results are visible in Figure 5 and Figure 6. Again, the worst direction is given by the vector , and one observes a ratio between and approximately equal to in the worst cases.
Figure 5.
, . , , and indicate the x, y, and z components, in the ECEF frame, of . The dot indicates the satellite displacement direction.
Figure 6.
, . and are the spherical coordinates in the ECEF frame of . The cross indicates the satellite displacement direction.
The study of the worst case direction is further extended, this time by observing the values taken by on the set , for multiple time intervals . The results are visible in Figure 7. For convenience, a log-log plot is used. For all the considered time intervals , the plots indicate a linear relation between the model mismatch and the norm of the first-fix error since the slope of all the curves is equal to 1 and from Equation (8), . For each value of the time interval, the linear coefficient can be read at . For example, in the case of , this coefficient is equal to . See Appendix B for a computation of these values. It is visible that the linear coefficient depends on the time interval: the greater the time interval, the greater the coefficient. One can conclude that for a given value of , the greater the time interval, the greater the model mismatch.
Figure 7.
, which corresponds to the worst direction.
Finally, the largest value taken by is computed, for the product of a set of values of and of a set of time intervals between the two observation epochs. This is done in order to explore how the movement of satellites over time would affect the model mismatch. By extending the time between successive observations, the GNSS satellites in the sky change their positions more significantly due to their dynamics. The purpose of this application is to capture a wider range of applications, which can influence the accuracy and reliability of the positioning solutions. These values are visible in Table 2. Omitting rounding errors, the values taken show a bilinear relation with and . This result is hard to predict, as is not a linear function of , and is even harder to predict for , as the time interval does not explicitly appear in .
Table 2.
Maximum value of Equation (7) with respect to and .
Now that the model mismatch has been characterized for a single satellite, multiple satellites are going to be used to estimate the receiver’s displacement and clock bias difference.
5.2. Experimental Uncertainty Quantification of Estimated Displacement with Noiseless Measurements
In this experiment, the receiver’s true positions and are set as previously explained, and the receiver’s clock bias difference follows a zero-mean Gaussian random variable, with a variance proportional to the time interval . The set of all visible GPS satellites at the two epochs is used to generate noiseless synthetic TDCP measurements, as in Equation (3), with . They are used to estimate the receiver displacement and clock bias difference between the two epochs, following Equation (6). The choice regarding noiseless measurements is made in order to have an error of displacement estimation due to a first-fix error only.
For the metric, since the interest is in the estimation of the receiver displacement vector , the mean squared error matrix is expressed in a basis such that the submatrix corresponding to the geometrical part is extracted and is denoted , and the square root of the trace of this matrix is computed, i.e., . This choice is made in order to plot the mean Euclidean distance error. Also, denoting the position dilution of precision, this metric is equal to , in the case of independent and identically distributed noise [26].
In Figure 8 and Figure 9, the set of values taken by corresponds to two spheres with different radii, i.e., for two values of . The time interval is set to . These two plots have the same shape: two modes on the sphere, whose maximum values are close to antipodal and no direction where the estimation error is null. Although these figures look similar, they differ by the magnitude of the values. The local Up and North directions are displayed, but they do not show any link with the errors. More generally, experiments lead to the conclusion that for any value of , the obtained plot has a shape similar to the ones in Figure 8 and Figure 9, and that the set of values taken by is linear with respect to .
Figure 8.
for noiseless measurements, with , . and are the spherical coordinates, in the ECEF frame, of .
Figure 9.
for noiseless measurements, with , . and are the spherical coordinates, in the ECEF frame, of .
In order to show these conclusions, the estimation error is studied in a given direction, which is defined by the angles and in the ECEF frame. The reason why this direction is chosen is that it corresponds approximately to the direction where is maximum for a given value of .
First, in Figure 10, the estimation error is displayed as a function of for multiple time intervals. It shows a linear relation between the estimation error and the norm of the first-fix error for all the time intervals, as the slopes of the curves are all equal to 1. The linear coefficient between and can be read for : the greater the time interval, the greater the coefficient. Again, the linearity is hard to predict, as writing the value of as a linear function of , when restricted to a specific direction, is not straightforward.
Figure 10.
for noiseless measurements and for multiple values of as a function of , with in the direction given by the angles and in the ECEF frame.
In Figure 11, the estimation error is displayed as a function of , for multiple values of . Again, it shows a linear relation between the estimation error and the time interval , for all the values of . The linear coefficient between and can be read for : the greater is , the greater is the coefficient. This result is hard to predict, as is not an explicit function of .
Figure 11.
for noiseless measurements and for multiple values of , as a function of , with in the direction given by the angles and in the ECEF frame.
Finally, Table 3 and Table 4 present visible minimum and maximum values of , respectively, for multiple values of and for multiple values of . Decomposing in its horizontal and vertical components, in Table 5 and Table 6 are the maximum value of in the horizontal plane and vertical line, respectively, for multiple values of and for multiple values of . Omitting rounding errors and cases where both and are very large, both the minimum and maximum values are linear with respect to , but not linear with respect to . The non-linearity with respect to time is due to the disappearance of after a few minutes, meaning it is not considered in the solution for . Again, the linearity is hard to predict, as writing the maximum or minimum values of on a sphere, as a linear function of is not straightforward. From these tables, conclusions can be made regarding the validity of the first-fix approximation. For example, if one has to estimate a receiver displacement such that , for a time interval of , for an initial error of the worst amplitude , then the approximation is not acceptable, without considering any other source of perturbation.
Table 3.
Min values of with respect to and .
Table 4.
Max values of with respect to and .
Table 5.
Max values of in the receiver local horizontal plane with respect to and .
Table 6.
Max values of on the receiver local vertical line with respect to and .
Overall, it is experimentally shown that the greater , the greater , with a linear factor between these two quantities that depends on the time interval .
5.3. Experimental Uncertainty Quantification of Estimated Displacement with Noisy Measurements
In the same scenario as the previous section, noisy measurements are generated following Equation (3), with and , with denoting the wavelength of the frequency band. The time interval is set to . Note that alternative noise models could also be considered in order to reflect more realistic weighting schemes. For instance, by incorporating satellite elevation-dependent variances.
As explained previously, since the interest is in the estimation of the receiver displacement vector , the quantity is computed by extracting the geometrical part of the MSE matrix. The same process is applied to the MCRB matrix, and the square root of the trace is computed. This choice is justified by the fact that the Loewner partial order has the following property: for all pairs of real symmetric positive semi-definite matrices and , (in particular, ).
Figure 12 shows for . On the same set, the difference between and its lower bound is visible in Figure 13. The results indicate that, as was the case in the absence of noise, the error is characterized by two modes on the sphere. Also, the estimator’s error is close to the lowest value that it can reach, with no particular direction appearing.
Figure 12.
for noisy measurements, with , . and are the spherical coordinates in the ECEF frame of .
Figure 13.
Difference between and for noisy measurements with , . and are the spherical coordinates in the ECEF frame of . The negative values exist due to numerical errors.
Figure 14 and Figure 15 depict the same experiment, with . Again, the results indicate that the estimator’s error is close to the lowest value that it can reach.
Figure 14.
for noisy measurements, with , . and are the spherical coordinates in the ECEF frame of .
Figure 15.
Difference between and for noisy measurements with , . and are the spherical coordinates in the ECEF frame of .
Finally, as done previously, the estimation error is studied along an axis defined by the angles and in the ECEF frame. Figure 16 shows the error and its lower bound. At , the estimation error is due to the variance of the additive noise within the observations. This noise term adds up to the bias as increases, which produces the curve that is observed. For large values of , the error is mainly due to the misspecified model. Also, the results indicate that the estimator’s error has reached the lowest value possible.
Figure 16.
and for noisy measurements as a function of , with and in the direction given by the angles and in the ECEF frame.
In the last experiment, Figure 17 depicts the maximum value of as a function of .
Figure 17.
Maximum value of and corresponding for noisy measurements as a function of with .
To conclude this section, one can say that all the estimators built in these experiments are close to the MCRB. The mean error depends on the amount of noise in the observations, and on the misspecification of the model used.
6. Conclusions and Future Work
The TDCP model is expressed as a function of a GNSS receiver displacement and clock bias difference. The impact on the estimated displacement of the uncertainty regarding the receiver coordinates at the first epoch has been quantified for a given geometry at a given location. A similar study can be run in real-time by any user anywhere in the world, as the proposed method does not rely on final products, and real-time ephemerides would provide similar results. Considering the displacement estimation error due to a misspecified first fix only from a set of TDCP observations and given criteria on the precision of the estimated displacement, the provided tables are an indicator of the validity of the first fix. It is experimentally shown that for long time intervals, the impact is important. This is due to the fact that for long time intervals, the satellite coordinates change more, and lead to different receiver-to-satellite unit vectors. This effect would be more prominent when the considered satellites are at a low altitude. Therefore, when considering Low Earth Orbit satellites, whose displacements are much faster than GNSS satellites in Medium Earth Orbits, the impact would be greater. One might also notice that the same experiment could be transposed to an RTK framework: at a given epoch, the station coordinates are known, the baseline vector corresponds to the receiver displacement, and the single difference between receivers would correspond to TDCPs.
Author Contributions
Conceptualization: all authors; methodology: all authors; software: H.C.; validation: J.L., J.S. and P.T.; formal analysis: all authors; investigation: all authors; resources: all authors; data curation: all authors; writing—original draft preparation: H.C.; writing—review and editing: J.L., J.S. and P.T.; visualization: all authors; supervision: all authors; project administration: all authors; funding acquisition: J.S. All authors have read and agreed to the published version of the manuscript.
Funding
This work was supported in part by the EBCON Project under Grant PID2020119244GB-I00, and in part by the Consolidated Research Group RAIG under Grant 2021 SGR 00510 of the Departament de Recerca i Universitats de la Generalitat de Catalunya.
Institutional Review Board Statement
Not applicable.
Data Availability Statement
The original contributions presented in the study are included in the article, further inquiries can be directed to the corresponding author.
Conflicts of Interest
The authors declare that they have no conflicts of interest.
Appendix A. Direction of Null and Extremum Model Error
Recalling that and that Equation (8) is the function that maps an error to a model error:
where and is the dot product on . Defining and , one obtains
Given that , one obtains
where is the differential of at , evaluated at . If this term had to be expressed in the canonical bases of and , it would be equal to the Jacobian matrix of at multiplied by . Therefore, in a neighborhood of , the linear approximation of is given by:
Now, one has to study the vector and give it a geometrical interpretation, other than being the difference between two very close unit vectors. One defines the function:
and defining , one obtains
Now that the vector is expressed as a valuation of the function , a linear approximation of it is given: it can be shown that :
where is the differential of at , evaluated at . If this term had to be expressed in the canonical basis of , it would be equal to the Jacobian matrix of at multiplied by .
One can show that:
Since , the linear approximation of the function around is given by:
As the vector is an infinitesimal and orthogonal vector, with respect to the vector , the scalar product term is neglected:
Finally, , i.e., the model error is null for any error orthogonal to , and the directions of extremum error are given by the vector .
Appendix B. Model Error Along the Worst Direction
As a reminder, in Appendix A, the vectors and are defined, and the vector is shown to be the vector that defines the direction of extremum error. Here, the model error of Equation (7) is studied along a one-dimensional subspace: for any unit vector , considering the application:
with
one finds out that the derivative of at is given by:
Finally, if and , then and one has obtained the derivative of at along the direction of .
References
- Rustamov, R.B.; Hashimov, A.M. Multifunctional Operation and Application of GPS; IntechOpen: Rijeka, Croatia, 2018. [Google Scholar]
- Congram, B.; Barfoot, T.D. Experimental Comparison of Visual and Single-Receiver GPS Odometry. arXiv 2021, arXiv:2106.02122. [Google Scholar]
- Kim, J.; Park, M.; Bae, Y.; Kim, O.J.; Kim, D.; Kim, B.; Kee, C. A Low-Cost, High-Precision Vehicle Navigation System for Deep Urban Multipath Environment Using TDCP Measurements. Sensors 2020, 20, 3254. [Google Scholar] [CrossRef] [PubMed]
- Chen, K.; Chang, G.; Chen, C.; Zhu, T. An improved TDCP-GNSS/INS integration scheme considering small cycle slip for low-cost land vehicular applications. Meas. Sci. Technol. 2021, 32, 055006. [Google Scholar] [CrossRef]
- Ji, L.; Sun, R.; Cheng, Q.; Wang, J. Evaluation of the performance of GNSS-based velocity estimation algorithms. Satell. Navig. 2022, 3, 18. [Google Scholar] [CrossRef]
- Sun, R.; Cheng, Q.; Wang, J. Precise vehicle dynamic heading and pitch angle estimation using time-differenced measurements from a single GNSS antenna. GPS Solut. 2020, 24, 84. [Google Scholar] [CrossRef]
- Li, Z.; Wang, D.; Dong, Y.; Wu, J. An enhanced tightly-coupled integrated navigation approach using phase-derived position increment (PDPI) measurement. Optik 2018, 156, 135–147. [Google Scholar] [CrossRef]
- Suzuki, T. GNSS Odometry: Precise Trajectory Estimation Based on Carrier Phase Cycle Slip Estimation. IEEE Robot. Autom. Lett. 2022, 7, 7319–7326. [Google Scholar] [CrossRef]
- Freda, P.; Angrisano, A.; Gaglione, S.; Troisi, S. Time-differenced carrier phases technique for precise GNSS velocity estimation. GPS Solut. 2015, 19, 335–341. [Google Scholar] [CrossRef]
- Lyu, P.; Bai, S.; Lai, J.; Wang, B.; Sun, X.; Huang, K. Optimal Time Difference-Based TDCP-GPS/IMU Navigation Using Graph Optimization. IEEE Trans. Instrum. Meas. 2021, 70, 1–10. [Google Scholar] [CrossRef]
- Olivier, A.; Giovanis, D.G.; Aakash, B.; Chauhan, M.; Vandanapu, L.; Shields, M.D. UQpy: A general purpose Python package and development environment for uncertainty quantification. J. Comput. Sci. 2020, 47, 101204. [Google Scholar] [CrossRef]
- Purnell, D.; Gomez, N.; Chan, N.H.; Strandberg, J.; Holland, D.M.; Hobiger, T. Quantifying the Uncertainty in Ground-Based GNSS-Reflectometry Sea Level Measurements. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 2020, 13, 4419–4428. [Google Scholar] [CrossRef]
- Martin, A.; Soundy, A.; Panckhurst, B.; Brown, C.; Schumayer, D.; Molteno, T.; Parry, M. Real-time uncertainty quantification using correlated noise models for GNSS positioning. In Proceedings of the 2017 IEEE SENSORS, Glasgow, UK, 29 October–1 November 2017; pp. 1–3. [Google Scholar]
- Su, J.; Schön, S. Deterministic Approaches for Bounding GNSS Uncertainty: A Comparative Analysis. In Proceedings of the 10th Workshop on Satellite Navigation Technology (NAVITEC), Noordwijk, The Netherlands, 5–7 April 2022; pp. 1–8. [Google Scholar]
- Richmond, C.D.; Horowitz, L.L. Parameter Bounds on Estimation Accuracy Under Model Misspecification. IEEE Trans. Signal Process. 2015, 63, 2263–2278. [Google Scholar] [CrossRef]
- Mennad, A.; Fortunati, S.; El Korso, M.N.; Younsi, A.; Zoubir, A.M.; Renaux, A. Slepian-Bangs-type formulas and the related Misspecified Cramér-Rao Bounds for Complex Elliptically Symmetric distributions. Signal Process. 2018, 142, 320–329. [Google Scholar] [CrossRef]
- Fortunati, S.; Ortega, L. On the efficiency of misspecified Gaussian inference in nonlinear regression: Application to time-delay and Doppler estimation. Signal Process. 2024, 225, 109614. [Google Scholar] [CrossRef]
- Yang, C.; Guo, J.; Geng, T.; Zhao, Q.; Jiang, K.; Xie, X.; Lv, Y. Assessment and Comparison of Broadcast Ionospheric Models: NTCM-BC, BDGIM, and Klobuchar. Remote Sens. 2020, 12, 1215. [Google Scholar] [CrossRef]
- Schüler, T. The TropGrid2 standard tropospheric correction model. GPS Solut. 2014, 18, 123–131. [Google Scholar] [CrossRef]
- Stienne, G.; Reboul, S.; Choquel, J.; Benjelloun, M. Cycle slip detection and repair with a circular on-line change-point detector. Signal Process. 2014, 100, 51–63. [Google Scholar] [CrossRef]
- Nocedal, J.; Wright, S.J. Numerical Optimization; Springer Series in Operations Research and Financial Engineering; Springer: New York, NY, USA, 2006. [Google Scholar]
- Nielsen, F. Connected at Infinity II: A Selection of Mathematics by Indians; Chapter Cramér-Rao Lower Bound and Information Geometry; Hindustan Book Agency: Delhi, India, 2013; pp. 18–37. [Google Scholar]
- Eldar, Y. Minimum Variance in Biased Estimation: Bounds and Asymptotically Optimal Estimators. Trans. Sig. Proc. 2004, 52, 1915–1930. [Google Scholar] [CrossRef]
- Schöller, C.; Aravantinos, V.; Lay, F.; Knoll, A. What the Constant Velocity Model Can Teach Us About Pedestrian Motion Prediction. IEEE Robot. Autom. Lett. 2020, 5, 1696–1703. [Google Scholar] [CrossRef]
- Pellegrini, S.; Ess, A.; Van Gool, L. Visual Analysis of Humans: Looking at People; Chapter Predicting Pedestrian Trajectories; Springer: London, UK, 2011; pp. 473–491. [Google Scholar]
- Won, D.H.; Ahn, J.; Lee, S.W.; Lee, J.; Sung, S.; Park, H.W.; Park, J.P.; Lee, Y.J. Weighted DOP with Consideration on Elevation-Dependent Range Errors of GNSS Satellites. IEEE Trans. Instrum. Meas. 2012, 61, 3241–3250. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).