1 Introduction

PPP–RTK is integer carrier-phase ambiguity resolution-enabled precise point positioning (PPP) (Wubbena et al 2005; Mervart et al 2008; Teunissen et al 2010; GSA 2019). With PPP, precise transmitter positions and clocks are provided to enable single-receiver users to compute their receiver positions with a high, decimeter or centimeter, accuracy (Zumberge et al 1997; Kouba and Heroux 2001; Kouba et al 2017; Teunissen 2020). PPP–RTK extends the PPP concept by providing single-receiver users, next to the transmitter positions and clocks, also information about the transmitter phase biases. This information, when properly provided, enables recovery of the integerness of the user ambiguities, thus enabling single-receiver integer ambiguity resolution with an associated reduction in convergence times to centimeter-level positioning accuracy (Ge et al 2008; Geng and Bock 2013; Teunissen and Khodabandeh 2015; Zhang et al 2019).

Current PPP–RTK theory has been developed for constellations where all transmitters transmit signals on the same frequency, such as in case of CDMA (code-division multiple access)-based GNSS constellations. In this contribution we generalize the theory so as to include constellations with varying transmitter frequencies as well. This is a nontrivial generalization of which will be shown that the added complexities need a careful handling to enable integer recovery of the estimable user ambiguities. For single-baseline RTK such theory was first developed in Teunissen (2019), with its applications demonstrated in Zaminpardaz et al (2021); Brack et al (2020). In this contribution, the theory will be generalized from single-baseline RTK to network PPP–RTK.

Although PPP–RTK has originally been developed for GNSS positioning, the concept is not restricted per se to the GNSS domain. In fact, there are several fields of application, terrestrial as well as space-based, for which the concept is of interest as well. Such examples are interferometric wireless sensor networks (Szilvasi et al 2012; Wang et al 2014), terrestrial cellular LTE signals (Shamaei 2020; Khalife et al 2018), and potentially also the carrier-phase signals from LEO satellites (Khalife et al 2020). As with GLONASS FDMA, these applications often work with carrier-phase signals of which the frequencies are also transmitter dependent.

This contribution is organized as follows. Section 2 gives the needed review of integer-estimability theory based on (Teunissen 2019). It provides the algorithmic means of constructing integer-estimable functions, thereby transforming rank-defect mixed-integer models into ones of full rank. With the two building blocks of PPP–RTK being the network and user systems of equations, Sect. 3 deals with the network, while Sect. 4 with the network+user equations. In Sect. 3 it is shown how an integer-estimable decomposition of the network’s frequency-transformed reduced incidence matrix provides the means of formulating the undifferenced network equations in full rank. With the addition of the user equations, it is shown in Sect. 4 that PPP–RTK only allows network+user ambiguity transformations that are of block-triangular form. Based on this constrained class of transformations, we then determine a fundamental condition that the network+user system needs to satisfy for PPP–RTK to be possible. We identify the network and user contributing factors and show that the PPP–RTK condition is not always satisfied (GLONASS FDMA included). We then describe and analyse all-in-view PPP–RTK in Sect. 5 and show that it does satisfy the PPP–RTK condition. For the non all-in-view case, we focus in Sect. 6 on the discriminating contributions to the PPP–RTK condition of network and user. It is shown that the existence of an integer left inverse of the frequency-transformed reduced incidence matrix of the network is sufficient to satisfy the PPP–RTK condition. An easy way to demonstrate this is provided, as well as two measurement scenarios that make PPP–RTK possible. For the case the required integer left inverse does not exist, it is shown that PPP–RTK becomes possible if the frequency ratios of the commonly tracked transmitters by network and user can be absorbed by the user equations. A summary with conclusions is provided in Sect. 7, while the longer proofs of Lemma and Theorems are given in Appendix.

We use the following notation: \(\textsf{E}(.)\) denotes the mathematical expectation operator, \(\mathcal {R}(A)\) the range space of matrix A, \(\mathcal {R}(A)^{\perp }\) its orthogonal complement, \(\mathcal {N}(A)\) the null space of A, \(\mathbb {R}^{m}\) and \(\mathbb {Z}^{m}\), the m-dimensional spaces of real and integer numbers, and \(\mathbb {R}^{m \times n}\) and \(\mathbb {Z}^{m \times n}\) the sets of \(m \times n\) matrices having real and integer entries, respectively. Matrix \(M^{\perp }\) denotes a basis matrix of the orthogonal complement of \(\mathcal {R}(M)\), \(M^{+}\) denotes a left inverse of a full column-rank matrix M, \((.)^{T}\) is the transpose of a vector or matrix (.), and \(\otimes \) the Kronecker product. Matrices and vectors that appear frequently are the identity matrix of order m, \(I_{m}\), the m-vector of ones, \(e_{m}\), the differencing matrix \(D_{m}^{T}=[-e_{m-1}, I_{m-1}] \in \mathbb {Z}^{(m-1) \times m}\), \(C_{m}^{T}=[0, I_{m-1}] \in \mathbb {Z}^{(m-1) \times m}\) and the unit vector \(c_{1}=[1, 0, \ldots , 0]^{T}\), the dimension of which will be clear from the context.

2 Brief review of integer-estimability theory

2.1 Rank-defect mixed-integer model

Much of estimation theory that we use today is based on the concept of estimability (Koch 1999; Muller and Stewart 2006). For a linear model \(\textsf{E}(y)=Ax\), a linear function \(F^{T}x\) is estimable if and only if there is a linear function of the rows of A that is equal to \(F^{T}\). This linear-model concept of estimability is not sufficient however to cover the estimation requirements of mixed-integer linear models, i.e. models in which the observation equations contain both real-valued and integer-valued unknown parameters.

In vector-matrix form the rank-defect mixed-integer model is given as

$$\begin{aligned} \textsf{E}(y)=Az+Bb\;\;,\; y \in \mathbb {R}^{m}, z \in \mathbb {Z}^{n}, b \in \mathbb {R}^{p} \end{aligned}$$
(1)

in which y is the random vector of observables, [AB] the given design matrix of rank \(q < n+p\) and \([z^{T}, b^{T}]^{T}\) the vector of unknown parameters. A prime example of (1) is given by the linearized model of undifferenced GNSS observation equations, with y containing the carrier-phase and pseudorange observables, z the unknown integer carrier-phase ambiguities, and b the unknown real-valued parameters, such as position coordinates, atmosphere parameters, receiver and satellite clock parameters, and instrumental biases (Strang and Borre 1997; Leick et al 2015; Odijk et al 2015).

With the design matrix [AB] of (1) being rank defect, a careful reparametrization is required to turn the model into one of full rank with clearly defined estimable parameters. The first such analysis was given in Teunissen (1996). As is the case in GNSS, we assume the rank defect to involve the integer ambiguity vector z. This implies, so as to retain the integer nature of the ambiguities, that only admissible ambiguity transformations are permitted when reparametrizing, i.e. transformations \(z=Z\tilde{z}\) for which both Z and its inverse \(Z^{-1}\) are integer (Teunissen 1995). With this class of unimodular transformations in mind, the following theorem of Teunissen (2019) provides the necessary and sufficient conditions for a linear function \(F^{T}z\) to be integer estimable.

Theorem 1

(Integer estimability) For model (1), the necessary and sufficient conditions for r linearly independent functions \(\tilde{z}=F^{T}z\) to be estimable or integer estimable are:

  1. 1.

    \(\tilde{z}=F^{T}z\) is estimable if and only if \(F=A^{T}B^{\perp }X\) for some X, where \(B^{\perp }\) is a basis matrix of the orthogonal complement of the range space of B.

  2. 2.

    \(\tilde{z}=F^{T}z\) is integer estimable if and only if \(F=A^{T}B^{\perp }X\) for some X and \(F^{T}Z=[I_{r}, 0]\) for some admissible ambiguity transformation \(Z \in \mathbb {Z}^{n \times n}\). \(\square \)

Note that functions that are integer (i.e. \(F^{T} \in \mathbb {Z}^{r \times n}\)) and estimable (i.e. 1st condition of the above theorem is satisfied) are not necessarily integer estimable. Estimable functions are only integer estimable if they are rows of an admissible ambiguity transformation.

In the following, we assume \(\textrm{rank}(B)=p\), i.e. that any linear dependency between the real-valued parameters has already been taken care of using standard means of \(\mathcal {S}\)-system theory (Odijk et al 2015). As a result we have that the maximum number of linear independent integer-estimable functions is given by \(\textrm{rank}(B^{\perp T}A)=q-p\). The following theorem, taken from (Teunissen 2019), shows how an admissible transformation driven decomposition of \(B^{\perp T}A\) provides the means of establishing an integer-estimable parametrization of the rank-defect mixed-integer model (1).

Theorem 2

(Integer-Estimable Parametrization) Consider the mixed-integer model (1), with \(\textrm{rank}(B)=p\), \(\textrm{rank}[A,B]=q < n+p\), and let the admissible transformation \(Z=[Z_{1}, Z_{2}]\) provide the decomposition

$$\begin{aligned} B^{\perp T}A [Z_{1}, Z_{2}] = [L, 0],\;\;\textrm{rank}(B^{\perp T}A)=\textrm{rank}(L) \end{aligned}$$
(2)

Then the reparametrization

$$\begin{aligned} \left[ \begin{array}{c} z \\ b \end{array} \right] = \left[ \begin{array}{lc} \left[ \begin{array}{cc} Z_{1}, Z_{2} \end{array}\right] &{} 0 \\ \left[ \begin{array}{cc} 0 \;\;, -B^{+}AZ_{2} \end{array}\right]&I_{p} \end{array} \right] \left[ \begin{array}{c} \tilde{z}\\ \tilde{b} \end{array} \right] \end{aligned}$$
(3)

with \(B^{+}\) a left inverse of B, establishes the full-rank integer-estimable parametrization

$$\begin{aligned} Az+Bb = AZ_{1}\tilde{z}_{1}+B\tilde{b} \end{aligned}$$
(4)

in which, with \(\tilde{Z}^{T}=Z^{-1}\), the estimable parameters are given as

$$\begin{aligned} \tilde{z}_{1}= \tilde{Z}_{1}^{T}z \in \mathbb {Z}^{q-p}\;\;\textrm{and}\;\;\tilde{b}=b+ B^{+}AZ_{2}\tilde{z}_{2} \in \mathbb {R}^{p} \end{aligned}$$
(5)

and the inestimable parameters as \(\tilde{z}_{2}\!=\!\tilde{Z}_{2}^{T}\!z\! \in \! \mathbb {Z}^{n+\!p-q}\). \(\square \)

Note, when the rank deficiency of [AB] is confined to A, that \(AZ_{2}=0\) and \(\tilde{b}=b\). An example of such case where the rank deficiency is confined to A, is the short-baseline, double-differenced (DD) GLONASS FDMA model when parametrized in linear combinations of between-receiver integer ambiguities (Teunissen 2019). In general however, the rank deficiency involves both A and B, as a result of which the reparametrization affects the interpretation of the to-be-estimated real-valued parameters, i.e. \(\tilde{b} \ne b\). Such is, for instance, the case in the undifferenced forms of GNSS models (Odijk et al 2015).

2.2 Obtaining Z through integer sweeping

To be able to realize (2), we now describe a simple integer-sweeping algorithm (Teunissen 2019) for constructing an admissible \(Z=[Z_{1}, Z_{2}]\) that brings an arbitrary integer \(m \times n\) matrix M of \(\textrm{rank}(M)=q\) into the desired form,

$$\begin{aligned} MZ=[MZ_{1},0], \textrm{with}\;q=\textrm{rank}(M)=\textrm{rank}(MZ_{1}) \end{aligned}$$
(6)

The required operations to do so consist of adding or subtracting integer multiples of a column to another column and of reordering or sign-changing columns.

Let M be partitioned as \(M=[M_{1}^{T}, M_{2}^{T}]^{T}\), with \(M_{1} \in \mathbb {Z}^{q \times n}\) being of full row-rank q (such can always be found by a proper reordering of the rows of M). Then an admissible \(\mathcal {Z}' \in \mathbb {Z}^{n \times n}\) can be found that brings the first row of \(M_{1}\), \((M_{1})_{1}=(m_{11}, m_{12}, \ldots , m_{1n})\), in the form \((M_{1})_{1}\mathcal {Z}'=(m_{11}', 0 , \ldots , 0)\). The steps to achieve this are as follows: (1) assume that \(m_{11}\) is the in absolute value smallest non-zero entry of the row vector. If it is not, one can always re-order such that this becomes the case. Such re-ordering amounts to post-multiplying with a permutation matrix, which is admissible; (2) now subtract integer multiples of \(m_{11}\) from each of the other row entries \(m_{1i}\) \((i>1)\) such that the remaining part is in absolute value less than \(|m_{11}|\). Each of these subtractions is again achieved by post-multiplying with an admissible transformation; (3) the result of this integer sweeping is that either all entries, except the first, are zero, and thus the result is in the sought form, or there will be a non-zero entry that is smaller in absolute value than \(m_{11}\); (4) in the latter case, we continue by first bringing the in absolute value smallest entry to the first slot and then repeating with the integer sweeping. By repeating this process we finally obtain an admissible \(\mathcal {Z}'\) that transforms \(M_{1}\) as:

$$\begin{aligned} { M_{1} = \left[ \begin{array}{cccc} m_{11} &{} m_{12} &{} \ldots &{} m_{1n} \\ m_{21} &{} m_{22} &{} \ldots &{} m_{2n} \\ \vdots &{} \vdots &{} \vdots &{} \vdots \\ m_{q1} &{} m_{q2} &{} \ldots &{} m_{qn} \\ \end{array} \right] \Rightarrow M_{1} \mathcal {Z}' = \left[ \begin{array}{cccc} m_{11}' &{} 0 &{} \ldots &{} 0 \\ m_{21}' &{} m_{22}' &{} \ldots &{} m_{2n}' \\ \vdots &{} \vdots &{} \vdots &{} \vdots \\ m_{q1}' &{} m_{q2}' &{} \ldots &{} m_{qn}' \\ \end{array} \right] } \end{aligned}$$

The same process of integer sweeping can now be applied to the entries \((m_{22}', \ldots , m_{2n}')\) of the second row of \(M_{1} \mathcal {Z}'\). With the so obtained \(\mathcal {Z}''\), \(M_{1} \mathcal {Z}'\) transforms to

$$\begin{aligned} M_{1} \mathcal {Z}'\mathcal {Z}'' = \left[ \begin{array}{ccccc} m_{11}' &{} 0 &{} 0&{} \ldots &{} 0 \\ m_{21}' &{} m_{22}'' &{} 0 &{} \ldots &{} 0 \\ m_{31}' &{} m_{32}'' &{} m_{33}''&{} \ldots &{} m_{3n}'' \\ \vdots &{} \vdots &{} \vdots &{} \vdots &{} \vdots \\ m_{q1}' &{} m_{q2}'' &{} m_{q3}''&{} \ldots &{} m_{qn}'' \\ \end{array} \right] \end{aligned}$$

By executing this process q-times, an admissible transformation \(Z=\mathcal {Z}'\mathcal {Z}''\ldots \mathcal {Z}^{q}\) is found that transforms \(M_{1}\) into \(M_{1}Z=[L_{1}, 0]\), with \(q \times q\) full rank integer matrix \(M_{1}Z_{1}=L_{1}\) and \(M_{1}Z_{2}=0\). As \(M_{1}\) is of full row-rank, the rows of \(M_{2}\) are linear combinations of those of \(M_{1}\), i.e. \(M_{2}=XM_{1}\) for some matrix X. Hence, since \(M_{1}Z_{2}=0\), we also have \(M_{2}Z_{2}=0\), and therefore MZ is brought in the required form \(MZ=[L, 0]\), with \(L=[L_{1}^{T}, (M_{2}Z_{1})^{T}]^{T}\).

Note that the above constructed matrix \(L_{1}\) is lower-triangular. Hence, its determinant \(\textrm{det}(L_{1})\) is equal to the product of its diagonal entries. This property will be used in Sect. 6. One can also show that the above row wise integer sweeping produces on the diagonal of \(L_{1}\), plus or minus, the greatest common divisors (GCDs) of the row entries that undergo the integer sweeping. Thus \(m_{11}'\) is ±GCD of \(m_{11}, \ldots , m_{1n}\) and \(m_{22}''\) is ±GCD of \(m_{22}', \ldots , m_{2n}'\), etc. Also this property will be used in Sect. 6.

Also note, while Z of (6) is constructed by the above integer sweeping operations, one can also immediately, in parallel, construct its inverse \(Z^{-1}=\tilde{Z}^{T}\) very easily. This can be useful in various instances. In the context of Theorem 2, for instance, it allows one to quickly determine the interpretation of the integer-estimable parameters \(\tilde{z}_{1}\) and \(\tilde{b}\) of (5). It is also useful when a particular dual formulation of Theorem 2 is used.

Corollary 1

(Dual formulation) Let admissible transformation \(\tilde{Z}=[\tilde{Z}_{1}, \tilde{Z}_{2}]\) provide the decomposition

$$\begin{aligned} B^{T}A^{-T}[\tilde{Z}_{1}, \tilde{Z}_{2}]=[0, \tilde{L}],\;\textrm{rank}(B^{T}A^{-T})=\textrm{rank}(\tilde{L}) \end{aligned}$$
(7)

and let \(Z=[Z_{1}, Z_{2}]=\tilde{Z}^{-T}\). Then

$$\begin{aligned} Az+Bb=AZ_{1}\tilde{z}_{1}+B\tilde{b} \end{aligned}$$
(8)

is a full-rank reparametrization in the integer-estimable parameters \(\tilde{z}_{1}= \tilde{Z}_{1}^{T}z\) and \(\tilde{b}=b+ B^{+}AZ_{2}\tilde{z}_{2}\), with \(\tilde{z}_{2}=\tilde{Z}_{2}^{T}z\). \(\square \)

Proof

From (7) follows that \(\tilde{Z}_{1}\) is an integer basis matrix of \(\mathcal {R}(A^{T}B^{\perp })\) and that \(Z_{2}=A^{-1}B\tilde{L}^{-1}\). Hence, \(\tilde{z}_{1}=\tilde{Z}_{1}^{T}z\) is integer estimable and \(Az+Bb=AZ\tilde{z}+Bb= AZ_{1}\tilde{z}_{1}+B(b+\tilde{L}^{-1}\tilde{z}_{2})= AZ_{1}\tilde{z}_{1}+B(b+B^{+}AZ_{2}\tilde{z}_{2})=AZ_{1}\tilde{z}_{1}+B\tilde{b}\). \(\square \)

The potential advantage of this dual formulation is, if \(A^{-1}\) exists and is easy to obtain, that one can directly work with B instead of with \(B^{\perp }\). Although one does not obtain the design matrix \(Z_{1}\) of \(\tilde{z}_{1}\) directly with (7), as is the case with (2), the construction of \(Z = \tilde{Z}^{-T}\) is easily accommodated by means of the integer sweeping operations that produce \(\tilde{Z}\) from (7). Note that the so constructed Z is generally not identical to the one constructed from (2). This is due to the inherent non-uniqueness that is present in decompositions like (2) and (7), e.g. post-multiplying (2) with an arbitrary, but properly dimensioned, lower-block diagonal admissible transformation will not change the form of the decomposition.

Fig. 1
figure 1

MATLAB pseudocode for computing admissible integer transformations Z and \(\tilde{Z}=Z^{-T}\), satisfying \(M Z=[L,0]\) with \(\textrm{rank}(L)=\textrm{rank}(M)\)

A MATLAB pseudocode of the integer-sweeping algorithm is presented in Fig. 1. This pseudocode identifies the rank of the input matrix \(M\in \mathbb {Z}^{m\times n}\) without interchanging its rows, and delivers the admissible transformations \(Z\in \mathbb {Z}^{n\times n}\) and \(\tilde{Z}=Z^{-T}\) so as to satisfy (6). To reparametrize the rank-defect mixed-integer model (1) to its full-rank version (8), the input matrix may take the form of either \(M=B^{\perp T}A\) or \(M=B^TA^{-T}\). Depending on which form is taken, the roles of the output matrices Z and \(\tilde{Z}\) are interchanged. To see the integer sweeping algorithm at work, a few GNSS examples are numerically worked out in Appendix.

Finally we mention that there are also other, more stringent, decompositions than (6) that can be used. As (6) is not unique (i.e. postmultiplication with any admissible Z gives the same form, but with a different \(MZ_{1}\)), these alternative more stringent decompositions impose additional constraints so as to come up with a unique form. Two such decompositions are the Hermite normal form (HNF) and the Smith normal form (SNF) (Nemhauser and Wolsey 1988; Schrijver 1998). For a matrix M with full row rank q, its HNF is given as \(MZ_{H}=[H, 0]\), where H is the unique lower triangular matrix, having integer entries satisfying \(0 \le H_{ij} < H_{ii}\) if \(j < i\). Further structure can be imposed on the decomposition if, next to the post-multiplication, also a pre-multiplication with an admissible transformation is applied. So one can obtain the SNF of an integer matrix M of rank q as \(Z_{S_{1}}^{T}MZ_{S_{2}}=[S, 0]\), where \(S=[D, 0]^{T}\), with the unique \(q \times q\) diagonal matrix D having integer entries \(D_{ii}=d_{i}(M)/d_{i+1}(M)\), where \(d_{i}(M)\) is the GCD of the determinants of all \(i \times i\) minors of matrix M and \(d_{0}(M)=1\). The first use of the HNF for solving rank-defect ILS problems was given in Teunissen and Odijk (2003). Later use of the HNF can be found in Khodabandeh and Teunissen (2019); Tagliaferro (2021).

3 Network integer-estimable parametrization

The two building blocks of PPP–RTK are the observation equations of the network and those of the user. The structure of their undifferenced carrier-phase and pseudorange equations for a receiver r tracking transmitter s on its frequency j, is given as Leick et al (2015)

$$\begin{aligned} \begin{array}{lcl} &{}&{}\textsf{E}(\phi _{r,j}^{s}) = \lambda _{j}^{s}z_{r,j}^{s} + (\delta _{r, j}-\delta _{j}^{s})-\iota _{r, j}^{s}+\rho _{r}^{s} \\ &{}&{}\textsf{E}(p_{r,j}^{s}) = \;\;\;\;\;\;\;\;\;\;\;\;\;(d_{r, j}-d_{j}^{s})+\iota _{r, j}^{s}+\rho _{r}^{s} \end{array} \end{aligned}$$
(9)

with \(\phi _{r,j}^{s}\) and \(p_{r, j}^{s}\) the phase and pseudorange (code) observable, \(\lambda _{j}^{s}\) the known transmitter-dependent wavelength of frequency \(f_{j}^{s}=c/\lambda _{j}^{s}\) (with c the speed of light in vacuum), \(z_{r,j}^{s}\) the unknown integer carrier-phase ambiguity, \(\delta _{r, j}, d_{r,j}\) and \(\delta _{j}^{s}, d_{j}^{s}\) the unknown receiver and transmitter phase and code delays, \(\iota _{r, j}^{s}\), when applicable, the unknown frequency dependent ionospheric delay, and \(\rho _{r}^{s}\) the unknown non-dispersive delays, constituting the receiver-transmitter range, the receiver and transmitter clock terms, and when applicable, the tropospheric delay. Here and in the following, potential code-specific mismodelled effects such as inter-channel biases are assumed absent or a-priori calibrated (see e.g. (Wanninger and Wallstab-Freitag 2007; Sleewaegen et al 2012; Banville et al 2018)).

The purpose of the network is to provide network-estimated transmitter phase biases to the user so as to enable the user to perform integer ambiguity resolution. As both the network and the user systems of undifferenced observation equations are rank defect, a careful integer-estimable parametrization of both is required, together with a proper understanding of their interplay. In this section, we start with the network first and apply the theory of the previous section to the network equations as given in (9). To establish its integer-estimable parametrization, we only need to consider a part of the observation equations, namely the part that contains the undifferenced integer ambiguities and the receiver- and transmitter phase delays,

$$\begin{aligned} \begin{array}{lcl} \alpha _{r,j}^{s} &{}=&{} \lambda _{j}^{s}z_{r,j}^{s} + (\delta _{r, j}-\delta _{,j}^{s}) \\ \end{array} \end{aligned}$$
(10)

The reason why this is permitted follows from Theorem 1, which implies that integer-estimable functions of a more relaxed model can always be written as linear combinations of the integer-estimable functions of the constrained model. To see this, consider \(\textsf{E}(y)=Az+B_{1}b_{1}+B_{2}b_{2}\) as the relaxed model and \(\textsf{E}(y)=Az+B_{1}b_{1}\) as the constrained model. For \(\tilde{z}=F^{T}z\) now to be estimable, we must have \(F=A^{T}(B_{1},B_{2})^{\perp }Y\) for some Y. Since the column vectors of basis matrix \((B_{1},B_{2})^{\perp }\) can be written as linear combinations of those of basis matrix \(B_{1}^{\perp }\), i.e. \((B_{1},B_{2})^{\perp }=B_{1}^{\perp }V\) for some matrix V, it follows that \(F=A^{T}B_{1}^{\perp }VY\), which indeed are combinations of the estimable functions under the constrained version \(\textsf{E}(y)=Az+B_{1}b_{1}\). Due to this property we can confine our attention to (10). A further recovery of integer estimability would then only be needed if an addition of parameters would result in a change of the design matrix null space involving the integer ambiguities, see also Theorem 4 of Teunissen (2019) and its examples how to do so. This would be needed for instance, when in case of an absence of pseudoranges, phase-only estimation is conducted over long baselines due to the presence of the ionospheric delays.

As we will be working per frequency band, we suppress the frequency-index j from now on and with \(a_{r}^{s}=\alpha _{r}^{s}/\lambda ^{s}\) and \(f^{s}=c/\lambda ^{s}\), express (10) in cycles as

$$\begin{aligned} a_{r}^{s} = z_{r}^{s} + f^{s}(\delta _{r}/c-\delta ^{s}/c) \end{aligned}$$
(11)

We assume the transmitter frequencies \(f^{s}\), \(s=1, \ldots , {{\text {S}}}\), to be integer multiples of a reference frequency \(f_{0}\),

$$\begin{aligned} f^{s}=r^{s}f_{0},\;\;\;r^{s} \in \mathbb {Z},\;\;s=1, \ldots , \text {S} \end{aligned}$$
(12)

Note, in case the ratios \(r^{s}\) would be rational numbers that an appropriate scaling of \(f_{0}\) and the \(r^{s}\)’s will recover a relation like (12) again. A prime example of (12) is the set of frequencies under which GLONASS FDMA operates, the ratios of which are currently given by

$$\begin{aligned} r^s=2848+\kappa ^s,\; \kappa ^s \in [-7,+6] \end{aligned}$$
(13)

with \(f_{0}=9/16\) MHz and \(f_{0}=7/16\) MHz for the L1 and L2 bands, respectively (Revnivykh et al 2017; Teunissen 2019). Substitution of (12) into (11) gives

$$\begin{aligned} a_{r}^{s} = z_{r}^{s} + r^{s}(\bar{\delta }_{r}-\bar{\delta }^{s}) \end{aligned}$$
(14)

with \(\bar{\delta }_{r}= f_{0} \delta _{r}/c\) and \(\bar{\delta }^{s}=f_{0} \delta ^{s}/c\). This is the parametrization that will be predominantly used in the following. Occasionally however, in particular in the examples and in some of the proofs, we will parametrize the transmitter phase delays as \(\bar{\bar{\delta }}^{s}=r^{s}\bar{\delta }^{s}\), so as to have the entries of the corresponding design matrix consist of only 0 and \(-1\). Then we will also assume, with \(\varOmega _{r}\) being the index-set of the transmitters tracked by receiver r, that the greatest common divisor (GCD) of the receiver-specific ratios \(r^{s}\), \(s \in \varOmega _{r} \subset \{1, \ldots , \text {S}\}\), is equal to 1 for every receiver. This is achieved by dividing the ratios with their GCDs and using the GCD-scaled receiver phase bias as the reparametrized receiver phase bias.

Having a network of R receivers (\(r=1, \ldots , { {\text {R}}}\)) and S transmitters (\(s=1, \ldots , {{\text {S}}}\)), one can bring (14) in vector-matrix form as

$$\begin{aligned} a = z +R \bar{P}'\bar{d} \end{aligned}$$
(15)

with z the vector of undifferenced integer ambiguities, R the diagonal matrix containing the \(r^{s}\)’s, \(\bar{P}'\) the matrix of 0’s and \(\pm 1\)’s describing the connectivity of receivers and transmitters, and \(\bar{d}=[\bar{d}_{{\tiny {\hbox {R}}}}^{T}, \bar{d}^{{{\tiny {\hbox {S}}}} T}]^{T}\) with \(\bar{d}_{{\tiny {\hbox {R}}}}=[\bar{\delta }_{1}, \ldots , \bar{\delta }_{{\tiny {\hbox {R}}}}]^{T}\) and \(\bar{d}^{{\tiny {\hbox {S}}}}=[\bar{\delta }^{1}, \ldots , \bar{\delta }^{{\tiny {\hbox {S}}}}]^{T}\).

Matrix \(\bar{P}'\) is known as the incidence matrix of the tracking network (Khodabandeh and Teunissen 2019). In the special case that all receivers track all transmitters, the incidence matrix is given as

$$\begin{aligned} \bar{P}'= [I_{{\tiny {\hbox {R}}}} \otimes e_{{\tiny {\hbox {S}}}}, -e_{{\tiny {\hbox {R}}}} \otimes I_{{\tiny {\hbox {S}}}}] \end{aligned}$$
(16)

and the R-matrix as \(R=I_{{\tiny {\hbox {R}}}} \otimes R_{{\tiny {\hbox {S}}}}\), with \(R_{{\tiny {\hbox {S}}}}=\textrm{diag}(r^{1}, \ldots , r^{{\tiny {\hbox {S}}}})\), thus giving \(R\bar{P}'=[I_{{\tiny {\hbox {R}}}} \otimes R_{{\tiny {\hbox {S}}}}e_{{\tiny {\hbox {S}}}}, -e_{{\tiny {\hbox {R}}}} \otimes R_{{\tiny {\hbox {S}}}}]\).

As the incidence matrix \(\bar{P}'\) of a connected graph has a rank defect of 1 (all its columns add up to zero), we eliminate this single rank deficiency by lumping the first receiver phase delay \(\bar{\delta }_{1}\) with all other phase delays, thus giving \(\bar{P}'\bar{d}=P'd\), with \(d=[d_{{\tiny {\hbox {R}}}}^{T}, d^{{{\tiny {\hbox {S}}}}T}]^{T}\), \(d_{{{\tiny {\hbox {R}}}}}=[\bar{\delta }_{2}-\bar{\delta }_{1}, \ldots , \bar{\delta }_{{\tiny {\hbox {R}}}}-\bar{\delta }_{1}]^{T}\), \(d^{{\tiny {\hbox {S}}}}=[\bar{\delta }^{1}-\bar{\delta }_{1}, \ldots , \bar{\delta }^{{\tiny {\hbox {S}}}}-\bar{\delta }_{1}]^{T}\). Matrix \(P'\) is known as a reduced incidence matrix and it follows from the incidence matrix by eliminating one of its columns (in the present case its first column).

As an incidence matrix has different reduced incidence matrices, depending on which column is eliminated, it is relevant to know how the reduced incidence matrices transform.

Lemma 1

(Reduced incidence transformation) Let \(\bar{P}' \in \mathbb {Z}^{m \times n}\) be an incidence matrix and let \(P_{(i)}'\) be the reduced incidence matrix obtained by eliminating the ith column from \(\bar{P}'\). Then transformation \(\mathcal {T}\) of \(P_{(j)}'=P_{(i)}'\mathcal {T}\) and its inverse are given as

$$\begin{aligned} \begin{array}{lcl} \mathcal {T}&{}=&{}V_{i}^{T}S_{j} \in \mathbb {Z}^{(n-1)\times (n-1)}\\ \mathcal {T}^{-1}&{}=&{}V_{j}^{T}S_{i} \in \mathbb {Z}^{(n-1) \times (n-1)} \end{array} \end{aligned}$$
(17)

where

$$\begin{aligned} \begin{array}{l} \underset{(n-1) \times n}{V_{i}^{T}}= \left[ \begin{array}{ccc} I_{i-1} &{} -e_{i-1} &{} 0\\ 0 &{} -e_{n-i} &{} I_{n-i} \end{array} \right] , \;\textrm{and}\\ \underset{(n-1) \times n}{S_{j}^{T}}= \left[ \begin{array}{ccc} I_{j-1} &{} 0 &{} 0\\ 0 &{} 0 &{} I_{n-j} \end{array} \right] \end{array} \end{aligned}$$
(18)

\(\square \)

Proof

For proof, see Appendix.

As both \(\mathcal {T}\) and its inverse are integer, we have \(\textrm{det}(\mathcal {T})=\pm 1\) (Teunissen 1995). This property will be used in Sect. 6. In the following we will refrain from indicating which column has been eliminated and simply write \(P'\) for the reduced incidence matrix.

Using the reduced incidence matrix, (15) can be written as

$$\begin{aligned} a= z +P d,\;\textrm{with}\;P=RP' \end{aligned}$$
(19)

in which the integer matrix P is of full column rank, . With (19), we are now in a position to directly apply Theorem 2 and Corollary 1, thereby letting the identity matrix play the role of A and P the role of B. The results are summarized below.

Corollary 2

(Network integer estimability) Let \(P=RP' \in \mathbb {Z}^{n \times ({{\textrm{R}+\textrm{S}}}-1)}\) (\(n \le \) RS), with \(P'\) the network’s reduced incidence matrix and R the diagonal matrix of integers , . Then a full-rank integer-estimable parametrization of \(a=z+Pd\) is

$$\begin{aligned} a = Z_{1}\tilde{z}_{1}+P\tilde{d} \end{aligned}$$
(20)

with \(Z_{1}\) either computed from

(21)

or from

(22)

with \(\zeta = \prod _{s=1}^{_{{\textrm{S}}}}r^{s}\) and \(P'=[P^{'T}_{1}, P^{'T}_{2}]^{T}\). The estimable parameters are

$$\begin{aligned} \tilde{z}_{1}= \tilde{Z}_{1}^{T}z\;\textrm{and}\;\tilde{d}= d+P^{+}Z_{2}\tilde{z}_{2} \end{aligned}$$
(23)

with \(\tilde{z}_{2}=\tilde{Z}_{2}^{T}z\). \(\square \)

Note that matrix \(P^{\perp }\) of (22) is by construction indeed an integer basis matrix of \(\mathcal {R}(P)^{\perp }\). The scalar \(\zeta \) ensures the integerness of \(\zeta R^{-1}\) and since \(P'\) is a reduced incidence matrix, also the integerness of \(P'_{2}(P'_{1})^{-1}\) is ensured. The latter is a consequence of the fact that any invertible submatrix of a reduced incidence matrix is integer (Wilson 1996). With (22), one thus only has to order the rows of the reduced incidence matrix such that the first \({\text {{R}}}+{\text {{S}}}-1\) are independent. As shown in Khodabandeh and Teunissen (2019) this is equivalent to identifying the edges of a spanning tree of the network’s ambiguity graph.

Also note, when (19) is premultiplied with \(\tilde{Z}^{T}\), we obtain, with , \(\tilde{Z}_{1}^{T}P=0\) and \(\tilde{Z}_{2}^{T}P=\tilde{L}^{T}\) (cf. 21),

$$\begin{aligned} \tilde{Z}^{T}a= \left[ \begin{array}{c} \tilde{z}_{1}\\ \tilde{z}_{2}+\tilde{L}^{T}d \end{array} \right] \end{aligned}$$
(24)

thus clearly showing that one cannot estimate \(\tilde{z}_{2}\) and d separately, but only in the lumped form \(\tilde{z}_{2}+\tilde{L}^{T}d\).

Fig. 2
figure 2

An ambiguity graph in which two receivers (triangles) track three satellites (squares). Each solid line indicates whether transmitter s is tracked by receiver r. The dashed line indicates that receiver \(r=1\) does not track transmitter \(s=3\)

Finally we remark, when the integer sweeping algorithm of Sect. 2.2 would be applied to \(P^{T}\) (i.e. \(M=P^{T}\)), a decomposition of the form \(P^{T}[\tilde{Z}_{2}, \tilde{Z}_{1}]=[\tilde{L},0]\) is obtained. Hence, to then obtain the decomposition of (21), still the first \({\text {{R}}}+{\text {{S}}}-1\) columns need to be swapped with the last \(({\text {{R}}}-1)({\text {{S}}}-1)\) columns.

The following two examples show Corollary 2 at work using the integer sweeping algorithm of Fig. 1.

Example 1

(GLONASS FDMA integer estimability): Consider the receiver-transmitter configuration of Fig. 2, whereby two GNSS receivers \(r=1,2\) track three GLONASS FDMA satellites \(s=1,2,3\). The corresponding transmitter-dependent frequencies \(f^s = r^{s}f_{0}\) are characterized as

$$\begin{aligned} r^s=2848+\kappa ^s,\; \kappa ^s \in [-7,+6] \end{aligned}$$
(25)

where \(f_{0}=9/16\) MHz and \(f_{0}=7/16\) MHz for L1 and L2 bands, respectively (Teunissen 2019). In this example, the frequency channel numbers of transmitters \(s=1,2,3\) are assumed to be \(\kappa ^1=+1\), \(\kappa ^2=-4\) and \(\kappa ^3=-7\). Thus for (19) we get

$$\begin{aligned} { \underbrace{\left[ \begin{array}{c} a_{1}^1\\ a_{1}^2\\ a_{2}^1\\ a_{2}^2\\ a_{2}^3 \end{array}\right] }_a=\underbrace{\left[ \begin{array}{c} z_{1}^1\\ z_{1}^2\\ z_{2}^1\\ z_{2}^2\\ z_{2}^3\end{array}\right] }_{z} +\underbrace{\left[ \begin{array}{cccc} 0 &{} -1 &{} 0 &{} 0\\ 0 &{} 0 &{} -1 &{} 0\\ +2849 &{} -1 &{} 0 &{} 0\\ +2844 &{} 0 &{} -1 &{} 0\\ +2841 &{} 0 &{} 0 &{} -1 \end{array}\right] }_{P} \underbrace{\left[ \begin{array}{c} \bar{\delta }_{2}-\bar{\delta }_{1}\\ 2849(\bar{\delta }^1-\bar{\delta }_{1})\\ 2844(\bar{\delta }^2-\bar{\delta }_{1})\\ 2841(\bar{\delta }^3-\bar{\delta }_{1}) \end{array}\right] }_{d} }\nonumber \\ \end{aligned}$$
(26)

Inserting \(M=P^T\) as input, the integer-sweeping algorithm (Fig. 1) returns the sought-for admissible transformations Z and \(\tilde{Z}\) as follows

(27)

with

figure a

Substitution into (20) gives the full-rank integer-estimable parametrization \(a=Z_{1}{\tilde{z}}_{1}+P{\tilde{d}}\), with

$$\begin{aligned} Z_{1}=[0,0,2279,2275,2273]^{T} \end{aligned}$$
(28)

for which the interpretation of the estimable parameters follows from (5) (role of b replaced by d) as

$$\begin{aligned} \begin{array}{lcl} {\tilde{z}}_{1} &{}=&{} +2844z_{12}^{1}-2849z_{12}^{2},\\ \underbrace{\left[ \begin{array}{c} {\tilde{\delta }}_{2}\\ {\tilde{\delta }}^{1}\\ {\tilde{\delta }}^{2}\\ {\tilde{\delta }}^{3} \end{array}\right] }_{\tilde{d}} &{}=&{} \underbrace{\left[ \begin{array}{c} {\bar{\delta }}_{2}-{\bar{\delta }}_{1}\\ {\bar{\delta }}^{1}-{\bar{\delta }}_{1}\\ {\bar{\delta }}^{2}-{\bar{\delta }}_{1}\\ {\bar{\delta }}^{3}-{\bar{\delta }}_{1} \end{array}\right] }_{d}+D\underbrace{\left[ \begin{array}{c} 2279z_{12}^{2}-2275z_{12}^{1}\\ z_{1}^{1}\\ z_{1}^{2}\\ z_{2}^{3}-1137z_{12}^{1}+1138z_{12}^{2} \end{array}\right] }_{P^{+}Z_{2}{\tilde{z}}_{2}} \end{array}\nonumber \\ \end{aligned}$$
(29)

with \(D=\textrm{diag}(1, \tfrac{-1}{2849}, \tfrac{-1}{2844}, \tfrac{-1}{2841})\) and in which use is made of the between-receiver difference notation \((\cdot )_{12}=(\cdot )_{2}-(\cdot )_{1}\). Note that the first expression of (29) shows that the integer-estimable function of the GLONASS FDMA ambiguities is not of the usual double-differenced form one is so familiar with from CDMA-GNSS.

When matrix M of the integer sweeping algorithm is chosen as \(M=P^{\bot T}\), with

$$\begin{aligned} P^{\bot T}\!=\![-2844,~2849,~2844,-2849,~0], \end{aligned}$$
(30)

the algorithm identifies, apart from a change in sign, the same integer-estimable function \(\tilde{z}_1\), but with a different parametrized model. This follows from the corresponding output admissible transformations Z and \(\tilde{Z}\):

figure b

with

figure c

\(\square \)

Fig. 3
figure 3

The ambiguity graph of an LTE network in which three receivers (triangles) track four transmitter (squares). Each solid line indicates whether transmitter s is tracked by receiver r. The dashed lines indicate missing connections

Example 2

(LTE network): As with the GLONASS FDMA case, the cellular long-term evolution (LTE) nodes also transmit frequency-varying carrier-phase signals (Shamaei and Kassas 2019). In this example, we show how one can form the integer-estimable functions of such carrier-phase measurements. Figure 3 shows the configuration of an LTE network having three receivers \(r=1,2,3\) and four transmitters \(s=1,2,3,4\). As shown in the figure, not all the receiver-transmitter connections are established. The transmitters’ frequencies are related as \(f^s=r^sf_0\), where \(f_0=1\) MHz, \(r^1=2145\), \(r^2=739\), \(r^3=2125\) and \(r^4=1955\). Considering the connectivity of the network, the ambiguity equations (19) are

$$\begin{aligned}{} & {} \underbrace{\left[ \begin{array}{c} a_{1}^1\\ a_{1}^2\\ a_{1}^3\\ a_{2}^3\\ a_{2}^4\\ a_{3}^1\\ a_{3}^3\\ a_{3}^4 \end{array}\right] }_a=\underbrace{\left[ \begin{array}{c} z_{1}^1\\ z_{1}^2\\ z_{1}^3\\ z_{2}^3\\ z_{2}^4\\ z_{3}^1\\ z_{3}^3\\ z_{3}^4 \end{array}\right] }_{z}\nonumber \\{} & {} \quad +\underbrace{\left[ \begin{array}{cccccc} 0 &{} 0 &{} -1 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} -1 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 0 &{} -1 &{} 0\\ +2125 &{} 0 &{} 0 &{} 0 &{} -1 &{} 0\\ +1955 &{} 0 &{} 0 &{} 0 &{} 0 &{} -1\\ 0 &{} +2145 &{} -1 &{} 0 &{} 0 &{} 0\\ 0 &{} +2125 &{} 0 &{} 0 &{} -1 &{} 0\\ 0 &{} +1955 &{} 0 &{} 0 &{} 0 &{} -1 \end{array}\right] }_{P} \underbrace{\left[ \begin{array}{c} \bar{\delta }_{2}-\bar{\delta }_{1}\\ \bar{\delta }_{3}-\bar{\delta }_{1}\\ 2145(\bar{\delta }^1-\bar{\delta }_{1})\\ 739(\bar{\delta }^2-\bar{\delta }_{1})\\ 2125(\bar{\delta }^3-\bar{\delta }_{1})\\ 1955(\bar{\delta }^4-\bar{\delta }_{1}) \end{array}\right] }_{d}\nonumber \\ \end{aligned}$$
(31)

While one can use the first form \(M=P^T\) to obtain the required admissible transformations, here we use the second form \(M=P^{\bot T}\) with

$$\begin{aligned} {\begin{array}{l} P^{\bot T}\!=\!\left[ \begin{array}{cccccccc}-9775 &{} 0 &{} 9867 &{} 0 &{} 0 &{} 9775 &{} -9867 &{} 0\\ -9775 &{} 0 &{} 9867 &{} -9867 &{} 10725 &{} 9775 &{} 0 &{} -10725\end{array}\right] \end{array} }\nonumber \\ \end{aligned}$$
(32)

as in this case the input matrix to the integer sweeping algorithm has only two rows. The corresponding admissible transformations are computed as

figure d

with

figure e

Substitution into (20) gives the full-rank integer-estimable reparametrization \(a=Z_{1}\tilde{z}_{1}+P\tilde{d}\). The corresponding integer-estimable ambiguity vector follows from \(\tilde{z}_1=\tilde{Z}_1^Tz\) as

$$\begin{aligned} {\tilde{z}_1 = \left[ \begin{array}{c}-425z_{13}^1+429z_{13}^3\\ +1026375z_{13}^1-1036035z_{13}^3+25z_{23}^4+23z_{2}^3\end{array}\right] } \end{aligned}$$
(33)

in which use is made of the between-receiver difference notation \((\cdot )_{12}=(\cdot )_{2}-(\cdot )_{1}\). Likewise, the interpretation of the estimable biases follows from \(\tilde{d} = d+ P^{+}Z_{2}\tilde{Z}_{2}^Tz\).

Although integer-estimable functions of the LTE phase ambiguities can be formed, one should note that successful resolution of the corresponding float solutions depends on the underlying measurements’ precision. For instance, the rather large coefficients in (33) indicate that the precision of the float solution \({\hat{\tilde{z}}}_{1}\) can be six orders of magnitude worse than that of the LTE phase measurements. Assuming that the model’s undifferenced phase measurements are independent and equally precise and that no other than the phase ambiguities and biases are present in the model as unknown, the LAMBDA-transformed version of (33) reads

$$\begin{aligned} {{\mathcal {Z}}^{T} {\tilde{z}}_{1} = \left[ \begin{array}{c}-425z_{13}^{1}+100z_{23}^{4}+337z_{13}^{3}+92z_{12}^{3}\\ -23z_{23}^{3}+25z_{23}^{4}\end{array}\right] } \end{aligned}$$
(34)

with the decorrelating transformation

$$\begin{aligned} {\mathcal {Z}}^{T} =\left[ \begin{array}{cc} 9661 &{} 4\\ 2415 &{} 1\end{array}\right] \end{aligned}$$
(35)

While the float solution of the first entry in (34) is still not at the precision level to successfully realize full ambiguity resolution, the second entry is just an order of magnitude less precise than the phase measurements, meaning that partial ambiguity resolution can be possible as with the GLONASS-FDMA scenario (Teunissen and Khodabandeh 2019). \(\square \)

4 PPP–RTK: network + user

In the previous section, we have seen how for a general network with varying transmitter frequencies its rank-defect carrier-phase system of equations could be reparametrized into a full-rank system with integer-estimable parameters. In the current section, we extend this analysis to the PPP–RTK network + user scenario. Therefore, instead of starting from (19), we start from the network + user system

$$\begin{aligned} \left[ \begin{array}{c} a \\ a_{u} \end{array} \right] = \left[ \begin{array}{c} z \\ z_{u} \end{array} \right] + \underbrace{ \left[ \begin{array}{cc} P &{} 0 \\ P_{u} &{} Q_{u} \end{array} \right] }_{\mathcal {P} } \left[ \begin{array}{c} d \\ d_{u} \end{array} \right] \end{aligned}$$
(36)

with \(z_{u} \in \mathbb {Z}^{u}\) the user integer ambiguity vector, \(P_{u} \in \mathbb {Z}^{u \times p}\) \((p={\text {{R+S}}}-1)\) the user-network connectivity matrix, structured as \(P_{u}=[0, P_{u}^{{\tiny {\hbox {S}}}}]\), since the user has no receiver parameters in common with the network, and matrix \(Q_{u} \in \mathbb {Z}^{u \times q}\) establishing the user-unique connectivity to the phase delays. Ordinarily, as a single receiver user will have a single receiver phase delay, q will be equal to one and \(d_{u, {{\tiny {\hbox {R}}}}}\) given by the single scalar \(d_{u, {{\tiny {\hbox {R}}}}}= \bar{\delta }_{u}-\bar{\delta }_{1}\), with \(Q_{u}=R_{u}e_{u}\), in which \(e_{u}\) is the u-vector of ones and \(R_{u}\) is the diagonal matrix that has the user frequency ratios \(r^{s}=f^{s}/f_{0}\) on its diagonal. However, for reasons that will become clear in Sect. 6, we will keep the option open for q to be larger than one as well.

4.1 Admissible network + user \(\mathcal {Z}\)-transformations

Recognizing that (36) represents an enlarged network system, with matrix \(\mathcal {P} \in \mathbb {Z}^{(n+u) \times (p+q)}\) () playing the role that P played in the reference network, one may perhaps think in first instance to apply Corollary 2 directly so as to achieve integer estimability in all its parameters. This is however not warranted in the context of PPP–RTK. To make PPP–RTK work, one has to let go of the freedom that the only conditions the admissible ambiguity transformations have to fulfill are the integerness of the transformations and their inverses. For PPP–RTK to work, two additional conditions need to be fulfilled.

Firstly, when reparametrizing the network + user ambiguities, the network ambiguities cannot become functions of the reparametrized user ambiguities. Thus to avoid that the network equations become dependent on user parameters, z cannot be made dependent on the reparametrized user ambiguity vector \(\tilde{z}_{u}\). This condition implies that the ambiguity reparametrization of (36) can only be done by means of a lower block-diagonal matrix. Secondly, the user ambiguities should not become functions of the integer-estimable network ambiguities. Thus to avoid that the user, next to the integer-estimable network-determined phase delays, would also need network-determined ambiguities, \(z_{u}\) should not be made dependent on the integer-estimable network ambiguity vector \(\tilde{z}_{1}\). This second condition implies a special structure for the lower block in the ambiguity transformation.

It follows, when taking the above two conditions together, that the reparametrizing transformation of the network + user ambiguities has to be of the form

$$\begin{aligned} \left[ \begin{array}{c} z \\ z_{u} \end{array} \right] = \left[ \begin{array}{cc} Z &{} \;0 \\ \left[ \begin{array}{cc}0,&{} X_{u} \end{array}\right]&\;Z_{u} \end{array} \right] \left[ \begin{array}{c} \tilde{z} \\ \tilde{z}_{u} \end{array} \right] \end{aligned}$$
(37)

This required structure thus puts a constraint on the class of admissible ambiguity transformations that one can use to establish integer-estimability for the network + user system (36). As shown in Teunissen (1995), the lower block-diagonal transformation (37) is admissible if and only if both Z and \(Z_{u}\) are admissible, and the \(u \times p\) matrix \(X_{u}\) is integer. We will refer to transformations of type (37) as the class of admissible PPP–RTK ambiguity transformations.

4.2 The PPP–RTK integer-estimability conditions

We will now investigate whether the structure of (37) puts any constraints on the entries of the integer matrix \(\mathcal {P}\) of (36). For that purpose, we use \(Z=[Z_{1}, Z_{2}]\) and \(Z_{u}=[Z_{u1}, Z_{u2}]\), to write (37) as

$$\begin{aligned} \begin{array}{lcl} \left[ \begin{array}{c} z \\ z_{u} \end{array} \right] &{}=&{} \underbrace{ \left[ \begin{array}{cc} Z_{1} &{} \;0 \\ 0 &{} \;Z_{u1} \end{array} \right] }_{\mathcal {Z}_{1}} \left[ \begin{array}{c} \tilde{z}_{1} \\ \tilde{z}_{u1} \end{array} \right] + \underbrace{ \left[ \begin{array}{cc} Z_{2} &{} \;0 \\ X_{u} &{} \;Z_{u2} \end{array} \right] }_{\mathcal {Z}_{2}} \left[ \begin{array}{c} \tilde{z}_{2} \\ \tilde{z}_{u2} \end{array} \right] \end{array} \end{aligned}$$
(38)

in which \(\mathcal {Z}=[\mathcal {Z}_{1}, \mathcal {Z}_{2}]\) has been partitioned to accomodate the integer-estimable ambiguity vector \([\tilde{z}_{1}^{T}, \tilde{z}_{u1}^{T}]^{T}\) and the integer-inestimable ambiguity vector \([\tilde{z}_{2}^{T}, \tilde{z}_{u2}^{T}]^{T}\). The conditions that the entries of \(\mathcal {Z}\) have to obey will then follow from an equivalent decomposition to (22), namely

$$\begin{aligned} \mathcal {P}^{\perp T}[\mathcal {Z}_{1}, \mathcal {Z}_{2}]=[\mathcal {L}, 0], \;\textrm{rank}(\mathcal {L})=(n+u)-(p+q)\nonumber \\ \end{aligned}$$
(39)

in which \(\mathcal {P}^{\perp }\) is an integer basis matrix of \(\mathcal {R}(\mathcal {P})^{\perp }\). Based on the theory of Sect. 2, we know that one can always find an admissible \(\mathcal {Z}\) that satisfies (39). The question is now however whether this is still the case for admissible \(\mathcal {Z}\) that are constrained to the form given by (38). As we will see, this is not necessarily so.

To work condition (39) out, we need an expression for the integer matrix \(\mathcal {P}^{\perp }\). As \(\mathcal {P}\) is itself integer, such matrix can always be found, a representation of which is given by

$$\begin{aligned} \mathcal {P}^{\perp }= \left[ \begin{array}{cc} P^{\perp T} &{} 0 \\ -Q_{u}^{\perp T}P_{u}P^{+} &{} Q_{u}^{\perp T} \end{array} \right] ^{T} \varOmega \end{aligned}$$
(40)

with \(P^{\perp T}\), \(Q_{u}^{\perp T}\), and \(P_{u}\) all integer, but \(P^{+}\) not necessarily integer, and invertible \(\varOmega \) such that \(\mathcal {P}^{\perp }\) is integer.

As the crucial part of (39) is the need of \(\mathcal {Z}_{2}\) to form an integer basis matrix of the null space of \(\mathcal {P}^{\perp T}\), it is the requirement \(\mathcal {P}^{\perp T}\mathcal {Z}_{2}=0\) that needs checking. From (38), (39) and (40) it follows, when \(\mathcal {P}^{\perp T}\mathcal {Z}_{2}=0\) is written out, that

$$\begin{aligned} \begin{array}{ll} 1. &{}\; P^{\perp T}Z_{2}=0\\ 2. &{}\; Q_{u}^{\perp T} Z_{u2}=0\\ 3. &{}\; Q_{u}^{\perp T}[X_{u}-P_{u}P^{+}Z_{2}]=0 \end{array} \end{aligned}$$
(41)

These are the conditions that the entries of the admissible \(\mathcal {Z}=[\mathcal {Z}_{1}, \mathcal {Z}_{2}]\) have to fulfill in order for it to be an admissible PPP–RTK ambiguity transformation. The first two conditions of (41) can always be met by constructing admissible \(Z=[Z_{1}, Z_{2}]\) and \(Z_{u}=[Z_{u1}, Z_{u2}]\) satisfying

$$\begin{aligned} \begin{array}{l} P^{\perp T}[Z_{1}, Z_{2}]=[L,0], \;\textrm{rank}(L)=n-p\\ Q_{u}^{\perp T}[Z_{u1}, Z_{u2}]=[L_{u},0], \;\textrm{rank}(L_{u})=u-q \end{array} \end{aligned}$$
(42)

The construction of such Z is in fact the one conducted for the reference network to achieve its integer-estimable reparametrization (cf. Corollary 2). On the user side, the construction of \(Z_{u}\) goes in a similar way. From the user observation equations, the user applies the integer sweeping algorithm to \(Q_{u}^{\perp }\) to obtain \(Z_{u}\) (or alternatively, the user may use \(Q_{u}\), when (21) of Corollary 2 is applied).

The challenge of (41) lies not in the first two conditions, but rather in its third condition. This condition states that the range space of \(X_{u}-P_{u}P^{+}Z_{2}\) should be a subset of the range space of \(Q_{u}\). We therefore have the following important result.

Theorem 3

(PPP–RTK realizability) The network + user system (36) admits an integer-estimable reparametrization from the class of admissible PPP–RTK transformations (37) if and only if

$$\begin{aligned} X_{u}=P_{u}P^{+}Z_{2}+Q_{u}X_{2} \; \in \; \mathbb {Z}^{u \times p} \end{aligned}$$
(43)

or equivalenty

$$\begin{aligned} \tilde{Z}_{u1}^{T}(P_{u}P^{+})Z_{2} \in \mathbb {Z}^{(u-q) \times p} \end{aligned}$$
(44)

for \(Z_{2} \in \mathbb {Z}^{n \times p}\) from some \([Z_{1}, Z_{2}]\) that satisfies the first equation of (42), \(\tilde{Z}_{u1} \in \mathbb {Z}^{u \times (u-q)}\) from some \([Z_{u1}, Z_{u2}]=[\tilde{Z}_{u1}, \tilde{Z}_{u2}]^{-T}\) that satisfies the second equation of (42) and some \(X_{2} \in \mathbb {R}^{q \times p}\). \(\square \)

Proof

Condition (43) follows directly from the third condition of (41). The equivalence of (43) and (44) is shown as follows: \((\Rightarrow )\) As \(\tilde{Z}_{u} = [\tilde{Z}_{u1}, \tilde{Z}_{u2}]= [Z_{u1}, Z_{u2}]^{-T}\) and \(\mathcal {R}(Q_{u})=\mathcal {R}(Z_{u2})\), premultiplication of (43) with \(\tilde{Z}_{u1}^{T}\) gives (44), since \(\tilde{Z}_{u1}^{T}Q_{u}=0\). \((\Leftarrow )\) Let \(\tilde{Z}_{u1}^{T}P_{u}P^{+}Z_{2}=U \in \mathbb {Z}^{(u-q) \times u}\). Then \(P_{u}P^{+}Z_{2}=Z_{u1}U+Z_{u2}V\) for some \(V \in \mathbb {R}^{q \times p}\), showing, with \(V=-X_{2}\), that \(P_{u}P^{+}Z_{2}+Z_{u2}X_{2}=Z_{u1}U\) is indeed integer. \(\square \)

We note, although a left inverse of P is not unique, that the above two equivalent conditions are not affected by this lack of uniqueness. This can be seen as follows: Let \(P_{1}^{+}\) and \(P_{2}^{+}\) be two different left inverses of P. Then \(P_{1}^{+}=P_{2}^{+}PP_{1}^{+}\) and \(PP_{1}^{+}Z_{2}=Z_{2}\), from which it follows that \(P_{1}^{+}Z_{2}=P_{2}^{+}Z_{2}\).

Condition (43) is useful when one wants to find an explicit expression for the complete ambiguity transformation (37). However, when \(\tilde{Z}_{u1}\) and \(Z_{2}\) are available (e.g. determined from using the integer sweeping algorithm on (42)), condition (44) is usually numerically easier to verify. In case of a single receiver phase bias at the user side, i.e. when \(Q_{u}\) is a single vector and \(q=1\), the construction of \(\tilde{Z}_{u1}\) can also be done directly by means of the algorithm provided in Teunissen (2019) of which the following is an example.

Example 3

(Integer-estimable receiver phase bias elimination) Let \(Q_{u}=[r^{1}, \ldots , r^{i}]^{T}\) and \(g_{i}=\textrm{GCD}(r^{1}, \ldots , r^{i})\) (GCD = greatest common divisor). Then for \(i=2\), we have

$$\begin{aligned} \underset{1 \times 2}{\tilde{Z}_{u1}^{T}}= [-(r^{2}/g_{2}), (g_{1}/g_{2})] \end{aligned}$$
(45)

and for \(i=3\),

$$\begin{aligned} \underset{2 \times 3}{\tilde{Z}_{u1}^{T}}= \left[ \begin{array}{rrc} -(r^{2}/g_{2}) &{} (g_{1}/g_{2}) &{} 0 \\ -\alpha (r^{3}/g_{3}) &{} - \beta (r^{3}/g_{3}) &{} (g_{2}/g_{3}) \end{array} \right] \end{aligned}$$
(46)

with the integers \(\alpha \) and \(\beta \) satisfying \(\alpha r^{1} + \beta r^{2} = g_{2}\). Note that \(g_{1}=r^{1}\). It is not difficult to verify that in both cases \(\tilde{Z}_{u1}^{T}Q_{u}=0\). \(\square \)

The above theorem shows, since the matrices \(P_{u}\), \(Q_{u}\), \(\tilde{Z}_{u1}\) and \(Z_{2}\) are all integer, that conditions (43) and (44) are easily fulfilled when also matrix \(P^{+}\) is integer. However, when \(P^{+}\) is not integer, then it depends very much on the transmitter-system and the measurement-schemes used by network provider and user, whether or not conditions (43) or (44) can be satisfied. We will come back to this in Sect. 6.

4.3 Network + user integer-estimable parametrization

We will now assume that condition (43) holds true and that therefore an integer-estimable parametrization of the network + user system (36) is possible by means of the PPP–RTK enabling ambiguity transformation (37). We first determine the full-rank integer-estimable network + user system and then discuss the interpretation that needs to be given to the estimable parameters.

Full-rank network + user system: By substituting (38) into (36), thereby recognizing, since \(\mathcal {P}^{\perp T}\mathcal {Z}_{2}=0\), that the columns of matrix \(\mathcal {Z}_{2}\) are linear dependent on those of \(\mathcal {P}\), the full-rank network + user system follows as

$$\begin{aligned} \begin{array}{lcl} \left[ \begin{array}{c} a \\ a_{u} \end{array} \right] &{}=&{} \underbrace{\left[ \begin{array}{cc} Z_{1} &{} \;0 \\ 0 &{} \;Z_{u1} \end{array} \right] }_{\mathcal {Z}_{1}} \left[ \begin{array}{c} \tilde{z}_{1} \\ \tilde{z}_{u1} \end{array} \right] + \underbrace{\left[ \begin{array}{cc} P &{} \;0 \\ P_{u} &{} \;Q_{u} \end{array} \right] }_{\mathcal {P}} \left[ \begin{array}{c} \tilde{d} \\ \tilde{d}_{u} \end{array} \right] \end{array} \end{aligned}$$
(47)

in which \([\tilde{z}_{1}^{T}, \tilde{z}_{u1}^{T}]^{T}\) contains the integer-estimable network and user ambiguities and \([\tilde{d}^{T}, \tilde{d}_{u}^{T}]^{T}\) the corresponding estimable network and user phase delays. Note that the first n equations of (47),

$$\begin{aligned} a=Z_{1}\tilde{z}_{1}+P\tilde{d} \end{aligned}$$
(48)

are indeed the full-rank integer-estimable network equations that were determined earlier (cf. 20 of Corollary 2), while the last u equations of (47), when written as

$$\begin{aligned} a_{u}-P_{u}\tilde{d}= Z_{u1}\tilde{z}_{u1}+Q_{u}\tilde{d}_{u} \end{aligned}$$
(49)

are the full-rank integer-estimable user equations after the user-data is PPP–RTK corrected with the appropriate selection of network-determined phase delays, \(P_{u}\tilde{d}\). Note, if (49) is pre-multiplied with \(Q_{u}^{\perp T}\), one obtains, with \(Q_{u}^{\perp T}Z_{u1}=L_{u}\) (cf. 42),

$$\begin{aligned} Q_{u}^{\perp T}(a_{u}-P_{u}\tilde{d})=L_{u}\tilde{z}_{u1} \end{aligned}$$
(50)

Hence, matrix \(L_{u}\) is the user design matrix of the integer-estimable user ambiguities in case the user decides to formulate the user observations equations free from the user phase delays. This matrix becomes the identity matrix in case \(Q_{u}^{\perp }\) is replaced by \(\tilde{Z}_{u1}\).

Reparametrized integer ambiguities: To determine the interpretation of the reparametrized integer ambiguities, we obtain from inverting the lower-block diagonal system (37), using \(Z^{-1}=\tilde{Z}^{T}\), \(Z_{u}^{-1}=\tilde{Z}_{u}^{T}\), that

$$\begin{aligned} \left\{ \begin{array}{lcl} \tilde{z} &{}=&{} \tilde{Z}^{T}z \\ \tilde{z}_{u} &{}=&{}\tilde{Z}_{u}^{T}(z_{u}-X_{u}\tilde{z}_{2}) \end{array} \right. \end{aligned}$$
(51)

This shows how the reparametrized user ambiguities have been made dependent on the network ambiguities. It is through the dependence on the integer-inestimable network ambiguity vector \(\tilde{z}_{2}\) that the user ambiguity vector \(\tilde{z}_{u1}\) of (49) is made integer estimable. Note, since \(\tilde{Z}_{u1}^{T}Z_{u2}=0\), that the integer-estimable user ambiguities are independent of the choice made for \(X_{2}\) in (43): \(\tilde{z}_{u1}=\tilde{Z}_{u1}^{T}(z_{u}-P_{u}P^{+}Z_{2}\tilde{z}_{2})\).

Reparametrized phase delays: To determine the interpretation of the reparametrized phase delays, we have in analogy with (5),

$$\begin{aligned} \left[ \begin{array}{c} \tilde{d} \\ \tilde{d}_{u} \end{array} \right] = \left[ \begin{array}{c} d \\ d_{u} \end{array} \right] + \mathcal {P}^{+}\mathcal {Z}_{2} \left[ \begin{array}{c} \tilde{z}_{2} \\ \tilde{z}_{u2} \end{array} \right] \end{aligned}$$
(52)

This can be worked out, with the use of condition (43), \(\mathcal {Z}_{2}\) of (38) and

$$\begin{aligned} \mathcal {P}^{+}= \left[ \begin{array}{cc} P^{+} &{} 0 \\ -Q_{u}^{+}P_{u}P^{+} &{} Q_{u}^{+} \end{array} \right] \end{aligned}$$
(53)

as left inverse of \(\mathcal {P}\), to give

$$\begin{aligned} \left\{ \begin{array}{lcl} \tilde{d} &{}=&{} d + P^{+}Z_{2}\tilde{z}_{2}\\ \tilde{d}_{u} &{}=&{} d_{u}+Q_{u}^{+}Z_{u2}(\tilde{z}_{u2}+X_{2}\tilde{z}_{2}) \end{array} \right. \end{aligned}$$
(54)

This shows how the estimable phase delays are made dependent on the integer-inestimable network and user ambiguities.

5 All-in-view PPP–RTK

In this section, we present and discuss ’all-in-view PPP–RTK’, i.e. the case when all network and user receivers track the same transmitters. This case enables analytical solutions and it provides insight in how the theory of the previous section works out. Next to its didactic relevance, the ’all-in-view’ case is also practically relevant as it applies to GNSS tracking networks with limited spatial extent and to networks with terrestrial transmitters.

5.1 Network + user and the PPP–RTK condition

When all network and user receivers track the same \({\text {S}}\) transmitters, the network and user equations can be written as

$$\begin{aligned} {\begin{array}{lll} \textrm{network}:&{} a &{} = z +[C_{{\tiny {\hbox {R}}}} \otimes R_{{\tiny {\hbox {S}}}}e_{{\tiny {\hbox {S}}}}, -e_{{\tiny {\hbox {R}}}}\otimes R_{{\tiny {\hbox {S}}}}][d_{{\tiny {\hbox {R}}}}^{T}, d^{{{\tiny {\hbox {S}}}} T}]^{T}\\ \textrm{user}:&{} a_{u} &{} = z_{u}+[1 \otimes R_{{\tiny {\hbox {S}}}}e_{{\tiny {\hbox {S}}}}, -1 \otimes R_{{\tiny {\hbox {S}}}}][d_{u}, d^{{{\tiny {\hbox {S}}}} T}]^{T} \end{array} }\nonumber \\ \end{aligned}$$
(55)

with \(C_{{\tiny {\hbox {R}}}}=[0, I_{{{\tiny {\hbox {R}}}}-1}]^{T}\), \(R_{{\tiny {\hbox {S}}}}=\textrm{diag}(r^{1}, \ldots , r^{{\tiny {\hbox {S}}}})\), and \(e_{{\tiny {\hbox {R}}}}\), \(e_{{\tiny {\hbox {S}}}}\) the \({\text { R}}\)- and \({\text {S}}\)-dimensional vectors of all ones. The matrix entries of matrix \(\mathcal {P}\) of (36) are in this case thus given as

$$\begin{aligned} \begin{array}{lcl} P &{}=&{} [C_{{\tiny {\hbox {R}}}} \otimes R_{{\tiny {\hbox {S}}}}e_{{\tiny {\hbox {S}}}}, -e_{{\tiny {\hbox {R}}}}\otimes R_{{\tiny {\hbox {S}}}}] \in \mathbb {Z}^{\tiny {\hbox { RS}} \times ({{\tiny {\hbox {R}}}}+{{\tiny {\hbox {S}}}}-1)}\\ P_{u} &{}=&{} [0, -1 \otimes R_{{\tiny {\hbox {S}}}}] \in \mathbb {Z}^{{{\tiny {\hbox {S}}}} \times ({{\tiny {\hbox {R}}}}+{{\tiny {\hbox {S}}}}-1)}\\ Q_{u} &{}=&{} 1 \otimes R_{{\tiny {\hbox {S}}}}e_{{\tiny {\hbox {S}}}} \in \mathbb {Z}^{{\tiny {\hbox {S}}}} \end{array} \end{aligned}$$
(56)

Matrices P and \(P_{u}\) can now be used to verify whether the PPP–RTK condition (43) is satisfied or not. With \(P_{u}=[0, -1 \otimes R_{s}]\) and the non-integer left inverse of P,

$$\begin{aligned} P^{+}= \left[ \begin{array}{c} D_{{\tiny {\hbox {R}}}}^{T} \otimes c_{1}^{T}R_{{\tiny {\hbox {S}}}}^{-1}\\ -c_{1}^{T} \otimes R_{{\tiny {\hbox {S}}}}^{-1} \end{array} \right] \end{aligned}$$
(57)

it follows that

$$\begin{aligned} P_{u}P^{+}= c_{1}^{T} \otimes I_{{\tiny {\hbox {S}}}} \in \mathbb {Z}^{{{\tiny {\hbox {S}}}} \times {{\tiny {\hbox {RS}}}}} \end{aligned}$$
(58)

The conclusion reads therefore that all-in-view PPP–RTK is indeed possible when the transmitters vary in frequencies. As the PPP–RTK condition (43) is fulfilled for \(X_{2}=0\), this choice is also taken in the following.

5.2 Reparametrized network + user equations

To determine the full-rank integer-estimable network and user Eqs. (48) and (49), we need to determine the ambiguity design matrices \(Z_{1}\) and \(Z_{u1}\). They follow from the two decompositions of (42), for which \(P^{\perp T}\) and \(Q_{u}^{\perp T}\) are required. In our present case, integer representations of these two matrices are given as

$$\begin{aligned} \begin{array}{lcl} P^{\perp T} &{}=&{} D_{{\tiny {\hbox {R}}}}^{T} \otimes F^{T} \in \mathbb {Z}^{({{{\tiny {\hbox {R}}}}-1)({{\tiny {\hbox {S}}}}-1)} \times {{\tiny {\hbox {RS}}}}}\\ Q_{u}^{\perp T} &{}=&{} 1 \otimes F^{T} \in \mathbb {Z}^{{{\tiny ({\hbox {S}}}}-1) \times {{\tiny {\hbox {S}}}}} \end{array} \end{aligned}$$
(59)

with

$$\begin{aligned} F^{T} = [-r^{(1)}, r^{1}I_{{\tiny {\hbox {S}}}-1}]\;,\;r^{(1)}=[r^{2}, \ldots , r^{{\tiny {\hbox {S}}}}]^{T} \end{aligned}$$
(60)

Theorem 2 of Teunissen (2019) provides the following decomposition in analytical form,

$$\begin{aligned} F^{T}[Z_{F1}, Z_{F2}]= [\mathcal {L}_{F}, 0] \end{aligned}$$
(61)

with admissible \(Z_{F}=[Z_{F1}, Z_{F2}]\) and \(\mathcal {L}_{F}\) given as Eqs (33-35) of (ibid). For ease of their computation, a MATLAB routine is given in Teunissen and Khodabandeh (2019).

With (59), (60) and (61), we can now establish the two decompositions

$$\begin{aligned} \begin{array}{lcl} P^{\perp T}[Z_{1}, Z_{2}] &{}=&{} [L, 0]\\ Q_{u}^{\perp T}[Z_{u1}, Z_{u2}] &{}=&{} [L_{u}, 0] \end{array} \end{aligned}$$
(62)

where

$$\begin{aligned} \left\{ \begin{array}{lcl} Z &{}=&{}[\underbrace{C_{{\tiny {\hbox {R}}}} \otimes Z_{F1}}_{Z_{1} \in \mathbb {Z}^{\text {RS} \times ({{\tiny {\hbox {R}}}}-1)({{\tiny {\hbox {S}}}}-1)}}, \underbrace{C_{{\tiny {\hbox {R}}}} \otimes Z_{F2}, e_{{\tiny {\hbox {R}}}} \otimes I_{{\tiny {\hbox {S}}}}}_{Z_{2} \in \mathbb {Z}^{\text {RS} \times ({{\tiny {\hbox {R}}}}+{{\tiny {\hbox {S}}}}-1)}}]\\ Z_{u} &{}=&{} [\underbrace{1 \otimes Z_{F1}}_{Z_{u1} \in \mathbb {Z}^{{{\tiny {\hbox {S}}}} \times ({{\tiny {\hbox {S}}}}-1)}}, \underbrace{1 \otimes Z_{F2}}_{Z_{u2} \in \mathbb {Z}^{{{\tiny {\hbox {S}}}}\times 1}}]\\ L &{}=&{} I_{{{\tiny {\hbox {R}}}}-1} \otimes \mathcal {L}_{F},\;L_{u}=1 \otimes \mathcal {L}_{F} \end{array} \right. \end{aligned}$$
(63)

Hence, the full-rank integer-estimable reparametrized network + user Eqs. (48) and (49), follow for the present case as

$$\begin{aligned} \begin{array}{lll} &{}a=Z_{1}\tilde{z}+ P \tilde{d}, \textrm{with}\; Z_{1}=C_{{\tiny {\hbox {R}}}} \otimes Z_{F1}\\ &{}a_{u}-P_{u}\tilde{d} = Z_{u1}\tilde{z}_{u}+ Q_{u} \tilde{d}_{u}, \textrm{with}\; Z_{u1}=1 \otimes Z_{F1} \end{array} \end{aligned}$$
(64)

The ambiguity design matrices of both the network and user, \(Z_{1}\) and \(Z_{u1}\), can thus be constructed directly from the analytical expressions available for \(Z_{F1}\). Instead of the undifferenced formulation (64), one can also opt for a differencing formulation in which all phase delays, both for the network and user, have been eliminated. This is achieved by pre-multiplying the network and user equations of (64) with \(P^{\perp T}= D_{{\tiny {\hbox {R}}}}^{T} \otimes F^{T}\) and \(Q_{u}^{\perp T}=F^{T}\), respectively, thus giving the ’double-differenced’ equations

$$\begin{aligned} \begin{array}{lcl} (D_{{\tiny {\hbox {R}}}}^{T} \otimes F^{T})a &{}=&{}(I_{{{\tiny {\hbox {R}}}}-1} \otimes \mathcal {L}_{F})\tilde{z}\\ F^{T}(a_{u}-P_{u}\tilde{d}) &{}=&{} \mathcal {L}_{F}\tilde{z}_{u} \end{array} \end{aligned}$$
(65)

Thus now the ambiguity design matrices are determined by \(\mathcal {L}_{F}\).

5.3 Reparametrized network + user ambiguities

To provide an interpretation of the reparametrized network and user ambiguities, we need \(\tilde{Z}=Z^{-T}\) and \(\tilde{Z}_{u}=Z_{u}^{-T}\). They are given for the present case as

$$\begin{aligned} \left\{ \begin{array}{lcl} \tilde{Z} &{}=&{} [\underbrace{D_{{\tiny {\hbox {R}}}} \otimes \tilde{Z}_{F1}}_{\tilde{Z}_{1} \in \mathbb {Z}^{\text {RS} \times ({{\tiny {\hbox {R}}}}-1)({{\tiny {\hbox {S}}}}-1)}}, \underbrace{D_{{\tiny {\hbox {R}}}} \otimes \tilde{Z}_{F2}, c_{1} \otimes I_{{\tiny {\hbox {S}}}}}_{\tilde{Z}_{2} \in \mathbb {Z}^{\text { RS} \times ({{\tiny {\hbox {R}}}}+{{\tiny {\hbox {S}}}}-1)}}]\\ \tilde{Z}_{u} &{}=&{} [\underbrace{1 \otimes \tilde{Z}_{F1}}_{\tilde{Z}_{u1} \in \mathbb {Z}^{{{\tiny {\hbox {S}}}} \times ({{\tiny {\hbox {S}}}}-1)}}, \underbrace{1 \otimes \tilde{Z}_{F2}}_{\tilde{Z}_{u2} \in \mathbb {Z}^{{{\tiny {\hbox {S}}}} \times 1}}] \end{array} \right. \end{aligned}$$
(66)

with \(\tilde{Z}_{F}=[\tilde{Z}_{F1}, \tilde{Z}_{F2}]=Z_{F}^{-T}\), an analytical expression of which is given in Corollary 3 of Teunissen (2019). Hence, the reparametrized network ambiguities are given as

$$\begin{aligned} { \begin{array}{lcl} \tilde{z}_{1} &{}=&{} \tilde{Z}_{1}^{T}z = (D_{{\tiny {\hbox {R}}}}^{T} \otimes \tilde{Z}_{F1}^{T})z\;\;(\mathrm integer-estimable) \\ \tilde{z}_{2} &{} = &{} \tilde{Z}_{2}^{T}z = \left\{ \begin{array}{l} (D_{{\tiny {\hbox {R}}}}^{T} \otimes \tilde{Z}_{F2}^{T})z\\ (c_{1}^{T} \otimes I_{{\tiny {\hbox {S}}}}) z \end{array} \right. (\mathrm{integer-inestimable}) \end{array} } \end{aligned}$$
(67)

while those of the user follow, with (58), (63) and (67), from \(\tilde{z}_{u}=\tilde{Z}_{u}^{T}[z_{u}-P_{u}P^{+}Z_{2}\tilde{z}_{2}]\) (cf. 51), as \(\tilde{z}_{u} = \tilde{Z}_{u}^{T}[z_{u}-(c_{1}^{T} \otimes I_{{\tiny {\hbox {S}}}})z]\), thus giving

$$\begin{aligned} {\begin{array}{lcl} \tilde{z}_{u1} &{}=&{} \tilde{Z}_{F1}^{T}(z_{u}-z_{1}) \;\;(\mathrm integer-estimable) \\ \tilde{z}_{u2} &{} = &{} \tilde{Z}_{F2}^{T}(z_{u}-z_{1})\;\;(\mathrm{integer-inestimable}) \end{array}} \end{aligned}$$
(68)

in which \(z_{1} \in \mathbb {Z}^{{\tiny {\hbox {S}}}}\) is the integer ambiguity vector of the first reference network receiver.

5.4 Reparametrized network + user phase delays

To determine the reparametrized network phase delays, we work \(\tilde{d}=d+P^{+}Z_{2}\tilde{z}_{2}\) (cf. 54) out, which, with the aid of (57), (63) and (67), gives

$$\begin{aligned} \begin{array}{lcl} \tilde{d}_{{\tiny {\hbox {R}}}} &{}=&{} d_{{\tiny {\hbox {R}}}}+ (D_{{\tiny {\hbox {R}}}}^{T} \otimes c_{1}^{T}R_{{\tiny {\hbox {S}}}}^{-1}Z_{F2}\tilde{Z}_{F2}^{T})z\\ \tilde{d}^{{\tiny {\hbox {S}}}} &{}=&{} d^{{\tiny {\hbox {S}}}}- (c_{1}^{T} \otimes R_{{\tiny {\hbox {S}}}}^{-1})z \end{array} \end{aligned}$$
(69)

This shows the interpretation of the user-applied PPP–RTK correction (64) as

$$\begin{aligned} -P_{u}\tilde{d}= (1 \otimes R_{{\tiny {\hbox {S}}}})\tilde{d}^{{\tiny {\hbox {S}}}}= R_{{\tiny {\hbox {S}}}}d^{{\tiny {\hbox {S}}}}-z_{1} \end{aligned}$$
(70)

It is thus the presence in the PPP–RTK correction of the inestimable integer ambiguity vector \(z_{1}\) that enables the integer estimability of the user ambiguity vector \(\tilde{z}_{u1}\).

To determine the reparametrized user phase delays, we need to work \(\tilde{d}_{u}=d_{u}+Q_{u}^{+}Z_{u2}\tilde{z}_{u2}\) (cf. 54) out. With \(Q_{u}=R_{{\tiny {\hbox {S}}}}e_{\tiny {\hbox {S}}}=[r^{1}, \ldots , r^{{\tiny {\hbox {S}}}}]^{T}\) and \(Z_{u2}=\frac{[r^{1}, \ldots , r^{{\tiny {\hbox {S}}}}]^{T}}{\textrm{GCD}(r^{1}, \ldots , r^{\tiny {\hbox {S}}})}\) (see Theorem 2 of Teunissen (2019)), we get, with (68), as interpretation of the estimable user phase delays,

$$\begin{aligned} \tilde{d}_{u}=d_{u}+\tfrac{1}{\textrm{GCD}(r^{1}, \ldots , r^{{\tiny {\hbox {S}}}})}\tilde{Z}_{F2}^{T}[z_{u}-z_{1}] \end{aligned}$$
(71)

where ‘GCD’ stands for greatest common divisor.

5.5 GNSS CDMA and FDMA compared

The above results allow us to get a better understanding of the impact of having varying transmitter frequencies and therefore also of the differences between GNSS CDMA and GNSS FDMA. These differences are driven, through \(R_{{\tiny {\hbox {S}}}}=\textrm{diag}(r^{1}, \ldots , r^{{\tiny {\hbox {S}}}}) \ne I_{{\tiny {\hbox {S}}}}\), by matrix \(F^{T}\) of (60) and the decomposition of (61). If all transmitters would have the same frequency, and thus \(R_{{\tiny {\hbox {S}}}}=I_{\tiny {\hbox {S}}}\), then \(F^{T}\) of (60), \(Z_{F}\) and \(\mathcal {L}_{F}\) of (61), and \(\tilde{Z}_{F}=Z_{F}^{-T}\) simplify to

$$\begin{aligned} \begin{array}{lcl} F^{T}&{}=&{}D_{{\tiny {\hbox {S}}}}^{T}\\ Z_{F}&{}=&{}[C_{{\tiny {\hbox {S}}}}, e_{{\tiny {\hbox {S}}}}]\\ \tilde{Z}_{F}&{}=&{}[D_{{\tiny {\hbox {S}}}}, c_{1}]\\ \mathcal {L}_{F} &{}=&{} I_{{{\tiny {\hbox {S}}}}-1} \end{array} \end{aligned}$$
(72)

As a consequence, the integer-estimable network and user ambiguities of (67) and (68) are then given as

$$\begin{aligned} \begin{array}{lcl} \tilde{z}_{1} &{}=&{} (D_{{\tiny {\hbox {R}}}}^{T} \otimes D_{{\tiny {\hbox {S}}}}^{T})z\\ \tilde{z}_{u1}&{}=&{} D_{{\tiny {\hbox {S}}}}^{T}(z_{u}-z_{1}) \end{array} \end{aligned}$$
(73)

which we recognize, both for the network and user, as the familiar double-differenced (DD) ambiguities well-known from GNSS CDMA. A similar simplification is reached for the network and user phase delays, (69) and (71),

$$\begin{aligned} \begin{array}{lcl} \tilde{d}_{{\tiny {\hbox {R}}}} &{}=&{} d_{{\tiny {\hbox {R}}}}+(D_{{\tiny {\hbox {R}}}}^{T} \otimes c_{1}^{T})z\\ \tilde{d}^{{\tiny {\hbox {S}}}}&{}=&{} d^{{\tiny {\hbox {S}}}}-z_{1}\\ \tilde{d}_{u}&{}=&{} d_{u}+c_{1}^{T}(z_{u}-z_{1}) \end{array} \end{aligned}$$
(74)

6 On the PPP–RTK realizability condition

In the previous section, we have shown that all-in-view PPP–RTK is possible when the transmitters vary in frequencies. Although this result is of importance in its own right, it is admittedly only a special case. We will therefore generalize our treatment in this section and in particular now focus on the discriminating contributions of network and user to the PPP–RTK condition (43) of Theorem 3. First we determine and discuss the condition under which an integer left inverse of the networks reduced incidence matrix P exists and then we discuss how the possible absence of such integer left inverse can be compensated by the user observation equations, i.e. by \(P_{u}\) and \(Q_{u}\).

6.1 A sufficient network condition for PPP–RTK

According to condition (43), the existence of an integer left inverse of P is sufficient for \(X_{u}\) to be integer and therefore sufficient for PPP–RTK to be possible, irrespective of the measurement scheme of the user and thus irrespective of the integer entries of \(P_{u}\) and \(Q_{u}\).

6.1.1 The constant frequency case

First we consider the case where all transmitters transmit on the same frequency: \(f^{s}= f_{0}\). This case applies for instance to all global and regional navigation satellite systems that operate on the CDMA-principle, i.e. GPS, BDS, Galileo, NavIC and QZSS. The constant frequency case is the simplest case and also one for which it is not difficult to show that an integer left inverse of P always exists. If \(f^{s}= f_{0}\), then \(R=I_{n}\) and therefore \(P=P'\). By partitioning \(P'=[(P_{1}')^{T}, (P_{2}')^{T}]^{T}\), such that \(P_{1}'\) is invertible (such is always possible through proper ordering of the network equations), a left inverse of \(P'\) is

$$\begin{aligned} (P')^{+}= [(P_{1}')^{-1},0] \in \mathbb {Z}^{u \times n} \end{aligned}$$
(75)

This inverse is integer, since \((P_{1}')^{-1}\) is integer, as the inverse of any invertible submatrix of a reduced incidence matrix is always integer (Wilson 1996). This result thus confirms that PPP–RTK is indeed always possible in case the transmitters transmit on the same frequency.

In the constant frequency case the single-receiver user equations, (49) or (50), take a particular simple form. As \(R_{u}= I_{u}\), we have \(Q_{u}= e_{u}\), from which it follows that the differencing matrix \(D_{u}^{T}=[-e_{u-1}, I_{u-1}]\) is a proper representation of \(Q_{u}^{\perp T}\). A \(Z_{u}\)-matrix that provides the decomposition \(Q_{u}^{\perp T}[Z_{u1}, Z_{u2}]=[L_{u}, 0]\) is then readily found as \(Z_{u}=[C_{u}, e_{u}]\), with \(C_{u}=[0, I_{u-1}]^{T}\). Thus

$$\begin{aligned} Q_{u}^{\perp T}[Z_{u1}, Z_{u2}] = D_{u}^{T}[C_{u}, e_{u}]= [I_{u-1}, 0] \end{aligned}$$
(76)

from which it follows that the undifferenced user Eq. (49) takes the form

$$\begin{aligned} a_{u}-P_{u}\tilde{d}= C_{u}\tilde{z}_{u1}+e_{u}\tilde{d}_{u} \end{aligned}$$
(77)

while that of (50) becomes

$$\begin{aligned} D_{u}^{T}(a_{u}-P_{u}\tilde{d})= \tilde{z}_{u1} \end{aligned}$$
(78)

This latter form is the one used when the user decides to work with between-satellite differenced observables.

6.1.2 The varying frequency case

As the existence of an integer left inverse of P is a sufficient condition for PPP–RTK to be possible, we first start with an example showing how the values of the frequency ratios may negate or may determine the existence of such inverse.

Fig. 4
figure 4

Network+User: network with two receivers (\(r=1\) and \(r=2\)), five transmitters \(s=1,\ldots ,5\), and one user receiver u

Example 4

(Integer left inverse of P) Consider the network of Fig. 4, showing 2 network receivers (1 and 2), 5 transmitters and 1 user receiver u. The frequency ratios of the five transmitted signals are \(r^{s}\), \(s=1, \ldots , 5\). In this example we are only concerned with the network observation equations. By ordering the observation equations such that we take the observations from receivers 1 and 2 to transmitter 1 first and the two observations from receiver 1 to transmitter 4 and receiver 2 to transmitter 2 last, we get, with \(p_{1}=[r^{2}, r^{3}]^{T}\) and \(p_{2}=[r^{4}, r^{5}]^{T}\),

$$\begin{aligned} \underset{8 \times 7}{\bar{P}}= & {} \left[ \begin{array}{cc|ccc} r^{1} &{}0 &{}-1&{}0&{}0 \\ 0 &{}r^{1} &{}-1&{}0&{}0 \\ p_{1} &{}0 &{}0&{}-I_{2}&{}0 \\ 0 &{}p_{2}&{}0 &{}0&{}-I_{2}\\ \hline r^{4}&{}0&{}0&{}0&{}\left[ \begin{array}{cc}-1&{}0\end{array}\right] \\ 0&{}r^{2}&{}0&{}\left[ \begin{array}{cc}-1&{}0\end{array}\right] &{}0\\ \end{array} \right] \Rightarrow \underset{8 \times 6}{P}\nonumber \\= & {} \left[ \begin{array}{cccc} 0 &{}-1&{}0&{}0 \\ r^{1} &{}-1&{}0&{}0 \\ 0 &{}0&{}-I_{2}&{}0 \\ p_{2}&{}0 &{}0&{}-I_{2}\\ \hline 0&{}0&{}0&{}\left[ \begin{array}{cc}-1&{}0\end{array}\right] \\ r^{2}&{}0&{}\left[ \begin{array}{cc}-1&{}0\end{array}\right] &{}0\\ \end{array} \right] \end{aligned}$$
(79)

whereby P is obtained from the rank-defect \(\bar{P}\) by eliminating its first column. As P is of order \(8 \times 6\), the network has 2 integer-estimable ambiguities and 6 estimable phase biases of which 5 are transmitter phase biases.

The ordering of the observation equations was chosen such that the \(6 \times 6\) matrix \(P_{1}\) of \(P=[P_{1}^{T}, P_{2}^{T}]^{T}\) is invertible,

$$\begin{aligned} \underset{6 \times 6}{P_{1}^{-1}} = \left[ \begin{array}{cccc} -\tfrac{1}{r^{1}}&{}\tfrac{1}{r^{1}}&{}0&{}0 \\ -1 &{}0 &{}0&{}0 \\ 0 &{}0 &{}-I_{2}&{}0 \\ -\tfrac{p_{2}}{r^{1}}&{}\tfrac{p_{2}}{r^{1}}&{}0&{}-I_{2}\\ \end{array} \right] \end{aligned}$$
(80)

Hence, the matrix \(P^{+}=[P_{1}^{-1}, 0]\) is a left inverse of P. This matrix is however not integer in general. It is integer if all frequency signals are equal to the reference frequency \(f_{0}\), i.e. the constant frequency case, and it is integer if the first frequency ratio equals one, \(r^{1}=1\). This latter case is thus an example where not all frequency ratios are the same, while the network still guarantees, due to the existence of an integer left inverse of P, that PPP–RTK is possible for any user. \(\square \)

We will now determine, an easily verifiable, necessary and sufficient condition that guarantees the existence of the required integer left inverse.

Theorem 4

(PPP–RTK network condition) Let \(P=RP' \in \mathbb {Z}^{n \times p}\), with \(P'\) the network’s reduced incidence matrix and R the diagonal matrix of frequency ratios. Then an integer left inverse of P exists if and only if the determinant of the integer matrix \(\tilde{L}\) in the decomposition \(P^{T}[\tilde{Z}_{2}, \tilde{Z}_{1}]=[\tilde{L},0]\) (cf. Corollary 2, 21) equals plus or minus one,

$$\begin{aligned} \textrm{det}(\tilde{L})= \pm 1 \end{aligned}$$
(81)

or equivalently,

$$\begin{aligned} (\tilde{L})_{ii}=\pm 1\; \textrm{for}\;i=1, \ldots , p \end{aligned}$$
(82)

when \(\tilde{L}\) is triangular. \(\square \)

Proof

For proof, see Appendix.

It is important to remark that condition (81) is independent of which column is eliminated when constructing the reduced incidence matrix. As the integer transformation from one reduced incidence matrix to another has determinant \(\pm 1\) (cf. Lemma 1), the determinant of \(\tilde{L}\) in (81) will not change under such transformation.

An example where \(\textrm{det}(\tilde{L})=\pm 1\) is Example 1 (cf. 27). The following is a GLONASS example where this is not the case.

Example 5

(GLONASS FDMA) Consider matrix P of (79) with the used GLONASS frequency ratios given as \(r^{1}=2841\), \(p_{1}=[2844, 2849]^{T}\), \(p_{2}=[2853, 2854]^{T}\). Then the integer sweeping operation provides the decomposition

figure f

Thus showing that P has no integer left inverse, since \(\textrm{det}(\tilde{L}) \ne \pm 1\). Would one interchange the frequency ratios 2841 and 2849, then \(\textrm{det}(\tilde{L})=- 1\), and P has an integer left inverse. This shows how this property can change with a change in measurement scheme. \(\square \)

Note, as \(\tilde{L}\) is integer, that condition (81) is equivalent to saying that \(\tilde{L}^{-1}\) is integer. Hence, with condition (81) satisfied, one may rewrite (24) also as

$$\begin{aligned} \tilde{\tilde{Z}}^{T}a = \left[ \begin{array}{c} \tilde{z}_{1}\\ \tilde{\tilde{z}}_{2}+d \end{array} \right] \end{aligned}$$
(84)

with \(\tilde{\tilde{z}}_{2}=\tilde{L}^{-1}\tilde{z}_{2}\) and the admissible ambiguity transformation

$$\begin{aligned} \tilde{\tilde{Z}}= \left[ \begin{array}{cc} I_{n-p} &{} 0 \\ 0 &{} \tilde{L}^{-1} \end{array} \right] \tilde{Z} \end{aligned}$$
(85)

This shows that one may state Theorem 4 alternatively as: an integer left inverse of P exists if and only if an admissible ambiguity transformation can be found such that (84) holds true. All the linear functions \(F^{T}z\), with \(F^{T}=\tilde{L}^{-1}P^{T}\), will then be integer estimable (cf. Theorem 1).

We remarked earlier that condition (81) is easily verified. This is particularly true when the decomposition of \(P^{T}\) is constructed by means of the integer sweeping algorithm of Section 2.2. Then \(\tilde{L}\) is lower-triangular and its row-by-row construction gives then a quick assessment of whether or not condition (82) is satisfied. The moment a diagonal entry \((\tilde{L})_{jj} \ne \pm 1\) is obtained, one knows that no integer left inverse of P exists. In fact one only needs to check the last \({ \text {{S}}}\) diagonal entries, since the first \({ \text {{R}}}-1\) entries can be made 1 by design, as the following shows.

The first \({\text {{R}}}-1\) diagonal entries of the lower-triangular \(\tilde{L}\) will always be equal to 1 if, for every network receiver, the receiver phase biases have been so defined that the GCDs of their frequency ratios equal 1. This can be explained as follows. As the first set of rows of \(P^{T}\) (i.e. the rows that correspond with the receiver phase biases) are formed per row by the frequency ratios of the same receiver, while the columns of these rows contain at the most one nonzero entry, it follows from an application of the integer sweeping algorithm that the first \({\text {{R}}}-1\) diagonal entries of \(\tilde{L}\) will consist of the GCDs of the receiver frequency ratios and thus be 1. Such is the case in Example 1 for instance. There we have \(\textrm{GCD}(2849, 2844, 2841)=1\) and thus indeed 1 as the first diagonal entry of \(\tilde{L}\) in (27).

There where Theorem 4 provides a general PPP–RTK sufficiency condition for the network, the next theorem provides two such specific conditions.

Theorem 5

(Sufficient network conditions) An integer left inverse of P exists

  1. 1.

    if one of the network receivers tracks all transmitters, or

  2. 2.

    if all network receivers track the same transmitter on \(f_{0}\).

Proof

For proof, see Appendix.

Note that the tracking configuration of Example 1 is an illustration of the theorem’s first case. All transmitters are tracked by the second receiver and all diagonal entries of \(\tilde{L}\) in (27) are equal to \(\pm 1\). The tracking configuration of Example 4, with \(r^{1}=1\), is an illustration of the theorem’s second case. \(\square \)

6.2 A sufficient user condition for PPP–RTK

If no integer left inverse of P can be found, then it depends very much on the transmitted frequencies and the measurement-scheme of the user whether or not the condition of Theorem 3 can be satisfied. The following two examples make this clear.

Example 6

(Continuation of Example 5): With the user tracking all 5 transmitters, we have \(P_{u} = [0, -I_{5}]\) and \(Q_{u}=[2841, 2844, 2849, 2853, 2854]^{T}\). Through integer sweeping we find \(P_{u}P^{+}Z_{2}\) from \(P_{u}\) and P as

$$\begin{aligned} \underset{5 \times 6}{P_{u}P^{+}Z_{2}}=\left[ \begin{array}{cccccc} 0 &{} 1 &{} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 1 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 1 &{} 0 &{} 0\\ 0 &{} 0 &{} 0 &{} 0 &{} 1 &{} 0\\ 0 &{} 0 &{} 0 &{} 0 &{} 0 &{} -\frac{1}{3} \end{array}\right] \end{aligned}$$
(86)

and \(\tilde{Z}_{u1}^{T}\) from \(Q_{u}\) as

$$\begin{aligned} \underset{4 \times 5}{\tilde{Z}_{u1}^{T}}=\left[ \begin{array}{ccccc} 948 &{} -947 &{} 0 &{} 0 &{} 0\\ -5 &{} 6 &{} 1 &{} 0 &{} -2\\ 3 &{} -4 &{} 0 &{} 1 &{} 0\\ -10 &{} 13 &{} 0 &{} 0 &{} -3 \end{array}\right] \end{aligned}$$
(87)

thereby showing that condition (44) is not satisfied as \(\tilde{Z}_{u1}^{T}(P_{u}P^{+})Z_{2}\) is not integer. \(\square \)

This is thus an example for which GLONASS PPP–RTK is not possible, this in contrast to the GLONASS case of Example 1. The following example illustrates what is possible when one varies the measurement scenario.

Example 7

(Continuation of Example 4): Consider the measurement scenario of Fig. 4. Then \(P_{u}=[0, -I_{5}] \in \mathbb {Z}^{5 \times 6}\), which gives, with \(P^{+}=[P_{1}^{-1},0] \in \mathbb {R}^{6 \times 8}\) and \(P_{1}^{-1}\) of (80),

$$\begin{aligned} \underset{5 \times 6}{P_{u}P^{+}Z_{2}}=\left[ \begin{array}{cc} \underset{5 \times 6}{\left[ \begin{array}{cccc} -1 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} -I_{2} &{} 0\\ -\tfrac{p_{2}}{r^{1}}&{}\tfrac{p_{2}}{r^{1}}&{}0&{}-I_{2} \end{array} \right] }&0 \end{array} \right] \underset{8 \times 6}{Z_{2}} \end{aligned}$$
(88)

With the design matrix of the user receiver phase bias given as \(Q_{u} = [r^{1}, p_{1}^{T}, p_{2}^{T}]^{T} \in \mathbb {Z}^{5}\), it follows that no matrix \(X_{2} \in \mathbb {R}^{1 \times 6}\) can be found such that \(Q_{u}X_{2}\) would be able to compensate for the non-integer entries of (88) and thus satisfy condition (43). The conclusion is therefore that the measurement scenario of Fig. 4 does not allow PPP–RTK when \(r^{1} \ne 1\). Thus when \(r^{1}=1\), the matrix of (88) is integer and the user can form \(5-1=4\) integer-estimable ambiguities, while for \(r^{1}\ne 1\) the user cannot form such integer-estimable ambiguities.

We now show that a modified measurement scenario would permit PPP–RTK. Assume that the user only tracks the first three transmitters. Then \(P_{u}=[0, -I_{3}, 0] \in \mathbb {Z}^{3 \times 6}\), thus giving

$$\begin{aligned} \underset{3 \times 6}{P_{u}P^{+}Z_{2}}=\left[ \begin{array}{cc} \underset{3 \times 6}{\left[ \begin{array}{cccc} -1 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} -I_{2} &{} 0\\ \end{array} \right] }&0 \end{array} \right] \underset{8 \times 6}{Z_{2}} \end{aligned}$$
(89)

As this matrix is integer, PPP–RTK is possible. Thus now \(3-1=2\) user integer-estimable ambiguities can be formed.

Based on the argument of symmetry, one would also expect PPP–RTK to be possible if the user only tracks the transmitters 1, 4 and 5. For this measurement scenario, we have

$$\begin{aligned} \underset{3 \times 6}{P_{u}} = \left[ \begin{array}{ccc} 0 &{} \left[ \begin{array}{ccc} -1 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0 \end{array} \right] &{} \left[ \begin{array}{c} 0\\ -I_{2} \end{array} \right] \end{array} \right] \end{aligned}$$
(90)

thus giving

$$\begin{aligned} \underset{3 \times 6}{P_{u}P^{+}Z_{2}}=\left[ \begin{array}{cc} \underset{3 \times 6}{\left[ \begin{array}{cccc} 1 &{} 0 &{} 0 &{} 0\\ -\tfrac{p_{2}}{r^{1}} &{} \tfrac{p_{2}}{r^{1}} &{} 0 &{}-I_{2} \\ \end{array} \right] }&0 \end{array} \right] \underset{8 \times 6}{Z_{2}} \end{aligned}$$
(91)

which is however not integer. Based on the argument of symmetry, one should be able to compensate the nonintegerness of this matrix with \(Q_{u}X_{2}\), or equivalently, be able to demonstrate that condition (44) of Theorem 3 is fulfilled. And indeed this is the case, as can be verified when (91) is premultiplied with \(\tilde{Z}_{u1}^{T}\) of (46). \(\square \)

In the above example, PPP–RTK turns out to be possible if the user tracked transmitters constitute a subset of the transmitters tracked by one of the network receivers. This can be shown to be true in general and is in fact a special case of the following result.

Theorem 6

(Sufficient user condition) Consider the network + user system (36), with the partitionings \(P=[P_{1}, P_{2}]\), \(P_{1} \in \mathbb {Z}^{n \times (\mathrm{{\small R}}-1)}\), \(P_{2} \in \mathbb {Z}^{n \times \mathrm{{\small S}}}\) and \(P_{u}=[0, P_{u2}]\), \(P_{u2} \in \mathbb {Z}^{u \times \mathrm{{\small S}}}\). Let \(P_{u2}=S_{u}P_{2}\) for some selection matrix \(S_{u} \in \mathbb {Z}^{u \times n}\). Then PPP–RTK is possible if

$$\begin{aligned} S_{u}P_{1}=Q_{u}X\;\mathrm{for\;some\;}X \in \mathbb {R}^{q \times ({{\tiny {\textrm{R}}}}-1)} \end{aligned}$$
(92)

i.e. if frequency ratios of network-user commonly tracked transmitters can be absorbed by the user equations.

Proof

From \(P_{u2}=S_{u}P_{2}\) follows that \(P_{u}=S_{u}P-[S_{u}P_{1},0]\) and therefore, after post multiplication with \(P^{+}Z_{2}\), \( P_{u}P^{+}Z_{2}=S_{u}Z_{2}-S_{u}P_{1}[I_{{ \text{ R }}-1},0]P^{+}Z_{2} \), since \(PP^{+}Z_{2}=Z_{2}\). As \(S_{u}Z_{2}\) is integer, condition (44) of Theorem 3 is satisfied if \(\tilde{Z}_{u1}^{T}S_{u}P_{1}=0\) and thus if \(S_{u}P_{1}=Q_{u}X\) for some \(X \in \mathbb {R}^{q \times ({{ \text{ R }}}-1)}\). \(\square \)

Note that an integer selection matrix \(S_{u}\), satisfying \(P_{u2}=S_{u}P_{2}\), always exists when the transmitter set tracked by the user is a subset of the transmitters tracked by the network.

From the above result, we can now draw several conclusions. Firstly, note that PPP–RTK will always be possible when \(S_{u}P_{1}=0\). This shows that it is the network receiver phase biases that are hindering PPP–RTK. Would the network receivers be free from phase biases, \(P_{1}\) would vanish and PPP–RTK would be possible. Secondly, (92) implies that PPP–RTK is possible when the user tracks the same transmitters as one of the network receivers. To see this, let the user tracked transmitters be a subset of the transmitters tracked by one of the network receivers, say receiver k. Then \(S_{u}\) can be chosen such that \(S_{u}P_{1}=0\) for \(k=1\) (i.e. the network reference receiver) and \(S_{u}P_{1}=Q_{u}c_{k-1}^{T}\) for \(k\ne 1\), in which \(Q_{u}=[r^{1}, \ldots , r^{u}]^{T}\) is the user design matrix for the single user receiver phase bias. Hence, condition (92) is satisfied in this case and PPP–RTK is thus possible.

Now consider the case that the user tracked transmitters are a subset of the transmitters tracked by two different network receivers, say receivers k and l. Then the frequency ratios of the tracked transmitters will not anymore be confined to a single column vector of \(S_{u}P_{1}\), but instead be distributed over two columns: \(S_{u}P_{1}=Q_{u_{1}}c_{k-1}^{T}+Q_{u_{2}}c_{l-1}^{T}\), with \(Q_{u_{1}}+Q_{u_{2}}=[r^{1}, \ldots , r^{u}]^{T}\). Hence, in this case (as in the above Example 4) PPP–RTK will not be possible anymore for all tracked transmitters if the user observation equations would be working with only a single receiver phase bias, i.e. if \(Q_{u}=[r^{1}, \ldots , r^{u}]^{T}\). The above theorem shows however, how one can then modify the user observation equations such that PPP–RTK for all transmitters becomes possible again. By defining \(Q_{u}=[Q_{u_{1}}, Q_{u_{2}}]\) and \(X=[c_{k-l}, c_{l-1}]^{T}\), we have \(S_{u}P_{1}=Q_{u}X\) and therefore agreement again with the PPP–RTK condition (92). The following example illustrates these different cases.

Example 8

(Continuation of Example 7) First we consider the two cases where the user either tracks the transmitters 1, 2 and 3, or the transmitters 1, 4 and 5. In the first case, \(P_{u2}=S_{u}P_{2}\) holds true for the choice

$$\begin{aligned} \underset{3 \times 8}{S_{u}}= \left[ \begin{array}{ccccc} 1 &{} 0 &{} 0 &{} 0 &{} 0\\ 0 &{} 0 &{} I_{2} &{} 0 &{}0 \end{array} \right] \end{aligned}$$
(93)

As this gives \(S_{u}P_{1}=0\), PPP–RTK is possible. For the second case, \(P_{u2}=S_{u}P_{2}\) holds true for the choice

$$\begin{aligned} \underset{3 \times 8}{S_{u}}= \left[ \begin{array}{ccccc} 0 &{} 1 &{} 0 &{} 0 &{} 0 \\ 0 &{} 0 &{} 0&{} I_{2} &{} 0 \end{array} \right] \end{aligned}$$
(94)

As this gives \(S_{u}P_{1}=[r^{1}, p_{2}^{T}]^{T}\), PPP–RTK is again possible. Now consider the case where the user tracks all 5 transmitters. Then \(P_{u2}=S_{u}P_{2}\) holds true for the choice

$$\begin{aligned} \underset{5 \times 8}{S_{u}}= \left[ \begin{array}{cccccc} 1 &{} 0 &{} 0 &{} 0 &{} 0 &{}0 \\ 0 &{} 0 &{} I_{2}&{} 0 &{} 0&{}0\\ 0&{}0&{}0&{} I_{2}&{}0&{}0 \end{array} \right] \end{aligned}$$
(95)

In this case we get

$$\begin{aligned} S_{u}P_{1}=\left[ \begin{array}{c} 0\\ 0\\ p_{2} \end{array}\right] = \underbrace{\left[ \begin{array}{cc} r^{1} &{} 0 \\ p_{1} &{} 0\\ 0 &{} p_{2} \end{array} \right] }_{Q_{u}} \underbrace{\left[ \begin{array}{c} 0\\ 1 \end{array} \right] }_{X} \end{aligned}$$
(96)

thus showing that to make PPP–RTK possible, the user now requires a \((q=2)\)-dimensional bias parametrization instead of the traditional single user receiver phase bias. \(\square \)

The relevance of the above theorem is thus that it shows how users can use information about the transmitter tracking of the network to realize PPP–RTK, irrespective of the frequency variations of the transmitters. The column dimension q of \(Q_{u}\) should then be chosen as the smallest number of network receivers that track the same transmitters as the user.

7 Summary and conclusions

In this contribution we generalized PPP–RTK theory by allowing the transmitters to transmit on different frequencies. The theory is generally applicable and not restricted to satellite positioning. Next to GLONASS FDMA and LEO satellite signals for instance, it is also applicable to terrestrial interferometric sensor networks. Our generalization is based on the integer-estimability theory of Teunissen (2019), with the needed results summarized in Theorems 1 and 2, and Corollary 1. They provide the algorithmic means of reparametrizing a rank-defect mixed-integer model to full rank, together with the necessary interpretation of the estimable parameters so obtained.

The purpose of PPP–RTK is to have a tracking network provide network-estimated transmitter phase biases to users so as to enable the user to benefit from the high-precision local phase data by means of integer ambiguity resolution. As the two building blocks of PPP–RTK are the observation equations of the network and those of the user, our analysis commenced with the undifferenced network equations, followed by an identification of the constraints imposed on the network+user admissible ambiguity transformations, from which a fundamental PPP–RTK realizability condition (Theorem 3) was derived and applied. Our condition shows when PPP–RTK is possible and when it is not, with several examples of both cases given.

The main results of this contribution can be summarized as follows:

  • Network: It was shown how the frequency-transformed reduced incidence matrix P of the network drives the integer estimability of the network parameters. Two approaches were provided for determining the integer estimable parameters, one based on P, the other on an integer basis matrix of the orthogonal complement of P’s range space (Corollary 2).

  • Network+user: It was shown how the PPP–RTK concept imposes additional constraints on the ambiguity transformations that can be used. Next to being integer with an integer inverse, they now also need to be of a block-triangular form. This follows from the need to avoid that the reparametrized network ambiguities become functions of the reparametrized user ambiguities. Furthermore, the transformations should also avoid that the user ambiguities become functions of the integer-estimable network ambiguities.

  • Fundamental PPP–RTK condition: It was shown how the additional constraints imposed on the admissible ambiguity transformations result in a fundamental condition that needs to be satisfied for PPP–RTK to be possible (Theorem 3). Stated compactly, PPP–RTK is possible if and only if

    $$\begin{aligned} \tilde{Z}_{u1}^{T}(P_{u}P^{+})Z_{2}\;\;\mathrm{is \;integer} \end{aligned}$$
    (97)

    in which \(\tilde{Z}_{u1}\) defines the user’s integer-estimability space, \(P_{u}\) is the user transmitter connectivity matrix, \(P^{+}\) is a left inverse of P, and \(Z_{2}\) defines the network’s integer-inestimable ambiguity space.

  • All-in-view PPP–RTK: It was shown that condition (97) is always satisfied when all transmitters are tracked by the network and user receivers. A detailed description of the associated interpretation of the parameters was also provided. Although the ’all-in-view’ case is not generally applicable, it is still practically relevant, for instance for GNSS tracking networks with limited spatial extent and for networks with terrestrial transmitters. With (97) showing how the network (P and \(Z_{2}\)) and the user (\(P_{u}\) and \(\tilde{Z}_{u1}\)) contribute to the PPP–RTK condition, both were analysed.

  • Network sufficiency conditions: As \(\tilde{Z}_{u1}\), \(P_{u}\) and \(Z_{2}\) in (97) are all integer, the existence of an integer left inverse \(P^{+}\) is sufficient for PPP–RTK to be possible. It was shown that such integer left inverse exists if and only if P could play the role of \(Z_{2}\) and thus be extendable to an admissible ambiguity transformation. An easy way to numerically demonstrate this was also given (Theorem 4). Furthermore, it was shown that an integer left inverse of P exists if one of the network receivers tracks all transmitters, or if all network receivers track the same transmitter on the reference frequency \(f_{0}\) (Theorem 5).

  • User sufficiency condition: If no integer left inverse of P exists, PPP–RTK may still be possible for certain measurement and modelling set ups of the user, i.e. certain \(P_{u}\) and \(\tilde{Z}_{u1}\). It was shown that PPP–RTK becomes possible when the frequency ratios of network-user commonly tracked transmitters can be absorbed by the user equations (Theorem 6). This is, for instance, always the case when the user tracked transmitters constitute a subset of the transmitters tracked by one of the network receivers.