## 3 Positioning Method  
Before resolving the ambiguities, ambiguity-float RTK positioning is performed using the recursive least-squares algorithm constraining the ambiguities in time [39]. Based on the observation model given in Equation (1), the time-updated ambiguity vector from the time point \(t_{i-1}\), denoted as \(\hat{a}(t_{i|i-1})\), and its variance-covariance matrix \(Q_{\hat{a}}(t_{i|i-1})\) can be expressed as:  
\[\hat{a}(t_{i|i-1}) = F\Delta\hat{x}(t_{i-1}) \tag{23}\] \[Q_{\hat{a}}(t_{i|i-1}) = FQ_{\Delta\hat{x}}(t_{i-1})F^{T} \tag{24}\]  
where the matrix \(F\) identifies the time-updated ambiguities from the estimated unknown vector \(\Delta\hat{x}\) at \(t_{i-1}\). \(Q_{\Delta\hat{x}}\) denotes the variance-covariance matrix of \(\Delta\hat{x}\). No system noise is added in Equation (24), as the ambiguities are constrained as constants in time. The estimates of the unknown vector \(\Delta\hat{x}(t_{i})\) can be obtained by adding the estimated ambiguities \(\hat{a}(t_{i|i-1})\) as pseudo-observations in the observation equations at \(t_{i}\) and solving using the least-squares adjustment. The updated observation equations and the corresponding variance-covariance matrix are then written as:  
\[\mathrm{E}\underbrace{ \begin{bmatrix}y(t_{i})\\ F\Delta\hat{x}(t_{i-1})\end{bmatrix} }_{y_{f}(t_{i})} = \underbrace{ \begin{bmatrix}A(t_{i})\\ F\end{bmatrix} }_{A_{f}(t_{i})}\Delta x(t_{i}) \tag{25}\] \[Q_{y_{f}}(t_{i}) = \begin{bmatrix}Q_{y}(t_{i})&0\\ 0&FQ_{\Delta\hat{x}}(t_{i-1})F^{T}\end{bmatrix}  \tag{26}\]  
The ambiguity-float solutions \(\Delta\hat{x}\) at \(t_{i}\) can be obtained with the least-squares adjustment as:  
\[\Delta\hat{x}(t_{i})=Q_{\Delta\hat{x}}(t_{i})A_{f}^{T}(t_{i})Q_{y_{f}}^{-1}(t_ {i})y_{f}(t_{i}) \tag{27}\]  
As mentioned earlier, using the search-and-shrink LAMBDA method with the ILS estimator [29; 30; 31], the float ambiguities are considered as successfully fixed when the ratio test \(\mu=R_{2}/R_{1}>3\) (Section 2) passes. The resolved ambiguities are fixed to the obtained integer values \(\hat{a}\) until cycle slips or large data gaps are detected. In cases when the ratio test does not pass, the sequential exclusion algorithm is performed, which is described in Appendix B. When all ambiguities of the current epoch are fixed, the ambiguity-fixed positional increment \(\Delta\hat{r}\) can be determined as:  
\[\Delta\hat{r}=\underbrace{\big{(}A_{x}^{T}Q_{y}^{-1}A_{x}\big{)}^{-1}A_{x}^{T }Q_{y}^{-1}}_{S_{0}}y_{x} \tag{28}\]  
with (Equation (1))  
\[A_{x} = e_{4}\otimes(D_{m}^{T}G) \tag{29}\] \[y_{x} = y- \begin{bmatrix}\big{(}\mathrm{diag}(\lambda_{1},\lambda_{2}) \otimes I_{m-1}\big{)}\hat{x}\\ 0\end{bmatrix}  \tag{30}\] \begin{table}
\begin{tabular}{c c c c c} \hline
**Scenario** & \(\mathbf{\sigma_{\phi,1}}\) **[m]** & \(\mathbf{\sigma_{\phi,2}}\) **[m]** & \(\mathbf{\sigma_{p,1}}\) **[m]** & \(\mathbf{\sigma_{p,2}}\) **[m]** \\ \hline Open-sky scenario & 0.004 & 0.003 & 0.462 & 0.399 \\ \hline Suburban scenario & 0.007 & 0.005 & 0.555 & 0.490 \\ \hline \end{tabular}
\end{table} 
Table 3: Between-receiver phase (\(\sigma_{\phi,j}\)) and code (\(\sigma_{p,j}\)) standard deviations at the zenith direction and with the \(\mathrm{C}/\mathrm{N}_{0}\) of \(\infty\). To demonstrate the effectiveness of the proposed ambiguity resolution method, Figure 5 shows the L1 and L2 residuals for all observed satellites above the elevation mask introducing the resolved ambiguities based on the model presented in this section and the ground truth of the baselines computed from the known positions of the points under both the open-sky and the suburban scenarios. The time period 0:00:00-6:56:01 (GPST) on 17 October 2019 was used for the computations. As shown in Figure 5, the residuals in the open-sky scenario are generally within \(\pm\)0.2 cycles, while those in the suburban scenario are larger due to the increased impact of multipath.