Deep Learning Soft-Decision GNSS Multipath Detection and Mitigation

A technique is proposed to detect the presence of the multipath effect in Global Navigation Satellite Signal (GNSS) signals using a convolutional neural network (CNN) as the building block. The network is trained and validated, for a wide range of C/N0 values, with a realistic dataset constituted by the synthetic noisy outputs of a 2D grid of correlators associated with different Doppler frequencies and code delays (time-domain dataset). Multipath-disturbed signals are generated in agreement with the various scenarios encompassed by the adopted multipath model. It was found that pre-processing the outputs of the correlators grid with the two-dimensional Discrete Fourier Transform (frequency-domain dataset) enables the CNN to improve the accuracy relative to the time-domain dataset. Depending on the kind of CNN outputs, two strategies can then be devised to solve the equation of navigation: either remove the disturbed signal from the equation (hard decision) or process the pseudoranges with a weighted least-squares algorithm, where the entries of the weighting matrix are computed using the analog outputs of the neural network (soft decision).


Introduction
Multipath is one of the major sources of positioning errors in GNSS receivers operating near the Earth surface.It is due to the reception of one or more reflected rays besides (or instead of) the direct ray or line of sight (LOS).The reflected rays are characterized by extra delays relative to the arrival of the LOS signal.The reflected signals may also exhibit different Doppler frequencies, for instance when the receiver is not static.Multipath aspects affect both the code and carrier measurements, although the magnitudes of the errors differ significantly [1].
Many different methods have been proposed to mitigate the effect of multipath on the computation of the position, velocity, and time of the GNSS receiver at different stages, from the antenna to post-detection Receiver Autonomous Integrity Monitoring (RAIM) techniques [2,3].An important class of mitigation techniques operate at the correlators level, including non-parametric and parametric techniques.Non-parametric processing, such as double-delta processing [4], resorts to code discriminator designs that are less sensitive to multipath-induced errors, while parametric processing, such as the Multipath Estimating Delay Lock Loop (MEDLL) [5], tries to estimate the parameters associated with the reflected rays.In any case, it will be beneficial if reliable side information, concerning the degradation of a given signal by multipath aspects, is available.In fact, the existence of a binary multipath/no multipath classifier permits the receiver to adopt one of the following alternatives.Strategy I: remove the signal affected by multipath from the navigation equation, provided that the number of visible satellites exceeds the minimum of 4. Strategy II: keep the multipath-disturbed signal in the navigation equation but process it in a different way from the other (unaffected) signals, using, for instance, a weighted leastsquares estimator.
In the last two decades, several authors have applied machine learning (algorithms that can learn from experience) with various degrees of success to detect and mitigate multipath in GNSS receivers using supervised or unsupervised learning and different datasets [6][7][8][9][10][11][12][13].References [6,10] use multilayer perceptrons, [8] utilizes a K-means clustering technique with unsupervised learning, and the remaining works resort to convolutional neural networks (CNNs).In [14], the authors replace standard correlation schemes with deep neural network-based correlation schemes to learn the complexity of the multipath channels.A technique based on the rain forest learning algorithm is proposed in [15] to estimate the multipath parameters and remove the estimated reflected signal components.A thorough survey on the application of machine learning techniques in different aspects of GNSS signal processing, including multipath mitigation, is provided in [16].Reference [17] reviews the previous work on multipath mitigation using machine learning techniques, with the received signal strength, elevation angle, and receiver correlator outputs constituting the most popular input features.
Herein, we propose a multipath/no multipath classifier based on a CNN with supervised learning that uses synthetic signals disturbed by additive correlated noise during the training stage.The dataset is generated by a 2D grid of correlators with different code delays and Doppler frequencies.The existence of multipath provokes the change in the correlator outputs, and these features can be captured by the neural network.Since the dataset is 2D, the problem is similar to the feature extraction in images, where the CNNs have been immensely successful [18].The adopted CNN is trained and validated with noisy synthetic signals for a wide range of carrier-to-noise ratios, namely 30 ≤ C/N 0 ≤ 50 dB-Hz.The dataset is generated using a blend of different environments: open, rural, suburban, urban, and highway.These environments constitute the DLR (German Aerospace Center) satellite-ground model proposed in [19,20].Alternatively, the multipath environment could have been characterized by the more complicated model proposed in [21], which is adopted, for instance, in [14].
Extensive simulations have shown that the best results are obtained when the CNN inputs are pre-processed with a two-dimensional Discrete Fourier Transform.The proposed algorithms are well-suited for software receivers, which employ an analog-to-digital converter that captures all the channels and demodulates the channel waveforms using software on a general-purpose processor [22].Depending on the type of neural network outputs (hard or soft decisions), either strategy I or II may be applied to solve the equation of navigation.
The paper is organized as follows.In Section 2, we characterize the outputs of the grid of correlators in the presence of multipath and Gaussian additive noise.Section 3 describes the DLR multipath model used to train the networks and addresses the training of two competing neural networks: the multilayer perceptron (MLP) and the convolutional neural network (CNN), with the MLP serving as the benchmark.In Section 4, the performance of the selected solution (CNN), using hard and soft decisions, is evaluated and a multipath mitigation technique is proposed.Finally, conclusions are drawn in Section 5.

Correlators Characterization
Assume that the receiver includes a front-end that heterodynes the GNSS signal, r(t), transmitted by each satellite, to produce the complex baseband signal y(t) and a grid of N f N c correlators, as sketched in Figure 1.In the scheme, 2B is the front-end bandwidth.The frequency f c + f d 0 is derived from locking the local oscillator to the incoming signal, with f c denoting the nominal GNSS carrier frequency.The correlators are separated in frequency by ∆ f = 2 f dop /N f and in the code delay by ∆τ = 2/N c (in chip units).The maximum Doppler frequency range, 2 f dop , should be adjusted for every scenario to encompass the different carrier frequencies of the multipath replicas that hit the receiver's antenna.Using a software receiver, the analog signal y(t) is sampled and the rest of the operations leading to the correlators output will be performed with digital signals (although this is not shown in Figure 1 for simplicity).The correlators outputs are provided by where T is the duration of the correlation interval and c(t) is a pseudorandom (PRN) code sequence with chip duration T c and |c(t with x k (t) = y(t) exp(−j2π f min t)c(t − τ k ).In software receivers, the quantities in (2) are calculated from the samples x k (t m ) as in which t m = m∆t, where ∆t = T/M is the sampling interval and µ = ∆ f T. Consider that, in the presence of multipath, the received GNSS signal r(t) is constituted by a strong ray and N r weaker rays plus additive Gaussian noise w(t).The noise in-band power spectrum is Each ray of index n is characterized by amplitude A n , propagation delay τ n , Doppler frequency f d n , and phase θ n .D(t) is the navigation message, with |D(t)| = 1.In the case of a pilot channel, the navigation message is constant with D(t) = 1 (this condition will be assumed hereafter).The index n = 0 corresponds to the strongest ray, which coincides, in general, with the line-of-sight (LOS) ray when it is not obstructed.The bandwidth 2B is considered sufficient to accommodate the incoming signals in the presence of Doppler frequency shifts.Signal r(t) is converted to baseband using the local oscillator complex signal 2 exp[−j2π( f c + f d 0 )t].For the sake of simplicity, it is assumed that the carrier tracking loop is perfectly synchronized with the strongest incoming signal; that is, where N(t) = N I(t) + jNQ(t), with N I(t) and NQ(t) being independent, zero mean, inphase/quadrature components of w(t) with equal powers 2N 0 B. The baseband signal y(t) is then multiplied by a grid of N f N c complex units, exp(−j2π∆ , to yield a 2D correlation, as sketched in Figure 1. For the signal model described in (4), the correlators outputs are + N ik , with the noise component being The integrals in (6) are of the form Assuming that the signal exp(j2π φt) is slowly varying in each interval of duration T p = T/P, with P ≫ 1, we may write Let R c (τ) denote the autocorrelation function of code c(t) with period and T p < ST c , leading to For |φT p | ≤ 0.2, the Dirichlet kernel sin(π φPT p )/[P sin(π φT p )], is well-approximated by the sinc function, defined as sinc(x) ≡ sin(πx)/(πx), yielding I c ≈ R c (τ k − τ n )sinc(φT) exp(jπ φT).Thus, (6) can be written approximately as The cross-correlation of the noise components of two correlators, N ik and N lm , is defined as The determination of the cross-correlation is complicated except when BT ≫ 1.In this case, E{N(t)N * (λ)} ≈ 2N 0 δ(t − λ) and Therefore, and, assuming that |(∆ Taking into account ( 7) and ( 16), we obtain the following expressions for the realvalued cross-correlations Using Monte Carlo simulation, the noise random variables (r.v.) NI ik and NQ ik have to be generated for all the elements of the grid i The covariance matrix C = E{UU T } of the resulting vector U(2N f N c × 1) has 4N 2 f N 2 c elements.For p, q = 1, . . ., 2N f N c and p ≤ q, each element of C is provided by with C qp = C pq .For the three cases, the indices of the elements of C are computed as Case I: After the covariance matrix is determined, U can be easily generated from vector W(2N f N c × 1) of Gaussian, zero-mean, unity power, and independent components using the technique described in Appendix B.

Multipath Model
In order to train the neural network (NN), we assume a certain ensemble of models to characterize multipath.This does not imply that the experimental multipath to be detected obeys those models.In fact, in practice, it is almost impossible to assign a set of models that encompasses all cases encountered of real multipath.Nevertheless, the NN should be trained with the largest possible set of plausible multipath models.
Land mobile satellite (LMS) channels are usually divided into narrowband and wideband models.While the narrowband models describe the channel by a multiplicative operation on the signal, the wideband models take into account the frequency dependency caused by the signal echoes [23].Echoes with different delays can be resolved when the difference in delay is larger than the inverse of the corresponding receiver (baseband) bandwidth: τ m − τ k > 1/B.For instance, the receiver reference bandwidth of Galileo signal E1 is 2B = 24.552MHz [24], which corresponds to a minimum resolvable difference of delays of approximately 81.5 ns (approximately 24.5 m).
We consider, henceforth, for the purpose of NN training, a wideband model of LMS communications affected by multipath fading and signal shadowing.The N r different reflectors cause echoes with delays τ m (t) = τ 0 (t) + ∆τ m (t), where τ 0 (t) is the propagation delay of the direct ray and ∆τ m (t) is the excess delay of each reflected ray.A simple but efficient model for wideband LMS channels is the tapped delay line model, where each tap is described by a narrowband model.Assume that the transmitted signal is represented as s(t) = Re{s bb (t)e j2π f c t }, where s bb (t) is the corresponding complex envelope.In the case of multiple propagation paths, the equivalent lowpass channel is described by the time-variant impulse response [25] Let the satellite-receiver distance traveled by the mth path, in a short time interval, change approximately linearly with time (constant Doppler frequency).The channel impulse response may be written as which means that each echo is characterized by the following quantities: α m (amplitude), f m (Doppler frequency), ϕ m (phase), and τ m (delay).
Admit that the receiver's phase lock loop is synchronized to the carrier frequency of the direct ray (LOS), which includes the component due to the Doppler effect.Next, we characterize the Doppler frequency deviation ∆ f m = f m − f 0 for each reflected ray relative to the LOS.We follow the simplified scenario where the propagation between the satellite and the user (receiver) is constituted by an LOS and a reflected ray, as described in Figure 2. The reflector is considered static.If the coordinates of the satellite, reflector, and receiver are, respectively, (x s (t), y s (t)), (x r , y r ), and (x u (t), y u (t)), the lengths of the direct ray (LOS) and the reflected ray will be provided by and The satellite-user velocity using the LOS is where the satellite and user velocity vectors are, respectively, V s = (V sx , V sy ) and V u = (V ux , V uy ).The apparent satellite-user velocity using the reflected ray is Consider now, without loss of generality, that the receiver travels along the X-axis.Then, V uy = 0, and we obtain for the Doppler frequency deviation The maximum absolute value of the Doppler frequency deviations is equal to 2|V ux | f c /c, corresponding for instance to β = π and γ = 0. Namely, if the receiver is traveling at the speed of 140 km/h (typical car speed on a highway) and f c = 1.57GHz, the maximum absolute value will be ≈400 Hz (Doppler frequency range equal to ±400 Hz).
The DLR model for the LMS channel, herein adopted, divides the channel impulse response with N r + 1 rays into three parts [19,20] where I 0 (•) is the zeroth-order modified Bessel function of the first kind and the Rice factor ρ = 1/(2σ 2 ) denotes the carrier-to-multipath ratio.The corresponding cumulative distribution function (CDF) is [25] where In shadowed environments (bad channel state), α 0 is Rayleigh-distributed with lognormal-distributed mean power P 0 = 2σ 2 .The result is the Suzuki distribution [26].That is, where µ is the mean power level decrease in dB and σ 2 is the variance of the power level expressed in dB due to shadowing.The dimension of σ 2 is dB 2 .The CDF of with the error function being defined by Near echoes.A number of near echoes appear in the close vicinity of the receiver, with excess delays not exceeding τ e = 600 ns.Most of the echoes will occur in this delay interval.The mean power of near echoes S(τ) = E{α 2 m } is exponentially decreasing: S(τ) = S 0 exp(−µτ).Given a mean echo power S(τ) for a fixed delay τ, the amplitude α (n) m of the near echoes will vary around this mean value according to a Rayleigh distribution with 2σ 2 = S(τ).The number of near echoes is Poissondistributed, with mean λ.Recall that the Poisson distribution provides the probability that a certain number of independent events occur in a given interval (of time or space) when, on average, λ events occur in that interval [27].The corresponding pdf is and the CDF is with ⌊x⌋ denoting the largest integer not exceeding x.The delay distribution ∆τ m (m) of the near echoes follows an exponential distribution with pdf The mean power of the near echoes S(τ) = E{a 2 k } is exponentially decreasing with the delay S(τ) = S 0 exp(−ντ), ν > 0, or in logarithmic scale S dB (τ) = S 0,dB − dτ µs , d > 0, with d being expressed in dB/µs.For the adopted parameters of the near echoes, see Table A2 A3.
The direct ray is affected by obstacles, such as trees, whereas the echoes are affected by the presence of reflectors (buildings, mountains, etc.).The set of parameters are distinguished by the environments: the near echoes are determined by the foreground environment and the far echoes are determined by the background environment.

NN Characterization
In this work, we assume supervised learning for the NN, which relies on learning from a dataset with labels for each of the examples.There are two types of supervised learning: classification and regression [28].Classification is used to determine the class that the data belong to and regression extracts a real value from the data.We consider the application of two different NN types to the problem of detecting GNSS signals affected by multipath aspects: a multilayer perceptron (MLP) and a convolutional NN (CNN).CNNs have been extensively applied in different fields, including computer vision, speech processing, face recognition, etc. [18].Unlike the MLPs, which are conventional fully connected networks, shared weights and local connections are employed in the CNNs to make full use of 2D input-data structures, like image signals.This operation utilizes an extremely small number of parameters, which both simplifies the training process and speeds up the network [29].
The use of the two types of NN inputs was motivated by the fact that, although signal processing concerning multipath detection and mitigation is predominantly carried out in the time domain, some research has also been performed in the frequency domain [30].
For the MLP, we have considered the structure depicted in Figure 3, which contains a single hidden layer with N h neurons.In contrast, the architecture of the adopted CNN consists of two main parts: feature extractors and a classifier.In the feature extraction layers, each layer of the network receives the output from its immediate previous layer as its input and passes its output to the input of the next layer.CNNs are built by repeatedly concatenating three classes of layers: convolutional, activation, and pooling.This structure is followed by a last stage that contains three fully connected layers and a classification layer [18,31].The block diagram is shown in The convolutional layer performs feature extraction by convolving the input with filters (kernels).After each convolution layer, a nonlinear activation layer is applied.We used the ReLU activation function f (x) = max{0, x}.The (sub-sampling) pooling layer performs nonlinear downsampling operations, which aims at reducing the spatial size of the representation while simultaneously decreasing the number of parameters, the possibility of overfitting, and the computational complexity of the network.The max-pooling function is used.In the last layer of the fully connected network, the softmax activation function is applied.
The NN is used as a binary classifier with classes H 0 (no multipath) and H 1 (multipath).In binary classification, the information about the success of a model is conveniently described by the confusion matrix, which contains four elements: true negative (TN), true positive (TP), false positive (FP), and false negative (FN) decisions.Accuracy is an informative measure of success, being defined as 1 − Prob{decision error}, or with P f a and P md denoting, respectively, the probabilities of false alarm and missed detection (or miss rate) (see, for instance, [32]).Thus, where D 0 and D 1 stand for decision in favor of classes H 0 and H 1 , respectively.Additionally, Previous formulas lead to [28,29] accuracy which is the evaluation metric we are going to use throughout this work.Other common metrics, different from accuracy, are the precision and the recall [28,29].Precision is the fraction of multipath detections (D 1 ) that are correct, while recall is the fraction of multipath events that were detected.That is, precision is P = TP/(TP + FP) and recall is R = TP/(TP + FN), with P md = 1 − R. Equation (35) shows that, when the data are unbalanced, accuracy becomes biased towards the majority class and provides a wrong estimate of the decision success.In fact, when Prob{P 0 } ≫ Prob{P 1 }, the accuracy will be almost independent of P md , and, when Prob{P 0 } ≪ Prob{P 1 }, the accuracy will be essentially insensitive to P f a .In those cases, metrics such as the F1 score, defined as F1 = 2R • P/(R + P), provide more realistic results [28].
Consider that the output of the NN is the vector O = (O 0 , O 1 ).The hard tentative decision generated by the NN is arg max k O k .Alternatively, we can normalize the network outputs using the softmax function to compute the probability of each class.The softmax function maps the real-value network output to a probability distribution over a number of classes, where the number of classes equals the number of neurons in the final layer [28].Notice that s 0 + s 1 = 1.

Single Observation Decisions
Before training the NN, we establish the maximum expected value of the Doppler frequency deviation of the reflected rays due to the multipath effect for the scenario under analysis.This value depends on the dynamics of the user (receiver) and the possible motion of the reflectors.Following the example referred to in Section 3 (typical car speed in a highway), we set the maximum absolute Doppler frequency deviation used by the grid of correlators to f maxtrain = 400 Hz (or Doppler frequency range of ±400 Hz).The resulting frequency step in the bank of heterodyning units of Figure 1 is then ∆ f = 2 f maxtrain /N f = 800/N f .Taking into account that multipath delayed signals only affect the receiver's performance approximately in a chip duration interval [1], the delay step used by the bank of correlators is made equal to ∆τ = 2T c /N c .
Both NNs are trained with 2D data formatted as (N f × N c ) complex matrices, and 100,000 matrices were generated: 80% of the matrices are used to train the network and the remaining 20% are included in the validation set, whose goal is to determine whether the trained model is overfitting.For training and validation purposes, the data are generated assuming equal probabilities for hypotheses H 0 (multipath absent) and H 1 (multipath present).In case H 1 , the data were generated assuming each of the near echo scenarios, open, rural, suburban, urban, and highway, with equal probabilities.The data are produced with different values of C/N 0 in the interval 30 ≤ C/N 0 ≤ 50 dB-Hz, with a uniform distribution in dB-Hz units and correlation interval T = 10 ms.In all the following results, the BOCs(1,1) modulation will be utilized.The use of modulation BPSK(1) as an alternative has revealed only minor differences in terms of the achieved accuracy.A learning rate of 5 × 10 −4 was used with both types on NNs.To achieve the best performance, the range of Doppler frequency deviations, ± f maxtest , used by the NN in test mode should verify f maxtest ≤ f maxtrain .
The two NN architectures are tested with correlations outputs generated according to (12), with a maximum number of reflected rays N r = 5, assuming multipath and no-multipath scenarios, with equal probabilities.This value of N r is considered to be a reasonable amount of reflected rays in most multipath environments.In fact, simulations carried out with larger values of N r have revealed no significant differences in the NN behavior.
The amplitudes of the different rays are A 0 = 1 and A k (k = 1, . . ., N r ) following a uniform distribution with 0 < A k < 1.The phases θ k are independent and uniformly distributed in the interval 0 ≤ θ k < 2π.The delays τ k are independent and uniformly distributed in the interval 0 < τ k < T c .The Doppler frequency shifts f d k − f d 0 are independent and uniformly distributed, such that | f d k − f d 0 | < f maxtest .The characterization of amplitudes, phases, delays, and Doppler frequencies as independent uniform random variables, although simplistic, seems to be the natural distribution choice, meaning that we have no a priori statistical knowledge of those variables.It is expected that, with real signals, the NNs have the capacity to withstand the possible non-uniformity of the variables.
Figure 5 compares the accuracies achieved with the MLP and the CNN architectures when time-domain [mode 1] and frequency-domain [mode 2] data are used.The data are formatted as (N f × N c ) = (32 × 32) matrices.In this simulation, we have considered two matching conditions for the Doppler frequencies: (a) f maxtest = f maxtrain = 400 Hz (matching condition) and (b) f maxtest = 50 Hz, f maxtrain = 400 Hz (mismatch condition).The tests were performed with 40,000 data matrices.An MLP with one hidden layer constituted by N h = 25 neurons is employed in (a) and a convolutional neural NN (CNN) is applied in (b).The number of neurons indicated for the hidden layer of the MLP was found experimentally and is a trade-off between the accuracy achieved by the classifier and the complexity of the algorithm.
Comparing the two sets of plots, we can see that, overall, the results improve for large values of (C/N 0 ), as expected, and there is a performance degradation of both NNs in the case of frequency mismatch.In all the cases, the CNN permits to obtain better results than the MLP, with the best performance being achieved with mode-2 data (black solid curves).It can be shown that this trend is essentially kept even if the values of f maxtrain and f maxtest change.The advantage of the CNN architecture is due to its double role as a feature extractor and classifier.Thus, in order to simplify the analysis, we will henceforth consider only the CNN architecture and mode-2 input data.
In Figure 5b, the NNs were not conveniently trained to match the Doppler frequency range of the test dataset.So, to avoid performance degradation, it is convenient to determine the approximate limits of the Doppler frequency deviation corresponding to each scenario, taking into account the range of the receiver speeds, and use a trained network as matched as possible to that expected range of Doppler frequency deviations.Figure 6 exhibits the accuracies provided by correlators grids of different sizes (N f × N c ).The NN was trained with f maxtrain = 400 Hz.Two cases are considered: (a) matching case with f maxtest = f maxtrain and (b) mismatch case with f maxtest = f maxtrain /8.As expected, the best results are achieved with the largest grid, i.e., (32 × 32) in the matching case.With the smallest grid, i.e., (16 × 16), the degradation is particularly significant for the lowest carrier-to-noise ratios.Moreover, in all the plots, the main factor of degradation is the decrease in the number of frequency steps N f .Figure 7 exhibits the accuracies provided by correlators grids of different sizes (N f × N c ), but now the NN has been trained with f maxtrain = 50 Hz.Notice the striking contrast between the results of Figures 6 and 7.In the latter case, the performance is almost independent of the number of correlators in the Doppler frequency (N f ), depending mainly on N c , that is, the number of correlators in the code delay.As a result, Figure 7a,b, generated, respectively, with frequency matching and mismatch, are practically equal.The receiver model considered in Figure 1 includes a grid of correlators that use information contained in the time domain (code delay) and frequency domain (Doppler frequency).This architecture was previously used, for instance, in [11] and further referred to in [17].However, the novelty of our approach is characterized by the following aspects: (i) we developed mathematical tools to analytically define the additive noise components in each correlator, including their cross-correlations, (ii) we implemented models for multipath, during the training of the neural network, based on the DLR model, and (iii) we used DFT pre-processing of the correlators outputs to improve the CNN performance.

Multi-Observation Decisions
When the product (C/N 0 )T is small, the probabilities P f a and/or P md tend to be high, leading to a significant decrease in the accuracy.This drawback is minimized by making decisions based on multiple observations of the grid of correlators in N adjacent intervals of duration T.
With hard tentative multipath/no multipath decisions generated by the NN in N consecutive correlation intervals (observations), we may apply the following criterion: select class H 1 only when there are, at least, M positive tentative decisions, with 1 ≤ M ≤ N (M-of-N selection).We refer to a hard decision regarding this methodology based on the M-of-N selection.Let the probabilities of false alarm and missed detection for each tentative decision be, respectively, P f a and P md = 1 − P d , as defined in (36).The overall probability of false alarm (under hypothesis H 0 ) is and the overall probability of correct decision (under hypothesis H 1 ) is Hence, the overall probability of missed detection is provided by Ideally, for multiple observations (N > 1), the overall probabilities of false alarm and missed detection should decrease simultaneously relative to the corresponding probabilities of a single observation (N = 1).However, this is achievable only for certain values of P f a , P md and M, as illustrated in Figure 8 for N = 4.In general, for a given value of P f a and N being constant, P f a decreases when M grows, and, for a fixed value of P md and N being constant, P md increases when M grows.When N softmax values s 1 , n = 1, . . ., N, are available in consecutive correlation intervals, we may add them before producing a final decision, according to and deciding in favor of hypothesis H 0 , if S 0 > S 1 , or H 1 otherwise.We refer to this as the soft decision to this methodology, in contrast to the alternative hard decision.Figure 9 depicts the accuracies obtained with multiple observations using hard and soft decisions.The correlation interval is T = 4 ms, which means that the classifier produces a decision every NT = 4N ms.For the hard decision case, N = 4 correlation intervals were used.Note that, for N = 4, the best results achieved in both plots are approximately equivalent.However, using soft decisions, the accuracy is practically independent of N, provided that N ≥ 3.As a consequence, soft decisions are preferable to hard decisions (at least for this example).

Multipath Mitigation Technique Using Soft Decisions
With the goal of understanding the motivation for having an algorithm that detects the effect of multipath in a given received signal, consider the scenario described in Figure 10.The figure displays the three-dimensional (3D) positioning errors obtained with five GPS satellites in view (SV2, SV18, SV26, SV29, and SV31) when one of the received signals is affected by multipath, provoking an increment of 50 m in the corresponding pseudorange.In the absence of multipath, the rms positioning error is 22.0 m.This value includes the effect of thermal noise (it is assumed that the pseudoranges are disturbed by independent zero-mean Gaussian noises with standard deviation equal to 5 m).The circles indicate the rms positioning errors achieved when the pseudorange associated with multipath is included in the least-squares navigation solution (single-point solution, [33]).The different errors depend on the position of the corresponding satellite through the geometric dilution of precision (GDOP).The squares indicate the resulting errors when the pseudorange measurement of the multipath-disturbed signal is removed from the solution (strategy I).
The figure shows that, in most scenarios, if reliable information is available concerning the presence of multipath in a certain signal, the removal of that signal from the equation of navigation permits to reduce the resulting positioning error (although at the cost of a slight GDOP increase).However, when the SV31 signal is affected by a multipath effect and is removed from the equation of navigation, a substantial increment of the positioning errors is obtained.The explanation for this anomalous behavior is the very large growth in the GDOP that results from discarding SV31.This example enables concluding that strategy I (signal removal) may not be the best one if it leads to the significant growth of the GDOP parameter.We will see next that an alternative strategy (strategy II), based on the outputs of the NN, may provide a better multipath mitigation performance.In fact, the availability of softmax values S k permits to devise new strategies to mitigate the multipath effect on the position, velocity, and time (PVT) solution as an alternative to removing the affected signal(s) from the equation of navigation.As the degree of confidence in the classification provided by the NN increases with the difference |S 1 − S 0 |, a weighted least-squares algorithm (or an extended Kalman filter having the observations noise covariance matrix with adjusted inputs) that uses K signals (with K ≥ 5) may provide a more accurate estimate of the position, velocity, and time (PVT) than the least-squares solution based on K − 1 signals.This strategy is particularly useful when a reduced number of visible satellites are available because the removal of one or more signals from the equation of navigation could significantly increase the GDOP or even prevent the computation of the PVT solution.
Suppose K ≥ 4 satellites are being tracked.The pseudorange measurements, after correction of the ionospheric/tropospheric delays, are provided by [3] where (X i , Y i , Z i ) is the satellite position, (x, y, z) is the receiver position, and ∆ r c is the range bias due to the receiver clock offset ∆ r .A least-squares solution ( x, y, z, ∆ r c) is difficult to obtain analytically for the set of pseudorange measurements (43) because the measurements are nonlinear, but the equations may be linearized by performing a Taylor expansion regarding the predicted user position and range bias ( x, y, z, ∆ r c).The single-point navigation solution using the weighted least-squares estimate is [34 where G is the geometry matrix, W is the weighting matrix, assumed to be positive definite and symmetric, and r i is the predicted pseudorange.Let Λ i = S 1,i − S 0,i = 1 − 2S 0,i , i = 1, . . ., K, denote the difference of the two softmax outputs for satellite i, with 0 ≤ S 0,i ≤ 1, where Λ i = −1 indicates a no-multipath scenario with probability one and Λ i = 1 a multipath scenario with probability one.In contrast, Λ i = 0 corresponds to a minimum of confidence in the NN decision.Therefore, we propose the following (K × K) weighting matrix where γ (with γ ≥ 0) is a selectable parameter that enables adjusting the range of values of the weights in W. For instance, conducting γ = 0, the estimated position corresponds to the conventional least-squares solution obtained with K satellites because W is the identity matrix.The γ → ∞ estimated solution is tantamount to the least-squares solution obtained with K − 1 satellites (the signal affected by multipath aspects is discarded) as (1 For the remaining values of γ, a weighted least-squares solution with K satellites is computed.Figure 11 displays the rms 3D positioning errors versus γ for the same scenario described in Figure 10, provided by ( 44) and (45).In this simulation, we assumed that S 0,i = 0.9 for satellite signals free of multipath and S 0,i = 0.1 for satellite signals affected by multipath.Figure 11 shows that, when the signals of satellites SV02, SV18, SV26, or SV29 are affected by multipath aspects, the best solution consists of removing that signal from the equation of navigation (strategy I), but this strategy leads to poor results when the disturbed signal belongs to SV31.Overall, strategy II, which consists of using (44) with γ ≈ 2, provides the best results in terms of multipath mitigation.
If, instead, an extended Kalman filter was employed, the weighting matrix W could be replaced by the covariance matrix, R n + R m , in the measurement (observations) model [35], with R n depending on the noise pseudorange terms and R m ∝ W −1 depending on the multipath effect.

Conclusions
In this work, we proposed algorithms for the detection of GNSS signals affected by multipath aspects based on two neural network architectures: the multilayer perceptron (MLP) and the convolutional neural network (CNN).Extensive simulations have shown that the CNN is, in general, superior to the MLP, thus becoming the adopted solution.
To obtain a classifier that is robust to various types of multipath aspects, the network was trained with synthetic noisy signals generated from a blend of different multipath scenarios that characterize the DLR model.The testing of the neural networks was performed with a set of multipath scenarios affected or not by the multipath effect with equal probabilities.No specific model was adopted for the testing task in order to make it as general as possible.
In the GNSS receiver, the neural network inputs were produced by a grid of N f N c correlators that covered the Doppler frequencies and the code delays of the different received replicas.The number of correlators has a major impact on the computational effort and should be kept as small as possible.However, decreasing the number of correlators, in particular those in the frequency domain (N f ), tends to negatively affect the performance of the classifier.Good results were obtained for the Doppler range of ±400 Hz by conducting N f = 32 and N c = 16.
Since the neural network was trained using Monte Carlo techniques, increased emphasis was placed on the analytic characterization of the cross-correlations between the noise components in the different correlators.It was also found that pre-processing the CNN inputs with a 2D Discrete Fourier Transform enabled significantly improving the detection performance in certain scenarios.The performance achieved with the CNN was compared with the MLP, which was used as a benchmark.In general, the CNN provided better results than the MLP, especially in low-signal-to-noise-ratio conditions.Thus, the CNN was used as the main multipath detection algorithm in the current work.The explanation for the better performance of the CNN compared to the MLP architecture is that the former includes an initial part (convolutional and max-pooling layers) to perform automatic feature extraction before carrying out the classification task.In fact, the CNN may be viewed as a feature extractor followed by a classifier.
Depending on the type of the CNN outputs, hard or soft decisions could be utilized.When hard decisions are used, the GNSS signal affected by the multipath aspects is removed from the equation of navigation.The adoption of soft decisions enables implementing an alternative strategy for multipath mitigation, which consists of solving the equation of navigation using a weighted least-squares algorithm (or an extended Kalman filter), with the processing of each GNSS signal being affected by a different weight (or probability) provided by the neural network.The result is a decrease in the receiver's position, velocity, and timing errors while keeping the number of processed signals unchanged, which may be a significant advantage when the presence of visible satellites has already been reduced.

Appendix B. Generation of a Gaussian Vector with a Given Covariance Matrix
Consider the generation of a generic Gaussian noise vector U = [u 1 , . . ., u M ] T , with zero mean and covariance matrix C, from the noise vector W = [w 1 , . . ., w M ] T of zero-mean independent Gaussian components with unity variance.Let U = GW, where G(M × M) is a square matrix.The problem consists of determining G from C = GE{WW T }G T = GG T .According to the spectral theorem for real symmetric matrices [36], the covariance matrix can be written in terms of its eigenvalues and eigenvectors as C = VΛV T , where V is an orthogonal matrix whose columns are the orthonormal eigenvectors of C and Λ = diag {λ 1 , λ 2 , . . ., λ M } is a diagonal matrix with the real nonnegative eigenvalues of C.This leads to G = VΛ

3 .
Far echoes.The number of far echoes is Poisson-distributed.The far echoes appear with delays τ e < ∆τ m ≤ τ max .The amplitudes α ( f ) m of the far echoes follow a Rayleigh distribution.The delays ∆τ m ( f ) of the far echoes are uniformly distributed in [τ e , τ max ].The adopted parameters of the far echoes are indicated in Table

(Figure 5 .
Figure 5. Accuracies obtained when time-domain (blue lines) and frequency-domain inputs (black lines) are used with a multilayer perceptron (MLP) and a convolutional neural network (CNN).

Figure 6 .
Figure 6.Accuracies obtained with correlators grids of different sizes (N f , N c ) with f maxtrain = 400 Hz.

Figure 7 .
Figure 7. Accuracies obtained with correlators grids of different sizes (N f , N c ) with f maxtrain = 50 Hz.

Figure 8 .
Figure 8. Example of overall probabilities of false alarm and missed detection for N = 4.

Figure 10 .
Figure 10.3D positioning errors obtained in the presence of one multipath-disturbed signal when the corresponding pseudorange measurement is either used (circles) or is removed from the navigation equation (squares).

Figure 11 .
Figure 11.3D positioning errors obtained with one multipath-disturbed signal using softmax values and weighted least-squares solutions with different values of γ.

Table A2 .
Parameters for near echoes.

Table A3 .
Parameters for far echoes.