## 2 Materials and Methods
### Carrier Single Difference Solution
If \(\Delta\varphi_{ij}^{s}\) represents the complete carrier single difference, the following relationship can be obtained:  
\[\Delta\varphi_{ij}^{s}=int(\Delta\varphi_{ij}^{s})+Fr(\Delta\varphi_{ij}^{s}) \tag{15}\]  
where \(int\) means to take an integer operation, \(Fr\) means to take a decimal operation. In theory, \(int(\Delta\varphi_{ij}^{s})\) consists of several parts, as follows:  
\[int\left(\Delta\varphi_{ij}^{s}\right)=\Delta N_{ij}^{s}+int\left(\varphi_{ij} \right)+int\left(dt_{ij}\right)+int(\eta) \tag{16}\]  
where \(int\left(\varphi_{ij}\right)\) represents the difference in the change in the number of carrier cycles between stations \(i\) and \(j\), which is recorded by the wave counter. \(int\left(dt_{ij}\right)\) represents the integer part of the difference between the receiver clocks and \(int(\eta)\) represents the integer part of the sum of the three errors in Equation (14). Considering the baseline constraint information, the length of \(AB\) is 0.4m, and the GPS L1 wavelength is \(\lambda\). It can be concluded \(\lambda|\Delta\varphi_{ij}^{s}|<0.4\). So, the value range of \(int\left(\Delta\varphi_{ij}^{s}\right)\) is \([-2,2]\), a total of seven integer values. In this paper, we choose to make \(int\left(\Delta\varphi_{ij}^{s}\right)\) completely determined by the baseline length, and its value is fixed as enumerable integers. Consider the solution of \(Fr(\Delta\varphi_{ij}^{s})\) below, \(Fr(\Delta\varphi_{ij}^{s})\) consists of the following parts:  
\[Fr(\Delta\varphi_{ij}^{s})=Fr\left(\Delta\widetilde{\varphi}_{ij}^{s}+c\Delta dt _{ij}+\eta\right) \tag{17}\]  
where \(\Delta\widetilde{\varphi}_{ij}^{s}\) represents the difference between the fractional values of the carrier less than one cycle, which is a known value. Then consider making corrections to \(c\Delta dt_{ij}\) and \(\eta\). Consider correcting \(c\Delta dt_{ij}\) first. There is a clock bias in signal sampling by the receiver board, which can be expressed by the following equation [32]:  
\[dt_{i}^{\prime}=t_{0,i}+\Delta f_{i}T_{s}N \tag{18}\]  
where \(t_{0,i}\) is the power-on clock error of the receiver, which is related to each power-on of the receiver. \(\Delta f_{i}\) is clock frequency, \(T_{s}\) denotes the sampling interval and \(N\) is the number of samples. Considering the equation for the second receiver \(j\) and taking the difference from (18), the following relationship can be obtained:  
\[\Delta dt_{ij}^{\prime}=t_{0,i}-t_{0,j}+(\Delta f_{i}-\Delta f_{j})T_{s}N \tag{19}\]  
where if two receivers work with a common frequency source, we can get \(\Delta f_{i}-\Delta f_{j}=0\). At this time, if \(t_{0,i}\) and \(t_{0,j}\) are equal, the influence of the clock offsets \(\Delta dt_{ij}^{\prime}\) can be eliminated when making a difference between receivers. Supposing \(\Delta t_{0,ij}=t_{0,i}-t_{0,j}\), at the hardware level, the elimination of \(\Delta t_{0,ij}\) requires the two receivers to be fully synchronized in time, which is difficult to achieve. \(\Delta t_{0,ij}\) can be compensated at the algorithm level. Use the same antenna to sample one signal and distribute it to two receivers. Simulate a zero-baseline environment to eliminate the influence of other errors as much as possible. \(\Delta t_{0,ij}\) can be compensated with pseudo-range and Doppler frequency from both receivers under zero-baseline conditions. The error compensation value of \(\Delta t_{0,ji}\) at time \(\tau\) can be expressed as [33]:\[c\Delta t_{0,jj}(\tau)=\lambda f_{d,i}(\tau)\Big{(}C_{i}^{s}(\tau)-C_{j}^{s}(\tau) \Big{)}/c \tag{20}\]  
where \(f_{d,i}(\tau)\) is the instantaneous Doppler value of the receiver \(i\), and the unit is the cycle. Going a step further, consider compensating for the difference in carrier transmission delay on different receiver boards, which will be absorbed by the clock offset. Under the condition of zero-baseline, it can be obtained by carrier difference, and the complete \(c\Delta dt_{ij}\) can be expressed as:  
\[