# Galileo: The Added Value for Integrity in
## 2 Multi-Constellation Solution  
The position velocity time (PVT) solution is computed using pseudorange and Doppler shift measurements. Specifically, the position of the receiver and its clock bias are estimated using pseudoranges, whereas Doppler shift measurements are exploited to estimate the receiver velocity and the receiver clock drift. A pseudorange can be expressed as [10]:  
\[\rho=d+cdt_{s}-cdt_{r}+e_{orbital}+d_{Iono}+d_{Topo}+\epsilon_{\rho} \tag{1}\]  
where \(d\) is satellite-receiver distance and \(cdt_{r}\) and \(cdt_{s}\) are the receiver and satellite clock errors, respectively. \(e_{orbital}\) is the satellite orbital error, and \(d_{Iono}\) and \(d_{Topo}\) model the ionospheric and tropospheric effects. Finally, \(\epsilon_{\rho}\) accounts for unmodeled effects, such as receiver noise and residual errors. Model (1) is not linear in the user position; hence, its solution requires an iterative approach where linearization is performed at each iteration. At each iteration, the system unknowns are estimated and used to predict pseudorange measurements. Differences between actual and predicted measurements, \(z\), are formed and related to errors in the system unknowns using a linearized version of Equation (1) [1]. The errors in the unknowns are used to updated the position solution. After linearization, the pseudorange equations can be written as:  
\[\delta\rho=H\Delta\mathbf{x}+\epsilon_{\rho} \tag{2}\]where \(\delta\rho\) contains the differences between actual and predicted measurements, \(\Delta\mathbf{x}\) contains the unknowns, \(H\) is the design matrix [1] and, finally, \(\epsilon_{\rho}\) contains the residual errors. GPS and Galileo adopt different time scales, hence when GPS and Galileo observables are used together, the clock inter-system bias has to be added in the navigation solution [7]. Thus, \(\Delta\mathbf{x}\) assumes the following form:  
\[\Delta\mathbf{x}=\left[\Delta\phi,\Delta\lambda,\Delta h,\Delta cdt_{r},\Delta cdt _{Sys}\right]^{T} \tag{3}\]  
where \(\Delta\phi,\Delta\lambda,\Delta h\) are the receiver coordinate differences, expressed in the WGS84 frame. These differences are added to the nominal state, \(x_{0}=\left[\phi_{0},\lambda_{0},h_{0},cdt_{r,0},cdt_{Sys,0}\right]^{T}\), during the iterative approach used to solve for the navigation solution. \(cdt_{Sys}\) is the inter-system bias. Although the implementation selected is in the WGS84 frame, the algorithm can be implemented in different reference frames using the transformations described, for example, in [16]. The design matrix is defined as:  
\[H= \begin{bmatrix}a_{GPS_{1}}&b_{GPS_{1}}&c_{GPS_{1}}&1&0\\ a_{GPS_{2}}&b_{GPS_{2}}&c_{GPS_{2}}&1&0\\ \vdots&\vdots&\vdots&\vdots&\vdots\\ a_{Gal}&b_{Gal}&c_{Gal}&1&1\end{bmatrix}  \tag{4}\]  
where \(a,b,c\) are the directional cosines of the vector from the receiver to the satellite positions. In this paper, a weighted least squares (WLS) estimator is used, where a weighting matrix, \(W\), is introduced. The matrix is used to account for the different signal qualities and, in this case, is a function of the satellite elevation [17]. Thus, an estimate for \(\Delta\mathbf{x}\) is obtained as:  
\[\Delta\mathbf{\hat{x}}=\left(H^{T}WH\right)^{-1}H^{T}W\delta\rho \tag{5}\]  
Finally, the position solution is updated as follows:  
\[\mathbf{x}=\mathbf{x_{0}}+\Delta\mathbf{\hat{x}} \tag{6}\] \[\mathbf{x_{0}}=\mathbf{x}\]  
The estimation method used is based on the minimization of the residuals:  
\[\mathbf{r}=\mathbf{z}-H\cdot\Delta\mathbf{\hat{x}} \tag{7}\]  
The position obtained from the pseudoranges is used together with the Doppler shift measurements, \(\Delta f\), to compute the velocity of the receiver. Hence, assuming known the receiver coordinates, the receiver velocity can be estimated using the approach described below. A Doppler measurement is a scaled version of the receiver-to-satellite range-rate affected by the receiver and satellite clock drifts.