## 3 Multi-GNSS PPP/INS Mathematical Model
### Uncombined PPP Model  
The GNSS observation equations for pseudorange and carrier phase between receiver and satellite are given by the following:  
\[P_{i}^{s}=\rho^{s}+cdt_{r}+cdt_{D}^{s}-cdt^{s}+T^{s}+\frac{f_{1}^{2}}{f_{i}^{2 }}I^{s}+B_{P_{i}}^{r,s}-B_{P_{i}}^{s}+\varepsilon_{P_{i}} \tag{6}\]  
\[L_{i}^{s}=\rho^{s}+cdt_{r}+cdt_{D}^{s}-cdt^{s}+T^{s}-\frac{f_{1}^{2}}{f_{i}^{2}} I^{s}-\lambda_{i}^{s}N_{i}^{s}+B_{L_{i}}^{r,s}-B_{L_{i}}^{s}+\varepsilon_{L_{i}} \tag{7}\]  
where \(P\) is pseudorange measurements, and \(L\) is carrier phase measurements scaled to distance; the superscript \(s\) denotes satellite system, and the subscript \(i\) denotes frequency; \(\rho\) is the geometric range between the receiver and satellite; \(c\) is the speed of light in vacuum, and \(dt\), is receiver clock error; \(dt_{D}^{s}\) is the time bias between \(s\) satellite system and GPS; \(dt^{Q}\) is satellite clock error; \(T\) is tropospheric delay; \(f_{i}\) is the frequency of \(L_{i}\), and \(I\) is ionospheric delay of \(L_{1}\); \(\lambda_{i}\) is the wavelength of \(f_{i}\),\(N_{i}\) is the integer ambiguity of \(L_{i}\) in cycle; the symbols \(B_{P_{i}}^{r}\), \(B_{L_{i}}^{r}\), \(B_{P_{i}}^{s}\), and \(B_{L_{i}}^{s}\) are code and phase hardware delay of receiver and satellite, respectively, and the \(\varepsilon\) terms are unmodeled errors, including code and phase multipath effect and measurement random noise.  
According to the studies on GNSS signal characteristics of smartphones such as Huawei P10, P20, and Mate 30, the carrier-to-noise weighting should be used for low-cost GNSS receivers instead of elevation-dependent weighting [7,8,15]. Based on the formula [35,36] that expresses the phase variance \(\sigma_{S}^{2}\) in mm\({}^{2}\) as a function of the measured C/N\({}_{0}\) values, and with reference to elevation-dependent weighting method, the GNSS step function variance of smartphone can be given as:  
\[\sigma_{S}^{2}(\text{C/N${}_{0}$})=\begin{cases}C_{s}\cdot 10\frac{-(C/N_{0} \text{measured})}{10}&\text{C/N${}_{0}$}>\alpha\\ C_{s}\cdot 10\frac{-(\mu C/N_{0}\text{measured})}{10}&\text{C/N${}_{0}$}\leq\alpha, \mu\in(0,1)\end{cases} \tag{8}\]  
and  
\[C_{s}=B_{s}\left[\frac{\lambda}{2\pi}\right]^{2} \tag{9}\]  
where \(\alpha\) is the threshold value of C/N\({}_{0}\); \(\mu\) denotes coefficient of C/N\({}_{0}\) which can be determined by the gross GNSS measurements noise below the threshold value; \(B_{S}\) is the carrier tracking loop bandwidth (Hz), and the effect of the oscillator stability on the phase variances is considered negligible. Due to the lack of bandwidth information, the constant values obtained by fitting phase variance and C/N\({}_{0}\) variance are usually used as the parameters \(C_{S}\).  
By using Equations (6) and (7), the error equation of GNSS observation is given directly as:  
\[V=H\cdot X+l \tag{10}\]  
where \(V\) is measurement residual, and \(H\) is the coefficient matrix. The GNSS basic parameters can be written as:  
\[X_{\text{GNSS}}=\left[x,y,z,cdt_{r},cdt_{D}^{s},T,\hat{I}_{1},\ \hat{N}_{1}^{C}\ \hat{N}_{5}^{C}\ \hat{N}_{1}^{B}\right] \tag{11}\]where \(x\), \(y\), \(z\) denote three-dimensional coordinates of the receiver, \(dt_{D}^{B}\) is BDS system time bias, \(\hat{I}_{1}\) denotes ionospheric delay of \(L_{1}\), \(\hat{N}_{1}^{G}\), \(\hat{N}_{5}^{G}\), and \(\hat{N}_{1}^{B}\) are the integer ambiguity parameters of GPS and BDS, respectively.