# GNSS Performance Modelling and Augmentation for Urban Air Mobility +
## 3 GNSS Performance Characterization
### Error Modelling
#### 3.1.8 Receiver Model
The overall error variance due to signal reflection is described by:  
\[\sigma_{\text{r}}^{2}=\sigma_{\text{g}}^{2}+\sigma_{\text{b}}^{2}+\sigma_{ NLOS/multipath}^{2} \tag{25}\]  
where \(\sigma_{\text{g}}^{2}\), \(\sigma_{\text{b}}^{2}\), \(\sigma_{NLOS/multipath}^{2}\) are the contributions from the ground, UAV body and buildings, respectively. Each of these components is modelled as functions of altitude \(h\) and elevation \(\theta\), and a conservative bound on each of the three components is set by worst-case delay and reflectance assumptions. The User Equivalent Range Error (UERE) or the statistical aggregate of the errors described so far is then formulated as:  
\[\sigma_{\text{UERE}}(h,\theta)=\sqrt{\sigma_{\text{c/e}}^{2}+\sigma_{\text{ iono}}^{2}+\sigma_{\text{tropo}}^{2}+\sigma_{\text{noise}}^{2}+\sigma_{\text{r}}^{2}} \tag{26}\]  
Figure 10: Histogram of NLOS and multipath delays for varying satellite elevations and altitude AGL in an urban canyon. It can be observed that the UERE captures both the errors allocated to the space and control segments viz the User Range Error (URE), and the errors allocated to the user equipment viz the User Equipment Error (UEE). The UERE at any given epoch is dependent on the time lapsed or the Age of Data (AOD) since the last upload of the satellite clock and ephemeris corrections from the control segment to the space segment. UERE, therefore, is not temporally static and grows in a predictable manner from the navigation message upload to the maximum AOD under normal operating conditions (Approximately 24 hours). GNSS UERE budgets therefore tend to vary widely depending on assumptions made regarding receiver design and the operating conditions. Apart from the UERE, the receiver position uncertainty also depends on the relative geometry of the satellites and the user receiver. This is characterized by the Dilution of Precision (DOP) factors, which are presented here without the full proof. The reader is directed to [10] for a detailed derivation of the DOP factors. The covariance matrix \(C_{\overline{x}}\) of the position error represents the uncertainty in the position and is related to the UERE by the expression [10]:  
\[C_{\overline{x}}=PDOP.\sigma_{UERE}{}^{2} \tag{27}\]  
\[PDOP=\sqrt{D_{11}+D_{22}+D_{33}} \tag{28}\]  
The parameters \(\mathrm{D_{ii}}\) on the right-hand side of Equation 14 are the diagonal elements of the geometry matrix:  
\[D=\left(H^{T}H\right)^{-1} \tag{29}\]  
where \(H\) is the observation matrix from comprising the unit LOS vectors from the receiver to the visible satellites. The DOP parameters are important in quantifying the effect of satellite geometry on the accuracy of the solution. These parameters are computed in-flight and can also be predicted for a specified flight profile, given knowledge of satellite orbits and terrain models. DOP prediction services are now being offered by select USS as part of pre-flight planning. Equation 27 essentially represents positioning uncertainty as a function of the pseudorange errors discussed so far, the number of visible satellites and the geometry of the visible satellites. The predicted GNSS error over the test domain is used to define a cost-map that is applied to the guidance problem. Several options are applicable for this use-case including the well-known A* algorithm [39]. This is an extension of the Djikstras algorithm for finding the least-cost path between designated start and destination grid cells. An a priori map of the operational environment is assumed, which is parameterized as a 2D grid. The occupancy of each cell is a Boolean value, with {0} corresponding to free space, and [40] corresponding to occupied. The cost of traversing a cell \(n\) is then:  
\[f(n)=g(n)+h(n) \tag{30}\]  
where \(g(n)\) is the running cost incurred upto cell \(n\) i.e., the number of nodes traversed upto that point, \(h(n)\) is an estimate of the remaining c ost to travel from cell \(n\) to the specified goal cell. \(h(n)\) is a user-specified heuristic.