# A GNSS-Cellular Network Hybridization Strategy for Robust Positioning
## 2 Materials and Methods
### Measurement-Level Hybridization Method
#### 2.2.3 Hybrid Solution Using GNSS and 4G Mobile Network Pseudoranges  
The hybrid solution integrates GNSS data (as described in Section 2.2.1) with pseudoranges derived from the 4G mobile network (outlined in Section 2.2.2) into a unified system of measurement equations. This integration enables the computation of corrected coordinates, or, equivalently, the solution of the unknown state vector \(x\) in Equation (1). \begin{table}
\begin{tabular}{c c c c c c c} \hline
**BS** & **E (m)** & **N (m)** & **U (m)** & \(\sigma_{E}\) (m)** & \(\sigma_{\mathbf{N}}\) (m)** & \(\sigma_{\mathbf{U}}\) (m) \\ \hline BS1 & 728,856.17 & 4,373,346.20 & 93.22 & 0.03 & 0.02 & 0.04 \\ BS2 & 729,094.42 & 4,373,423.43 & 72.07 & 0.01 & 0.03 & 0.05 \\ BS3 & 729,592.05 & 4,373,891.14 & 82.22 & 0.02 & 0.02 & 0.05 \\ \hline \end{tabular}
\end{table} 
Table 1: BS coordinates and associated standard deviations. Thus, the matrix \(A_{4G/5G-GNSS}\) for the hybrid adjustment is as follows:  
\[A_{4G/5G-GNSS=\left[ \begin{array}{ccccc}I_{x}^{s_{1}}&I_{y}^{s_{1}}&I_{z}^{s_{1} }&1&0\\ I_{x}^{s_{2}}&I_{y}^{s_{2}}&I_{z}^{s_{2}}&1&0\\ &\vdots&\\ I_{x}^{s_{m}}&I_{y}^{s_{m}}&I_{z}^{s_{m}}&1&0\\ I_{x}^{BS_{1}}&I_{y}^{BS_{1}}&I_{z}^{BS_{1}}&0&1\\ I_{x}^{BS_{2}}&I_{y}^{BS_{2}}&I_{z}^{BS_{2}}&0&1\\ &\vdots&\\ I_{x}^{BS_{p}}&I_{y}^{BS_{p}}&I_{z}^{BS_{p}}&0&1\end{array} \right]_{(m+k)\times 5} \tag{32}\]  
In this matrix \(A\), the fourth and fifth columns represent the GNSS receiver's clock offset and the 4G/5G network's clock offset, respectively [17]. The independent vector \(b_{4G/5G-GNSS}\) consists of the independent terms for \(b_{4G/5G}\) and \(b_{GNSS}\), respectively:  
\[b_{4G/5G-GNSS}=\left[ \begin{array}{c}b_{GNSS}\\ b_{4G/5G}\end{array} \right]_{(m+k)\times 1} \tag{33}\]  
The weight matrix \(P_{4G/5G-GNSS}\) is defined as follows:  
\[P_{4G/5G-GNSS}=\left[ \begin{array}{ccccc}\frac{1}{\sigma_{\text{Gross}}^{2} }&0&0&0&0&0\\.&.&.&.&.&0\\ 0&0&\frac{1}{\sigma_{\text{Gross}}^{2}}&0&0&0\\ 0&0&0&\frac{1}{\sigma_{\text{BS}_{1}-r1}^{2}}&0&0\\.&.&.&.&.&.\\ 0&0&0&0&0&\frac{1}{\sigma_{\text{BS}_{p}-rj}^{2}}\end{array} \right]_{(m+k) \times(m+k)} \tag{34}\]  
Here, \(\sigma_{\text{Gross}}^{2},\dots,\sigma_{\text{mGNSS}}^{2},\sigma_{BS_{1}-r1}^ {2},\dots,\sigma_{BS_{p}-rj}^{2}\) represent the variances associated with each GNSS and 4G/5G measurement, respectively. The matrix system in Equation (34) results from the combination of the individual adjustment models: the 4G/5G positioning model introduced in Equation (30) and the GNSS observation model presented earlier in Equation (22). This unified formulation allows both sources of pseudorange data to be processed jointly in a single adjustment framework. The unknown vector \(x_{4G/5G-GNSS}\), containing the coordinates and clock offsets, is given by the following:  
\[x_{4G/5G-GNSS}=\left[ \begin{array}{c}dx\\ dy\\ dz\\ cdt_{\text{{\scriptsize{$G/5G$}}}}\end{array} \right]_{\text{{\scriptsize{$G /5G$}}}} \tag{35}\]  
where  
* \(cdt_{\text{{\scriptsize{$G/5G$}}}}\) is the GNSS receiver's clock offset;
* \(cdt_{4G/5G}\) is the 4G/5G network's clock offset. It is important to clarify that, in the position-level hybridization method, the coordinates used from both the GNSS receiver and the cellular network are already processed and pre-corrected. Specifically, the mobile network coordinates (x, y, z) are derived through proprietary processing by the network operator and are accessed via the CellTracker app,which does not provide raw observables such as the time of arrival (ToA), received signal strength (RSS), or angle of arrival (AoA). Similarly, the GNSS coordinates obtained from the smartphone represent position solutions that already incorporate internal corrections applied by the device's chipset. As such, the explicit modeling of multipath, signal degradation, or environmental interference at the measurement level is not feasible in this method, since low-level raw data (e.g., pseudoranges or carrier phases) are not accessible.