## 3 Methodology for Precise Code Positioning
### Precise Code Positioning Models  
First, the DSC method as described in Section 3.2 was utilized. As mentioned in Section 2.4, the _FullBiasNanos_ parameter was employed epoch-by-epoch during the data collection, which resulted in discontinuous pseudo-range clock jumps. This further emphasizes the limitations in both accuracy and stability of smartphone clocks. The inter-satellite single-difference method can be used to mitigate the impact of the receiver clock on positioning. Then, the reference satellite in each constellation was selected using the approach outlined in Section 3.3. The inter-satellite single-difference (SD) model based on Equation (2) is as follows:  
\[p_{r,j}^{\Delta s,Q}=\mu_{r}^{\Delta s,Q}\cdot x+\kappa I_{r,j}^{\Delta s,Q}+ \Delta T_{r}^{Q}+\varepsilon_{r,j}^{\Delta s,Q} \tag{9}\]  
where \(\Delta\) is the SD operator. The IF12 and IF13 code SD PPP model can be obtained based on Equation (9) as follows:  
\[\left\{ \begin{array}{rl}p_{r,IF12}^{\Delta s,Q}&=\alpha_{12}P_{r,1}^{\Delta s,Q}+\beta_{12}P_{r,2}^{\Delta s,Q}\\ &=\mu_{r}^{\Delta s,Q}\cdot x+\Delta T_{r}^{Q}+\varepsilon_{r,IF12}^{\Delta s,Q}\\ &=\mu_{r}^{\Delta s,Q}\cdot x+\Delta T_{r}^{Q}+\varepsilon_{r,IF13}^{\Delta s,Q}\end{array} \right. \tag{10}\]  
As mentioned above, there are limited reliable multi-frequency pseudo-range observations available from smartphones. In this scenario, using the traditional IF code SD PPP model would impact the achievable positioning accuracy. Therefore, both the traditional IF code SD PPP model and SF ionosphere-corrected pseudo-range using precise ionospheric products were used. These will be referred to as IF-P PCP models. Under the IF-P models, both the dual-frequency model (DF-P) and triple-frequency model (TF-P) can be obtained by utilizing different combinations of dual- and triple-frequency observations. The SF ionosphere-corrected pseudo-range based on Equation (9) can be expressed as follows:  
\[p_{j}^{\prime}=\mu_{r}^{\Delta s,Q}\cdot x+\Delta T_{r}^{Q}+\varepsilon_{r,j} ^{\Delta s,Q} \tag{11}\]  
Note that \(p^{\prime}\) represents the ionosphere-corrected code measurements. The ionosphere-free un-difference combination (IFUC) models can be expressed based on Equation (11) at different frequencies, such as IFUC1, IFUC12, and IFUC123. The DF-P model can be expressed as follows:  
\[\left\{ \begin{array}{rl}p_{r,IF12}^{\Delta s,Q}=\mu_{r}^{\Delta s,Q}\cdot x +\Delta T_{r}^{Q}+\varepsilon_{r,IF12}^{\Delta s,Q}\\ p_{j}^{\prime}=\mu_{r}^{\Delta s,Q}\cdot x+\Delta T_{r}^{Q}+\varepsilon_{r^{ \prime}}^{\Delta s,Q}\end{array} \right. \tag{12}\]  
The triple-frequency (TF) BDS-3 (B1C/B2a/B1I) observations can be obtained, and the TF-P model can be expressed as follows:  
\[\left\{ \begin{array}{rl}p_{r,IF12}^{\Delta s,Q}=\mu_{r}^{\Delta s,Q}\cdot x +\Delta T_{r}^{Q}+\varepsilon_{r,IF12}^{\Delta s,Q}\\ p_{r,IF13}^{\Delta s,Q}=\mu_{r}^{\Delta s,Q}\cdot x+\Delta T_{r}^{Q}+ \varepsilon_{r,IF13}^{\Delta s,Q}\\ p_{j}^{\prime}=\mu_{r}^{\Delta s,Q}\cdot x+\Delta T_{r}^{Q}+\varepsilon_{r^{ \prime}}^{\Delta s,Q}\end{array} \right. \tag{13}\]  
For GPS and Galileo, the L1 and E1 pseudo-ranges were utilized as ionosphere-corrected observations in the DF-P and TF-P models. For BDS-3, either the B1C or B1I pseudo-ranges were chosen as ionosphere-corrected observations in the DF-P and TF-P models. This choice is reflected in the model names, such as DF-P1C or DF-P1I, which represent DF-P with L1/E1/B1C or L1/E1/B1I ionosphere-corrected observations, respectively. Similarly, in the IFUC models, either B1C or B1I is chosen as the first frequency, which is also reflected in the model names, such as IFUC1P1C or IFUC1 PI1. It is important to notethat for HP40, BDS-3 BIC/B2a pseudo-ranges were not available to be obtained. Therefore, when using HP40 BDS-3 observations, only the B1I pseudo-ranges were considered. Let us assume that the code measurements at frequencies are independent in the same noise level with a STD of \(\sigma_{p}\).