Efficient FFT-based Algorithms for Multipath Interference Mitigation in GNSS

GNSS (Global Navigation Satellite System) has been found application in many areas. In some cases, the performance requirements for GNSS are very high. There are many error sources that would degrade the positioning performance of GNSS, e.g., clock errors, ephemeris errors, tropospheric propagation delay, and multipath. Many positioning errors mentioned above are constant for all GNSS receivers in a given small area and can be removed or reduced by using the popular differential technique. However, due to the geographical position difference between the reference station and the receiver, the multipath environment of receivers, such as amplitudes and number of multipath signals, is totally different with that of the reference station. Thus differential technique can not eliminate the multipath error. Many studies have shown that the multipath interference will lead to a position error around several meters which endangers the reliability and accuracy of GNSS. Therefore, multipath interference mitigation has been a hot topic in the field of satellite navigation receiver design.


Introduction
GNSS (Global Navigation Satellite System) has been found application in many areas. In some cases, the performance requirements for GNSS are very high. There are many error sources that would degrade the positioning performance of GNSS, e.g., clock errors, ephemeris errors, tropospheric propagation delay, and multipath. Many positioning errors mentioned above are constant for all GNSS receivers in a given small area and can be removed or reduced by using the popular differential technique. However, due to the geographical position difference between the reference station and the receiver, the multipath environment of receivers, such as amplitudes and number of multipath signals, is totally different with that of the reference station. Thus differential technique can not eliminate the multipath error. Many studies have shown that the multipath interference will lead to a position error around several meters which endangers the reliability and accuracy of GNSS. Therefore, multipath interference mitigation has been a hot topic in the field of satellite navigation receiver design.
Multipath interferences are the signals reflected by the objects around the GNSS receiver. Then the multipath interference and the LOS (line of sight) signal are simultaneously received by antenna which brings a phase distortion in the tracking loops of receivers. Finally, the phase distortion results in the tracking and positioning error.
There have been many studies about the effect of multipath interference. Kalyanaraman et al. in [1] analyzed the multipath effects on code tracking loop. Kos et al. [2] provided a detailed analysis of the multipath effects on the positioning error. Main multipath interference mitigation techniques are based on antenna technique and signal processing algorithms.
By mounting the antenna in a well-designed place based on the multipath environment, Maqsood et al. in [3] compared the performances of multipath interference mitigation for different antennas. Ray et al. in [4] proposed a multipath mitigation algorithm based on an antenna array. A design principle of antenna was proposed by Alfred et al. in [5] for satellite navigation landing system. The multipath mitigation technique based on the special antenna can only suppress the multipath signal coming from the ground below the antenna. However, it is useless for the multipath interference signal reflected by the objects above the antenna.
Popular signal processing techniques are the narrow correlator and MEDLL (Multipath Estimated Delay Locked Loop). Narrow correlator is adopted in many GNSS receivers which suppresses multipath interference by reducing the early-late correlator spacing. The signal model for the narrow correlator is provided by Michael et al. in [6]. Cannon et al. in [7] analyzed the performance of narrow correlator in the satellite navigation system. The performance of narrow correlator can be improved by decreasing the early-late correlator spacing. However, the narrow correlator assumes that the bandwidth of the received signal is infinite which is invalid in the practical applications. Thus, when the early-late correlation spacing is less than the reciprocal of the channel bandwidth, the tracking error cannot be further decreased by reducing the early-late correlator spacing. MEDLL is a multipath interference mitigation algorithm based on the statistical theory as in [8], which estimates the time delays via the maximum likelihood criterion. Therefore, the complexity of MEDLL is much higher than narrow correlator.
This chapter firstly presents a new acquisition algorithm for GNSS. Then two multipath interference mitigation algorithms based on the DPE (Decoupled Parameter Estimation) parameter estimation algorithms are presented. The FFT algorithm is utilized to reduce the computational complexity in all proposed algorithms. Numerical results are provided to demonstrate the performances of the proposed algorithms. The remainder of this chapter is arranged as follows. Section 2 presents the new acquisition algorithm. Two multipath interference mitigation algorithms are separately presented in Section 3. Section 4 concludes the chapter.

Data model and problem formulation
GNSS signal is composed of three parts, the carrier, the ranging codes and the data codes. In order to facilitate the presentation, GPS is taken as an example. However, the proposed algorithm is also suitable for other GNSS system. The carrier of GPS (Global Navigation System) consists of the three different frequency bands, i.e., L1 (1575.42 MHz), L2 (1227.6 MHz) and L5 (1176.45MHz), see [9][10]. The ranging codes are pseudo random noise (PRN) codes including C/A code, P code and M code which are known in advance. Data codes or the navigation data are binary codes containing the satellite ephemeris, satellite status, clock system, the orbit perturbation correction of the satellite clock motion state and the atmospheric refraction correction, etc.. Suppose that one receiver obtained the signals from P satellites and the received data can be expressed as where d p (t) represents the navigation data of the p th satellite, c p (t) is the C/A code of the p th satellite, e(t) is the thermal noise, α p , τ p and ω dp denote the amplitude, time delay and Doppler frequency of the p th satellite, respectively. It should be noted that only the L1 signal is considered in this chapter.
After A/D conversion, the data can be written as The conventional acquisition procedure is a two-dimensional searching algorithm, which is time consuming even when using parallel searching algorithm. Moreover, the frequency resolution of the conventional acquisition algorithm cannot satisfy the requirements of the tracking loop. Hence, a more accurate frequency estimation is required before tracking in the conventional receiver.
Therefore, a new GNSS acquisition algorithm is proposed in this section. The Doppler frequency is firstly estimated. After that, the initial code phase is then obtained via NLS (Nonlinear Least Square) fitting. Compared with the conventional acquisition algorithm, the proposed algorithm can obtain a comparative performance with a lower computational complexity.

Principle of the novel acquisition algorithm
It can be noted from the data model in section 2.1 that there are three unknown parameters in the acquisition process, which are the PRN index of the p th satellite, the corresponding Doppler frequency ω dp and its initial code phase τ p .

Doppler frequency estimation
Due to the navigation data and C/A code are ±1 in GPS system, it can be seen from equation (2) that the Fourier spectrum of each satellite contains multiple frequency components. Therefore, the Doppler frequency cannot be extracted from the spectrum directly. To eliminate the influence on frequency estimation brought by the navigation data and C/A code, we square equation (2) as in [11] Since the value of navigation data and C/A code is ±1 in GPS system, then the above equation can be simplified as where, It can be seen from equation (4) that the spectrum of each satellite only contains a single dominant frequency component corresponding to the Doppler frequency. For the reason that not only the correlation of C/A code of different satellites is very small but also the signal and noise are uncorrelated, it is obviously that in equation (5) the product terms of different C/A codes as well as the product of noise and signal are close to zero. Fourier analysis method can be directly used to estimate the signal frequency.
The Fourier transform of equation (4) can be expressed as where ω = 2ω dp can be obtained based on the locations of the first p dominant peaks of F (ω). A more accurate estimation result can be achieved by using FFT (Fast Fourier Transform) padding with zeros.
The estimated value of ω is in the range of − π, π , thus from equation (6) we know that the estimated value of ω dp − π / 2, π / 2 . As ω dp − π, π , the estimated frequency could be ω dp or ω dp + π. Therefore, the frequency ambiguity will lead to a mistake. Due to the IF (Intermediate Frequency) of the satellite signals is definitely known after down conversion and the range of Doppler shift is between ±10kHz [12], the difference between true frequency and the ambiguity one is generally greater than the Doppler shift. Therefore, ambiguity frequency can be excluded by determining whether the frequency is in the range of the Doppler shift.
The frequency spectrum of the received data before and after the square operation is shown in Figure 1. It can be noted that before square operation, there are multiple dominant frequency components. Thus the Doppler frequency cannot be extracted directly. However, after being squared, there is only one dominant Doppler frequency present in the spectrum, so an accurate Doppler frequency can be estimated.

Code phase estimation and matching
After obtaining the Doppler frequency, the initial phases and the PRN index of the C/A code from all satellites can be estimated by using its autocorrelation characteristic. Let s p (n) = d p (n)c p (n)e jω dp n , then equation (2) can be expressed as where 2 dp    can be obtained based on the locations of the first p dominant peaks of ( ) F  . A more accurate estimation result can be achieved by using FFT (Fast Fourier Transform) padding with zeros.
(a) before square operation (b) after square operation    , thus from equation (6)   . Therefore, the frequency ambiguity will lead to a mistake. Due to the IF (Intermediate Frequency) of the satellite signals is definitely known after down conversion and the range of Doppler shift is between 10kHz  [12], the difference between true frequency and the ambiguity one is generally greater than the Doppler shift. Therefore, ambiguity frequency can be excluded by determining whether the frequency is in the range of the Doppler shift.
As the Doppler frequency ω dq has been estimated, ω dq can be used to take the place of ω dq . Then the signal sent by the q th satellite can be reconstructed aŝ Suppose the time delay from the q th satellite to the receiver is τ q , then the received signal can be written as The DFT (Discrete Fourier Transform) of equation (9) can be written as where y f (k), ŝ fq (k ) and e f 2 (k ) are the DFT of y(n), ŝ q (n) and e 2 (n) respectively, ω q = − 2πτ q f s / N with f s is the sampling frequency. Note, here x f is used to represent the DFT of x. Hence, the estimation of τ q is transformed to the estimation of ω q .
To estimate ω q , we define the following NLS cost function [12][13][14][15] ( ) Let { }ˆˆ( where ( ) T denotes the transpose operation. Then the cost function in equation (11) can be transformed as where denotes the Euclidean norm. Minimizing Z (ω q ) with respect to ω q yields the The time delay estimation can be further obtained bŷ Equation (16) can be solved by using FFT algorithm with a low computation burden. Since the PRN index of the received signal is unknown, consequently, it is not feasible to reconstruct ŝ q (n) directly by equation (8). Therefore, we should reconstruct signal of each satellite with the estimated Doppler frequency ω q . Then the cross correlation of the reconstructed signal and the received one can be calculated. Furthermore, the corresponding time delay can be estimated from equation (16).
It is well-known that the cross correlation coefficients of different C/A codes are very small. In addition, the signal and noise are uncorrelated. Thus Fourier analysis results of the above mentioned component are close to zero. The maximum correlation value can only be obtained in the case that the C/A code of the reconstructed signal is the same as the received one. Therefore, the PRN index can be obtained. Furthermore, the code delay can be estimated by the location of the maximum correlation value. Then, we obtained all the unknown parameters.

Comparison of acquisition algorithms
Suppose the searching time for Doppler frequency estimation is Q in the conventional acquisition algorithm, P is the number of satellite received by the receiver. In GPS, the typical values of Q and P are 21 and 4-8, respectively, as in [9,11]. The total number of satellites M is 32. Since Doppler frequency and code delay are unknown in the conventional acquisition algorithm, Q frequency points should be searched over certain frequency range. What's more, M satellites are also to be searched for each of the Q frequency points. While in the proposed algorithm, the Doppler frequencies of P satellites have been estimated, only P accurate frequencies need to be searched. Figure 2 compares the searching process of the proposed algorithm and the conventional one. It can be seen that the computation complexity of the proposed algorithm is significantly lower than that of the conventional algorithm in that the typical value of Q is obviously greater than P.
Comparison of computation burden between new acquisition algorithm and conventional acquisition algorithm are shown Table 1. It can be clearly seen from Table 1 that, since Q is always greater than P, the computation complexity of the proposed algorithm is lower than the conventional acquisition procedure. In practices, only 4 satellites are enough to determine the user position, which is less than 8, hence the computation burden should be further decreased. As the number of satellite is equal to 4, only half of the original computation complexity is required.
Chapter 1 the conventional algorithm in that the typical value of Q is obviously greater than P .     Table 1. It can be clearly seen from Table 1 that, since Q is always greater than P , the computation complexity of the proposed algorithm is lower than the conventional acquisition procedure. In practices, only 4 satellites are enough to determine the user position, which is less than

Numerical results
To verify the performance of the proposed algorithm, GPS signals from 8 satellites with PRN indexes 1, 2, 13, 20, 22, 24, 25 and 27 are simulated. Considering the IF is 1.25MHz, the sampling rate is 7.5MHz, the pre integration time is 1ms and the signal to noise ratio (SNR) is -20dB. The frequency searching step of the conventional acquisition algorithm is 1kHz. The acquisition results are shown in Figure 3.

Multipath Data Model
The term multipath is derived from the fact that a signal transmitted from a GNSS satellite can follow a 'multiple' number of propagation 'paths' to the receiving antenna. This is possible because the signal can be reflected back to the antenna from surrounding objects, including the earth's surface.  In Figure 3, the horizontal axis stands for the PRN index of the satellites and the vertical axis denotes the acquisition metric. Since the proposed algorithm only calculates the correlation of the received satellite signal and the local reference signal, correlation results of the other satellite are not shown in Figure 3(b). It can be noted that acquisition results are identical, and the peak value of the proposed algorithm is higher than the conventional one. Therefore, the proposed algorithm has a comparative performance with the conventional one.

Multipath data model
The term multipath is derived from the fact that a signal transmitted from a GNSS satellite can follow a 'multiple' number of propagation 'paths' to the receiving antenna. This is possible because the signal can be reflected back to the antenna from surrounding objects, including the earth's surface.
Suppose the signal transmitted by GNSS satellites can be written as where d(t) is the navigation data, c(t) is the C/A code in GPS. Here, we take the two path signal model as an example, which can be generalized to multiple reflection path signals directly. The received signal including the LOS signal with a single reflection can be written as where α 1 ′ , τ 1 is amplitude and code delay of the LOS signal, α 2 ′ , τ 2 is amplitude and code delay of the reflect signal, e(t) is the thermal noise. Equation (19) can also be deployed as To obtain the Doppler frequency of the LOS signal, we use the following relation ( ) Assume the radial velocity of the receiver relative to the satellite is v 1 , then the range between them can be given by ( ) where R 0 is the initial range between receiver and satellite, then equation (21) can be further given by As the relative radial velocity is constant, the Doppler frequency can be obtained by The propagation range of the multipath signal can be written as where ΔR(t) is the propagation range difference between the LOS signal and the reflected one. Since satellites are far away from the receiver, the range difference ΔR(t) can be considered as constant in the short integration time. Then equation (21) can be represented as Further simplify of equation (20) we can get where ω ′ d = ω d 1 + ω c is the Doppler frequency of the received signal, φ 1 = R 0 / λ and φ 2 = φ 1 + Δφ are the phase of the LOS signal and the reflect one respectively, with Δφ an extra phase caused by the extra propagation range ΔR. Accordingly, the LOS signal and reflect signal share the same Doppler shift.
After A/D conversion, the transformed digital signal can be written as  where ẽ (n) is equal to e(n)e − jω ′ d n that share the same statistics characteristic with e(n). So we still use e(n) to represent the noise data.
The in-phase component of equation (29)  In classical DLL, the in-phase early and late correlation value is given as In GNSS navigation, the receiver is concerned to maximize the correlation function between the received and locally generated signals. This can be accomplished by determining the locations of the zero output of the discriminator which corresponds to the maximum of the correlation function. Here, the early-late correlator is used to determine the position of this zero. However, the presence of multipath introduces some bias in the position of the first arrival peak and has an impact in the user's position, which can be clearly seen in Figure 4. Then the classical DLL failed to cope with multipath propagation, see [7][8].

Code delay estimation in the correlation domain via NLS
In this subsection, a code delay estimation algorithm based on DPE in correlation domain is proposed. To deploy the proposed algorithm, we combine the complex constant phase e − jφ p and the real amplitude α ′ p in equation (29) together as a new complex variable α ″ p. Then equation (29) can be written as The navigation data cycle is much longer than that of the C/A code, but only one cycle of the C/A code is used in the code delay estimation. Consequently, the navigation data jump can be neglected in the signal reconstruction. Then the navigation data +1 or − 1 is written into α ″ p and denoted as α p . Therefore equation (36) can be written as To simplify the following expression, s() is introduced to represent c(). Then equation (37) can be represented as Multipath interference mitigation based on code delay estimation focus on the estimation of the LOS delay τ 1 and the reflect delay τ 2 , where the estimated result can be used to migrate the multipath. After acquisition, the correlation between the received satellite signal and the local reference signal is used to estimate the parameter of both the LOS signal and the reflected one. The proposed code delay estimation algorithm can take the place of the classical DLL, which can be described in details as follows.
To obtain the initial code delay, the correlation function between the received satellite signal and the reference signal is represented as ( ) ( ) corr ( ), ( ) = r n s n y n where corr() represents the cross correlation operation. Since the noise is uncorrelated with the signal, equation (39) can be further expressed as where r s (n) is the autocorrelation of s(n), w(n) = corr(s(n), e(n)) can still be thought as noise that sharing the same statistic characteristics with e(n). Apply DFT to equation ( can also be estimated directly in the data domain, which can be described as follows. Again, the signal after down-conversion is given by where y f (k), s f (k ), e f (k) are the DFT of y(n), s(n) and e(n) respectively. ω p = − 2πτ p f s / N with f s represents the sampling frequency. Till now, the code delay estimation is transformed to the angular frequency ω p estimation, after which τ p can be obtained by the relation To obtain (α p , ω p ), a NLS cost function as follows is defined With the above simple preparations, we now proceed to present the relaxation algorithm for the minimization of the nonlinear least-squares cost function. The data domain WRELAX algorithm comprises the following steps.
Iterate the previous two substeps until "practical convergence" is achieved then we can obtain {ω p , α p } p=1 2 . Furthermore, by using ω p = − 2πτ p / N T s the code delay τ p , p = 1, 2 can be obtained.
From the previous description one can find that the proposed algorithm can be implemented by simply FFT operation which deserves a less computation load.

Comparison of the above two algorithms
To further analyze the two proposed algorithms, the cost functions of them are further discussed in this subsection. Following the discussion in section 3.  Correlation of the received data and the locally generated signal and the auto-correlation of the locally generated signal should be calculated in correlation domain WRELAX algorithm.
Suppose the iteration times of the two proposed algorithms are the same, the correlation domain WRELAX algorithm is more complex than the data domain WRELAX algorithm.

Numerical results
To investigate the performance of the proposed algorithm in the presence of multipath, a simulation experiment was performed. The code delay estimation error can be represented as the function of τ, and as explained in [l] and [7], maximum and minimum errors occur when the multipath signal is in-phase Δφ = 0 °or out-of-phase Δφ = ± 180 °with the LOS signal. The curve of the maximum and minimum errors is regarded as the error envelopes, which is used in the following numerical experiment to evaluate the performance. The error is calculated at the maximum points when the multipath signal is at 0°in phase with respect to the LOS signal. The results are shown in Figure 8(a). In Figure 8, the curve 'classical DLL' denotes the error envelope of the classical DLL, and the curve 'narrow correlator' denotes the error envelope of the narrow correlator with spacing 0.1 d  chip. Both the 'classical DLL' and the 'narrow correlator' were calculated by taking the DLL equations and solving for the tracking error. The curve 'MEDLL', 'Correlation Domain' and 'Data Domain' denote the code delay estimation error of MEDLL, proposed correlation domain algorithm and data domain algorithm, respectively. The results indicate that in the presence of multipath, the classical DLL technique has a large tracking error, which fails in multipath mitigation. The tracking error is reduced Suppose there is only one reflected multipath signal combined with the LOS signal. The noise and the receiver bandwidth are not considered in the experiment. The relative amplitude of the direct and the reflected signal is α 2 / α 1 = 0.5. The code delay difference Δτ = τ 2 − τ 1 is varied from 0 to 1.5 chips. The error is calculated at the maximum points when the multipath signal is at 0°in phase with respect to the LOS signal. The results are shown in Figure 8(a).
In Figure 8, the curve 'classical DLL' denotes the error envelope of the classical DLL, and the curve 'narrow correlator' denotes the error envelope of the narrow correlator with spacing d = 0.1 chip. Both the 'classical DLL' and the 'narrow correlator' were calculated by taking the DLL equations and solving for the tracking error. The curve 'MEDLL', 'Correlation Domain' and 'Data Domain' denote the code delay estimation error of MEDLL, proposed correlation domain algorithm and data domain algorithm, respectively. The results indicate that in the presence of multipath, the classical DLL technique has a large tracking error, which fails in multipath mitigation. The tracking error is reduced in the narrow correlator. However, based on the previous conclusion, the tracking error is nearly constant when the correlation spacing is less than 0.1 chip. The tracking accuracy of the algorithms in this section and MEDLL show a considerable improvement over the narrow correlator technique and the classical DLL technique. The improved performance can be of great help in critical GPS applications where the multipath errors associated with using conventional receivers can easily exceed the accuracy requirements. To further compare the performance of the two proposed algorithms and MEDLL, we magnify the results in Figure 8(a) to obtain Figure 8(b). It is clear that the proposed two algorithms have a more favorable performance than MEDLL. Furthermore, the proposed data domain algorithm is superior to the correlation domain algorithm, which is consistent with the conclusion in section 3.2.3.

Conclusion
A novel acquisition algorithm is firstly proposed in this chapter. In the proposed algorithm, the Doppler frequency is obtained by utilizing FFT of the squared data. Then, the PRN index and initial code phases of the satellite are obtained based on the NLS criterion. It can be seen that the proposed algorithm can not only reduce the computation complexity but also attain a comparable performance to the conventional acquisition algorithm.
After that, two algorithms are presented to suppress the multipath interference by estimating the code delay. In the proposed algorithms, the code delay was obtained by solving a NLS equation, which can be further realized by FFT operation. Compared with the conventional estimation algorithm, the proposed two algorithms perform better in multipath propagating environments and bear lower computation burden.