## 2 Carrier Phase and Pseudorange Measurement Model  
Under a single baseline condition, the GNSS receivers at both ends are named \"base\" and \"rover\" (subscripts \"b\" and \"r\" are used in equations hereinafter) respectively in accordance with literature. The carrier phase and pseudorange measurements from a certain satellite \(j\) of an arbitrary constellation observed by the two receivers at a certain epoch can be written as  
\[\rho_{j,x}=\lambda^{-1}\left(r_{j,x}+I_{j,x}+T_{j,x}\right)+f\left(\delta t_{x} -\delta t_{j}\right)+\varepsilon_{j,x} \tag{1}\]  
\[\rho_{j,\mathrm{b}}=\lambda^{-1}\left(r_{j,\mathrm{b}}+I_{j,\mathrm{b}}+T_{j, \mathrm{b}}\right)+f\left(\delta t_{\mathrm{b}}-\delta t_{j}\right)+ \varepsilon_{j,\mathrm{b}} \tag{2}\]  
\[\phi_{j,x}=\lambda^{-1}\left(r_{j,x}-I_{j,x}+T_{j,x}\right)+f\left(\delta t_{x }-\delta t_{j}\right)+N_{j,x}+\eta_{j,x} \tag{3}\]  
\[\phi_{j,\mathrm{b}}=\lambda^{-1}\left(r_{j,\mathrm{b}}-I_{j,\mathrm{b}}+T_{j,\mathrm{b}}\right)+f\left(\delta t_{\mathrm{b}}-\delta t_{j}\right)+N_{j, \mathrm{b}}+\eta_{j,\mathrm{b}} \tag{4}\]  
where \(\rho\) and \(\phi\) are pseudorange and carrier phase measurements (unit: carrier cycle), respectively, \(\lambda\) is the carrier wavelength (unit: m), \(r\) represents the true geographical distance between the satellite and the receiver (unit: m), \(T\) is the tropospheric delay (unit: m), \(I\) is the ionospheric delay (unit: m), \(f\) is the carrier frequency (unit: Hz), \(\delta t_{\mathrm{r}}\) is the receiver clock error (unit: s), \(\delta t_{\mathrm{j}}\) is the satellite clock error (unit: s), \(N\) is the integer ambiguity, \(\varepsilon\) and \(\eta\) are measurement errors of pseudorange and carrier phase respectively and their variances can be modeled as a simplified function of the elevation angle based on [11] as given by Equation (5):  
\[\sigma^{2}=a\left(b+b/\sin^{2}\theta\right)/\lambda^{2} \tag{5}\]where \(\theta\) is the elevation angle of the satellite, \(a\) and \(b\) can be set empirically, for example, we select \(a=1\) and \(b=9\mathrm{e}-6\) for carrier phase in the following experiment part. The single-differenced (SD) measurement model can be obtained by subtracting the base receiver's from the rover receiver's measurements, _i.e._, Equation (1) - Equation (2) and Equation (3) - Equation (4):  
\[\rho_{j,\mathrm{sb}}=\lambda^{-1}\left(r_{j,\mathrm{sb}}+I_{j,\mathrm{sb}}+T_{ j,\mathrm{sb}}\right)+f\delta t_{\mathrm{sb}}+\varepsilon_{j,\mathrm{sb}} \tag{6}\]  
\[\phi_{j,\mathrm{sb}}=\lambda^{-1}\left(r_{j,\mathrm{sb}}-I_{j,\mathrm{sb}}+T_{ j,\mathrm{sb}}\right)+f\delta t_{\mathrm{sb}}+N_{j,\mathrm{sb}}+\eta_{j,\mathrm{sb}} \tag{7}\]  
where the subscript \"rb\" represents the difference between the corresponding terms of rover and base. It can be seen that \(\delta t_{\mathrm{j}}\) as a common error is eliminated by this differencing. Next, we choose the \(i\)th satellite with the highest elevation angle as reference, and the double differences of carrier phases and pseudoranges between other satellites and the reference can be obtained as follows:  
\[\rho_{j,\mathrm{sb}}=\lambda^{-1}\left(r_{j,\mathrm{sb}}+I_{j,\mathrm{sb}}+T _{j,\mathrm{sb}}\right)+\varepsilon_{j,\mathrm{sb}} \tag{8}\]  
\[\phi_{j,\mathrm{sb}}=\lambda^{-1}\left(r_{j,\mathrm{sb}}-I_{j,\mathrm{sb}}+T _{j,\mathrm{sb}}\right)+N_{j,\mathrm{sb}}+\eta_{j,\mathrm{sb}} \tag{9}\]  
where the subscript \"\(j\)\" represents the measurements of the \(j\)th satellites minus that of the \(i\)th (reference) satellite. If there is a short baseline (e.g., 20 km) between the rover and the base, the ionospheric and delays of the two are assumed equal in this work, although they can be kept in the DD equations for further processing if one requires higher precision or needs to estimate ionospheric characteristics.