Open access peer-reviewed chapter

Efficient FFT-based Algorithms for Multipath Interference Mitigation in GNSS

By Renbiao Wu, Qiongqiong Jia, Wenyi Wang and Jie Li

Submitted: June 17th 2014Reviewed: November 19th 2014Published: June 3rd 2015

DOI: 10.5772/59940

Downloaded: 1184

1. 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.

2. A novel GNSS acquisition algorithm

2.1. 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

y(t)=p=1Pαpdp(tτp)cp(tτp)ejωdp(tτp)+e(t)E1

where dp(t)represents the navigation data of the pthsatellite, cp(t)is the C/A code of the pthsatellite, e(t)is the thermal noise, αp,τpand ωdpdenote the amplitude, time delay and Doppler frequency of the pthsatellite, 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

y(n)=p=1Pαpdp(nτp)cp(nτp)ejωdp(nτp)+e(n)E2

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.

2.2. 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 pthsatellite, the corresponding Doppler frequency ωdpand its initial code phase τp.

2.2.1. Doppler frequency estimation

Due to the navigation data and C/A code are ±1in 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]

y2(n)=p=1Pαp2dp2(nτp)cp2(nτp)ej2ωdp(nτp)+2e(n)p=1Pαpdp(nτp)cp(nτp)ejωdp(nτp)+2p=1P1r=p+1Pαpαrdp(nτP)dr(nτr)cp(nτP)cr(nτr)ej[ωdp(nτp)+ωdr(nτr)]+e2(n)E3

Since the value of navigation data and C/A code is ±1in GPS system, then the above equation can be simplified as

y2(n)=p=1Pαp2ej2ωdp(nτp)+e1(n)E4

where,

e1(n)=2p=1P1r=p+1Pαpαrdp(nτP)dr(nτr)cp(nτP)cr(nτr)ej[ωdp(nτp)+ωdr(nτr)]+2e(n)p=1Pαpdp(nτp)cp(nτp)ejωdp(nτp)+e2(n)E5

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

F(ω)=|n=N/2N/21y2(n)ejωn|E6

where ω=2ωdpcan be obtained based on the locations of the first pdominant peaks of F(ω). A more accurate estimation result can be achieved by using FFT (Fast Fourier Transform) padding with zeros.

Figure 1.

Frequency spectrum before and after square operation

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 ω^dpor ω^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.

2.2.2. 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 sp(n)=dp(n)cp(n)ejωdpn, then equation (2) can be expressed as

y(n)=p=1Pαpsp(nτp)+e(n)E7

As the Doppler frequency ω^dqhas been estimated, ω^dqcan be used to take the place of ωdq. Then the signal sent by the qthsatellite can be reconstructed as

s^q(n)=dq(n)cq(n)ejω^dqnE8

Suppose the time delay from the qthsatellite to the receiver is τq, then the received signal can be written as

yq(n)=αqs^q(nτq)+e2(n)E9

where e2(n)=p=1pqPαpsp(nτp)+αqs(nτq)αqs^(nτq)+e(n). The DFT (Discrete Fourier Transform) of equation (9) can be written as

yf(k)=αqs^fq(k)ejωqk+ef2(k)E10

where yf(k), s^fq(k)and ef2(k)are the DFT of y(n), s^q(n)and e2(n)respectively, ωq=2πτqfs/Nwith fsis the sampling frequency. Note, here xfis used to represent the DFT of x. Hence, the estimation of τqis transformed to the estimation of ωq.

To estimate ωq, we define the following NLS cost function [12-15]

zf(ω^q)=k=N/2N/21|yf(k)s^fq(k)αqejωqk|2E11

Let

S^fq=diag{s^fq(N/2),s^fq(N/2+1),...,s^fq(N/21)}E12
a(ωq)=[ejωq(N/2),ejωq(N/2+1),...,ejωq(N/21)]TE13
yf=[yf(N/2),yf(N/2+1),...,yf(N/21)]TE14

where ()Tdenotes the transpose operation. Then the cost function in equation (11) can be transformed as

Z(ω^q)=yfαqS^fqa(ωq)2E15

where denotes the Euclidean norm. Minimizing Z(ω^q)with respect to ωqyields the estimated ω^qas

ω^q=argmaxωq|aH(ωq)S^fqHyf|2E16

The time delay estimation can be further obtained by

τ^q=ω^qN/(2πfs)E17

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 s^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.

2.3. Comparison of acquisition algorithms

Suppose the searching time for Doppler frequency estimation is Qin the conventional acquisition algorithm, Pis the number of satellite received by the receiver. In GPS, the typical values of Qand Pare 21 and 4-8, respectively, as in [9, 11]. The total number of satellites Mis 32. Since Doppler frequency and code delay are unknown in the conventional acquisition algorithm, Qfrequency points should be searched over certain frequency range. What’s more, Msatellites are also to be searched for each of the Qfrequency points. While in the proposed algorithm, the Doppler frequencies of Psatellites have been estimated, only Paccurate 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 Qis obviously greater than P.

Figure 2.

Comparison of searching process between new algorithm and conventional algorithm

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 Qis 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.

Multiplication timesAddition timesFFT timesTime Complexity
conventional method7MQ+4M2MQ+3M2MQO(MQ)
new method6MP+4P3MP+7PM (P+1) +1O(MP)

Table 1.

Comparison of computation burden between new algorithm and conventional one

2.4. 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.

Figure 3.

Compassion of the acquisition results

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.

3. Two novel methods for multipath mitigation

3.1. 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

x(t)=d(t)c(t)ejωctE18

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

y˜˜¯(t)=p=12αpd(tτp)c(tτp)ejωc(tτp)+e(t)E19

where α1,τ1is amplitude and code delay of the LOS signal, α2,τ2is amplitude and code delay of the reflect signal, e(t)is the thermal noise. Equation (19) can also be deployed as

y¯(t)=p=12αpd(tτp)c(tτp)ejωc(tτp)+e(t)=(α1d(tτ1)c(tτ1)ejωcτ1+α2d(tτ2)c(tτ2)ejωcτ2)ejωct+e(t)E20

To obtain the Doppler frequency of the LOS signal, we use the following relation

ϕ=ωcτ1=ωcR1(t)cE21

Assume the radial velocity of the receiver relative to the satellite is v1, then the range between them can be given by

R1(t)=R0+v1tE22

where R0is the initial range between receiver and satellite, then equation (21) can be further given by

ϕ=ωcτ1=ωcR0+v1tc=2π(R0λ+v1tλ)E23

As the relative radial velocity is constant, the Doppler frequency can be obtained by

ωd1=dϕdt=v1λE24

The propagation range of the multipath signal can be written as

R2(t)=R0+v1t+ΔR(t)E25

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

ωcτp=ωcR0+v1tc=2π(R0λ+v1tλ+ΔRλ)E26

Further simplify of equation (20) we can get

y¯(t)=(α1d(tτ1)c(tτ1)ejφ1+α2d(tτ2)c(tτ2)ej(φ1+Δφ))ej2πωdt+e(t)E27

where ωd=ωd1+ωcis the Doppler frequency of the received signal, φ1=R0/λ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

y¯(n)=p=12αpd(nτp)c(nτp)ejφpejωdn+e(n)E28

Assume the Doppler frequency has been estimated accurately, then the complex phase ejωdncan be compensated after down-conversion. Hence, equation (28) can be written as

y(n)=p=12αpd(nτp)c(nτp)ejφp+e˜(n)E29

where e˜(n)is equal to e(n)ejωdnthat 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) can be given by

yI(n)=p=12αpd(nτp)c(nτp)cos(φpφc)+e(n)E30

where φcis the synthetic phase of the LOS signal and the reflect one. Assume dis the early-late correlator spacing in the classical DLL, the estimated code delay of the direct signal is τ^1. Then the early and late code can be written as

sE(t)=yI(tτ^1d/2)E31
sL(t)=yI(tτ^1+d/2)E32

Figure 4.

Correlation peak when multipath is present

In classical DLL, the in-phase early and late correlation value is given as

RE(ε)=p=12αpR(ε+Δτpd/2)cos(φpφc)E33
RL(ε)=p=12αpR(ε+Δτp+d/2)cos(φpφc)E34

where ε=τ1τ^1is the estimation error of the LOS signal, namely tracking error. Δτ=τ2τ1is the relative delay of the multipath signal to the LOS. The discrimination function of the classical DLL (Delay Locked Loop) can be written as

D(ε)=RE(ε)RL(ε)=p=12αp[R(ε+Δτpd/2)R(ε+Δτp+d/2)]cos(φpφc)E35

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].

3.2. Code delay estimation

3.2.1. 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 ejφpand the real amplitude αpin equation (29) together as a new complex variable αp. Then equation (29) can be written as

y(n)=p=12αpd(nτp)c(nτp)+e(n)E36

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 +1or 1is written into αpand denoted as αp. Therefore equation (36) can be written as

y(n)=p=12αpc(nτp)+e(n)E37

To simplify the following expression, s()is introduced to represent c(). Then equation (37) can be represented as

y(n)=p=12αps(nτp)+e(n)E38

Multipath interference mitigation based on code delay estimation focus on the estimation of the LOS delay τ1and 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

r(n)=corr(s(n),y(n))E39

where corr()represents the cross correlation operation. Since the noise is uncorrelated with the signal, equation (39) can be further expressed as

r(n)=p=12αprs(nτp)+w(n)E40

where rs(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 (40)

pf(k)=rfs(k)p=12αpejωpk+wf(k)E41

where pf(k), rfs(k), wf(k)are the DFT of p(n), rs(n)and w(n)respectively, ωp=2πτp/NTswith Tsis the sampling interval.

Define a NLS cost function as

C1({ωp,αp}p=12)=k=N/2N/2pf(k)rfs(k)p=12αpejωpk2E42

The unknown parameters {ωp,αp}p=12can be obtained by minimizing the cost function C1({ωp,αp}p=12). Whereas, searching over a multidimensional space to solve the NLS problem requires higher computational complexity. To reduce the complexity, the Weighted Fourier Transform and RELAXation (WRELAX) algorithm (see [12]) is utilized here to solve the NLS problem. Let

a(ωp)=[ejωp(N/2),ejωp(N/2+1),...,ejωp(N/21)]TE43
pf=[pf(N/2),pf(N/2+1),...,pf(N/21)]TE44
Rf=diag{rfs(N/2),rfs(N/2+1),...,rfs(N/21)}E45

Consequently the cost function in equation (42) can be rewritten as

C1({ωp,αp}p=12)=pfp=12αpRfa(ωp)2E46

Further, we assume {ω^q,α^q}q=1,qp2have been estimated, then

pfp=pfq=1qp2α^q[Rfa(ω^p)]E47

Substitute equation (47) into equation (46) we have

C2({ωp,αp}p=12)=pfpαpRfa(ωp)2E48

By minimizing the cost function C2, estimation of ω^pand α^pcan be obtained from

ω^p=argmaxωp|aΗ(ωp)(Rfpfp)|2E49

and

α^p=aΗ(ωp)(Rfpfp)RfF2|ωp=ω^pE50

where Frepresents the Frobenius norm. Hence, ω^pcan be obtained as the location of the periodogram |aΗ(ωp)(Rfpfp)|2, which can be efficiently computed by using FFT to the data sequence Rfpfppadded with zeros. (Note the padding with zeros is necessary to determine ω^pwith more accuracy.) Then α^pis easily computed from the complex height of the peak of aΗ(ω^p)(Rfpfp)RfF2.

With the above simple preparations, we now proceed to present the correlation domain algorithm for the minimization of the NLS cost function. The proposed algorithm comprises the following steps.

Step 1. Assume p=1. Obtain {ω^1,α^1}from equation (49) and equation (50).

Step 2. Assume p=2(the LOS signal and one reflected path). Compute pf2with (47) by using {ω^1,α^1}obtained in Step (1). Obtain {ω^2,α^2}from pf2described above.

Next, compute pf1with (47) by using {ω^2,α^2}and redetermine {ω^1,α^1}from pf1as in equation (49) and equation (50) above.

Iterate the previous two substeps until “practical convergence” is achieved then we can obtain {ω^p,α^p}p=12. Furthermore, by using ω^p=2πτ^p/NTsthe code delay τ^p,p=1,2can be obtained.

From the previous description one can find that the proposed algorithm can be implemented by simply FFT operation which leads to a less computation load.

The diagram of the novel code delay estimation algorithm is shown in Figure 5.

Figure 5.

Diagram of the correlation domain code delay estimation algorithm

3.2.2. Code delay estimation in the data domain via NLS

Another DPE algorithm is proposed in this subsection. Different from the correlation domain algorithm, the unknown parameters {αp,τp}p=12can also be estimated directly in the data domain, which can be described as follows.

Again, the signal after down-conversion is given by

y(n)=p=12αps(nτp)+e(n)E51

To obtain the unknown parameters {αp,τp}p=12in equation (51), DFT is applied firstly

yf(k)=sf(k)p=12αpejωpk+ef(k),N/2kN/21E52

where yf(k), sf(k), ef(k)are the DFT of y(n), s(n)and e(n)respectively. ωp=2πτpfs/Nwith fsrepresents the sampling frequency. Till now, the code delay estimation is transformed to the angular frequency ωpestimation, after which τpcan be obtained by the relation τp=ωpN/2πfs.

To obtain (α^p,ω^p), a NLS cost function as follows is defined

Q1({αp,ωp}p=12)=k=N/2N/21|yf(k)sf(k)p=12αpejωpk|2E53

Let

Sf=diag{sf(N/2),sf(N/2+1),...,sf(N/21)}E54
yf=[yf(N/2),yf(N/2+1),...yf(N/21)]TE55
a(ωp)=[ejωp(N/2),ejωp(N/2+1),...,ejωp(N/21)]TE56

Hence, minimizing the cost function in equation (53) is equivalent to minimizing the following cost function

Q2({αp,ωp}p=12)=yfp=12αpSfa(ωp)2E57

Assume {α^q,ω^q}q=1,qp2is known prior or has been estimated, then we have

yfp=yfq=1qp2α^q[Sfa(ω^p)]E58

Substitute equation (58) into equation (57)

Q2(αp,ωp)=yfpαpSfa(ωp)2E59

Equation (59) gets the minimum while yfp=αpSfa(ωp), then the estimation results ω^pand α^pcan be obtained in the following way

ω^p=argmaxωp|aH(ωp)(Sf*yfp)|2E60
α^p=aH(ωp)(Sfyfp)SfF2|ωp=ω^pE61

From equation (60), ω^pcan be obtained as the location of the periodogram |aH(ω)(Sf*yfp)|2, which can be efficiently computed by using the FFT with the data sequence Sf*yfppadded with zeros. (Note the padding with zeros is necessary to determine ω^pwith more accuracy.) Then α^pis easily computed from the complex height of the peak of aH(ωp)(Sf*yfp)SfF2.

The diagram of the data domain code delay estimation algorithm is shown as in Figure 6.

Figure 6.

Diagram of the data domain code delay estimation algorithm

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.

Step 1. Assume p=1. Obtain {ω^1,α^1}from equation (61) and equation (60).

Step 2. Assume p=2(the LOS signal and one reflected path). Compute yf2with (47) by using {ω^1,α^1}obtained in Step (1). Obtain {ω^2,α^2}from yf2described above.

Next, compute yf1with equation (47) by using {ω^2,α^2}and redetermine {ω^1,α^1}from yf1as in equation (49) and equation (50) above.

Iterate the previous two substeps until “practical convergence” is achieved then we can obtain {ω^p,α^p}p=12. Furthermore, by using ω^p=2πτ^p/NTsthe code delay τ^p,p=1,2can 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.

3.2.3. 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.2.1 and section 3.2.2, we define

sf=[sf(N/2),sf(N/2+1),...,sf(N/21)]TE62

Then

Rf=sfsfHE63

In the noise free situation we have

pfp=αpRfa(ωp)E64

Then the correlation domain cost function in equation (49) can be further decomposed as

ω^p=argmaxωp|aΗ(ωp)Rfspfp|2=argmaxωp|aΗ(ωp)Rfs(αpRfsa(ωp))|2=argmaxωp|aΗ(ωp)(sf×sfH)(αp(sf×sfH)a(ωp))|2=argmaxωp|aΗ(ωp)[(sfT×sf)×(sf×sfH)](αpa(ωp))|2E65

And in the same situation the data domain cost function in equation (60) can be deployed in the following way

ω^p=argmaxωp|aH(ωp)Sf*yfp|2=argmaxωp|aH(ωp)Sf*(αpSfa(ωp))|2=argmaxωp|aH(ωp)(sf*sfT)(αpa(ωp))|2E66

It has been discussed in previous subsection that ω^pcan be obtained by using the FFT with the data sequence Rfpfpand SfHyfp, respectively. Note (αpa(ωp))is an impulse signal, and FFT(sf*sfT)convolutions with the impulse signal is still FFT(sf*sfT)but with a code delay, which is the parameter to be estimated. From equation (65) and (66) we realized that the cost function are the FFT of αpa(ωp)weighted by different window function, where window function in the correlation domain is w1=FFT((sfTsf*)(sfsfH)), but the window function in data domain is w2=FFT(sf*sfT). It’s clear that the weighted window w1,w2will broaden the cost function, and the impact of w1is more serious than that of w2, which can also be seen from the comparison of the cost function given in Figure 7. From this point of view, the proposed data domain algorithm would deserve a more accurate estimation result.

Figure 7.

Comparison of the correlation domain and the data domain cost function

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.

3.2.4. 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.

Figure 8.

Comparison of the error envelopes

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τ1is 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.1chip. 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.

4. 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.

Acknowledgments

The work of this chapter is supported by the Project of the National Natural Science Foundation of China (Grant No. 61179064, 61172112, 61271404 and 61471363), and the Fundamental Research Funds for the Central Universities (Grant 3122014D008 and 3122014B001).

How to cite and reference

Link to this chapter Copy to clipboard

Cite this chapter Copy to clipboard

Renbiao Wu, Qiongqiong Jia, Wenyi Wang and Jie Li (June 3rd 2015). Efficient FFT-based Algorithms for Multipath Interference Mitigation in GNSS, Fourier Transform - Signal Processing and Physical Sciences, Salih Mohammed Salih, IntechOpen, DOI: 10.5772/59940. Available from:

chapter statistics

1184total chapter downloads

2Crossref citations

More statistics for editors and authors

Login to your personal dashboard for more detailed statistics on your publications.

Access personal reporting

Related Content

This Book

Next chapter

Use of Fast Fourier Transform for Sensitivity Analysis

By Andrej Prošek and Matjaž Leskovar

Related Book

First chapter

Fourier Series and Fourier Transform with Applications in Nanomaterials Structure

By Florica Matei and Nicolae Aldea

We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

More About Us