Skip to main content

Reduced-complexity FFT-based method for Doppler estimation in GNSS receivers

Abstract

In this article, we develop a novel algorithm for Doppler acquisition in fast Fourier transform (FFT)-based Global Navigation Satellite System (GNSS) receivers. The Doppler estimation is carried out in FFT domain by finding the frequency shift which maximizes the energy of the correlation vector. Subsequently, energy detection is used for preliminary decision about the presence of the target code. Then, the final decision and code phase estimation are done in the time domain after taking the inverse fast Fourier transform (IFFT). It is shown that the proposed algorithm has the potential for reducing the average number of required IFFTs in the acquisition process. For improving the sensitivity of the proposed approach, time-domain block averaging and FFT-domain non-coherent integration are investigated as alternative methods. They exhibit rather similar performance improvement, but the non-coherent integration approach is found to be computationally more effective.

1 Introduction

The direct-sequence spread spectrum (DSSS) technique is a method in which a signal of narrow bandwidth is intentionally spread over a wider bandwidth in the frequency domain. It provides security and lower sensitivity towards noise, interference, and jamming in communication and positioning systems. Examples of systems using DSSS with code division multiple access (CDMA) are the Global Navigation Satellite Systems (GNSS), such as Global Positioning System (GPS) and Galileo.

In GNSS, the transmitter utilizes a pseudo random noise (PRN) sequence to expand a narrow-band signal over a wider spectrum. The PRN codes repeat with the period of T c , and the codes used by different satellites are quasi-orthogonal [1]. This means that the cross-correlation function between two different codes or the auto-correlation between a specific code and a shifted version of it takes a small value. A correlation peak is observed when taking a correlation between the received signal and a code which is present in the received signal, and the two codes are aligned with each other [2, 3]. If the carrier-to-noise ratio (CNR) is low, then the GNSS receiver must process more than a single code period T c of the received signal to find the code phase. Due to the unknown beginning of the PRN code in the received signal, the code phase is a random variable with uniform distribution over a known interval which is the length of the PRN code. The length of the GPS Coarse/Acquisition (C/A) codes is 1,023 chips with T c =1 ms. The common approach to discover the code phase is to perform the correlation between the incoming baseband signal and a locally generated PRN code.

Another parameter which must be extracted by the receiver is the Doppler frequency shift caused by the satellite’s and the user’s motion. The Doppler frequency shift is also a random variable with uniform distribution over the interval of [−10,10] kHz. The state of the art to estimate the Doppler frequency shift is that the receiver fulfills a sequential search over the interval of [−10,10] kHz with a step size of α. The combination of search in the two dimensions for the code phase and the Doppler shift is called acquisition. The acquisition is performed either in the time domain, frequency domain, or combination of both [49].

The time domain acquisition is easy to implement on application-specific integrated circuit-based (ASIC) devices, but it is time consuming when it comes to utilization of software-defined radio (SDR) receivers. Thus, a faster alternative for SDR-based devices is fast Fourier transform (FFT)-based acquisition which, however, has relatively high computational complexity.

The high complexity of the FFT-based acquisition is caused by (a) wide bandwidth of the incoming baseband signal which forces the device to deal with long FFT and inverse fast Fourier transform (IFFT) and (b) utilization of the conventional sequential search to estimate the Doppler frequency shift. The reason why GNSS receivers process wide bandwidth signal is to have sharper correlation peak and reduce the effect of multi-path. Having narrow bandwidth in acquisition stage rounds the correlation peaks for both direct and multi-path signals. Increasing the bandwidth of the signal is a solution for the mentioned problem, but it leads to high complexity due to the need of computing repetitive long FFTs and IFFTs [10].

An alternative solution for the sequential search is to employ optimum search methods such as binary search [11]. The challenge of long FFTs and IFFTs can be partly relaxed through the use of multi-rate signal processing [12].

In this paper, we address the problem of performing a large number of IFFTs while the receiver searches for the Doppler frequency shift. First, we propose utilization of maximum likelihood estimation in the FFT domain to find and estimate the Doppler shift. Then, we employ the concept of energy detection to determine the presence of the desired signal in the frequency domain. This combination decreases the number of required IFFTs for FFT-based acquisition significantly. To the best of our knowledge, Doppler estimation in the FFT domain has not been elaborated in the GNSS literature.

In Section 2, the conventional FFT-based acquisition method is described. The FFT-based Doppler estimation algorithm is developed in Section 3. Numerical results and comparisons for GPS acquisition are presented in Section 4. Finally, our conclusions are given in Section 5.

2 FFT-based acquisition algorithm

Figure 1 shows the block diagram of conventional FFT-based acquisition for GPS devices. First, carrier frequency is stripped off and the Doppler frequency shift is partially compensated, as explained later in Section 2.2. Afterward, the FFT of the incoming signal is multiplied by the conjugate FFT of a locally generated PRN code. Finally, an IFFT is performed and a threshold test to find the peak of the auto-correlation function (ACF) is fulfilled. The drawback of this approach is high complexity due to repetitive long FFT and IFFT computations which increase the cost of the receiver.

Figure 1
figure 1

FFT-based parallel code phase search.

2.1 Signal model

In this article, we assume that the channel is relatively flat fading for the bandwidth of the received signal and the GNSS signal we choose to deal with is GPS L1 signal. We model the received signal at baseband before Doppler removal as

x ( n ) = l = 1 L s l ( n n l ) e j 2 π f d l n + w ( n ) ,
(1)

where s l (n)=A l c l (n)d l and n[0, N−1] where N is the code length in samples. Here, A l , c l (n), and d l are the gain, the PRN code, and the navigation data, respectively. The navigation data is assumed to be constant over the acquisition time interval. Note that s l (n) is the transmitted signal from the l th satellite and n l is the delay in samples, f d l is the normalized frequency shift due to the Doppler effect, L is the number of satellites in line of sight, and w(n) is additive white Gaussian noise with E s l 2 ( n ) E w 2 ( n ) . Thus, it is possible to assume that each s l (n) is a wide-sense stationary (WSS) Gaussian process [2].

For simplicity, we rewrite the incoming baseband signal as follows:

x ( n ) = s 1 ( n n 1 ) e j 2 π f d 1 n + l = 2 L s l ( n n l ) e j 2 π f d l n + w ( n ) = s 1 ( n n 1 ) e j 2 π f d 1 n + w 1 ( n ) ,
(2)

where s1(n) is the target satellite signal, s l (n) denotes the received signals from other satellites in line of sight, and w 1 (n)= l = 2 L s l (n n l ) e j 2 π f d l n +w(n) is the noise plus interference term.

2.2 Circular correlation and Doppler estimation

The circular correlation between the incoming baseband signal after partial Doppler removal, z(n), and the corresponding real spreading code c1(n) can be expressed as

r ( n ) = i = 0 N 1 z ( i + n ) × c 1 ( i ) , = l = 1 L i = 0 N 1 s l ( i + n n l ) × e j 2 πΔ f l ( i + n ) × c 1 ( i ) + u 1 ( n ) , = l = 1 L r 1 , l ( n ) + u 1 ( n ) , = r 1 , 1 ( n ) + u ( n ) ,
(3)

where Δ f l is the normalized frequency offset after carrier plus partial Doppler removal, r1,1(n) is the correlation function of the target signal, and u(n)= l = 2 L r 1 , l (n)+ u 1 (n). This can be expressed in the frequency domain as

R ( k ) = Z ( k ) × C 1 ( k ) = R 1 , 1 ( k ) + U ( k ) .
(4)

It follows that frequency shifts which are multiples of the FFT resolution (FFT bin spacing) can be implemented through shifting the FFT of the input signal. If this resolution is not sufficient in the Doppler search, then improved resolution can be reached by taking the FFT for the received baseband signal with partial Doppler removal. In the GPS case, the FFT resolution is commonly 1 kHz, while 500-Hz Doppler resolution is targeted at the acquisition stage.

The frequency interval in which the Doppler frequency shift belongs to is known to the receiver. It is commonly assumed to include also the GPS receiver’s local oscillator frequency offset and selected as [−10,10] kHz. Conventionally, in order to estimate the Doppler effect in the FFT-based receiver, a sequential search over the interval of [−10,10] kHz with a step size of α=0.5 kHz is performed. For each candidate Doppler frequency, the FFT of the resultant signal is multiplied by the conjugate FFT of a locally generated PRN code and an IFFT is computed. In the worst case, the receiver has to perform FFT for β= 20 0.5 +1=41 shifted versions of the input signal and multiply the resultant signal each time by the conjugate FFT of the PRN code. Then, it is needed to compute β IFFTs and search for the peak of the correlation function for each of them. Since the FFT bin spacing is 1 kHz, the FFTs with Doppler values of −10,−9,−8,…,10 kHz can be obtained from a single FFT just by shifting the FFT bins. Likewise, the Doppler cases of −9.5,−8.5,…,9.5 kHz can be obtained from a single FFT with 0.5-kHz shift implemented before FFT. Consequently, β+2 FFTs/IFFTs are needed altogether to test all possible Doppler values.

The conventional algorithm is as follows:

Conventional algorithm

  1. 1.

    Strip off the carrier frequency and take the FFTs of the incoming signal and its 500-Hz shifted version.

  2. 2.

    Perform the conjugate FFT of the locally generated PRN code.

  3. 3.

    For D o p p l e r=−10:0.5:10 kHz

    1. (a)

      Shift FFT of the incoming signal to compensate the Doppler frequency shift.

    2. (b)

      Multiply the resultant signal from step 3a by the final result from step 2.

    3. (c)

      Take the IFFT of the outcome of step 3b.

    4. (d)

      Find the acquisition margin (AM).

      1. (i)

        If A M>γ, then terminate.

End End of algorithm

Here, AM is the ratio of the maximum of the magnitude of the correlation function to its second maximum peak.

The drawback of conventional approach is that the receiver needs to perform β=41 times IFFT of length N=f s T c in the worst case. Here f s and N are the sampling frequency and the FFT length, respectively. This increases the complexity of the system in comparison to time-domain acquisition, and in this paper, our goal is to overcome the problem by introducing a new algorithm.

3 Proposed algorithm

Due to the complexity caused by the widely implemented method of FFT-based acquisition, a big challenge is how to reduce the complexity of the overall system. One of the items that increases the complexity is the utilization of the sequential search method to attain the Doppler frequency shift. As mentioned, in the worst case, β+2=43 FFT/IFFT transform calculations are needed.

One approach to reduce the overall number of the required transforms is to employ new search algorithms such as the modified binary search [11]. Another solution is to appraise the Doppler frequency shift and descry the presence of the target GPS code in the frequency domain. By this, it might be possible to reduce the total required number of FFT/IFFTs in the worst case (Doppler of 10 kHz) from 43 to 3 which reduces the acquisition time considerably. Of course, we have to examine whether the acquisition performance, in terms of detection and false alarm probabilities, is sufficient in such FFT-domain acquisition.

Our proposed algorithm divides the acquisition stage into three steps: (a) estimate the Doppler frequency shift in the frequency domain, (b) compare the decision variable against a threshold to check whether the signal of interest is present, and (c) find the related code phase.

In the next subsections, first we describe the effect of the Doppler frequency shift on the acquisition stage. Then, we explain how to search for the Doppler in the frequency domain and finally how to utilize the energy detector and set the threshold to detect the presence of the desired signal.

3.1 Doppler frequency shift

One of the parameters that must be estimated in the acquisition stage is the Doppler frequency shift which is caused mainly by the Doppler effect resulting from the satellite’s and the user’s motion. It is a random variable with a uniform distribution over [−10, + 10] kHz. The residual frequency offset has two effects: (a) it attenuates the correlation function’s (CF) peak value significantly, and (b) it may cause fractional chip shift [13]. This is the reason why the GPS receiver must estimate the Doppler frequency shift with a reasonable error/offset [14]. Typically, ±250 Hz residual frequency offset range is considered acceptable at the acquisition stage.

Ignoring the noise plus interference terms, the cross-correlation function (CF) between the incoming signal and the code sequence after the partial Doppler and the carrier removal is

ρ l ( n l m l )= m = 0 N 1 A l d l c l ( n l +m) e j 2 πΔ f l m × c l ( m l +m),
(5)

where n l is the incoming signal’s code phase, m l is the PRN code’s code phase, and Δ f l is the residual frequency offset. The maximum magnitude of the CF happens when the code phases are completely aligned. This means n l =m l .

ρ l ( 0 ) = m = 0 N 1 A l d l c l ( m + n l ) 2 e j 2 πΔ f l m .
(6)

It can be assumed that d l is constant over 1 ms of correlation time, and since c i (m+n l ) is a sequence of ±1, then c l (m+n l )2=1 and thus

ρ l ( 0 ) = m = 0 N 1 A l e j 2 πΔ f l m , = A l 1 e j 2 πΔ f l N 1 e j 2 πΔ f l , = A l × sin πΔ f l N sin πΔ f l e jπΔ f l ( N 1 ) .
(7)

Equation (7) can be used for evaluating the effect of a given Doppler shift on the acquisition performance. It shows that the Doppler shift affects the CF’s peak in two ways: First, it introduces an exponential term of e jπΔ f l ( N 1 ) which is a constant phase rotation. Second, the term sin(π Δ f l N)/ sin(π Δ f l ), attenuates the magnitude of the CF and may jeopardize the correlation process [13, 15]. Thus, before checking whether the signal is present, it is necessary to estimate the Doppler frequency shift with sufficient resolution.

3.2 Doppler search in the frequency domain

The following analysis is based on the model that the FFT input z(n) is the received baseband signal after carrier and partial Doppler removal and c1(n) is the target PRN code. The noise is assumed to be additive complex circular white Gaussian (AWG) with distribution N(0, σ 2 ). If the received signal is WSS and its length is sufficiently large, then the maximum likelihood estimate (MLE) can be found by minimizing [16]

J ( k d ) = k = N N ln P zz ( k ; k d ) σ 2 + 1 P zz ( k ; k d ) P zz ( k ; k d ) + σ 2 × I ( k ) σ 2 ,
(8)
I(k)= C 1 (k)× C 1 (k),
(9)

where k is the FFT index, k d is the trial Doppler, P zz (k; k d )= Z zz (k k d )+ Z zz (k+ k d ) and Z zz (k)= Z ( k ) 2 is a low-pass power spectral density (PSD) of the FFT input signal, z(n), and I(k) is the periodogram of the target PRN code. Since k = N N ln P zz ( k , k d ) σ 2 + 1 does not depend on k d , then the ML solution can be simplified as

T 1 ( s 1 ) = max k d k = N N P zz ( k ; k d ) P zz ( k ; k d ) + σ 2 × I ( k ) .
(10)

Because the GPS power spectrum is clearly below the noise spectrum, the ML solution can be written as follows:

T 2 ( s 1 ) = 4 σ 2 × max k d k = 0 N Z zz ( k k d ) I ( k ) .
(11)

If we substitute (9) into (11), then

T 2 ( s 1 ) = 4 σ 2 × max k d k = 0 N 1 Z ( k k d ) × Z ( k k d ) × C 1 ( k ) × C 1 ( k ) = 4 σ 2 × max k d k = 0 N 1 R 1 ( k k d ) × R 1 ( k k d ) ,
(12)

where

R 1 ( k k d ) = Z ( k k d ) × C 1 ( k ) .
(13)

Ignoring the non-essential constant multiplier, we obtain

T ( s 1 ) = max k d k = 0 N 1 R 1 ( k k d ) 2 .
(14)

Equation (14) suggests performing a grid search in the frequency domain over the interval of [−10, + 10] kHz in order to find the frequency offset which gives the highest energy in the frequency domain. For the energy grid search (EGS), the required number of FFT/IFFTs is N r =3, while for the conventional search, the number of required FFT/IFFTs is N r =β+2. The price to be paid for reducing the required number of FFT/IFFTs is lower probability of detection for weak signals.

One approach to solve the mentioned problem is to perform the IFFT for the Doppler frequency shift which gives the maximum energy for EGS and checks whether the correlation function’s peak in the time domain is observable. If true, then terminate the search; otherwise, move to the Doppler frequency which gives the second maximum value and continue till the peak of correlation function is detectable.

3.3 Signal detection in the frequency domain

In the previous subsection, we explained how to search for the Doppler frequency shift in the frequency domain. Equation (14) shows that the maximum likelihood estimation of the Doppler frequency shift resembles energy detection.

In spite of the significant saving on the required number of IFFTs, the plain concept of the EGS for low CNR demonstrates low probability of detection compared with the conventional search. We modify our algorithm in order to overcome the mentioned drawback. Each time the receiver checks the maximum energy in the frequency domain to confirm whether the correct Doppler frequency shift is found, it performs the IFFT. If the correct Doppler frequency is not found, then the receiver moves to the next Doppler frequency which gives the second maximum in the energy and the search is terminated if the correct Doppler shift is found. By this, the probability of the detection improves. This approach has one more drawback. In the absence of the desired signal, the receiver must perform β IFFTs which increases the complexity of the proposed algorithm. To address this problem, we propose the utilization of the energy detector in the frequency domain to check whether the desired signal is present.

The notion of the energy detector has been used in many different areas of signal processing, and in the recent decade, it has been applied extensively in cognitive radios [17].

The theory of energy detection starts by defining the null and the present hypotheses which in our case are as follows:

0 : r ( n ) = u ( n ) , n = 1 , 2 , , N ,
(15a)
1 : r ( n ) = r 1 , 1 ( n ) + u ( n ) ,
(15b)

where 0 and 1 are the null and present hypotheses as shown in Figure 2, r1,1(n) is the correlation function of the target signal, and u(n) is noise plus the cross-correlation functions for the signals of other satellites in line of sight. The decision statistic is

T= 1 N × n = 1 N r(n) 2 .
(16)
Figure 2
figure 2

Probability density functions for signal plus noise and plain noise.

Since N, the length of the received signal, is sufficiently large, it is possible to assume that has a normal distribution of

T N σ u 2 , σ u 4 N , 0 T N σ r 1 , 1 2 + σ u 2 , σ r 1 , 1 2 + σ u 2 2 N , 1

The probability of detection, P d , and probability of false alarm, P fa , can be calculated from

P fa = Q γ σ u 2 σ u 2 / N ,
(17)
P d = Q γ σ r 1 , 1 2 + σ u 2 σ r 1 , 1 2 + σ u 2 / N ,
(18)

where γ is the detection threshold.

In order to detect the signal in the frequency domain, it is possible to utilize the Parseval theorem as follows:

T= n = 0 N 1 r 1 , 1 ( n ) 2 = 1 N k = 0 N 1 R 1 , 1 ( k ) 2 .
(19)

This means that the total energy of a signal in both time and frequency domains are equal [18].

In the energy detector, the threshold depends on the power of the noise so it must be either known or possible to estimate. In the case of GNSS signals, the noise after the correlation stage, Equation (3), contains two parts: (a) the thermal noise, w(n), caused by the receiver itself and (b) the cross-correlation functions due to the presence of the other satellites, l = 2 L r 1 , l (n). The first part can be estimated, but the second part is difficult if not impossible, and that is the source of the noise uncertainty in the utilization of the energy detector for the GNSS receiver. The effect of the uncertainty on the estimation of the noise introduces a limit on the performance of the energy detector [19, 20].

One of the approaches to estimate the power of the noise plus cross-correlation functions is to correlate the input signal with an unused PRN code [5]. In our simulations, the unused PRN is chosen as code number 32. Then, the interference plus noise power can be estimated as

σ e 2 = E l = 1 L r 32 , l ( n ) + u ( n ) × l = 1 L r 32 , l ( n ) + u ( n ) .

We can assume that the noise is uncorrelated with the code. Then, it follows that

σ e 2 = l = 1 L σ 32 , l 2 + σ u 2 ,
(20)

where σ e 2 is the power estimated with the unused PRN code and σ u 2 is the variance of the thermal noise-dependent part of the correlation. By substituting (20) in (17),

P fa =Q γ l = 1 L σ 32 , l 2 + σ u 2 l = 1 L σ 32 , l 2 + σ u 2 / N ,
(21)

and the threshold, γ, is calculated as

γ= l = 1 L σ 32 , l 2 + σ u 2 1 + Q 1 P fa / N .
(22)

After we determine an approximation of the power of noise using Equation (20), we then are able to use Equation (22) to calculate γ.

In Equation (22), the first term, l = 1 L σ 32 , l 2 1 + Q 1 P fa / N , has a critical role when it comes to the matter of choosing γ. If there are no interference signals from other satellites, to choose γ, two parameters have to be considered, P fa and σ u 2 ; the lower the P fa , the higher γ which leads to lower P d . In our case, when there is interference from other satellites in line of sight (LOS), the term l = 1 L σ 32 , l 2 does not present the real value of the interference’s power. Then, we do face an error (bias value) in our estimation, and we have to choose γ and P fa very conservatively which results in higher P fa and lower γ[16].

Using PRN number 32 to estimate the noise power introduces an error Δ σ2. If we use the desired PRN code instead of the PRN code 32, then

σ r 2 = E l = 2 L 1 r 1 , l ( n ) + u ( n ) × l = 2 L 1 r 1 , l ( n ) + u ( n ) , σ r 2 = l = 2 L 1 σ 1 , l 2 + σ u 2 ,

where σ u 2 is again the thermal noise-dependent part and σ 1 , l 2 are the powers of the actual auto/cross-correlation functions. Then, the error or the noise uncertainty is

Δ σ 2 = σ e 2 σ r 2 = l = 1 L σ 32 , l 2 + σ u 2 l = 2 L 1 σ 1 , l 2 + σ u 2 = σ 32 , 1 2 + l = 2 L σ 32 , l 2 σ 1 , l 2 = σ 32 , 1 2 + l = 2 L δ σ l 2 ,
(23)

where Δ σ2 is the noise uncertainty and δ σ l 2 = σ 32 , l 2 σ 1 , l 2 . Uncertainty in the noise estimation may cause the detector to indicate that the desired signal is present even when it is not or to indicate that the desired signal is absent when it is present. It has been explained in [20] that if the uncertainty is higher than a certain level, the detector will fail for weak signals regardless of the number of samples to be processed. As a result, noise uncertainty introduces an SNR wall which is derived in [19] as follows:

SN R wall = ρ 2 1 ρ ,
(24)

where ρ=1+Δ σ 2 / σ r 2 .

Equation (23) shows that the noise uncertainty in GNSS receivers is caused by the number of satellites in line of sight, their power levels, and the cross-correlations between corresponding PRN codes and the target code and the unused code.

Figure 3 shows the effect of the power of other satellites in line of sight. As we predict, the lower the number of the satellites in line of sight, L, the better the probability of detection. The target PRN is PRN number 2 with a CNR of 52 dB-Hz, L [4,9] is the number of satellites in line of sight, and all the other satellites in line of sight have equal CNR. Here, we choose the P fa = 65% to calculate γ using Equation (22). Due to the uncertainty in calculating the power of the noise, we have to choose the P fa higher than usual.

Figure 3
figure 3

The effect of interference from other satellites in line of sight on the probability of detection. The target PRN is PRN number 2 with CNR of 52 dB-Hz, L[4,9] is the number of satellites in line of sight, and all the other satellites in line of sight have equal CNR as indicated in the x-axis.

3.4 Final algorithm

In subsections 3.2 and 3.3, we explained the search algorithm for the Doppler frequency shift and the detection procedure for the desired signal. As we mentioned, the problem with the plain EGS is that in spite of significant saving on the number of required IFFTs for strong signals, the algorithm’s performance for weak signals is not as good as the conventional approach. To solve the problem, we modified the search algorithm in order to be competitive with the conventional search, but this approach has a drawback. If the signal of interest is absent, then the receiver must go through the search list and perform β IFFTs. To deal with the mentioned problem, we employ an energy detector to detect the presence of the desired signal.

The final algorithm can be summarized as follows:

Proposed algorithm

Here, β is the maximum number of required IFFTs, which in our case is 41.

3.5 Coherent block averaging

In the previous subsection, we explained our proposed algorithm. We mentioned that the EGS is sensitive to the power of interfering signals from other satellites in LOS. To overcome this problem, we consider utilizing block averaging (BA) to enhance the power of the desired signal [21]. Block averaging means processing B non-overlapping blocks with the length of 1 ms (code epoch) and adding them together.

x B (n)= i = 0 B 1 x(n+iN),
(25)

where 0≤n<N, N is the number of samples in 1 ms of signal, and B is the number of milliseconds to be block averaged, respectively.

Substituting x(n)=c(n)d(n) e jπΔ f d n into (2) results in

x B (n)= i = 0 B 1 c(n+iN)d(n+iN) e j 2 πΔ f d ( n + iN ) .
(26)

Since for the C/A code c(n+i N)=c(n) and d(n) can be assumed to be constant over averaging time B≤20 ms, it is possible to rewrite (26) as follows:

x B (n)= i = 0 B 1 c(n)d(n) e j 2 πΔ f d n h Δ f d (B),
(27)

where

h Δ f d (B)= k = 0 B 1 e j 2 πΔ f d k = 1 e j 2 πΔ f d B 1 e j 2 πΔ f d
(28)

is the block-averaging gain function.As Figure 4 shows, when BA is utilized, the frequency offset must be lower than 250 Hz. In order to be able to benefit from BA, we have to choose a step size of much less than 500 Hz, which increases the number of required FFTs.

Figure 4
figure 4

Normalized block-averaging gain function versus frequency offset for different block lengths B . With zero frequency offset, the gain is B.

3.6 Non-coherent integration

Another alternative to enhance the power of the incoming signal is utilization of non-coherent integration in the FFT domain. We take B milliseconds of consecutive incoming signal and transfer each millisecond individually into the frequency domain, and finally, we take sample-wise squared magnitudes of the B FFTs and average them. By this, the required number of transforms remains the same but the number of Doppler values in the search is reduced considerably, compared to BA with the same length.

4 Analysis, numerical comparison, and result

In this section, numerical and statistical results of our proposed algorithm are presented.

4.1 Numerical results

In our simulation study, we use GPS L 1 frequency of 1,575.42 MHz, C/A code of length 1,023 chips, chip rate of 1.023 MHz, and oversampling factor of 8. In this case, a timing error of one chip corresponds to about 300 m error in pseudorange. Conventionally, in acquisition stage, the target for timing error is ±0.5 chips.

In the signal of Equation (2), L=6, and we choose the PRN codes 1 to 6 to be used. The target code is number 2, and its CNR is in the range of [36, 59] dB-Hz. The average CNR from other satellites in LOS is 41 dB-Hz. In our case, they are as [39, 42, 36, 45, 40].

Figure 5 shows the probability of detection for both the EGS and the conventional search for Doppler frequency. For each CNR[4959] dB-Hz, we run our simulation 500 times to find the probability of detection. As it was mentioned, the required number of FFT/IFFT for EGS is 3, while for conventional Doppler frequency search, the required number of FFT/IFFT is β+3 in the worst case. The price that we pay for the significant saving on IFFTs is low probability of detection for weak signals. To overcome the problem, we propose that after finding the maximum energy, the receiver performs an IFFT and checks for the correlation function’s peak. If it is detectable, the search is terminated; otherwise, the next local maximum value of the energy is checked, and the search is continued till the peak of the correlation function is visible.

Figure 5
figure 5

Probability of detection. For conventional search for Doppler frequency and for the FFT-domain grid search based on maximum energy (without time-domain peak detection).

Our initial approach has a drawback when the desired signal is absent. In the absence of the desired signal, the receiver has to perform an IFFT for each Doppler value included in the search. We propose utilizing an energy detector in order to solve the mentioned problem. The receiver checks whether the desired signal is present or not using a threshold determined from the target CNR and detection probability. Since the receiver calculates the energy of the correlation function while it searches for the Doppler frequency shift, thus using the energy detector will not increase the complexity of the algorithm.Figure 6 shows the average number of the required IFFTs for both conventional and proposed final algorithm when the desired signal is absent. The number of required IFFTs for our proposed algorithm is about half of the conventional approach on the average.

Figure 6
figure 6

Required IFFTs when the signal is absent. Number of required IFFTs on average for conventional search and for the final algorithm (iterative EGS with energy detection) while the signal is absent.

Figure 7 shows the receiver operating characteristic (ROC) for different CNRs when using the proposed method for estimating the interference plus noise power based on correlation with the unused PRN code. Figure 8 shows the ROC curves in the ideal case when there is no uncertainty in the interference plus noise estimation. These results indicate clearly that improved estimation of the interference plus noise power would greatly enhance the performance of the proposed approach. Since there is a trade-off between the threshold, γ, and the probability of false alarm, P fa , if we take 50 dB-Hz as the target CNR and P d =99% as the target detection probability, then the threshold should be selected in such a way that the false alarm probability becomes P fa =0.65.

Figure 7
figure 7

ROC for the energy detector utilizing proposed unused PRN correlation method for estimating interference plus noise power.

Figure 8
figure 8

ROC for the energy detector when interference plus noise power is assumed to be known.

Figure 9 shows the ROC curve when the GPS receiver processes 10 ms of incoming signal by BA. It exhibits that if the target CNR>44 dB-Hz and the target probability of detection is 99%, then the threshold should be selected in such a way that the false alarm probability becomes P fa =0.5. Figure 10 displays the ROC curve when the GPS receiver utilizes the EGS plus non-coherent integration when 10 ms of incoming signal is processed. If the target CNR>45 dB-Hz and the target probability of detection is 99%, then the threshold should be selected in such a way that the false alarm probability becomes P fa =0.5.Figure 11 shows the result for our basic solution processing GPS signal over 1 ms interval. We can observe that the number of the required IFFTs on average for our proposed algorithm is significantly less than the number of required IFFTs for conventional search. The probability of detection is the same for both approaches.Figures 12, 13, 14 show the result when block averaging over 5, 10, and 20 ms of the incoming baseband signal is utilized. The result demonstrates an improvement for weak signals. Particularly, BA over 20 ms reduces the number of required IFFTs significantly. In Figure 15, the result for non-coherent integration over 10 ms is also shown.

Figure 9
figure 9

ROC for the energy detector when 10 ms of signal is block averaged.

Figure 10
figure 10

ROC for the energy detector plus non-coherent integration for 10 ms of incoming signal.

Figure 11
figure 11

Required IFFTs. Number of required IFFTs on the average when 1 ms of received signal has been processed for conventional search and for iterative EGS with time domain peak detection. The probability of detection for both approaches is 99%.

Figure 12
figure 12

Required IFFTs. Number of required IFFTs on the average when 5 ms of received signal has been processed for iterative EGS with coherent BA and 1 ms of signal processed for conventional approach with time domain peak detection. The probability of detection for both approaches is 99%.

Figure 13
figure 13

Required IFFTs. Number of required IFFTs on the average when 10 ms of received signal has been processed for iterative EGS with coherent BA and 1 ms of signal processed for conventional approach with time domain peak detection. The probability of detection for both approaches is 99%.

Figure 14
figure 14

Required IFFTs. Number of required IFFTs on the average when 20 ms of received signal has been processed for iterative EGS with coherent BA and 1 ms of signal processed for conventional approach with time domain peak detection. The probability of detection for both approaches is 99%.

Figure 15
figure 15

EGS plus non-coherent integration over 10 ms in comparison to conventional FFT-based acquisition.

4.2 Complexity comparison

In this subsection, we compare the complexity of the proposed algorithm with conventional FFT-based acquisition. As complexity metric, we use the number of real multiplications needed in the acquisition process.

With the oversampling factor of 8, FFT/IFFT lengths of N=8,192 are used, and each transform takes N(log2(N)+3)+4=131,076 real multiplications when using the efficient split-radix algorithm. This can be well approximated as 16N real multiplications. Table 1 shows the number of required FFTs for different approaches. Note that when the BA is utilized, the frequency offset after Doppler removal must be less than 50 Hz for L=10.

Table 1 Complexity evaluation of different FFT-based acquisition schemes

The FFT-domain decision variable can be calculated as k = 0 N 1 Z ( k k d ) 2 × C 1 ( k ) 2 where Z(kk d ) is the shifted version of the incoming baseband signal and k d [−10, + 10]. The squared magnitude FFT vectors for different codes can be pre-calculated and stored. In the basic EGS algorithm and with non-coherent integration (NCI), the squared magnitude FFT vector for the input needs to be calculated twice, for the 0- and 500-Hz offsets. With coherent block averaging of NBA 1 ms intervals, this number becomes 2NBA. The same FFTs and the same squared magnitude vectors are used for acquisition of all codes, so the effect of these calculations on the overall complexity is relatively small. What needs to be calculated intensively is the product of the squared magnitudes for each tested Doppler value. This takes N real multiplications for each Doppler test, if all the FFT bins are used. To cover all the Doppler cases, (40NBA+1)N real multiplications are needed, which have about the same complexity as 2.5NBA IFFTs. The conventional FFT-based algorithm uses a multiplication of two complex vectors of length N in the FFT domain, which is assumed to take 3N real multiplications.

Table 1 shows detailed comparison of the complexity of different FFT-based acquisition schemes. The number of real multiplications is given in two parts: The first part is independent of the number of different codes (C) covered in the search, and the second part is proportional to C. The ‘high CNR’ cases of Table 1 are cases where the correlation peak can be reliably detected in the frequency domain by the EGS method and in the time domain by the traditional approach. ‘Low CNR’ cases of the table correspond to the the situation where the code is not detectable anymore.

Due to the increased number of Doppler values to be tested, the coherent block averaging seems to be less efficient than the non-coherent integration approach. However, the complexity of the algorithm can be greatly reduced by doing the FFT domain multiplications only for the strong FFT bins of each code. Furthermore, it might be preferable to change the search strategy while considering all the PRN codes that can be expected to be present in the received signal. An alternative approach is to try to find the strongest codes first, without iterating the time-domain peak checking. This can be done by testing the highest FFT-domain energy cases for all possible codes, before going to the iterative peak detection. These ideas remain as a topics for further studies.

5 Conclusion

In this article, we propose a novel approach for FFT-based acquisition in GNSS receivers. Our approach contains utilization of both the EGS and the energy detector together. We use the EGS to estimate the Doppler frequency shift in FFT domain. Employing the EGS only causes a problem when the target signal is not present as the device must perform IFFTs for all the Doppler values included in the search before it is able to terminate the search. To solve this problem, we employ an energy detector aiming to detect the presence/absence of the desired incoming baseband signal in the frequency domain.

To improve the sensitivity, coherent block averaging methods in the time domain and non-coherent integration methods in the FFT domain were tested. The performance of these two approaches turned out to be rather similar, but the FFT-domain non-coherent integration method has significantly lower complexity. For 10-ms noncoherent integration, with CNRs at or above 43 dB-Hz, the Doppler could be estimated in the FFT domain reliably, requiring only one or two IFFTs for the acquisition. With lower CNRs, the number of required IFFTs grows rapidly, approaching 50% of the Doppler values with very low CNR or in the absence of the PRN. For example, when searching over 20 PRN codes out of which 4 are present at around 43 dB-Hz level, the complexity in terms of real multiplications is reduced by about 40% compared to the traditional FFT-based methods with 1-ms time interval.

In our future work, the main issue is improving the reliability of the detection of the presence/absence of PRN codes in the FFT domain. We will address the noise uncertainty and its effect on the performance of the proposed algorithm by trying to find improved methods for estimating the interference plus noise variance. We also plan to investigate the possibility of using a substantially smaller number of strongest FFT bins, as well optimized search strategy considering all the possible PRN codes. In addition, we will substitute the conventional linear search for the modified binary search while we search for the Doppler frequency shift and observe the effect.

References

  1. Nighswander T, Ledvina B, Diamond J: GPS software attacks. 19th ACM Conference on Computer and Communications Security, CCS 2012, Raleigh, NC, USA 16–18 Oct 2012.

    Google Scholar 

  2. Therrien CW: Discrete Random Signals and Statistical Signal Processing. Prentice Hall, Upper Saddle River, NJ, USA; 1992.

    MATH  Google Scholar 

  3. Misra P, Enge P: Global Positioning System. Signal, Measurements and Performance, Second Edition. Ganga-Jamuna Press, Lincoln, MA, USA; 2006.

    Google Scholar 

  4. van Nee DJR, Coenen AJRM: New fast GPS code-acquisition technique using FFT. Electron. Lett 1991, 27(2):158-160. 10.1049/el:19910102

    Article  Google Scholar 

  5. Kaplan ED, Hegarty CJ: Understanding GPS: Principles and Applications, 2nd edn. Artec House, Norwood, MA, USA; 2005.

    Google Scholar 

  6. Cao XL, Mu RZ, Yan YP: A novel threshold setting method for FFT-based GPS acquisition. 11th International Conference on Computer Modelling and Simulation, 2009. UKSIM ’09, Cambridge, UK 2009, 497-501.

    Chapter  Google Scholar 

  7. Zheng Y: A software-based frequency domain parallel acquisition algorithm for GPS signal. 2010 International Conference on Anti-Counterfeiting Security and Identification in Communication (ASID), Chengdu, China 18–20 July 2010, 298-301.

    Chapter  Google Scholar 

  8. Davenport R: FFT processing of direct sequence spreading codes using modern DSP microprocessors. National Aerospace and Electronics Conf, Dayton, OH, USA 20–24 May 1991.

    Google Scholar 

  9. Akopian D: Fast FFT based GPS satellite acquisition methods. Radar Sonar Navigation IEE Proc 2005, 152(4):277-286. 10.1049/ip-rsn:20045096

    Article  Google Scholar 

  10. Kos T, Markezic I, Pokrajcic J: Effects of multipath reception on GPS positioning performance. International Symposium ELMAR, Zadar, Croatia 15–17 Sept. 2010.

    Google Scholar 

  11. Soltanian B, Demirtas M, Gabbouj M: Reduced-complexity binary search for Doppler estimation in GNSS receivers. 47th Asilomar Conference on Signals, Systems and Computers 3–6 Nov. 2013.

    Google Scholar 

  12. Soltanian B, Collin J, Takala J: The effect of the incoming signal decimation on the performance of the FFT-based acquisition stage in SDR GNSS receivers. 5th ESA Workshop on Satellite Navigation Technologies (NAVITEC), Noordwijk, Netherlands 8–10 Dec. 2010.

    Google Scholar 

  13. Tsui J: Fundamentals of GPS Receivers: A Software Approach. John Wiley & Sons, Inc., New York, USA; 2002.

    Google Scholar 

  14. Borre K, Akos DM, Bertelsen N, Rinder P, Jensen S: A Software-Defined GPS and Galileo Receiver - A Single-Frequency Approach. Birkhauser, Boston; 2007.

    MATH  Google Scholar 

  15. Dai L, Wang Z, Wang J, Song J: Joint code acquisition and Doppler frequency shift estimation for GPS signals. Vehicular Technology Conference 2010.

    Google Scholar 

  16. Kay SM: Fundamentals of Statistical Signal Processing Volume II Detection Theory. Prentice-Hall, Upper Saddle River, NJ, USA; 1993.

    MATH  Google Scholar 

  17. Cabric ATD, Brodersen R: Spectrum sensing measurements of pilot, energy, and collaborative detection. IEEE Military Commun. Conf. (MILCOM), Washington D.C., USA 23–25 Oct. 2006.

    Google Scholar 

  18. Schafer RW, Alan JRB, Oppenheim V: Discrete-Time Signal Processing. Prentice-Hall, Upper Saddle River, NJ, USA; 1998.

    MATH  Google Scholar 

  19. Tandra R, Sahai A: SNR walls for signal detection. IEEE J. Selected Topics Signal Process 2008, 2(1):4-17.

    Article  Google Scholar 

  20. Tandra R, Sahai A: Fundamental limits on detection in low SNR under noise uncertainty. International Conference on Wireless Networks, Communications and Mobile Computing, Maui HI, USA 13–16 June 2005.

    Google Scholar 

  21. Sahmoud M, Amin MG, Landry R: Acquisition of weak GNSS signals using a new block averaging pre-processing. IEEE/ION Position, Location and Navigation Symposium, Monterey, CA, USA 5–8 May 2008.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Baharak Soltanian.

Additional information

Competing interests

The authors declare that they have no competing interests.

Authors’ original submitted files for images

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Soltanian, B., Demirtas, A.M., hagh ghadam, A.S. et al. Reduced-complexity FFT-based method for Doppler estimation in GNSS receivers. EURASIP J. Adv. Signal Process. 2014, 143 (2014). https://doi.org/10.1186/1687-6180-2014-143

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/1687-6180-2014-143

Keywords