## 2 Utilization of GNSS
### Multi-GNSS Algorithm (GPS and Galileo)  
Road vehicles frequently travel in surroundings with partially obstructed sky view. These obstructions include buildings, trees, bridges and other vehicles. Consequently, the number of received satellites is smaller than it would be under an unobstructed sky. Received signals may suffer from reduced \(C/N_{0}\) and increased multipath due to signal reflections on surrounding surfaces. During periods of limited satellite visibility, enabling the localization algorithm to process signals from additional GNSS constellations mitigates these negative effects by increasing the number of available satellites. Galileo implements the same ephemeris representation as GPS LNAV. It is also a _code division multiple access_ (CDMA) system and shares two common carrier frequencies with GPS: L1/E1 at 1575.42 MHz and L5/E5a at 1176.45 MHz. All Galileo satellites broadcast civil signals on multiple frequencies. These characteristics make Galileo an ideal choice for a second GNSS to work together with GPS in automotive positioning. To enable Galileo processing, both the preprocessing routine and the EKF were changed slightly. The EKF's state vector was extended by one entry, representing the Galileo receiver clock bias (see Table 3). Although the same receiver is used for both GNSS, the additional state is necessary to account for the offset between the different GNSS time scales as well as a receiver-specific ISB. Alternatively, 17 states could be maintained and the timing differences between GPS and Galileo could be compensated via the _GPS to Galileo Time Offset_ (GGTO) extracted from one of the navigation messages or the _GPS to Galileo time system correction_ (GPGA) in the respective RINEX files. This approach did not succeed as the receiver-specific timing bias is too large to be ignored and the parameters in the navigation messages only address the satellite-specific timing bias. During the measurement update, pseudo-ranges and pseudo-range-rates to GPS satellites affect states 16 and 17, while pseudo-ranges and pseudo-range-rates to Galileo satellites affect states 18 and 17. All parameters concerning the EKF's stochastic model (e.g., \(\sigma_{\rho}^{2}\), \(\sigma_{\rho}^{2}\), system and initial state covariance matrices) are set to the same values for Galileo as they are for GPS. Since the additional state needs to be initialized, the single-epoch navigation solution entrusted with this task now outputs five quantities instead of four: 3-D position and two receiver clock biases. Consequently, at least five observations are necessary to initialize all states, with at least one stemming from each GNSS. To consider the possibility of different receiver clock drifts for GPS and Galileo, a state vector with 19 entries was tested as well (state 19 being the Galileo receiver clock drift). Since the receiver possesses only one common oscillator for all GNSS constellations and the drift between different GNSS time scales is insignificant in comparison, the receiver clock drifts for GPS and Galileo were expected to be indistinguishable. This hypothesis was proven by measurement results, so this 19 th state was excluded from further evaluations. For compatibility with GPS L5-L1 C/A combinations, E5a-E1 combinations are chosen for Galileo preferably. E5b-E1 combinations are the second choice, single-frequency E1 pseudo-ranges the third. The clock correction parameters for E5a-E1 combinations are distributed via Galileo's _freely-accessible navigation message_ (F/NAV). The parameters are also valid for single-frequency E5a processing, but not for E5b-E1 combinations and single-frequency pseudo-ranges on E1 or E5b. In order to process the latter three types of observations correctly, clock correction parameters from Galileo's _integrity navigation message_ (I/NAV) have to be used [16]. Because the clock correction parameters are already