# GPS + BDS Network Real-Time Differential Positioning Using a Position Domain Estimation Method
## 2 Materials and Methods
### Position Estimation for User  
#### 2.2.1 Traditional Algorithm in the Range Domain  
In general, the reference stations are equipped with multi-frequency receivers, and the users are equipped with low-cost receivers which may only receive a single-frequency signal. In this case, the Hatch filter [18], using single-frequency carrier phase observation, is used to obtain the low-noise pseudorange observation, which can be expressed as  
\[\hat{P}_{k}=\frac{1}{k}\cdot P_{k}+\left(1-\frac{1}{k}\right)\left[\hat{P}_{k-1 }+\Delta L_{k,k-1}\right], \tag{6}\]  
where \(P\) and \(L\) denote the original pseudorange and carrier phase observables in units of meters, \(k\) is the epoch number in the filter and the initial carrier-phase-smoothed pseudorange is the original observable. \(\Delta\) is the inter-epoch single-differencing operator. Since the performance of the Hatch filter is related to the smoothing window, an empirical value of 100 s [35] is used.  
Furthermore, the corrected carrier-phase-smoothed pseudorange observable of the user \(u\) at the current epoch can be yielded.  
\[\hat{P}_{u,c}^{q}=\hat{P}_{u}^{q}+PRC_{u}^{q}=\sqrt{\left(X^{q}-X_{u}\right)^{ 2}+\left(Y^{q}-Y_{u}\right)^{2}+\left(Z^{q}-Z_{u}\right)^{2}}-c\cdot\delta \tau_{u}, \tag{7}\]  
where \(X\), \(Y\) and \(Z\) are the coordinate components, and \(\delta\tau_{u}\) represents the user receiver's clock error. The orbit error, the tropospheric delay, the ionospheric delay and the satellite clock's error have been greatly mitigated or even eliminated by the differential processing.  
Since the receiver's clock errors for GPS and BDS are different, which are marked as \(\delta\tau_{u}^{G}\) and \(\delta\tau_{u}^{B}\), respectively, the matrix form of the linearized observation equation can be expressed as  
\[\left[\begin{array}{cccc}\hat{P}_{u,c}^{G_{1}}-R_{0u}^{G_{1}}\\ \vdots\\ \hat{P}_{u,c}^{G_{u}}-R_{0u}^{G_{u}}\\ \hat{P}_{u,c}^{B_{1}}-R_{0u}^{B_{1}}\\ \vdots\\ \hat{P}_{u,c}^{B_{s}}-R_{0u}^{B_{s}}\end{array}\right]=\left[\begin{array}{ ccccc}-I_{u}^{G_{1}}&-m_{u}^{G_{1}}&-n_{u}^{G_{1}}&-1&0\\ \vdots&\vdots&\vdots&\vdots&\vdots&\vdots\\ -I_{u}^{G_{s}}&-m_{u}^{G_{s}}&-n_{u}^{G_{s}}&-1&-0\\ -I_{u}^{B_{1}}&-m_{u}^{G_{s}}&-n_{u}^{B_{1}}&0&-1\\ -I_{u}^{B_{s}}&-m_{u}^{B_{s}}&-n_{u}^{B_{s}}&0&-1\end{array}\right]\left[ \begin{array}{cccc}&dX\\ &dY\\ &dZ\\ c\delta\tau_{u}^{G}\\ \end{array}\right], \tag{8}\]  
where \(R_{0}\) is the approximate distance between the user station and the satellite; \(l\), \(m\) and \(n\) are the unit vectors on the line-of-sight from the station to the satellite; and \(G_{s}\) and \(B_{s}\) are the numbers of visible GPS and BDS satellites. The unknown estimators, \(dX\), \(dY\), \(dZ\), \(c\delta\tau_{u}^{G}\) and \(c\delta\tau_{u}^{B}\), are thereby solved by a weighted least squares adjustment.  
Assume that the accuracy of the carrier phase and pseudorange observations are 0.003 m and 0.3 m for both GPS and BDS [36], the precision of the carrier-phase-smoothed pseudorange can be derived from Teunissen [37], and the weights for each satellite can be obtained according to the elevation-dependent weighting function given in [PERSON] et al. [2]. In this way, the stochastic model in the adjustment is determined.