# Precise Point Positioning Using Dual-Frequency GNSS Observations on Smartphone
## 2 Methods
### GPS/Galileo PPP Algorithm
Then, satellite DCBs of ionosphere-free combination are defined as [22; 23]:  
\[DCB^{g,G}(IF_{L1,L5})=\alpha_{1,5}DCB^{g,G}(L1,IF_{L1,L2})-\beta_{1,5}DCB^{g,G} (L5,IF_{L1,L2}) \tag{7}\]  
\[DCB^{g,G}(IF_{L1,L2})=\alpha_{1,2}DCB^{g,G}(L1,IF_{L1,L2})-\beta_{1,2}DCB^{g,G} (L2,IF_{L1,L2}) \tag{8}\]  
\[DCB^{g,E}(IF_{E1,E5a})=\alpha_{1,5}DCB^{g,E}(E1,IF_{E1,E5a})-\beta_{1,5}DCB^{g, E}(E5a,IF_{E1,E5a}) \tag{9}\]  
where:  
\[DCB^{g,G}(L1,IF_{L1,L2})=-\beta_{1,2}DCB^{g,G}(L1,L2) \tag{10}\]  
\[\phi_{r,j}^{s,Q}=\rho_{r}^{s,Q}+c(dt_{r}-dt^{s,Q})+\delta_{r,j}^{s,Q}-\delta_{ j}^{s,Q}+T_{r}^{s,Q}+\lambda_{j}^{s,Q}N_{r,j}^{s,Q}-\mu_{j}^{Q}.I_{r,1}^{s,Q}+ \varepsilon_{r,j}^{s,Q} \tag{2}\]0  
\[\phi_{r,j}^{s,Q}=\rho_{r}^{s,Q}+c(dt_{r}-dt^{s,Q})+\delta_{r,j}^{s,Q}-\delta_{ j}^{s,Q}+T_{r}^{s,Q}+\lambda_{j}^{s,Q}N_{r,j}^{s,Q}-\mu_{j}^{Q}.I_{r,1}^{s,Q}+ \varepsilon_{r,j}^{s,Q} \tag{2}\]1  
\[\phi_{r,j}^{s,Q}=\rho_{r}^{s,Q}+c(dt_{r}-dt^{s,Q})+\delta_{r,j}^{s,Q}-\delta_{ j}^{s,Q}+T_{r}^{s,Q}+\lambda_{j}^{s,Q}N_{r,j}^{s,Q}-\mu_{j}^{Q}.I_{r,1}^{s,Q}+ \varepsilon_{r,j}^{s,Q} \tag{2}\]2  
where \(IF_{L1,L5}\), \(IF_{L1,L2}\), \(IF_{E1,E5a}\) are ionosphere-free combinations of GPS L1/L5, L1/L2 and Galileo E1/E5a, respectively. The \(L1\), \(L2\), \(L5\), \(E1\) and \(E5a\) are GPS L1, L2, L5, Galileo E1 and E5a signals, respectively. \(DCB^{g,G}(L1,L2)\), \(DCB^{g,G}(L5,L1)\) and \(DCB^{g,E}(E1,E5a)\) are provided by DCB files from CAS (Chinese Academy of Sciences). The IGS GPS/Galileo precise orbit and clock products are obtained at IGS analysis centers by processing the ionosphere-free combination of GPS L1/L2, Galileo E1/E5a code and phase measurements, and the corresponding satellite DCBs are lump into receiver clock offsets in the procedure. Thus, when using IGS products, satellite DCBs can be ignored for Galileo E1/E5a ionosphere-free combination mode in PPP, while the satellite DCBs present in the pseudorange observation need to be corrected for GPS L1/L5 ionosphere-free combination [22; 24]. At the same time, using IGS clock products introduces satellite DCBs in phase observations, and that will propagate with the phase ambiguities. If the biases are estimated as independent parameters, it will lead to a rank deficiency. Thus, we used the external satellite DCB files [25]. The receiver DCBs (\(DCB^{Q}_{r}(i,j)\)) can be absorbed by the receiver clock offsets (\(dt_{r}\)) and will not affect the parameters estimation. The carrier phase instrumental delays (\(\delta^{g,Q}_{r,j},\ \delta^{g,Q}_{j}\)) are related to the ambiguity, which can be absorbed by the integer ambiguity to form the floating ambiguity (\(N^{g,E}_{r,IF_{E1,E5a}}\)) in ionosphere-free combination. Therefore, the ionosphere-free combination observation equation can be expressed as:  
\[\phi_{r,j}^{s,Q}=\rho_{r}^{s,Q}+c(dt_{r}-dt^{s,Q})+\delta_{r,j}^{s,Q}-\delta_{ j}^{s,Q}+T_{r}^{s,Q}+\lambda_{j}^{s,Q}N_{r,j}^{s,Q}-\mu_{j}^{Q}.I_{r,1}^{s,Q}+ \varepsilon_{r,j}^{s,Q} \tag{2}\]3  
\[\phi_{r,j}^{s,Q}=\rho_{r}^{s,Q}+c(dt_{r}-dt^{s,Q})+\delta_{r,j}^{s,Q}-\delta_{ j}^{s,Q}+T_{r}^{s,Q}+\lambda_{j}^{s,Q}N_{r,j}^{s,Q}-\mu_{j}^{Q}.I_{r,1}^{s,Q}+ \varepsilon_{r,j}^{s,Q} \tag{2}\]4  
\[\phi^{g,E}_{r,IF_{L1,L5}}=\rho^{g,G}_{r}+c\Big{\{}dt_{r}-DC  
where \(ISB_{E-G}\) is the ISB (Inter-System Bias) between GPS and Galileo. The EKF (extended Kalman filter) is used to estimate the unknown parameters in RTKLIB. For the single-frequency and dual-frequency ionosphere-free combination PPP, the number of estimated parameters is equal. The unknown state vector \(X_{single}\) and \(X_{dual}\) can be written as follows:  
\[X_{single}=\left[ \begin{array}{cccccc}r_{r}^{T}&cdt_{r}&Z_{r}&G_{N,r}&G_{E,r}& N_{r,1}^{T}\end{array} \right]^{T} \tag{18}\]  
\[X_{dual}=\left[ \begin{array}{cccccc}r_{r}^{T}&cdt_{r}&Z_{r}&G_{N,r}&G_{E,r}& N_{r,l}F^{T}\end{array} \right]^{T} \tag{19}\]  
where \(r_{r}^{T}\) is receiver antenna position in ECEF frame, \(Z_{r}\) is ZTD (zenith total delay), \(G_{N,r}\) and \(G_{E,r}\) are the north and east component of tropospheric gradients, \(N_{r,1}=\left[