This section describes the methodology of the proposed PPP algorithms, hardware bias derivation, and PPP integer ambiguity fixing. We start with the original raw observation approach on the basis of Teunissen et al. (2010), Li et al. (2013), Odijk (2017) and Zhang et al. (2019).
Raw observation approach
The observation equation for code p and carrier phase \(\phi\) measurement tracked by a receiver at location r from a satellite \(s \, (s = 1,2,\ldots ,m)\) of a constellation g, indicating BDS, GPS and Galileo system, at frequency \(i \, (i = 1,2)\) can be expressed in meters as follows (Kleusberg and Teunissen 1996; Hauschild 2017):
$$\begin{aligned} \begin{aligned} E\{p_{i,r} ^{s,g}\}&= \rho _r ^{s,g} + m_r^{s,g} T_r + \delta t_r - \delta t^{s,g} + \gamma ^{,g}_i I_r ^{s,g} + d_{p_{i,r}^{,g}} - d_{p_i}^{s,g} \\ E\{\phi _{i,r} ^{s,g}\}&= \rho _r ^{s,g} + m_r^{s,g} T_r + \delta t_r - \delta t^{s,g} - \gamma ^{,g}_i I_r ^{s,g} + d_{\phi _{i,r}^{,g}} - d_{\phi _i}^{s,g} + \lambda ^{,g}_i N_{i,r}^{s,g} \end{aligned} \end{aligned}$$
(1)
where \(E\{ \cdot \}\) is the expectation operator. \(\rho _r^{s,g}\) is the geometry distance between the receiver and the satellite. \(T_r\) is the zenith tropospheric delay with its corresponding mapping function \(m_r^{s,g}\), while \(\delta t_r\) and \(\delta t^{s,g}\) are receiver and satellite clock bias in meters, respectively. \(I_r ^{s,g}\) the ionosphere delays with a factor of \(\gamma ^{,g}_i = (f^{,g}_1/f^{,g}_i)^2\) at the frequency \(f^{,g}_i\). \(N_{i,r}^{s,g}\) is the integer phase ambiguity with its corresponding wavelength \(\lambda ^{,g}_i\). \(d_{p_{i,r}^{,g}}\) and \(d_{p_i}^{s,g}\) are code hardware biases on receiver and satellite, respectively. \(d_{\phi _{i,r}^{,g}}\) and \(d_{\phi _i}^{s,g}\) are phase hardware biases on receiver and satellite, respectively. It is assumed that these hardware biases are relatively stable in time.
To obtain precise point positioning, precise orbit and clock products are applied. The raw observation approach directly uses the uncombined and undifferenced measurements. The receiver and satellite code biases are not estimable in a single receiver, a reparameterization is therefore needed, which implies an application of the S-basis transformation (Teunissen 1985; Odijk et al. 2016). Taking the fact that satellite clock product containing part of satellite code biases into account, the raw observation equation of GB model can be formed as follows (Zhang et al. 2012; Odijk 2017):
$$\begin{aligned} \begin{aligned} E\{ \delta p_{i,r}^{s,g}\}&= \mu _r^{s,g} \varDelta x_r + m_r^{s,g} {T_r} + {t^g_r} + \gamma ^{,g}_i\tilde{I}_r^{s,g}\\ E\{ \delta \phi _{i,r}^{s,g}\}&= \mu _r^{s,g} \varDelta x_r + m_r^{s,g} {T_r} + {t^g_r} - \gamma ^{,g}_i\tilde{I}_r^{s,g} + \lambda ^{,g}_i \tilde{N}_{i,r}^{s,g} \end{aligned} \end{aligned}$$
(2)
where \(\delta p_{i,r}^s\) and \(\delta \phi _{i,r}^s\) are Observed Minus Computed (OMC) values, which are calculated from raw observations and a priori coordinates as well as precise satellite orbit and clock. \(\mu _r^{s,g}\) is the unit vector of LOS (Line-Of-Sight) between the receiver and the satellite, while \(\varDelta x_r\) the receiver positioning increments with respect to the a priori coordinates. The receiver clock parameter in Eq. (2) is formed as:
$$\begin{aligned} t^g_r = \delta t_r + \frac{\gamma ^{,g}_2}{{\gamma ^{,g}_2} - {\gamma ^{,g}_1}}d_{p_{1,r}^{,g}} - \frac{\gamma ^{,g}_1}{{\gamma ^{,g}_2} - {\gamma ^{,g}_1}}d_{p_{2,r}^{,g}} \end{aligned}$$
(3)
and the ionosphere term is parameterized as:
$$\begin{aligned} \tilde{I}_r^{s,g} = I_r^{s,g} + \frac{\gamma ^{,g}_1}{{\gamma ^{,g} _2} - {\gamma ^{,g}_1}}(d_{{p_1}}^{s,g} - d_{{p_2}}^{s,g} - d_{p_{1,r}^{,g}} + d_{p_{2,r}^{,g}}) \end{aligned}$$
(4)
The ambiguity terms containing part of code hardware delays in Eq. (2) are given as follows:
$$\begin{aligned} \tilde{N}_{i,r}^{s,g} = N_{i,r}^{s,g} + \frac{1}{\lambda ^{,g}_i}\Big \{ d_{\phi _{i,r}^{,g}} - d_{\phi _i}^{s,g} + \frac{{\gamma ^{,g}_i}+{\gamma ^{,g}_1}}{{\gamma ^{,g}_2}-{\gamma ^{,g}_1}}\big ( d_{p_{2,r}^{,g}} - d_{p_2}^{s,g}\big ) - \frac{{\gamma ^{,g}_i}+{\gamma ^{,g}_2}}{{\gamma ^{,g}_2}-{\gamma ^{,g}_1}}\big ( d_{p_{1,r}^{,g}} - d_{p_1}^{s,g}\big ) \Big \} \end{aligned}$$
(5)
It should be noticed that the ambiguity terms have no integer nature as they are not separated with the receiver and satellite hardware biases. For the detail of derivation of Eqs. (3)–(5), one can refer to Odijk (2017). In order to achieve integer ambiguity-fixed solution, the satellite biases have to be computed in a regional or global network.
The stochastic model for the observations of one satellite is given as follows:
$$\begin{aligned} \mathbf{Q }_{\mathbf{y }_r^{s,g}} = diag\{\sigma (e_{r}^{s,g})_p^2,\sigma (e_{r}^{s,g})_p^2,\sigma (e_{r}^{s,g})_\phi ^2,\sigma (e_{r}^{s,g})_\phi ^2\} \end{aligned}$$
(6)
where \(e_{r}^{s,g}\) is the elevation of the satellite, \(\sigma (e_{r}^{s,g})_p\) and \(\sigma (e_{r}^{s,g})_\phi\) are a priori formal errors for code and phase measurements, respectively. The elevation-dependent data weighting is applied. Assume that they are the same for L1 and L2 frequency. Their correlations between code and phase, as well as between L1 and L2 measurements, are assumed sufficiently small and therefore are not considered.
Compared with the IF combination approach, the raw observation approach estimates the ionospheric parameters instead of eliminating them. This gives an opportunity to constrain the ionospheric parameters when their corrections are provided, resulting in stronger geometry strength and potentially faster convergence. However, the raw observation approach produces almost the same positions as those with the IF combination approach, if the ionosphere parameters are not constrained and the stochastic model and the process noise in parameters are properly considered the similar in both cases.
A variant of raw observation approach
The raw observation equation shown in Eq. (2) can be further manipulated only for phase observation of the second frequency:
$$\begin{aligned} \begin{aligned} E\{ \delta \phi _{2,r}^{s,g}\}&= \mu _r^{s,g} \varDelta x_r + m_r^{s,g} {T_r} + {t^g_r} - \gamma ^{,g}_2\tilde{I}_r^{s,g} + \lambda ^{,g}_2 \tilde{N}_{1,r}^{s,g} - \lambda ^{,g}_2 \tilde{N}_{wl,r}^{s,g} \end{aligned} \end{aligned}$$
(7)
where the WL ambiguity term is defined as follows:
$$\begin{aligned} \tilde{N}_{wl,r}^{s,g}&= \tilde{N}_{1,r}^{s,g} - \tilde{N}_{2,r}^{s,g} = N_{wl,r}^{s,g} + b^{,g}_{wl,r} - b^{s,g}_{wl} \end{aligned}$$
(8)
which includes a WL integer ambiguity plus a receiver and satellite wide-lane biases. The term \(\lambda ^{,g}_2 \tilde{N}_{1,r}^{s,g}\) was added as an additional parameter, while its negative counterpart is combined with the previous term \(\lambda ^{,g}_2 \tilde{N}_{2,r}^{s,g}\). The wide-lane integer ambiguity is the difference between L1 and L2 integer one, as defined in Allison (1991), Chen et al. (2018), Liu et al. (2021):
$$\begin{aligned} N_{wl,r}^{s,g} = N_{1,r}^{s,g} - N_{2,r}^{s,g} \end{aligned}$$
(9)
Note that the WL ambiguity has the L2 wavelength as coefficient, rather than the WL wavelength in Ge et al. (2008), Laurichesse et al. (2009), Collins et al. (2010). The WL receiver hardware bias is parameterized as a combination of code and phase receiver hardware biases on L1 and L2:
$$\begin{aligned} \begin{aligned} b^{,g}_{wl,r} = \frac{d_{\phi _{1,r}^{,g}}}{\lambda ^{,g}_1} - \frac{d_{\phi _{2,r}^{,g}}}{\lambda ^{,g}_2} + \frac{\lambda ^{,g}_1 - \lambda ^{,g}_2}{\lambda ^{,g}_1 + \lambda ^{,g}_2} \Big \{ \frac{d_{p_{1,r}^{,g}}}{\lambda ^{,g}_1} + \frac{d_{p_{2,r}^{,g}}}{\lambda ^{,g}_2} \Big \} \end{aligned} \end{aligned}$$
(10)
and the WL satellite hardware bias is parameterized as a combination of code and phase satellite hardware biases on L1 and L2:
$$\begin{aligned} \begin{aligned} b^{s,g}_{wl} = \frac{d_{\phi _1}^{s,g}}{\lambda ^{,g}_1} - \frac{d_{\phi _2}^{s,g}}{\lambda ^{,g}_2} + \frac{\lambda ^{,g}_1 - \lambda ^{,g}_2}{\lambda ^{,g}_1 + \lambda ^{,g}_2} \Big \{ \frac{d_{p_1}^{s,g}}{\lambda ^{,g}_1} + \frac{d_{p_2}^{s,g}}{\lambda ^{,g}_2} \Big \} \end{aligned} \end{aligned}$$
(11)
The L1 ambiguity term in Eq. (7) includes the integer plus a receiver and satellite biases.
$$\begin{aligned} \tilde{N}_{1,r}^{s,g} = N_{1,r}^{s,g} + b^{,g}_{1,r} - b^{s,g}_{1} \end{aligned}$$
(12)
where the receiver bias is formed as:
$$\begin{aligned} b^{,g}_{1,r} = \frac{1}{\lambda ^{,g}_1}\Big \{ d_{\phi _{1,r}^{,g}} + \frac{2{\gamma ^{,g}_1}}{{\gamma ^{,g}_2}-{\gamma ^{,g}_1}} d_{p_{2,r}^{,g}} - \frac{{\gamma ^{,g}_1}+{\gamma ^{,g}_2}}{{\gamma ^{,g}_2}-{\gamma ^{,g}_1}} d_{p_{1,r}^{,g}} \Big \} \end{aligned}$$
(13)
similarly the satellite bias is formed as follows:
$$\begin{aligned} b^{s,g}_{1} = \frac{1}{\lambda ^{,g}_1}\Big \{ d_{\phi _1}^{s,g} + \frac{2{\gamma ^{,g}_1}}{{\gamma ^{,g}_2}-{\gamma ^{,g}_1}} d_{p_2}^{s,g} - \frac{{\gamma ^{,g}_1}+{\gamma ^{,g}_2}}{{\gamma ^{,g}_2}-{\gamma ^{,g}_1}} d_{p_1}^{s,g} \Big \} \end{aligned}$$
(14)
The observation equations for all observed satellites of one constellation in the matrix-vector form is expressed as:
$$\begin{aligned} E\{\begin{bmatrix} \mathbf{P }^g \\ {\varvec{\Phi }}^g \end{bmatrix} \} =\begin{bmatrix} G \, &{} \, e_{2m} &{} \; \; \, I_m\otimes \varGamma \, &{} \; \\ G \, &{} \, e_{2m} &{} \; - I_m\otimes \varGamma \, &{} \; I_{m}\otimes \varLambda \end{bmatrix} \begin{bmatrix} \mathbf{x }_r \\ {t^g_r} \\ \mathbf{I }_r^{g} \\ \mathbf{N }_{r}^{g} \end{bmatrix} \end{aligned}$$
(15)
where the code OMC vector \(\mathbf{P }^g = \begin{bmatrix} {\delta p_{1,r}^{1,g}} \;&\; {\delta p_{2,r}^{1,g}} \;&\; {\delta p_{1,r}^{2,g}} \;&\; {\delta p_{2,r}^{2,g}} \;&\; \cdots \;&\; {\delta p_{1,r}^{m,g}} \;&\; {\delta p_{2,r}^{m,g}} \end{bmatrix}^T\) and the phase \({\varvec{\Phi }}^g = \begin{bmatrix} {\delta \phi _{1,r}^{1,g}} \;&\; {\delta \phi _{2,r}^{1,g}} \;&\; {\delta \phi _{1,r}^{2,g}} \;&\; {\delta \phi _{2,r}^{2,g}} \;&\; \cdots \;&\; {\delta \phi _{1,r}^{m,g}} \;&\; {\delta \phi _{2,r}^{m,g}} \end{bmatrix}^T\). The G contains the unit vectors of LOS and the mapping function value of zenith delay of troposphere, \(G = \begin{bmatrix} \mu _r^{1,g}\; \mu _r^{1,g}\; &{} \; \mu _r^{2,g}\; \mu _r^{2,g} \;&{} \cdots &{} \; \mu _r^{m,g}\; \mu _r^{m,g} \\ m_r^{1,g}\; m_r^{1,g} \; &{} \; m_r^{2,g}\; m_r^{2,g} \;&{} \cdots &{} \; m_r^{m,g}\; m_r^{m,g} \end{bmatrix}^T\) and the parameter \({\mathbf{x }}_r = \begin{bmatrix} \varDelta x_r \;&\; {T_r} \end{bmatrix}^T\). Where \(\varGamma = \begin{bmatrix} \gamma ^{,g}_1 \;&\; \gamma ^{,g}_2 \end{bmatrix}^T\) with the parameter \(\mathbf{I }_r^{g} = \begin{bmatrix} {\tilde{I}_r^{1,g}} \;&\; {\tilde{I}_r^{2,g}} \;&\; \cdots&{\tilde{I}_r^{m,g}} \end{bmatrix}^T\). \(\varLambda = \begin{bmatrix} \lambda ^{,g}_1 \; &{} \; \\ \lambda ^{,g}_2 \; &{} \; - \lambda ^{,g}_2 \end{bmatrix}\) and \(\mathbf{N }_{r}^{g} = \begin{bmatrix} \tilde{N}_{1,r}^{1,g} \;&\; \tilde{N}_{wl,r}^{1,g} \;&\; \tilde{N}_{1,r}^{2,g} \;&\; \tilde{N}_{wl,r}^{2,g} \;&\; \cdots \;&\tilde{N}_{1,r}^{m,g} \;&\; \tilde{N}_{wl,r}^{m,g} \end{bmatrix}^T\). \(I_{m}\) is a unit matrix and \(e_{2m} = [1 \;\; 1 \;\; \cdots \;\; 1]^T\). \(\otimes\) is the Kronecker product operator.
The stochastic model is expressed as:
$$\begin{aligned} \mathbf{Q }_{\mathbf{y }} = diag \{\mathbf{Q }_\mathbf{P }, \mathbf{Q }_{\varvec{\Phi }}\} \end{aligned}$$
(16)
where the code and phase part are, respectively, denoted as
$$\begin{aligned} {\mathbf{Q }}_\mathbf{P } = diag \{ \sigma (e_{r}^{1,g})_p^2, \sigma (e_{r}^{1,g})_p^2, \sigma (e_{r}^{2,g})_p^2,\sigma (e_{r}^{2,g})_p^2,..., \sigma (e_{r}^{m,g})_p^2,\sigma (e_{r}^{m,g})_p^2 \} \end{aligned}$$
(17)
and
$$\begin{aligned} {\mathbf{Q }}_{\varvec{\Phi }} = diag \{ \sigma (e_{r}^{1,g})_\phi ^2, \sigma (e_{r}^{1,g})_\phi ^2, \sigma (e_{r}^{2,g})_\phi ^2,\sigma (e_{r}^{2,g})_\phi ^2 ,..., \sigma (e_{r}^{m,g})_\phi ^2,\sigma (e_{r}^{m,g})_\phi ^2 \} \end{aligned}$$
(18)
The variant of the approach is equivalent to the original raw observation approach. The only difference is that the WL ambiguity term replaces the L2 ambiguity term via a slight manipulation of the elements of the design matrix. All other parameters are the same as what they were in the original raw observation approach. In other words, the variant produces the equivalent positioning as the original raw observation approach, if the same stochastic model and computation mode are used.
Hardware bias estimation
In order to produce satellite hardware biases corrections, the positions of the reference sits are considered known, the position increments \(\varDelta x_r\) and their elements in design matrix, i.e., unit vector, are vanished. The terms \(b^{s,g}_{wl}\) in Eq. (11) and \(b^{s,g}_{1}\) in Eq. (14) are therefore the quantities to be extracted from the ambiguities obtained at the individual sites. The advantage of the manipulation is directly estimating the WL and L1 ambiguities and their variance-covariances, without forming WL and IF (or NL) combination ambiguity after estimating the L1 and L2 ambiguities as done in Li et al. (2013) and Gu et al. (2015). It is also possible to directly estimate the single-differenced WL/L1 ambiguity term (to eliminate the receiver hardware biases) through a further re-parameterization shown as follows:
$$\begin{aligned} E\{ \begin{bmatrix} {\varvec{P}}^g \\ \varPhi ^g \end{bmatrix} \} =\begin{bmatrix} M &{} \, e_{2m} &{} \; \; \, I_m\otimes \varGamma \, &{} \, &{} \\ M &{} \, e_{2m} &{} \; - I_m\otimes \varGamma \, &{} \, E_{m,m-1}\otimes \varLambda \, &{} \, e_m\otimes \varLambda \end{bmatrix} \begin{bmatrix} T_r \\ {t^g_r} \\ \mathbf{I }_r^{g} \\ \mathbf{N }_r^{,g} \\ \mathbf{N }_r^{m,g} \end{bmatrix} \end{aligned}$$
(19)
where \(M = \begin{bmatrix} m_r^{1,g}\; m_r^{1,g} \;&\; m_r^{2,g}\; m_r^{2,g} \;&\; \cdots \;&\; m_r^{m,g}\; m_r^{m,g} \end{bmatrix}^T\), the last satellite m is assumed as the reference satellite, e.g. with the highest elevation, \(s = 1,2\ldots ,m-1\) in sequel unless otherwise specified. \(\mathbf{N }_{r}^{,g} = \begin{bmatrix} \tilde{N}_{1,r}^{1m,g} \;&\; \tilde{N}_{wl,r}^{1m,g} \;&\; \tilde{N}_{1,r}^{2m,g} \;&\; \tilde{N}_{wl,r}^{2m,g} \;&\; \cdots \;&\tilde{N}_{1,r}^{sm,g} \;&\; \tilde{N}_{wl,r}^{sm,g} \end{bmatrix}^T\) with \(\tilde{N}_{wl,r}^{sm,g} = \tilde{N}_{wl,r}^{s,g} - \tilde{N}_{wl,r}^{m,g}\) and \(\tilde{N}_{1,r}^{sm,g} = \tilde{N}_{1,r}^{s,g} - \tilde{N}_{1,r}^{m,g}\). \(\mathbf{N }_{r}^{m,g} = \begin{bmatrix} \tilde{N}_{1,r}^{m,g} \;&\; \tilde{N}_{wl,r}^{m,g} \end{bmatrix}^T\), \(E_{m,m-1}= \begin{bmatrix} I_{m-1} \\ 0_{m-1}^T \end{bmatrix}\).
Through a least-square estimation, the single-differenced WL and L1 ambiguity terms of one satellite
$$\begin{aligned} {{\hat{\mathbf{N }}}}_{,r}^{sm,g} = \big [ \hat{\tilde{N}}_{1,r}^{sm,g} \;\; \hat{\tilde{N}}_{wl,r}^{sm,g} \big ]^T \end{aligned}$$
(20)
are obtained together with their variance-covariance
$$\begin{aligned} {\mathbf{Q }}_{{{\hat{\mathbf{N }}}}_{,r}^{sm,g}} = \begin{bmatrix} \sigma ^2_{\hat{\tilde{N}}_{1,r}^{sm,g}} &{} \sigma _{\hat{\tilde{N}}_{1,r}^{sm,g},\hat{\tilde{N}}_{wl,r}^{sm,g}}\\ \sigma _{\hat{\tilde{N}}_{1,r}^{sm,g},\hat{\tilde{N}}_{wl,r}^{sm,g}} &{} \sigma ^2_{\hat{\tilde{N}}_{wl,r}^{sm,g}} \end{bmatrix} \end{aligned}$$
(21)
When the formal error \(\sigma _{\hat{\tilde{N}}_{wl,r}^{sm,g}}\) is smaller than a threshold (e.g., 0.2), the fractional part of single-differenced WL ambiguities is therefore determined as follows:
$$\begin{aligned} a_{wl,r}^{sm,g} = \hat{\tilde{N}}_{wl,r}^{sm,g} - \big <\hat{\tilde{N}}_{wl,r}^{sm,g} \big > \end{aligned}$$
(22)
where \(\big < \cdot \big>\) the ambiguity fixing operator, e.g., a rounding operator. Assume that the ambiguities are correctly rounded in the network, \(a_{wl,r}^{sm,g}\) is therefore taken as an input to estimate the satellite WL phase biases. The functional model for estimating the satellite WL phase biases can be formed as follows:
$$\begin{aligned} \begin{bmatrix} {\mathbf{a }}^g_{wl,1}\\ {\mathbf{a }}^g_{wl,2}\\ \vdots \\ {\mathbf{a }}^g_{wl,n} \\ b^{m,g}_{wl,0} \end{bmatrix} = \begin{bmatrix} I_{m-1}&{} -e_{m-1} &{} \\ I_{m-1}&{} -e_{m-1} &{} \\ \vdots &{} \vdots &{} \\ I_{m-1}&{} -e_{m-1} &{} \\ 0 &{} 1 &{} \end{bmatrix} \begin{bmatrix} b^{1,g}_{wl} \\ b^{2,g}_{wl} \\ \vdots \\ b^{m,g}_{wl} \end{bmatrix} \end{aligned}$$
(23)
where \({\mathbf{a }}^g_{wl,r} = \big [ a_{wl,r}^{1m,g} \;\; a_{wl,r}^{2m,g} \;\; \cdots \;\; a_{wl,r}^{m-1 m,g} \big ]^T\) with \(r = 1, 2, \ldots , n\) being the reference sites of the network. The WL bias of a (reference) satellite is assigned to an arbitrary value \(b^{m,g}_{wl,0}\) as a datum, adding into Eq. (23) in order to solve the rank defect issue.
Equation (23) assumes that all reference sites are tracking the same satellites, and the same reference satellite is chosen. However, this is not in the reality. Even though, it is straight forward to handle. We just need to replace 1 to 0 for the corresponding elements in design matrix when one satellite does not appear in one site. Each individual site can select its own reference satellite. We just need fill in -1 to the corresponding column when a different satellite is selected as the reference satellite for that site. More generic theory on how to handle the connectivity of ambiguities in the network can be found in Khodabandeh and Teunissen (2019).
The estimated satellite phase biases \(\hat{b}^{s,g}_{wl}\) and \(\hat{b}^{m,g}_{wl}\) from the network are used to correct all float WL ambiguities for all sites as the following:
$$\begin{aligned} \hat{a}_{wl,r}^{sm,g} = \hat{\tilde{N}}_{wl,r}^{sm,g} - \hat{b}^{s,g}_{wl} + \hat{b}^{m,g}_{wl} \end{aligned}$$
(24)
The WL integer ambiguities \(\check{a}_{wl,r}^{sm,g}\) are therefore determined on the basis of the corrected float ambiguities and its formal error \(\sigma _{\hat{\tilde{N}}_{wl,r}^{sm,g}}\). Ideally, this can be rigorously achieved with the all WL ambiguity terms at all individual sites with their full variance-covariances using the LAMBDA (Least-square AMBiguity Decorrelation Adjustment) method to search for the integer ambiguity candidates (Teunissen 1995). However, the system complexity and computation burden might exponentially increase for the network solution.
The differences of the WL float and fixed ambiguities are used to correct the L1 ambiguities estimated previously together with their variance-covariance elements:
$$\begin{aligned} \hat{\tilde{N}}_{1|{wl},r}^{sm,g} = \hat{\tilde{N}}_{1,r}^{sm,g} - \sigma _{\hat{\tilde{N}}_{1,r}^{sm,g} \hat{\tilde{N}}_{wl,r}^{sm,g}} \sigma ^{-2}_{\hat{\tilde{N}}_{wl,r}^{sm,g}} \big ( \hat{a}_{wl,r}^{sm,g} - \check{a}_{wl,r}^{sm,g} \big ) \end{aligned}$$
(25)
The variance of the L1 ambiguity is also improved in this case.
$$\begin{aligned} \sigma ^2_{\hat{\tilde{N}}_{1|{wl},r}^{sm,g}} = \sigma ^2_{\hat{\tilde{N}}_{1,r}^{sm,g}} - \sigma _{\hat{\tilde{N}}_{1,r}^{sm,g} \hat{\tilde{N}}_{wl,r}^{sm,g}} \sigma ^{-2}_{\hat{\tilde{N}}_{wl,r}^{sm,g}} \end{aligned}$$
(26)
This step is different from that done in Li et al. (2013) and Gu et al. (2015), where the IF or NL combination operator is applied to form a NL ambiguity term. This contribution considers the correlation of L1 and WL ambiguity terms. The real values of L1 estimates as well as their variances are virtually corrected by their correlation with the WL estimates after the WL satellite phase biases are solved. This is actually an extension and application of so-called integer bootstrapping technique (Teunissen 2001) to the estimation of satellite phase biases.
The formal error \(\sigma _{\hat{\tilde{N}}_{1|wl,r}^{sm,g}}\) is also used to determine the fractional part of single-difference L1 ambiguities.
$$\begin{aligned} a_{1|wl,r}^{sm,g} = \hat{\tilde{N}}_{1|{wl},r}^{sm,g} - \big < \hat{\tilde{N}}_{1|{wl},r}^{sm,g} \big > \end{aligned}$$
(27)
The value \(a_{1|wl,r}^{sm,g}\) is taken as an input to estimate the satellite L1 phase biases. The similar functional model as Eq. (23) is described in the following:
$$\begin{aligned} \begin{bmatrix} {\mathbf{a }}^g_{1,1} \\ {\mathbf{a }}^g_{1,2} \\ \vdots \\ {\mathbf{a }}^g_{1,n} \\ b^{m,g}_{1,0} \end{bmatrix} =\begin{bmatrix} I_{m-1}&{} -e_{m-1} &{} \\ I_{m-1}&{} -e_{m-1} &{} \\ \vdots &{} \vdots &{} \\ I_{m-1}&{} -e_{m-1} &{} \\ 0 &{} 1 &{} \end{bmatrix} \begin{bmatrix} b^{1,g}_{1} \\ b^{2,g}_{1} \\ \vdots \\ b^{m,g}_{1} \end{bmatrix} \end{aligned}$$
(28)
where \({\mathbf{a }}^g_{1,r} = \big [ a_{1|wl,r}^{1m,g} \;\; a_{1|wl,r}^{2m,g} \;\; \cdots \;\; a_{1|wl,r}^{m-1 m,g} \big ]^T\). Again, an arbitrary datum \(b^{m,g}_{1,0}\) has to be added in Eq. (28) in order to solve the rank defect issue. The estimates of L1 satellite phase biases \(\hat{b}^{s,g}_{1}\) and \(\hat{b}^{m,g}_{1}\), together with estimated WL satellite phase biases in previous step, are ready to broadcast for users to have integer ambiguity resolution.
PPP IAR solutions
The parameters of the functional model in the user side can be divided into two groups, as follows:
$$\begin{aligned} \underbrace{E\{ \begin{bmatrix} \mathbf{P }^g \\ {\varvec{\Phi }}^g \end{bmatrix} \}}_{\mathbf{y }} =\underbrace{\begin{bmatrix} G \, &{} \, e_{2m} &{} \; \; I_m\otimes \varGamma \, &{} \; \\ G \, &{} \, e_{2m} &{} \; - I_m\otimes \varGamma \, &{} \; e_{m}\otimes \varLambda \end{bmatrix}}_{\mathbf{A }} \underbrace{\begin{bmatrix} {\mathbf{x }}_r \\ {t^g_r} \\ \mathbf{I }_r^{g} \\ \mathbf{N }_{r}^{m,g} \end{bmatrix}}_{{\mathbf{x }}_1} +\underbrace{\begin{bmatrix} E_{m,m-1}\otimes \varLambda \end{bmatrix}}_{\mathbf{B }} \underbrace{\begin{bmatrix} \mathbf{N }_r^{,g} \end{bmatrix}}_{{\mathbf{x }}_2} \end{aligned}$$
(29)
The single-differenced ambiguity terms \(\tilde{N}_{1,r}^{sm,g}\) and \(\tilde{N}_{wl,r}^{sm,g}\) are included in the group of \({\mathbf{x }}_2\), while the ambiguity terms of the reference satellite \(\tilde{N}_{1,r}^{m,g}\) and \(\tilde{N}_{wl,r}^{m,g}\) are included in the group of \({\mathbf{x }}_1\) with other remaining parameters. The corresponding stochastic model is the same as Eq.16. The least-squares estimation is carried out and the ambiguity float solution is therefore obtained as:
$$\begin{aligned} \begin{bmatrix} \hat{{\mathbf{x }}}_1\\ \hat{{\mathbf{x }}}_2 \end{bmatrix} =\begin{bmatrix} {\mathbf{Q }}_{\hat{{\mathbf{x }}}_1, \hat{{\mathbf{x }}}_1 } &{} {\mathbf{Q }}_{\hat{{\mathbf{x }}}_1, \hat{{\mathbf{x }}}_2 } \\ {\mathbf{Q }}_{\hat{{\mathbf{x }}}_2, \hat{{\mathbf{x }}}_1 } &{} {\mathbf{Q }}_{\hat{{\mathbf{x }}}_2, \hat{{\mathbf{x }}}_2 } \end{bmatrix} \begin{bmatrix} {\mathbf{A }}^T {\mathbf{Q }}_{\mathbf{y }} {\mathbf{y }} \\ {\mathbf{B }}^T {\mathbf{Q }}_{\mathbf{y }} {\mathbf{y }} \end{bmatrix} ={\begin{bmatrix} {\mathbf{A }}^T {\mathbf{Q }}_{\mathbf{y }} {\mathbf{A }} &{} {\mathbf{A }}^T {\mathbf{Q }}_{\mathbf{y }} {\mathbf{B }} \\ {\mathbf{B }}^T {\mathbf{Q }}_{\mathbf{y }} {\mathbf{A }} &{} {\mathbf{B }}^T {\mathbf{Q }}_{\mathbf{y }} {\mathbf{B }} \end{bmatrix}}^{-1} \begin{bmatrix} {\mathbf{A }}^T {\mathbf{Q }}_{\mathbf{y }} {\mathbf{y }} \\ {\mathbf{B }}^T {\mathbf{Q }}_{\mathbf{y }} {\mathbf{y }} \end{bmatrix} \end{aligned}$$
(30)
The single-differenced ambiguity term \(\hat{{\mathbf{x }}}_2\) can be directly corrected with the WL and L1 satellite hardware biases. This recovers the integer nature of the ambiguities. In this case, the integer searching and fixing scheme, e.g. the LAMBDA method, is triggered. The procedure is applied to the corrected \(\hat{{\mathbf{x }}}_2\) and \({\mathbf{Q }}_{\hat{{\mathbf{x }}}_2, \hat{{\mathbf{x }}}_2}\). Assume that they are fixed to their integer ambiguities \(\check{{\mathbf{x }}}_2\). The ambiguity fixed solution of the remaining parameters is then given by
$$\begin{aligned} \check{{\mathbf{x }}}_1 = \hat{{\mathbf{x }}}_1 - {\mathbf{Q }}_{\hat{{\mathbf{x }}}_2, \hat{{\mathbf{x }}}_1 } {\mathbf{Q }}^{-1}_{\hat{{\mathbf{x }}}_2, \hat{{\mathbf{x }}}_2} (\hat{{\mathbf{x }}}_2 - \check{{\mathbf{x }}}_2) \end{aligned}$$
(31)
The advantage of fixing WL and L1 ambiguities, compared with fixing of L1 and L2 ambiguities, is less computational efforts. The WL part includes already an explicit decorrelation that might have to be derived with L1 and L2 ambiguities (Chen and Zhao 2014; Zhu et al. 2021). However, This decorrelation might be only a start between the frequencies. The correlation among satellites has to be reduced for both cases. It is also possible to first fix the WL ambiguities and then fixing the L1 ambiguities through the integer bootstrapping, as we did for the network side. However, the highest success rate of ambiguity resolution can be achieved in theory by resolving the full set of ambiguities simultaneously through the integer least-squares estimator (Teunissen 1999).