Abstract
Global Navigation Satellite System (GNSS) observations are commonly processed using various established methods, including the processing of ionospheric-free (IF) linear combinations (LC), differences of observations as well as the processing of undifferenced, uncombined (UDUC) observations. The most general and flexible approach to GNSS processing is widely regarded to be the UDUC approach, as this approach is based on the raw observation equations of potentially all available observations. The IF approach uses IF-LC obtained by observations on different frequencies but the same receiver-satellite link to eliminate the ionospheric slant delay. The differencing approach also uses LC of observations, with the distinction that observations of the same signal but different receivers and/or satellites are being used. The purpose of differencing is the elimination of satellite/receiver clocks and biases and, in some cases, reducing or even eliminating atmospheric delays. We aim to uncover the implicit model assumptions made when using various IF and differencing approaches and in what case they are equivalent to the processing of the UDUC observations. This is achieved by introducing a reformulation method, which is then applied to the UDUC observations of code division multiple access GNSS to obtain the functional models of various IF and differencing approaches. The underlying assumptions in this reformulation can then be identified. The results of this theoretical contribution will provide insight into the most appropriate method for processing GNSS observations in different cases and what implicit assumptions are being made when the respective method is being used.
Similar content being viewed by others
Introduction
Precise point positioning (PPP) (Malys and Jensen 1990; Zumberge et al. 1997; Kouba and Héroux 2001; Kouba et al. 2017) is a technique used to process GNSS observations to achieve highly accurate point positions. PPP can be divided into the network and the user side. The network side consists of globally distributed receivers observing one or multiple GNSS. With this network, precise satellite orbits and clocks can be computed and provided to the user for highly accurate point solutions. In order to generate accurate satellite orbits and clocks on the network side and accurate point positions on the user side, code and phase observations are required.
PPP-real-time kinematic (PPP–RTK) is a variation of PPP that includes the satellite phase bias parameters in addition to the satellite orbits and clocks. This enables the network and the user to estimate integer ambiguities through proper satellite phase bias and ambiguity datum handling (Geng et al. 2009; Laurichesse et al. 2009; Teunissen et al. 2010). PPP–RTK is a more general formulation of PPP, as it considers existing phase biases of receivers and satellites. For a critical review of different PPP–RTK methods, see Teunissen and Khodabandeh (2015). Here, we focus on the network side of PPP–RTK, as this is the most general case that includes the user side as well, considering that a user can be interpreted as another receiver in the network.
One commonly used method for processing dual-frequency observations is the use of IF-LC instead of the original observations. In the IF-LC, the ionospheric slant delay has been eliminated and does not have to be accounted for in the functional model. Two methods have emerged regarding dual-frequency observations using the IF-LC. The first method, often used in the conventional PPP approach where no ambiguity fixing is desired, uses one IF-LC using code observations and another IF-LC only using phase observations. For the second method, an additional third IF-LC is introduced, the Hatch–Melbourne–Wübbena LC (HMW-LC) (Hatch 1982; Melbourne 1985; Wübbena 1985) and is more commonly used in PPP–RTK see Ge et al. (2008), Collins et al. (2010), and Geng et al. (2019).
Another method of processing GNSS observations is double differencing (DD), which is commonly used in relative positioning but also used to process global networks and generate satellite orbits (Dach et al. 2021). In the DD approach, observations of the same signal are differenced between receivers and satellites, so satellite and receiver clocks and biases cancel out. When this approach is used for short baselines, it can also be assumed that atmospheric delays and orbit errors are eliminated or significantly reduced. Single differencing (SD) is also a well-known approach to GNSS processing. In the SD approach, observations are differenced between receivers or between satellites to eliminate the satellite clocks and biases or the receiver clocks and biases, respectively.
Finally, the approach of processing undifferenced and uncombined (UDUC) observations at the network and user levels (Teunissen et al. 2010; Schönemann et al. 2011; Zhang et al. 2011) has emerged. This is widely regarded as the most general approach, as the original observations are being processed, and no parameters are eliminated by LC or differencing of observations. It is regarded as the most flexible approach, offering a general formulation of the functional model while maintaining the original physical and stochastic characteristics of the observations.
Schaffrin and Grafarend (1986) introduced a concept of nuisance parameter elimination at an observational level and applied this theory to single-frequency phase observations. It was found that SD and DD are equivalent reformulations of the system of equations of single-frequency phase observations in which the satellite and/or receiver clock are eliminated. In contrast to the previously mentioned work, the reformulation method we present is applied to the general UDUC network equations, including multi-signal code and phase observations and considers existing rank deficiencies.
First, an overview of the processing of UDUC observations in the case of GNSS with CDMA is provided. This is done by briefly introducing the code and phase observation equations of a GNSS network, the resulting design matrix, and its rank deficiencies. For this, the relevant aspects of the S-system theory (Teunissen 1985) and the contribution of rank deficiencies in the UDUC processing of GNSS networks by Odijk et al. (2015) are used in this work. Then a reformulation of the system of network equations is presented. In subsequent chapters, we demonstrate that the two IF-LC and the differencing approaches are specific applications of the presented reformulation methods. By examining the implicit assumptions made in these approaches, we can show their mathematical equivalence to the respective results of the processing of UDUC observations.
UDUC network equations
The linearized code and phase observation equations for a receiver r, satellite s, and signal j can be formulated with (Hofmann-Wellenhof et al. 2007)
in case of CDMA GNSS. Here, \(E\left( \cdot \right)\) denotes the expected value of the inherently stochastic observations. It is assumed that the observations have been corrected a priori with appropriate models (Kouba et al. 2017). Thus, terms usually not estimated as parameters in the context of PPP–RTK, such as phase wind-up, phase center offsets, and variations, are excluded in (1) and (2).
Given a network with \(r = 1, \ldots ,n\) receivers, \(s = 1, \ldots ,m\) satellites observing \(j = 1, \ldots ,f\) signals and \(i = 1, \ldots ,p\) epochs, we can formulate a system of equations with \(L + v = A \cdot x\), with \(L\) containing the linearized code and phase observations, \(v\) their residuals, \(A\) the design matrix and \(x\) the unknown parameters. The general design matrix \(A\) of an all-in view, i.e., all receivers observe all satellites and signals, network can be formulated with (Odijk et al. 2015)
where
here \(e_{n}\) denotes the \(n\)-vector of ones, \(I_{n} \in {\mathbb{R}}^{n \times n}\) the identity matrix, \(\otimes\) the Kronecker matrix product, \({\Lambda }\) is a diagonal matrix containing the wavelength of the observed signals, i.e., \({\Lambda } = {\text{diag}}\left( {\lambda_{1} , \ldots ,\lambda_{f} } \right)\) and \(\mu = \left[ {\begin{array}{*{20}c} {\mu_{1} } & {\mu_{2} } & {\begin{array}{*{20}c} \ldots & {\mu_{f} } \\ \end{array} } \\ \end{array} } \right]^{T}\). The design matrix \(A_{{{\text{geo}}}}\) references the geometric parameters (receiver/satellite coordinates and tropospheric delays) and is not further specified, as it is not of further relevance hereafter. All other submatrices have been created assuming epoch-wise parameters, i.e., a new parameter for every epoch for satellite clocks and biases, receiver clocks and biases, and ionospheric slant delays.
The order of the \(z = 2pnmf\) observations in \(L\) is chosen as follows: First, all phase observations of epoch \(i\) are ordered as follows:
Then, all code observations \(\rho \left( i \right)\) are ordered in the same manner and finally
The parameter vector \(x\) is divided into subvectors of specific parameter groups with \(x = \left[ {\begin{array}{*{20}c} {x_{{{\text{geo}}}}^{T} } & {x_{{{\text{rec}}}}^{T} } & {\begin{array}{*{20}c} {x_{{{\text{sat}}}}^{T} } & {x_{{{\text{ion}}}}^{T} } & {x_{{{\text{amb}}}}^{T} } \\ \end{array} } \\ \end{array} } \right]^{T}\), where \(x_{{{\text{geo}}}}\) contains all geometric parameters, i.e., receiver coordinates and tropospheric delays, \(x_{{{\text{rec}}}}\) all receiver clocks and biases, \(x_{{{\text{sat}}}}\) all satellite clocks and biases, \(x_{{{\text{ion}}}}\) all ionospheric slant delays, and finally \(x_{{{\text{amb}}}}\) all ambiguities. The design matrix is formulated similarly, with the submatrices referencing the respective subvector.
The design matrix \(A\) is of \({\text{rank}}\left( A \right) = \dim \left( {{\mathcal{R}}\left( A \right)} \right) = r \le k\) with \({\mathcal{R}}\left( A \right)\) denoting the range or column space. The rank deficiency \(k - r\) of matrix \(A\) is equal to the dimension of its null space, i.e., \({\text{dim}}\left( {{\text{N}}\left( {\text{A}} \right)} \right) = {\text{def}}\left( A \right)\). Here, \({\text{N}}\) denotes the null space of a matrix. We can find a basis matrix of \({\text{N}}\left( {\text{A}} \right)\) with \(V \in {\mathbb{R}}^{k \times k - r}\). Then, \({\mathcal{R}}\left( V \right) = {\text{N}}\left( {\text{A}} \right)\) and \(A \cdot V = 0\). With a basis matrix \(S\) that has a complementary range space to \(V,\) i.e., \({\mathcal{R}}\left( S \right) \otimes {\mathcal{R}}\left( V \right) = {\mathbb{R}}^{k} ,\) we obtain the parameter vector \(x\) as a unique linear combination of the form \(x = S \cdot \tilde{a} + V \cdot \beta\). We can then reformulate the system of equations to
The basis matrix \(S\) is not unique, and its choice defines what estimable parameters one solves. The matrix \(S^{ \bot }\) is defined as a basis matrix of the orthogonal complement of \({\mathcal{R}}\left( S \right),\) i.e., \({ }\left( {S^{ \bot } } \right)^{T} S = 0\). Its transpose \(\left( {S^{ \bot } } \right)^{T} \in {\mathbb{R}}^{{\left( {k - r} \right) \times k}}\) can be interpreted as containing the \(\left( {k - r} \right)\) restrictions imposed on the parameter vector, i.e., \(\left( {S^{ \bot } } \right)^{T} x = 0\) (Khodabandeh and Teunissen 2019), making \(\left[ {\begin{array}{*{20}c} {A^{T} } & {S^{ \bot } } \\ \end{array} } \right]^{T}\) a full rank matrix.
The rank deficiencies in \(A\) can be described by the identification of the rank deficiencies in the submatrices and the additional rank deficiencies occurring between the submatrices, as explained in the following Corollary.
Corollary 1 ( Rank deficiencies in submatrices)
Let matrix \(A = \left[ {\begin{array}{*{20}c} {A_{1} } & {A_{2} } \\ \end{array} } \right]\) with \(A_{i} \in {\mathbb{R}}^{{z \times k_{i} }}\), \({\text{def}}\left( {A_{i} } \right) = {\text{dim}}\left( {{\text{N}}\left( {A_{i} } \right)} \right) = r_{i}\) and \({\text{def}}\left( A \right) = r_{1} + r_{2} + l\). With \(V_{i}\) being a basis matrix of \({\text{N}}\left( {A_{i} } \right)\), it follows that \(AV^{*} = \left[ {\begin{array}{*{20}c} {A_{1} } & {A_{2} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {V_{1} } & 0 \\ 0 & {V_{2} } \\ \end{array} } \right] = 0\) and \(l \ge 0\). If and only if \(l = { }0\) is \(V^{*}\) a basis matrix of \({\text{N}}\left( A \right)\), in all other cases, we can extend \(V^{*}\) to a basis matrix \(V = \left[ {\begin{array}{*{20}c} {V^{*} } & W \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {V_{1} } & 0 & {W_{1} } \\ 0 & {V_{2} } & {W_{2} } \\ \end{array} } \right]\), with \({\text{rank}}\left( W \right) = l\). Note that all vectors in \(W_{i}\) are linearly independent of \(V_{i}\). (Proof: Let us assume a vector \(w_{1}^{*}\) in \(W_{1}\) can be expressed as a LC of vectors in \(V_{1}\). Then, we can find a matrix \(C\), so that \(\left[ {\begin{array}{*{20}c} {w_{1}^{*} } \\ {w_{2}^{*} } \\ \end{array} } \right] + C\left[ {\begin{array}{*{20}c} {V_{1} } \\ 0 \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} 0 \\ {w_{2}^{*} } \\ \end{array} } \right] \in {\text{N}}\left( {A_{2} } \right)\), which contradicts the assumption of linearly independent vectors in \(V.\))
The rank deficiencies of \(A\) can therefore be interpreted as the \(r_{1}\) and \(r_{2}\) rank deficiencies of the submatrices \(A_{1}\) and \(A_{2}\) and the \(l\) between \(A_{1}\) and \(A_{2}\) rank deficiencies. We denote with
the rank deficiency between matrices.
In Odijk et al. (2015), the different types of rank deficiencies are specifically declared as.
-
1.
Between receiver and satellite parameters
-
a.
Between receiver and satellite clocks (size \(1\))
-
b.
Between receiver and satellite biases (size \(2f\))
-
a.
-
2.
Between receiver biases and
-
a.
Receiver clocks (size \(n - 1\))
-
b.
Ionospheric Slant Delays (size \(n - 1\))
-
a.
-
3.
Between satellite biases and
-
a.
Satellite clocks (size \(m\))
-
b.
Ionospheric Slant Delays (size \(m\))
-
a.
-
4.
Between receiver biases and ambiguities (size \(f\left( {n - 1} \right)\))
-
5.
Between satellite biases and ambiguities (size \(fm\)).
The size of these rank deficiencies in the scope of this research is understood to exist at each epoch, except for the rank deficiencies between ambiguities and biases, as ambiguities are introduced as constant in (5). Often used S-basis restrictions to eliminate these rank deficiencies are the “Common Clocks” (CC) S-basis. It is further classified into the CC-R and the CC-S S-basis. The CC-R S-basis uses the receiver clock and biases of one receiver as restrictions to eliminate rank deficiencies 1a and 1b, whereas the CC-S S-basis uses the mean satellite clock and biases of a satellite system.
Since none of the individual S-basis restrictions in the CC models span across multiple parameter groups, we can express \(\left( {S^{ \bot } } \right)^{T}\) as a block diagonal matrix, with each matrix containing the restrictions imposed on a specific parameter group, as presented in the following Corollary.
Corollary 2 (Restrictions in GNSS processing)
Let \(\left( {S^{ \bot } } \right)^{T} \in {\mathbb{R}}^{r \times k} = \left[ {\begin{array}{*{20}c} {\left( {S_{1}^{ \bot } } \right)} & 0 & \cdots & 0 \\ 0 & {\left( {S_{2}^{ \bot } } \right)} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & {\left( {S_{n}^{ \bot } } \right)} \\ \end{array} } \right] = {\text{diag}}\left( {\left( {S_{i}^{ \bot } } \right)^{T} } \right)\), \(i = 1, \ldots ,n\), \(\left( {S_{i}^{ \bot } } \right)^{T} \in {\mathbb{R}}^{{r_{i} \times k_{i} }}\) and \({\text{rank}}\left( {\left( {S_{i}^{ \bot } } \right)^{T} } \right) = r_{i}\). It follows that \({\text{rank}}\left( {\left( {S^{ \bot } } \right)^{T} } \right) = \mathop \sum \limits_{i} r_{i} = r\).
We can find a basis matrix \(S \in {\mathbb{R}}^{{k \times \left( {k - r} \right)}}\) of \({\text{N}}\left( {\left( {S^{ \bot } } \right)^{T} } \right)\) with \(S = {\text{diag}}\left( {S_{i} } \right)\) for all \(i\) \(k_{i} \ne r_{i}\) and \(S_{i} \in {\mathbb{R}}^{{k_{j} \times \left( {k_{j} - r_{j} } \right)}}\) being a basis matrix of \({\text{N}}\left( {\left( {S_{i}^{ \bot } } \right)^{T} } \right)\), thus \(\left( {S^{ \bot } } \right)^{T} \cdot S = 0\).
Applying Corollary 2 to our specific GNSS parameter groups yields \(\left( {S^{ \bot } } \right)^{T} = {\text{diag}}\left( {\left( {S_{{{\text{rec}}}}^{ \bot } } \right)^{T} ,\left( {S_{{{\text{sat}}}}^{ \bot } } \right)^{T} ,\left( {S_{{{\text{ion}}}}^{ \bot } } \right)^{T} ,\left( {S_{{{\text{amb}}}}^{ \bot } } \right)^{T} } \right),\) and consequently, we can find \(S = {\text{diag}}\left( {S_{{{\text{rec}}}} ,S_{{{\text{sat}}}} ,S_{{{\text{ion}}}} ,S_{{{\text{amb}}}} } \right)\) in a similar notation. The dimensions of the submatrices of \(\left( {S^{ \bot } } \right)^{T}\) and \(S\) are defined as outlined in the corollary and vary depending on the number of S-basis restrictions imposed on each parameter group.
Transforming the network equations
This chapter is structured as follows. First, the theory required to achieve an equivalent reformulation of the UDUC network equations is presented. The presented reformulation takes existing rank deficiencies in the original design matrix and how they propagate into the transformed design matrix into account. This reformulation is then applied to obtain the two different IF, and the SD and DD processing approaches.
Theory
It is possible to transform the original system of equations as defined by the design matrix (3) of the UDUC observations with no loss of information. This is described in the following Lemma.
Lemma 1 (Reformulation of the Least Squares (LSQ) Problem)
The solution of a system of equations of the form
is given with
and is also known as the weighted LSQ solution with weight matrix \(P\) being the inverse of the variance covariance matrix (VCM) of the observations \(L\).
An equal solution introducing a regular matrix \(V\) can be found with
Lemma 1 can be summarized as follows: It is possible to use the LC \(L^{*} = VL\) instead of the original observations \(L\) to obtain solution \(\tilde{a}\). The solution \(\tilde{a}\) using observations \(L^{*}\) is equal to the solution obtained by the original observations \(L\), as long as \(V\) is a regular matrix and the design and weight matrix of the observations are transformed as demonstrated.
The motivation to perform such a transformation is given in the following Lemma.
Lemma 2 (Partial LSQ solution)
The partial solution \(x_{1}\) of the LSQ problem
can be expressed with
if \(A_{3}\) is a regular matrix and \(P\) a symmetric and positive definite matrix.
Therefore, by applying an appropriate transformation, the matrix \(\tilde{A}^{*} = V\tilde{A}\) can be transformed into the form of the design matrix presented in Lemma 2, allowing for the pre-elimination of certain parameters \(x_{2}\) at an observational level. This enables us to obtain the partial solution \(x_{1}\) using a reduced observation vector. This partial solution is mathematically equivalent to the partial solution obtained when all observations are considered.
A generalization of this approach, including possible complications arising due to rank deficiencies, is given in the following corollary, which serves as the foundation for the next chapters, as the following methods of GNSS processing can be shown to be an application thereof. Note that in Corollary 3, it is not assumed that \({\text{rank}}\left( {\left[ {\begin{array}{*{20}c} {A_{1} } & {A_{2} } \\ \end{array} } \right]} \right) = {\text{rank}}\left( {A_{1} } \right) + {\text{rank}}\left( {A_{2} } \right)\) like it has been assumed in Schaffrin and Grafarend (1986).
Corollary 3 ( Reformulation of rank-deficient LSQ)
For a rank-deficient LSQ problem
with \(L \in {\mathbb{R}}^{z} ,{ }A = \left[ {\begin{array}{*{20}c} {A_{1} } & {A_{2} } \\ \end{array} } \right] \in {\mathbb{R}}^{z \times k} ,{\text{ rank}}\left( A \right) = k - r, A_{i} \in {\mathbb{R}}^{{z_{i} \times k_{i} }}\), \({\text{def}}\left( {A_{i} } \right) = r_{i}\) and \({\text{bdef}}\left( {A_{1} ,A_{2} } \right) = b\), one can find a regular Matrix \(V = \left[ {\begin{array}{*{20}c} {V_{1} } \\ {V_{2} } \\ \end{array} } \right] \in {\mathbb{R}}^{z \times z} { }\) with \(V_{1}^{T}\) being a basis matrix of \({\text{N}}\left( {A_{2}^{T} } \right)\). The admissible S-basis restrictions are chosen so that \(\left( {S^{ \bot } } \right)^{T} \in {\mathbb{R}}^{r \times k} = \left[ {\begin{array}{*{20}c} {\left( {S_{1}^{ \bot } } \right)} & 0 \\ 0 & {\left( {S_{2}^{ \bot } } \right)} \\ \end{array} } \right]\) with \(\left( {S_{1}^{ \bot } } \right) \in {\mathbb{R}}^{{\left( {r_{1} + b} \right) \times k_{1} }}\) and \(\left( {S_{2}^{ \bot } } \right) \in {\mathbb{R}}^{{r_{2} \times k_{2} }}\). It follows that we can find \(S = \left[ {\begin{array}{*{20}c} {S_{1} } & 0 \\ 0 & {S_{2} } \\ \end{array} } \right] \in {\mathbb{R}}^{{k \times \left( {k - r} \right)}}\) with \(S_{1} \in {\mathbb{R}}^{{k_{1} \times \left( {k_{1} - r_{j} - b} \right)}}\) and \(S_{2} \in {\mathbb{R}}^{{k_{2} \times \left( {k_{2} - r_{2} } \right)}}\) (see Corollary 2). We can then reformulate the LSQ problem with
where matrix \(V_{2} A_{2} S_{2}\) is a regular and \(V_{1} A_{1} S_{1}\) a full rank matrix. The partial solution \(\tilde{a}_{1}\) can be computed by solving the reduced LSQ problem, as shown in Lemma 2.
The condition regarding the S-basis restrictions can be interpreted as follows: The restrictions \(\left( {S_{2}^{ \bot } } \right)^{T}\) must exclusively eliminate the \(r_{2}\) rank deficiencies in \(A_{2} ,\) and the restrictions \(\left( {S_{1}^{ \bot } } \right)^{T}\) must eliminate the \(r_{1}\) rank deficiencies occurring in \(A_{1}\), as well as the \(b\) rank deficiencies occurring between \(A_{1}\) and \(A_{2}\) (see Lemma 3).
Lemma 3 ( Null space after transformation)
Let \(A = \left[ {\begin{array}{*{20}c} {A_{1} } & {A_{2} } \\ \end{array} } \right]\) and \(V = \left[ {\begin{array}{*{20}c} {V_{1} } & 0 & {W_{1} } \\ 0 & {V_{2} } & {W_{2} } \\ \end{array} } \right]\) be a basis matrix of \({\text{N}}\left( A \right)\), \(V_{i}\) a basis matrix of \(A_{i}\), and \(F_{1}^{T}\) a basis matrix of \({\text{N}}\left( {A_{2}^{T} } \right)\). Then, \(F_{1} \left[ {\begin{array}{*{20}c} {A_{1} } & {A_{2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {F_{1} A_{1} } & 0 \\ \end{array} } \right]\) and with \(F_{1} AV = 0,\) it follows that \(F_{1} A_{1} \left[ {\begin{array}{*{20}c} {V_{1} } & {W_{1} } \\ \end{array} } \right] = 0\). The vectors in \(\left[ {\begin{array}{*{20}c} {V_{1} } & {W_{1} } \\ \end{array} } \right]\) are linearly independent (see Corollary 1), and \(\left[ {\begin{array}{*{20}c} {V_{1} } & {W_{1} } \\ \end{array} } \right]\) is a basis matrix of \({\text{N}}\left( {F_{1} A_{1} } \right)\) and \({\text{def}}\left( {F_{1} A_{1} } \right) = {\text{def}}\left( {A_{1} } \right) + {\text{bdef}}\left( {A_{1} ,A_{2} } \right)\).
Ionospheric-free linear combinations
In the next chapters, the GNSS processing approach of formulating IF-LC is introduced and the equivalence to the processing of UDUC observations is demonstrated. First, the general case is presented, which provides an admissible and equivalent reformulation of the UDUC network equations as introduced with Eqs. (3–5) for any number of signals. Then, two common dual-frequency IF approaches are explored. The first approach, commonly used in PPP, involves using one code and one phase IF-LC. The second approach, often used in PPP–RTK, involves using the HMW-LC in addition to the previously mentioned IF-LC.
General case
LC in the context of GNSS processing specifically refer to LC using only code and phase observations of a specific receiver-satellite link. They can be formulated with
where \(\psi_{l}\) are the resulting LC and \(\left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\varphi_{f}^{T} } \\ \end{array} } & {\rho_{f}^{T} } \\ \end{array} } \right]^{T}\) the code and phase observations of a receiver-satellite link on \(f = \frac{l}{2}\) different signals. Here, it is assumed that only observations of the same epoch are used.
Important properties of LC might be: IF, geometric free (GF), ionospheric maintaining (IM), and geometry maintaining (GM). After introducing \(B = \left[ {\begin{array}{*{20}c} {e_{f} } & {e_{f} } \\ { - \mu } & \mu \\ \end{array} } \right] \in {\mathbb{R}}^{2 \times l}\), we can derive specific properties of a LC \(v \cdot \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\varphi_{f}^{T} } & {\rho_{f}^{T} } \\ \end{array} } \\ \end{array} } \right]^{T}\):
-
1.
IF and GM LC if \(B \cdot v_{{{\text{IF}}}}^{T} = \left[ {\begin{array}{*{20}c} 1 \\ 0 \\ \end{array} } \right]\)
-
2.
GF and IF LC if \(B \cdot v_{{{\text{GIF}}}}^{T} = \left[ {\begin{array}{*{20}c} 0 \\ 0 \\ \end{array} } \right]\)
-
3.
GF and IM LC if \(B \cdot v_{{{\text{IM}}}}^{T} = \left[ {\begin{array}{*{20}c} 0 \\ 1 \\ \end{array} } \right]\)
In the context of GNSS processing, LC are commonly used to eliminate the ionospheric slant delay present in the UDUC observations. For the given matrix \(B\), we can find a matrix
of \(l\) linear independent vectors \(v_{1} , \ldots ,v_{l}\) of which \(l - 1\) are IF and one is IM. Denoting \(V_{{{\text{IF}}}} = \left[ {\begin{array}{*{20}c} {v_{1}^{T} } & \ldots & {v_{l - 1}^{T} } \\ \end{array} } \right]^{T}\) and \(V_{IM} = v_{l}\) and applying the LC defined by \(V\) to the observations of all satellite-receiver links, we obtain the regular matrix \(W\) of the entire network:
With \({\text{rank}}\left( {W_{{{\text{IF}}}}^{T} } \right) = z - pnm\), \(W_{{{\text{IF}}}} \cdot A_{{{\text{ion}}}} = 0\) and \({\text{def}}\left( {A_{{{\text{ion}}}}^{T} } \right) = z - pnm,\) we can conclude that \(W_{{{\text{IF}}}}^{T}\) is a basis matrix of \({\text{N}}\left( {A_{{{\text{ion}}}}^{T} } \right)\). The transformed design matrix \(\tilde{A}^{*}\) then reads
Since there exist no rank deficiencies in \(A_{{{\text{ion}}}} ,\) i.e., \({\text{def}}\left( {A_{{{\text{ion}}}} } \right) = 0\), we can find \(\left( {S^{ \bot } } \right)^{T} = \left[ {\begin{array}{*{20}c} {\left( {S_{1}^{ \bot } } \right)^{T} } & 0 \\ \end{array} } \right]\) and \(S = \left[ {\begin{array}{*{20}c} {S_{1} } & 0 \\ 0 & I \\ \end{array} } \right]\) (see Corollary 2). The full rank design matrix \(\tilde{A}\) can then be obtained with
where \(W_{{{\text{IM}}}}^{T} \cdot A_{{{\text{ion}}}} \in {\mathbb{R}}^{pnm \times pnm}\) is a regular matrix. Thus, we can obtain all parameters, excluding the ionospheric slant delays, only by processing the IF observations (see Lemma 2). Both the CC-R and the CC-S basis are valid choices for an IF-LC approach since ionospheric slant delays are not used as restrictions to eliminate the rank deficiencies occurring between \(\left[ {\begin{array}{*{20}c} {A_{{{\text{rec}}}} } & {A_{{{\text{sat}}}} } \\ \end{array} } \right]\) and \(A_{{{\text{ion}}}}\). Those rank deficiencies are eliminated via restrictions on the receiver and satellite biases instead.
Note that the IF-LC combination matrix \(W_{{{\text{IF}}}}^{T}\) is a basis matrix of \({\text{N}}\left( {A_{{{\text{ion}}}}^{T} } \right)\) when epoch-wise ionospheric slant delay parameters are assumed and \(l - 1\) linear independent IF-LC for each receiver-satellite link are used. If additional temporal or spatial ionospheric constraints were introduced into the submatrix \(A_{{{\text{ion}}}}\), then \(W_{{{\text{IF}}}}^{T}\) would not be a basis matrix of the null space of the transposed partial design matrix that includes the temporal and/or spatial constraints. With the greater dimension of the null space, more observations would be required.
We can conclude that the LSQ solution of the IF-LC approach using \(l - 1\) linear independent IF-LC for each receiver-satellite link is mathematically equivalent to the solution when evaluating the UDUC network equations when ionospheric slant delays are assumed to be epoch-wise parameters. We also found that both the CC-R and CC-S S-basis restrictions are viable options for the IF-LC approach. Given that the estimation of epoch-wise ionospheric slant delays is a common assumption when processing UDUC observations, the IF-LC approach presents a valid alternative that reduces the number of observations and parameters when compared to the UDUC approach.
Current practice in dual frequency IF processing
In PPP, it is common practice to process dual-frequency GNSS observations using one IF and GM code and phase LC. The LC matrix \(V\) can then be formulated with
where
As demonstrated in the previous chapter and explicitly mentioned in Teunissen (2020), it is evident that this is not a valid IF reformulation of the functional model described by (3) to (5). This is due to the requirement of three linearly independent IF LC for every receiver-satellite link when considering dual-frequency observations.
When reformulating the design matrix of the ionospheric delays to introduce different ionospheric slant delay parameters for code and phase observations, i.e.,
the transposed of the matrix \(I_{p} \otimes V_{{2{\text{IF}}}} \otimes \left( {I_{n} \otimes I_{m} } \right)\) (see (21)) becomes a basis matrix of \({\text{N}}\left( {A_{{2{\text{ion}}}}^{T} } \right)\) and a valid reformulation can be achieved according to Corollary 3. The conclusion is that the implicit model assumptions, when processing only two linear independent IF-LC, are epoch-wise ionospheric slant delay parameters that are different for code and phase observations.
For the purpose of PPP–RTK based on IF-LC, it is common practice to use the HMW-LC in addition to the previously mentioned LC (24). Then, a valid reformulation with pre-eliminated ionospheric slant delays as described in Corollary 3 is achieved, and integer ambiguity resolution can be performed analog to when the UDUC observations are processed. Note that this approach does not require a reparameterization of the ambiguities. Integer estimable ambiguities can be achieved as described by Khodabandeh and Teunissen (2019), and an a priori wide-lane and narrow-lane reparameterization like it is often performed (Ge et al. 2008; Laurichesse et al. 2008) and is not required. The reparameterization of the ambiguities via an admissible ambiguity transformation (Teunissen 1995) can be done independently of the chosen IF-LC. The same applies to all other remaining parameters, including receiver and satellite phase biases. They can be estimated in the same manner as in the general UDUC approach, with the only exception being that ionospheric slant delays cannot be used as S-basis restrictions.
Single differencing
SD refers to a differencing of observations between satellites (BSSD) or between receivers (BRSD) and is most commonly performed on the same signal.
Between receiver \(A\) and \(B\), SD \({\Delta }*_{AB,j}^{s}\) can be formulated with \({\Delta }*_{AB,j}^{s} = *_{A,j}^{s} - *_{B,j}^{s}\), where \(*\) is a wildcard for either a code or phase observations. Observations from different receivers but the same signal and satellite are differenced. In the resulting observation \({\Delta }*_{AB,j}^{s}\), satellite clocks and biases of satellite \(s\) have been eliminated. BSSD can be formulated similarly with \({\Delta }*_{r,j}^{{s_{A} s_{B} }} = *_{r,j}^{{s_{A} }} - *_{r,j}^{{s_{B} }} ,\) i.e., observations of a single receiver and signal are differenced between the satellites \(s_{A}\) and \(s_{B}\). Here, the receiver clocks and biases are eliminated in the resulting BSSD observation. In this chapter, both the BRSD and BSSD matrices are introduced, but for brevity, only the derivation of the implicit assumptions of BRSD is given as the derivation of the BSSD can be done similarly.
A general formulation of the BRSD and BSSD differencing matrix based on the observation order defined by (6) and (7) is given with:
A well-known property of BRSD is that satellite clocks and biases are eliminated, i.e., \(F_{{{\text{SD}}}}^{{{\text{rec}}}} A_{{{\text{sat}}}} = 0\). With \(A_{{{\text{sat}}}} \in {\mathbb{R}}^{{z \times pm\left( {2f + 1} \right)}}\), \({\text{rank}}\left( {A_{{{\text{sat}}}} } \right) = 2pmf\), it then follows that \({\text{def}}\left( {A_{{{\text{sat}}}}^{T} } \right) = 2pmf\left( {n - 1} \right)\). Since \(F_{{{\text{SD}}}}^{{{\text{rec}}T}} \in \mathbb{R}^{{z \times 2pmf\left( {n - 1} \right)}}\) and is a full rank matrix, it is a basis matrix of \({\text{N}}\left( {A_{{{\text{sat}}}}^{T} } \right)\). We can obtain a square and invertible matrix \(F = \left[ {\begin{array}{*{20}c} {F_{{{\text{SD}}}}^{{{\text{recT}}}} } & {F_{r}^{T} } \\ \end{array} } \right]^{T}\) with \(F_{r} \in {\mathbb{R}}^{2pmf \times z} .\)
Analog to the presented method in Corollary 3, we now use \(F\) to reformulate the design matrix \(A = \left[ {\begin{array}{*{20}c} {A_{{{\text{geo}}}} } & {A_{{{\text{rec}}}} } & {A_{{{\text{ion}}}} } & {\begin{array}{*{20}c} {A_{{{\text{amb}}}} } & {A_{{{\text{sat}}}} } \\ \end{array} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {A_{1} } & {A_{{{\text{sat}}}} } \\ \end{array} } \right]\) (note that the order of the submatrices in \(A\) has been changed for ease of notation) and obtain:
with \(F_{r} A_{{{\text{sat}}}} S_{{{\text{sat}}}}\) being a regular matrix if and only if rank deficiencies occurring between \(A_{1}\) and \(A_{{{\text{sat}}}}\) have been eliminated with restrictions imposed on parameters belonging to \(A_{1}\).
Neither the CC-R nor the CC-S S-basis restrictions can be used to obtain the partial solution since parameters in \(x_{{{\text{sat}}}}\) are used as restrictions to eliminate rank deficiencies between \(A_{1}\) and \(A_{{{\text{sat}}}}\), or more precisely: satellite biases are used to eliminate rank deficiencies of type 3b. A valid S-basis alternative can be found by using one ionospheric slant delay per satellite as a restriction instead. The corresponding S-basis is the CC-R-SD S-basis in the case of BRSD and the CC-S-SD basis in the case of BSSD given in Table 1. One can now solve for the remaining parameters only using the SD observations \(F_{{{\text{SD}}}} \cdot L\). The solution is then equal to the parameters obtained if one had used all observations and the S-basis restrictions shown in Table 1.
With this, it has been established that the LSQ solution of the BRSD (BSSD) GNSS processing approach is mathematically equivalent to the solution of the general UDUC when satellite (receiver) clocks and biases are estimated as epoch-wise parameters. The SD approach pre-eliminates the respective parameters at an observational level, reducing the number of observations and parameters in the functional model. The pre-eliminated parameters can no longer be used to eliminate rank deficiencies, and the SD observation design matrix “inherits” the rank deficiencies between its parameters and the pre-eliminated parameters (Lemma 3). This has to be accounted for when choosing the S-basis restrictions.
Double differencing
DD can be expressed with
and can be interpreted as the difference of BRSD/BSSD between different satellites/receivers. In the DD observation \(\Delta \Delta *_{{AB,j}}^{{s_{A} s_{B} }}\), all satellite and receiver clocks and biases cancel out.
For the all-in-view network case of GNSS processing, the DD observation equations are given as,
and eliminate all receiver and satellite clocks and biases, i.e., \(F_{{{\text{DD}}}} \left[ {\begin{array}{*{20}c} {A_{rec} } & {A_{sat} } \\ \end{array} } \right] = 0\). We can extend the DD-matrix \(F_{{{\text{DD}}}}\) to a full rank matrix \(F = \left[ {\begin{array}{*{20}c} {F_{{{\text{DD}}}}^{T} } & {F_{\text{DR}}^{T} } \\ \end{array} } \right]^{T} ,\) and we transform the Design Matrix \(A = \left[ {\begin{array}{*{20}c} {A_{{{\text{geo}}}} } & {A_{{{\text{rec}}}} } & {A_{{{\text{ion}}}} } & {\begin{array}{*{20}c} {A_{{{\text{amb}}}} } & {\left[ {\begin{array}{*{20}c} {A_{{{\text{rec}}}} } & {A_{{{\text{sat}}}} } \\ \end{array} } \right]} \\ \end{array} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {A_{1} } & {\left[ {\begin{array}{*{20}c} {A_{{{\text{rec}}}} } & {A_{{{\text{sat}}}} } \\ \end{array} } \right]} \\ \end{array} } \right]\) to
The same principles apply to the DD case as to the SD case: It can be shown that \(F_{{{\text{DD}}}}\) is a basis matrix of \({\text{N}}\left( {\left[ {\begin{array}{*{20}c} {A_{{{\text{rec}}}} } & {A_{{{\text{sat}}}} } \\ \end{array} } \right]^{T} } \right)\). One can then solve the partial system of equations using only the DD observations and obtain an equal solution to the UDUC approach in which receiver and satellite clocks and biases are estimated as epoch-wise parameters when similar S-basis restrictions are chosen.
Since the rank deficiencies 2b and 3b must be eliminated in the S-basis restrictions \(\left( {S_{1}^{ \bot } } \right)^{T}\), ionospheric delays must be used as restrictions to eliminate rank deficiencies 2b and 3b instead of receiver/satellite biases, as is done in the CC models. Since biases have been assumed epoch-wise, the rank deficiencies between them and the ionospheric delays must also be eliminated at every epoch. An example S-basis is given in Table 1, denoted as CC-R-DD and CC-S-DD. The estimable ionospheric delays are then of double differenced nature.
On differencing with a constant bias assumption
As shown in the previous section, the classic SD and DD approaches are equivalent to the processing of UDUC observations when all biases and clocks are estimated as epoch-wise parameters. Since biases are usually estimated as constant daily parameters (Geng et al. 2019; Schaer et al. 2021) or as varying slowly in time, the functional model of SD and DD GNSS processing is expected to be weaker due to the greater number of implicit parameters.
The SD and DD approaches can be modified so that the assumption of constant biases is made, resulting in identical outcomes to undifferenced processing with constant biases. To obtain a modification of the SD and DD approaches with the assumption of constant biases, one must look at the null space of the transposed partial design matrices under the assumption of constant biases. The design matrices are given with
Note that the parameter order has been changed: The first column of both matrices contains the epoch-wise receiver/satellite clocks, and the second column the constant biases. The dimensions of the null spaces are given with
The SD and DD observations (27) and (30) are also valid for the constant bias assumption, i.e., are linearly independent vectors in the null space of the respective matrix, but additional observations are required to achieve an equivalent reformulation under the assumption of constant biases. The number of additional observations increases with the number of epochs \(p\), signals \(f\), and receivers \(m\)/satellites \(n,\) respectively, as shown by (34) to (36) and will require between epoch and signal differencing in addition to the regular SD or DD. Given these considerations, the differencing approach, when assuming constant biases, does not seem to offer any significant benefits over an undifferenced approach.
Conclusions
We presented a method of reformulating the functional model of the UDUC observations to pre-eliminate parameters at an observational level. This reformulation addresses existing rank deficiencies and demonstrates how they propagate into the reformulated model. It was demonstrated that the IF and differencing approaches for processing GNSS observations are specific applications of this reformulation. By applying the reformulation methods to the UDUC observations of CDMA GNSS to obtain the various other approaches, we were able to identify the implicit assumptions made in the two IF-LC and the multiple differencing approaches presented here. All approaches, or more precisely the parameters and their VCM, are mathematically equivalent to the results obtained when the UDUC functional model is evaluated with the identified assumptions.
Specifically, when using one IF code and phase observation, the dual frequency IF-LC approach assumes epoch-wise ionospheric slant delay parameters that are different for the code and phase observations. The latter assumption is discarded when using a third IF-LC, e.g., the HMW-LC, in addition to the IF code and phase observations.
The various differencing approaches make the assumptions that the eliminated receiver and or satellite clocks and biases are epoch-wise parameters in the functional model of the UDUC observations. With the general theory behind the reformulation of the original model, it would be possible to adapt the differencing approaches to make the implicit assumption of constant biases.
Understanding the implicit assumptions in the various methods of processing GNSS observations helps us to fairly compare the different approaches, their performance, and the estimated parameters. When combining satellite clocks and biases computed by different data centers into one consistent solution, it is essential to be aware of the underlying functional models and imposed S-basis restrictions since they affect the interpretation of those parameters. Furthermore, the presented reformulation can be applied to other methods of GNSS processing where LC of observations are used. One example is given with cycle slip detection in the preprocessing of GNSS observations. With the presented methods and ideas, implicit assumptions in various established cycle slip detection methods could be detected and applied to, e.g., UDUC GNSS observations.
References
Collins P, Bisnath S, Lahaye F, Héroux P (2010) Undifferenced GPS ambiguity resolution using the decoupled clock model and ambiguity datum fixing. Navigation 57(2):123–135. https://doi.org/10.1002/j.2161-4296.2010.tb01772.x
Dach R, Selmke I, Villiger A, Arnold D, Prange L, Schaer S, Sidorov D, Stebler P, Jäggi A, Hugentobler U (2021) Review of recent GNSS modelling improvements based on CODEs Repro3 contribution. Adv Space Res 68(3):1263–1280. https://doi.org/10.1016/j.asr.2021.04.046
Ge M, Gendt G, Rothacher M, Shi C, Liu J (2008) Resolution of GPS carrier-phase ambiguities in precise point positioning (PPP) with daily observations. J Geod 82(7):389–399. https://doi.org/10.1007/s00190-007-0187-4
Geng J, Teferle FN, Shi C, Meng X, Dodson AH, Liu J (2009) Ambiguity resolution in precise point positioning with hourly data. GPS Solut 13(4):263–270. https://doi.org/10.1007/s10291-009-0119-2
Geng J, Chen X, Pan Y, Zhao Q (2019) A modified phase clock/bias model to improve PPP ambiguity resolution at Wuhan University. J Geod 93(10):2053–2067. https://doi.org/10.1007/s00190-019-01301-6
Hatch R (1982) The synergism of GPS code and carrier measurements. In: Proceedings of the third international symposium on satellite doppler positioning at physical sciences laboratory of new Mexico state university, Vol. 2, pp 1213–1231
Hofmann-Wellenhof B, Lichtenegger H, Wasle E (2007) GNSS: global navigation satellite systems: GPS, GLONASS, galileo, and more. Springer Science & Business Media
Khodabandeh A, Teunissen PJG (2019) Integer estimability in GNSS networks. J Geod 93(9):1805–1819. https://doi.org/10.1007/s00190-019-01282-6
Kouba J, Héroux P (2001) Precise point positioning using IGS orbit and clock products. GPS Solut 5(2):12–28. https://doi.org/10.1007/PL00012883
Kouba J, Lahaye F, Tétreault P (2017) Precise point positioning. In: Teunissen PJG, Montenbruck O (eds) Springer handbook of global navigation satellite systems. Springer International Publishing, pp 723–751. https://doi.org/10.1007/978-3-319-42928-1_25
Laurichesse D, Mercier F, Berthias J-P, Broca P, Cerri L (2009) Integer ambiguity resolution on undifferenced GPS phase measurements and its application to PPP and satellite precise orbit determination. Navigation 56:135–149. https://doi.org/10.1002/j.2161-4296.2009.tb01750.x
Laurichesse D, Mercier F, Berthias JP, Bijac J (2008) Real time zero-difference ambiguities fixing and absolute RTK. pp 747–755. http://www.ion.org/publications/abstract.cfm?jp=p&articleID=7733
Malys S, Jensen PA (1990) Geodetic point positioning with GPS carrier beat phase data from the CASA UNO experiment. Geophys Res Lett 17(5):651–654
Melbourne, W. (1985) The case for ranging in GPS-based geodetic systems. In: Goad C (ed) Proceedings of the first international symposium on precise positioning with the global positioning system, NOAA, Washington DC, pp 373–386
Odijk D, Zhang B, Khodabandeh A, Odolinski R, Teunissen P (2015) On the estimability of parameters in undifferenced, uncombined GNSS network and PPP–RTK user models by means of S-system theory. J Geod. https://doi.org/10.1007/s00190-015-0854-9
Schaer S, Villiger A, Arnold D, Dach R, Prange L, Jäggi A (2021) The CODE ambiguity-fixed clock and phase bias analysis products: generation, properties, and performance. J Geod 95(7):81. https://doi.org/10.1007/s00190-021-01521-9
Schaffrin B, Grafarend B (1986) Generating classes of equivalent linear models by nuisance parameter elimination. Manuscr Geodaet 11:262–271
Schönemann E, Becker M, Springer T (2011) A new approach for GNSS analysis in a multi-GNSS and multi-signal environment. J Geodetic Sci 1(3):204–214. https://doi.org/10.2478/v10156-010-0023-2
Teunissen PJG (1985) Zero order design: generalized inverses, adjustment, the datum problem and S-transformations. In: Grafarend EW, Sansò F (eds) Optimization and design of geodetic networks. Springer, pp 11–55. https://doi.org/10.1007/978-3-642-70659-2_3
Teunissen PJG (1995) The invertible GPS ambiguity transformations. Manuscr Geodaet 20:489–497
Teunissen PJG, Khodabandeh A (2015) Review and principles of PPP–RTK methods. J Geod 89(3):217–240. https://doi.org/10.1007/s00190-014-0771-3
Teunissen PJG, Odijk D, Zhang B (2010) PPP–RTK: Results of CORS network-based PPP with integer ambiguity resolution. J Aeronaut Astronaut Aviat Ser A 42:223–230
Teunissen PJG (2020) GNSS precise point positioning. In: Morton YTJ, Diggelen F, Spilker JJ, Parkinson BW, Lo S, Gao G (eda) Position, navigation, and timing technologies in the 21st century. https://doi.org/10.1002/9781119458449.ch20
Wübbena G (1985) Software developments for geodetic positioning with GPS using TI 4100 code and carrier measurements. In: Goad C (ed) Proceedings of the first international symposium on precise positioning with the global positioning, Rockville, NOAA, Washington DC, pp 403–412
Zhang B, Teunissen PJG, Odijk D (2011) A Novel Un-differenced PPP–RTK Concept. J Navig 64(S1):S180–S191. https://doi.org/10.1017/S0373463311000361
Zumberge JF, Heflin M, Jefferson DC, Watkins M, Webb F (1997) Precise point positioning for the efficient and robust analysis of GPS data from large networks. J Geophys Res. https://doi.org/10.1029/96JB03860
Funding
Open Access funding enabled and organized by Projekt DEAL.
Author information
Authors and Affiliations
Contributions
The manuscript is the work of the sole author.
Corresponding author
Ethics declarations
Conflict of interest
The authordeclares 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/.
About this article
Cite this article
Platz, H.D. On the equivalence of ionospheric-free, differenced, and undifferenced, uncombined GNSS network processing. GPS Solut 27, 173 (2023). https://doi.org/10.1007/s10291-023-01510-9
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10291-023-01510-9