# Methodology for Simulating 5G and GNSS High-Accuracy Positioning
## 3 Characterization of the Observables
### Gnss  
The GNSS pseudoranges or code observables are mainly affected by satellite clock and orbit errors, atmospheric effects, multipath effects, the receiver noise and the receiver clock offset. A classical approach to correct the satellite clock, orbit and atmospheric errors is based on differential GNSS (DGNSS), which uses differential corrections from one or multiple GNSS reference stations located a few tens of km from the receiver [22]. In addition, precise corrections could also be obtained with a 5G network service. However, the receiver still needs to cope with the local errors due to multipath and receiver impairments. Due to the low bandwidth of the GNSS signals, i.e., the main lobe of the GPS L1 C/A signal is equal to 2.046 MHz, the multipath rays typically overlap with the LoS signal in the delay domain, resulting in a significant bias of the GNSS ranging observable. Therefore, the multipath-affected observables can be detected with advanced techniques, which can be based on the correlation asymmetry [23; 24], on 3D building maps [25] or on multi-frequency signal-to-noise ratio (SNR) measurements [26] among others, and these biased observables are preferably discarded in the navigation solution. In this sense, the GNSS code observables are here modeled with only pseudoranges from visible satellites in LoS conditions, where differential or precise corrections are already applied. These ranging measurements are characterized by the effect of the receiver noise, being the clock offset an estimation parameter of the navigation solution. The receiver noise follows a Gaussian distribution with zero mean and a certain standard deviation \(\sigma_{\text{GNSS}}\). The minimum achievable standard deviation is limited by the Cramer-Rao bound (CRB), which is written as  
\[\sigma_{\text{GNSS}}=\sqrt{\text{CRB}_{\text{GNSS}}}=\sqrt{\frac{1}{8\pi^{2} \cdot T\cdot C/N_{0}\left(\theta\right)\cdot\int_{-F_{\text{s}}/2}^{F_{\text{s }}/2}f^{2}\cdot G_{\text{s}}\left(f\right)df}}, \tag{2}\]  
where \(T\) is the total integration time, \(C/N_{0}\left(\theta\right)\) is the carrier-to-noise-density ratio of the GNSS signal as function of the satellite elevation \(\theta\), \(F_{\text{s}}\) is the sampling frequency and \(G_{\text{s}}\left(f\right)\) is the power spectral density of the GNSS signal. The total integration time is related with the equivalent bandwidth \(B_{\text{L}}\) of the tracking loops as \(T=1/(2B_{\text{L}})\). As usually considered in weighted-least square (WLS) algorithms [27], the quality of the GNSS signal can be modeled according to the satellite elevation as  
\[C/N_{0}\left(\theta\right)=\frac{\left(C/N_{0}\right)_{\text{ref}}}{\sin^{2} (\theta)}, \tag{3}\]  
where \(\left(C/N_{0}\right)_{\text{ref}}\) is the reference \(C/N_{0}\).  
Let us show an example of the achievable ranging accuracy by evaluating the CRB in (2) as a function of a satellite elevation \(\theta\), for the GPS L1 C/A signal and a receiver with a sampling frequency of 4 MHz, i.e., \(F_{\text{s}}=4\) MHz. As it can be seen in Figure 5a for \(\left(C/N_{0}\right)_{\text{ref}}=50\) dB-Hz, the \(C/N_{0}\) gradually decreases with the satellite elevation down to a level below 35 dB-Hz for satellite elevations below \(10^{\circ}\). This simulated \(C/N_{0}\left(\theta\right)\) is then used in (2) for different integration times. As it shown in Figure 5b, the ranging accuracy of the GNSS code observables is typically below 10 m for a delay tracking loop with a 5-Hz bandwidth, i.e., \(T=100\) ms, which is a typical design value.