Robust GNSS Positioning in Urban Environment

In the past years, global navigation satellite systems (GNSS) have gained the core position concerning the geolocalization applications and services in urban environments. The major issue of the GNSS-based urban application expansion is related to the positioning service quality assurance, expressed in terms of accuracy, integrity, availability, and continuity of the localization service. The dense urban environments, such as city centers, are challenging to the GNSS signal reception causing the frequent blockage of the line-of-sight (LOS) signals and the multipath phenomenon, referred to as the reception of the diffracted/reflected echoes of the transmitted signal. These effects severely affect the pseudorange and Doppler measurements, used by a GNSS receiver for the user’s position computation, which will further induce the computation of an erroneous positioning solution by the navigation processor down to a positioning loss in the presence of limited satellite visibility and few provided measurements. Therefore, advanced signal processing techniques do represent viable solutions aiming at the mitigation of these undesired effects in order to foster the accuracy and availability of the localization solution. This chapter will address in details the GNSS vector tracking (VT) receiver’s configuration able to cope with the urban environment-induced effects.


Introduction
Global navigation satellite systems (GNSS) are increasingly present in our life and represent a key player in the world economy mostly due to the expansion of location-based services. An important part of the GNSS applications is found for the automotive usage in urban environments that are characterized by difficult signal reception conditions. These services do exhibit by very stringent quality of service demands. In these harsh environments, the received signals are severely affected by the urban obstacles including buildings, road infrastructure, and foliage generating strong signals' fading and fast phase oscillations. Consequently, the generated pseudo-range and Doppler measurements are degraded. In the worst-case scenario, the direct signal can be totally blocked by the urban obstacles generating the GNSS signal blockage phenomena that introduce large biases on the pseudo-range measurements and cycle slips for the carrier phase observations. Standard GNSS receivers, which track each satellite independently through the technique referred to as scalar tracking, fail to cope with these harsh urban conditions. Therefore, this work is particularly focused on the proposal and detailed design of the dual-constellation single-frequency vector tracking architecture for the automotive usage in urban environment. This architecture can improve the tracking of some attenuated or blocked signals due to the channel-aiding property based on the navigation solution estimation and thus assure a robust navigation solution estimation.

GNSS receiver structure
This section aims at providing a detailed description of the GNSS receiver structure with an emphasis on the GNSS signal processing stage from the GNSS signal reception up to the measurement generation process.

GNSS digital signal processing
The digital signal processing is the consecutive stage of the analog front end, taking as input of the sampled and discretized received signals from each satellite in view. Herein, the digitized signal is fed to multiple channel processing blocks, corresponding to each received satellite signal. The digital signal processing blocks conduct three main operations, the correlation, the acquisition, and the code/carrier tracking [1]. The scalar tracking process is achieved in a channelized structure for all the satellites in view. The objective of the tracking process is to refine the coarse estimations of the code delay and Doppler frequency provided by the acquisition block and to precisely follow the signal properties changing over time [2]. The GNSS scalar tracking architecture is illustrated in Figure 1. The scalar tracking process, employed for each tracked satellite, comprised the following main modules: • Code tracking: in charge of estimating the code delay offset ε τ ð Þ between the incoming signal's code and the locally generated replica based on the closed feedback loop referred to as the delay lock loop (DLL). In this process, at least three delayed code replicas, known as the early, prompt, and late replica, are generated according to the correlation process with the incoming signal.
• Carrier tracking: responsible of estimating the residual Doppler shift ε f D À Á and the carrier phase offset ε φ À Á . The carrier tracking module that provides the estimation of the Doppler shift ε f D À Á is called as frequency lock loop (FLL), while the carrier phase error ε φ À Á compensation is conducted by the phase lock loops (PLL) [2]. It is important to highlight the fact that for certain applications with important user's dynamics, an FLL-aided PLL may be also employed.
The scalar tracking architecture, whose high-level representation is provided in Figure 1, includes the following main processing blocks: • Correlators: accumulating the combination of the sampled signal with the code and carrier replicas through mixing the in-phase and quadrature signal branches with the three delayed (early, prompt, and late) code-spreading sequences from the GNSS code generator block • Code/carrier discriminators: in charge of estimating the code delay and carrier frequency/ phase errors based on the three correlator output pairs • Low-pass filters: filtering the discriminators' outputs for noise reduction at the entry of the code/carrier local oscillators • Numerical control oscillator (NCO): operating in a feedback loop manner and providing the required correction to the code and carrier generators based on the filtered discriminator output, which is further used to generate the local replicas for the successive measurement epoch The association of the low-pass filters and the NCOs provides the equivalent loop filter, whose response to the user's dynamics is strictly related to two parameters such as the filter's loop order and the equivalent noise bandwidth. In details, a higher noise bandwidth implies faster loop response time (and thus better response to high user's dynamics) but with the drawback of dealing with noisier results due to the shorter integration time. Considering the filter's loop order, the higher the loop filter, the better the filter capability to follow the high-order user's dynamics is [3]. Keen readers may find detailed description of the loop filters in [3][4][5].
The scalar tracking is continuously run for each satellite-user channel in order to precisely estimate the code delay and carrier frequency/phase evolution in time [2]. In the GNSS receiver, the code delay and carrier frequency/phase lock loops are jointly used.

GNSS code delay tracking
The code delay tracking process is directly performed after the acquisition stage, responsible among other tasks of the detection of the incoming signal. The code delay tracking process assures the alignment between the incoming signal's code and the local replica's code by refining the code delay error measurement from the discriminator block that further steers the code NCO [5]. The code tracking is performed by means of a DLL that is a feedback loop capable of steering the local PRN code delay based on the estimation of the code delay error ε τ [6]. This code delay error measurement is later used to compute the pseudo-range observation.
The correlation between each local replica with the in-phase and quadrature signal samples generates one correlator pair. Finally, three correlator pairs are obtained at the end of this operation, expressed by where • The triplet ε τ, k ; ε φ, k ; ε f D, k represents the code delay, carrier phase, and frequency estimation errors at the current epoch k.
• k c •T c refers to the early-late code chip spacing with k c and T c representing the fraction of chip spacing and the code chip period, respectively.
• n xy denotes the noise term at the correlator output (where x stands for the in-phase (I) or quadrature (Q) and y for the early (E), prompt (P), or late (L) code delays), which is correlated and Gaussian distributed with zero mean and variance σ 2 nxy .
The most common discriminators employed in GNSS receivers are the noncoherent earlyminus-late power (EMLP) and the dot product (DP) discriminators due to their tracking robustness since insensitive toward the carrier phase information. These two discriminators are defined by The chip spacing is a crucial parameter for the discriminator function and thus must be selected so that the early and late correlator outputs are always evaluated at the correlation function main peak. Therefore, the EMLP and DP discriminators require a correlator spacing set less than 1 chip and 0.5 chip for the GPS L1 binary phase-shift keying (BPSK) and Galileo binary offset carrier (BOC) signals, respectively [3]. In order to remove the amplitude sensitivity of the code discriminators, normalization factors shall be applied to have a direct access to the code tracking error according to [7,8].

GNSS carrier phase tracking
The carrier phase tracking is achieved by the phase lock loop (PLL) that is responsible of keeping the carrier phase alignment between the incoming signal and the locally generated replica. The main goals of the phase tracking loop are: • The computation of a phase reference for the detection of the GNSS modulated data signal • The provision of precise Doppler measurements by using the phase rate information To fulfill these objectives, the PLL uses a carrier phase discriminator to estimate the resultant phase estimation error ε φ k ð Þ À Á between the incoming signal phase and the replica phase, according to the in-phase and quadrature prompt correlator output pairs (IP, QP). Afterward, the PLL filter filters out the noise, and afterward, the carrier NCO transforms the estimated phase error into a frequency offset that modifies the NCO nominal frequency for the successive epoch [6].
The main phase discriminators used for the data channels are the following [4]: • Dot product (DP) or the generic Costas discriminator • The extended arctangent (Atan2) phase discriminator [9] D Atan2 ε φ, 3. Vector tracking architecture

Urban environment-induced effects
The urban environment causes important threats to the GNSS signal reception and its posteriori processing, severely deteriorating the navigation solution accuracy and availability. The problems of the urban environment in the navigation domain can be summarized as follows: • Multipath: denoted as the joint reception of both the direct LOS signal and the reflected or diffracted GNSS LOS echoes from the urban obstacles • Attenuation or blockage of the GNSS LOS signal: arising due to the partial or total obstruction of the GNSS LOS from the urban environment characteristics • Interference: resulting from the presence of wide signal sources transmitting in the adjacent GNSS frequency bands The resulting consequences of these urban environment error sources from the GNSS receiver's point of view are the following [10]: • Distortion of the correlation function: computed between the received multipath-contaminated signal and the NCO-generated replica. The tracking of the multipath-affected signals leads to a deterioration of code delay and carrier frequency/phase estimation accuracy down to the loss of lock of the tracking loops. As a result, the estimated pseudo-ranges and pseudorange rate measurements from the code and carrier tracking loops, respectively, which are fed to the navigation filter are significantly corrupted.
• Only non-LOS (NLOS) signal reception: resulting from the total obstruction of the direct LOS GNSS signals and thus inducing large biases on the pseudo-range and Doppler measurements if only NLOS signals are tracked.
Finally, the resulting degraded measurements cause the navigation processor to calculate an inaccurate position solution or even to be unable to compute one in the case of few available measurements.

Vector tracking motivation
Vector tracking algorithms represent advanced GNSS signal processing methods, having the ability to function at lower carrier-to-noise power C=N 0 ð Þratios and in higher user's dynamics than traditional GNSS receivers [11]. Contrary to the conventional or scalar tracking architecture, where each visible satellite channel is being independently tracked, vector tracking performs a joint signal tracking of all the available satellites. It exploits the knowledge of the estimated receiver's position and velocity to control the tracking loops' feedback [6]. The comparison between the scalar tracking and vector tracking architectures is illustrated in Figure 2.
Concerning the vector tracking architecture, depicted in Figure 2

Proposed vectorized GNSS receiver architecture
Aiming at a robust GNSS signal tracking and navigation technique in urban environment, a dual-constellation GPS + Galileo single-frequency L1/E1 vector delay/frequency-locked loop (VDFLL) architecture is proposed and implemented for the automotive usage, whose architecture is illustrated in Figure 3.
In fact, the use of dual-constellation measurements significantly improves the availability of a navigation solution in urban canyons. Moreover, the implementation of the VDFLL tracking architecture, where the navigation filter is responsible of estimating both the code delay and the Doppler frequency change of each received signal, enhances the vehicle dynamic tracking capability of the GNSS receiver [6]. As it can be clearly observed in Figure 3, the central navigation filter accepts the code ε i ð Þ τ and carrier ε i ð Þ f D discriminator outputs for each GPS Þtracked channel as its input vector. Furthermore, the code and carrier NCO update process is achieved by projecting the predicted navigation solution into the pseudo-range and pseudo-range rate domains.
The VDFLL navigation block employs a Kalman filter (KF) that is a Bayesian estimation technique, which incorporates the measurements from the past epochs to obtain a more accurate navigation solution. In this work, the selection criteria of the extended Kalman filter  (EKF) algorithm are related to its capability to resolve the nonlinearity issues for the GNSS navigation system.
The EKF estimation process is composed of two main stages: • State prediction: performing the time propagation between two consecutive epochs k À 1 ð Þ to the current one k of the state vector X k kÀ1 j and its covariance matrix P k kÀ1 j • Measurement correction: refining the a priori state vector and covariance matrix estimations X k kÀ1 j ; P k kÀ1 j À Á by feeding the current epoch measurements z input À Á into the filter and thus obtaining the improved a posteriori estimates X k k j ; P k k j À Á

VDFLL EKF state space description
The continuous-time EKF state model is given by where • X is the state vector with the following entries to be estimated such as the user's position , and user's clock bias and drift terms b Rx _ b Rx h i expressed in unit of m ½ and m s Â Ã , respectively.
• F denotes the state transition matrix characterizing the user's motion and clock dynamics.
• B represents the colored noise transition matrix.
• w is the process noise vector reflecting the user's dynamics (position and velocity) and receiver's oscillator (clock bias and drift) uncertainties affecting the system model represents the position/velocity and clock biases/drift state transition submatrices.
The main tuning factors of the process noise vector w and its associated covariance matrix Q can be summarized into two main categories according to their nature: • User's dynamics: expressing the vehicle's dynamic uncertainties concerning the velocity error variance terms along the three ECEF axes σ 2 _ x ; σ 2 _ y ; σ 2 _ y that are further projected in the position domain through the state transition sub-matrix A 2Â2 • Receiver's oscillator noise: expressed in terms of the oscillator's phase and frequency noise spectral densities affecting the receiver's clock σ 2 b and drift σ 2 d biases Passing to the discrete time domain, the system or dynamic model of the VDFLL navigation filter can be detailed as follows: where X k is the state vector forward projection from the k À 1 th to the k th time epoch and Φ represents the dynamics of the user platform and clock, expressed as follows where ΔT ¼ t kÀ1 À t k is the time step between two successive epochs.
Substituting Eq. (7) into the continuous state transition matrix of Eq. (5), the final discrete state transition matrix is provided by The process noise covariance matrix Q k ¼ diag Q x, k ; Q y, k ; Q z, k ; Q clk, k h i in the discrete domain per each entry can be expressed as Therefore, the process noise discretization for the position and velocity states along the three reference axes is computed as where σ 2 _ x ; σ 2 _ y ; σ 2 _ z are the velocity noise error variances along the three navigation axes.
Applying the discretization process of Eq. (9) to the user's clock covariance states, the following relation is obtained: The discrete receiver's clock process noise covariance matrix is modeled based on the Allan variance parameters [12].

VDFLL EKF observation model
The nonlinear relation between the state and measurement vector in an EKF is provided by where • h is the nonlinear function relating the measurement z k to the state X k .
• v k is the measurement noise vector that is modeled as a zero-mean uncorrelated Gaussian noise process and independent to the process noise w k .
The measurement vector z k comprises pseudo-ranges r i ð Þ and Doppler measurements _ r i ð Þ and output from the code/carrier tracking process for the i ¼ 1 ÷ N GPS L1/Galileo E1 tracking channels [12]: The GNSS pseudo-range measurements of a given satellite i (from the GPS N1 ð Þ and Galileo N2 ð Þ satellites in view) at epoch k are rewritten as • X k 7 ð Þ represents the receiver's clock bias term w.r.t the GPS time.
• ε i ð Þ n, GPS=Gal k ð Þ represents the error due to the receiver's thermal noise, assumed to be white, centered Gaussian distributed.
Meanwhile, the remaining N-entries of the measurement vector z k , constituted by the Doppler measurements from both the GPS and Galileo satellites, are related to the state vector through the observation function h i ð Þ 2 [6]: k ð Þ denotes the LOS projections along the three navigation axes.
• X k 8 ð Þ is the receiver's clock drift state common for both the GPS and Galileo Doppler measurements.
• _ ε i ð Þ n, GPS=Gal k ð Þ denotes the receiver's thermal noise effect on the GPS and Galileo pseudorange rate measurements.
The measurement noise vector v k is modeled as a zero-mean uncorrelated Gaussian noise process with the measurement noise covariance matrix R k that has the following entries in the main diagonal: where the first entry refers to the pseudo-range error variance terms for the tracked GPS and Galileo satellites, while the second one is a common term for the pseudo-range rate error variance for all tracked satellites [12].

Description of the test setup
Within the scope of this research, a realistic dual-constellation dual-frequency GNSS signal emulator, capable of simulating the GNSS signal reception at the correlator output level and including the navigation module, has been developed. The developed signal emulator is a powerful tool for flexible and reliable GNSS receiver testing, for which all the processing blocks from the GNSS signals' correlation function, passing through the channels' tracking module and up to the different navigation algorithms, are all designed in a modular manner [12].
Two different GNSS receiver architectures are herein analyzed with the scope of performance comparison: • The proposed L1/E1 VDFLL EKF architecture working at ΔT ¼ 20 ms integration time and thus providing 50 Hz code and carrier frequency updates • The classic scalar tracking architecture employing a third-order loop PLL and a DLL, with an EKF positioning module for the navigation solution computation operating at the same rate as for the VDFLL EKF case (50 Hz)

Test scenario
The urban navigation test is herein performed on a car trajectory in Toulouse city center based on the collected data from the real test campaign in Toulouse urban area, by employing a NovAtel's ProPak receiver mounted on the car. The recorded trajectory of 600 s duration is presented in Figure 4.
The simulated signal reception conditions are that of a complete urban multipath model included to the receiver processing blocks with a maximum of 13 simultaneously tracked GPS L1 and Galileo E1 channels during the whole trajectory.
The receiver tracking parameters employed in the test scenario, defining the scalar (ST) and the vector tracking (VT) algorithms, are summarized in Table 1.
The navigation performance assessment of the proposed vectorized architecture with respect to the classic receiver configuration is performed in degraded signal reception conditions.

Urban multipath model
In this work, a widely used urban propagation channel model has been used to generate a representative of urban environment signal's reception conditions. This model, known as the DLR land mobile multipath channel model, was developed thanks to an extensive measurement campaign conducted by DLR in Munich urban and suburban areas in 2002. This model is  a wideband propagation channel model where each LOS and multipath echo are individually considered [13].
Moreover, the DLR model is a hybrid statistic/deterministic mathematical propagation channel model. The statistical part refers to the generation of a random urban scenario from a given set of channel-defining parameters, as depicted in Figure 5. Afterward, the LOS and NLOS echo information, provided as the DLR model output, is fed in the tracking stage at the correlator output level per tracked satellite.

Performance comparison results
The position error comparison between the scalar tracking receiver and the VDFLL algorithm is presented in Figure 6, presenting the EKF estimation errors along the entire trajectory in the navigation frame expressed in the along-and cross-track coordinates, in blue the VDFLL and in red the KF with scalar tracking. Moreover, the blue-and red-dotted curves denote the 95% ð Þ or two σ covariance bounds, where σ is the estimation error standard deviation estimated by the Kalman filters for the two architectures, respectively.
The position error plots in the vehicle frame (along-and cross-track coordinates), illustrated in Figure 6(a) and (b), demonstrate a clear superiority of the VDFLL algorithm, observed in terms of the low-position error variations along the trajectory that is an evident indicator of the VDFLL capability in coping with the multipath conditions. Larger position errors are observed for both architectures in the cross-track coordinate in Figure 6(b) that is related to the higher multipath-induced bias on the lateral projection. A significant position bias of approximately 30 m is seen for the scalar tracking receiver (in red) in the cross-track coordinate from the 70th to the 100th epoch, which coincides with strong satellite outage event and thus limited satellite Figure 5. Artificial urban scenario generated by the DLR urban propagation channel model [13]. measurements. Furthermore, the ST + EKF covariance bounds are significantly increased during this period due to the higher position estimation uncertainty since only four "good" measurements from the four locked LOS satellites are used for the navigation solution computation. On the contrary, the proposed VDFLL algorithm assures a positioning stability and much tighter confidence bounds related to the interchannel-aiding capability exhibited by the VDFLL EKF filter. Finally, it can be seen that the vector architecture better assesses the confidence on the computed position.

Conclusions
The chapter was written in the context of the GNSS use in urban environment that is particularly challenging to the GNSS signal reception due to multipath and direct signal blockages, which significantly affect the signal processing and further degrade the position accuracy and availability. For this matter, this work was focused on the design of a dual-constellation GPS/ Galileo and single-frequency L1/E1 band vector tracking architecture for automotive usage in urban environment. This architecture ensures a better receiver's dynamic estimation due to the joint code delay and Doppler carrier frequency tracking for all the satellites in view performed by the common navigation EKF filter. The detailed flowchart of the proposed vector tracking algorithm and the relation between the state vector and observation model were also exposed.
The generation of the urban environment multipath conditions was detailed in the second part of Section 4. In this work, the wideband propagation model referred to as the DLR land mobile multipath channel model was employed. Herein, the urban environment conditions were generated separately for each GPS-and Galileo-tracked satellite by feeding their elevation/azimuth angles and the reference car trajectory to the DLR urban channel. The generated channel model samples were stored and directly fed to the signal emulator at the correlator level.
Furthermore, the dynamic car trajectory along with the test parameters related to the scalar (ST) and vector tracking (VT) loop design was introduced. The emphasis of this work was dedicated to the performance analysis of the two architectures under study in the navigation level, expressed by the position estimation errors in the vehicle navigation frame. The VDFLL superiority was observed in the navigation domain, especially when referring to the position estimation accuracies. Nearly twice lower position estimation error variations were observed for the VDFLL architecture w.r.t the scalar receiver configuration. Furthermore, the VDFLL robustness and reactivity were noted especially during the satellite outage intervals that induce a reduced number of measurements fed to the navigation processor. During these intervals, stable and accurate navigation solution estimations are assured by the VDFLL filter thanks to the code/carrier NCO updates steered from the navigation solution estimations.