 Research
 Open Access
 Published:
Reducedcomplexity FFTbased method for Doppler estimation in GNSS receivers
EURASIP Journal on Advances in Signal Processing volume 2014, Article number: 143 (2014)
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, timedomain block averaging and FFTdomain noncoherent integration are investigated as alternative methods. They exhibit rather similar performance improvement, but the noncoherent integration approach is found to be computationally more effective.
1 Introduction
The directsequence 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 narrowband signal over a wider spectrum. The PRN codes repeat with the period of T_{ c }, and the codes used by different satellites are quasiorthogonal [1]. This means that the crosscorrelation function between two different codes or the autocorrelation 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 carriertonoise 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 [4–9].
The time domain acquisition is easy to implement on applicationspecific integrated circuitbased (ASIC) devices, but it is time consuming when it comes to utilization of softwaredefined radio (SDR) receivers. Thus, a faster alternative for SDRbased devices is fast Fourier transform (FFT)based acquisition which, however, has relatively high computational complexity.
The high complexity of the FFTbased 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 multipath. Having narrow bandwidth in acquisition stage rounds the correlation peaks for both direct and multipath 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 multirate 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 FFTbased 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 FFTbased acquisition method is described. The FFTbased 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 FFTbased acquisition algorithm
Figure 1 shows the block diagram of conventional FFTbased 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 autocorrelation 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.
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
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\left(\left{s}_{l}^{2}\left(n\right)\right\right)\ll E\left(\left{w}^{2}\left(n\right)\right\right)$. Thus, it is possible to assume that each s_{ l }(n) is a widesense stationary (WSS) Gaussian process [2].
For simplicity, we rewrite the incoming baseband signal as follows:
where s_{1}(n) is the target satellite signal, s_{ l }(n) denotes the received signals from other satellites in line of sight, and ${w}_{1}\left(n\right)={\sum}_{l=2}^{L}{s}_{l}(n{n}_{l}){e}^{\phantom{\rule{0.3em}{0ex}}j2\pi {f}_{{d}_{l}}n}+w\left(n\right)$ 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 c_{1}(n) can be expressed as
where Δ f_{ l } is the normalized frequency offset after carrier plus partial Doppler removal, r_{1,1}(n) is the correlation function of the target signal, and $u\left(n\right)={\sum}_{l=2}^{L}{r}_{1,l}\left(n\right)+{u}_{1}\left(n\right)$. This can be expressed in the frequency domain as
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 500Hz 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 FFTbased 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 $\beta =\frac{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.5kHz 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.
Strip off the carrier frequency and take the FFTs of the incoming signal and its 500Hz shifted version.

2.
Perform the conjugate FFT of the locally generated PRN code.

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

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

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

(c)
Take the IFFT of the outcome of step 3b.

(d)
Find the acquisition margin (AM).

(i)
If A M>γ, then terminate.

(i)

(a)
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 timedomain 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 FFTbased 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 FFTdomain 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 crosscorrelation function (CF) between the incoming signal and the code sequence after the partial Doppler and the carrier removal is
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 }.
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
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}^{\phantom{\rule{0.3em}{0ex}}\mathrm{j\pi \Delta}{f}_{l}(N1)}$ 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 c_{1}(n) is the target PRN code. The noise is assumed to be additive complex circular white Gaussian (AWG) with distribution $\mathcal{N}(0,\phantom{\rule{0.3em}{0ex}}{\sigma}^{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]
where k is the FFT index, k_{ d } is the trial Doppler, ${P}_{\mathit{\text{zz}}}(k;{k}_{d})={\mathcal{Z}}_{\mathit{\text{zz}}}(k{k}_{d})+{\mathcal{Z}}_{\mathit{\text{zz}}}(k+{k}_{d})$ and ${\mathcal{Z}}_{\mathit{\text{zz}}}\left(k\right)={\leftZ\left(k\right)\right}^{2}$ is a lowpass power spectral density (PSD) of the FFT input signal, z(n), and I(k) is the periodogram of the target PRN code. Since ${\sum}_{k=N}^{N}ln\left(\frac{{P}_{\mathit{\text{zz}}}(k,{k}_{d})}{{\sigma}^{2}}+1\right)$ does not depend on k_{ d }, then the ML solution can be simplified as
Because the GPS power spectrum is clearly below the noise spectrum, the ML solution can be written as follows:
If we substitute (9) into (11), then
where
Ignoring the nonessential constant multiplier, we obtain
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:
where ${\mathcal{\mathscr{H}}}_{0}$ and ${\mathcal{\mathscr{H}}}_{1}$ are the null and present hypotheses as shown in Figure 2, r_{1,1}(n) is the correlation function of the target signal, and u(n) is noise plus the crosscorrelation functions for the signals of other satellites in line of sight. The decision statistic is
Since N, the length of the received signal, is sufficiently large, it is possible to assume that has a normal distribution of
The probability of detection, P_{ d }, and probability of false alarm, P_{ fa }, can be calculated from
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:
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 crosscorrelation functions due to the presence of the other satellites, ${\sum}_{l=2}^{L}{r}_{1,l}\left(n\right)$. 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 crosscorrelation 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
We can assume that the noise is uncorrelated with the code. Then, it follows that
where ${\sigma}_{e}^{2}$ is the power estimated with the unused PRN code and ${\sigma}_{u}^{2}$ is the variance of the thermal noisedependent part of the correlation. By substituting (20) in (17),
and the threshold, γ, is calculated as
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, $\left(\phantom{\rule{0.3em}{0ex}}\sum _{l=1}^{L}\phantom{\rule{0.3em}{0ex}}{\sigma}_{32,l}^{2}\right)\phantom{\rule{0.3em}{0ex}}\left(\phantom{\rule{0.3em}{0ex}}1\phantom{\rule{0.3em}{0ex}}+\phantom{\rule{0.3em}{0ex}}{\mathcal{Q}}^{1}\phantom{\rule{0.3em}{0ex}}\left(\phantom{\rule{0.3em}{0ex}}{P}_{\mathit{\text{fa}}}\phantom{\rule{0.3em}{0ex}}\right)\phantom{\rule{0.3em}{0ex}}/\phantom{\rule{0.3em}{0ex}}\sqrt{N}\right)$, 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 ${\sigma}_{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 ${\sum}_{l=1}^{L}{\sigma}_{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
where ${\sigma}_{u}^{2}$ is again the thermal noisedependent part and ${\sigma}_{1,l}^{2}$ are the powers of the actual auto/crosscorrelation functions. Then, the error or the noise uncertainty is
where Δ σ^{2} is the noise uncertainty and $\delta {\sigma}_{l}^{2}={\sigma}_{32,l}^{2}{\sigma}_{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:
where $\rho =1+\Delta {\sigma}^{2}/{\sigma}_{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 crosscorrelations 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 dBHz, 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.
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 nonoverlapping blocks with the length of 1 ms (code epoch) and adding them together.
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\left(n\right)=c\left(n\right)d\left(n\right){e}^{\phantom{\rule{0.3em}{0ex}}\mathrm{j\pi \Delta}{f}_{d}n}$ into (2) results in
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:
where
is the blockaveraging 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.
3.6 Noncoherent integration
Another alternative to enhance the power of the incoming signal is utilization of noncoherent 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 samplewise 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] dBHz. The average CNR from other satellites in LOS is 41 dBHz. 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∈[49⋯59] dBHz, 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.
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 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 tradeoff between the threshold, γ, and the probability of false alarm, P_{ fa }, if we take 50 dBHz 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 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 dBHz 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 noncoherent integration when 10 ms of incoming signal is processed. If the target CNR>45 dBHz 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 noncoherent integration over 10 ms is also shown.
4.2 Complexity comparison
In this subsection, we compare the complexity of the proposed algorithm with conventional FFTbased 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 splitradix 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.
The FFTdomain decision variable can be calculated as ${\sum}_{k=0}^{N1}{\leftZ(k{k}_{d})\right}^{2}\times {\left{C}_{1}^{\ast}\left(k\right)\right}^{2}$ where Z(k−k_{ 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 precalculated and stored. In the basic EGS algorithm and with noncoherent integration (NCI), the squared magnitude FFT vector for the input needs to be calculated twice, for the 0 and 500Hz offsets. With coherent block averaging of N_{BA} 1 ms intervals, this number becomes 2N_{BA}. 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, (40N_{BA}+1)N real multiplications are needed, which have about the same complexity as 2.5N_{BA} IFFTs. The conventional FFTbased 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 FFTbased 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 noncoherent 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 timedomain peak checking. This can be done by testing the highest FFTdomain 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 FFTbased 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 noncoherent integration methods in the FFT domain were tested. The performance of these two approaches turned out to be rather similar, but the FFTdomain noncoherent integration method has significantly lower complexity. For 10ms noncoherent integration, with CNRs at or above 43 dBHz, 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 dBHz level, the complexity in terms of real multiplications is reduced by about 40% compared to the traditional FFTbased methods with 1ms 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.
 2.
Therrien CW: Discrete Random Signals and Statistical Signal Processing. Prentice Hall, Upper Saddle River, NJ, USA; 1992.
 3.
Misra P, Enge P: Global Positioning System. Signal, Measurements and Performance, Second Edition. GangaJamuna Press, Lincoln, MA, USA; 2006.
 4.
van Nee DJR, Coenen AJRM: New fast GPS codeacquisition technique using FFT. Electron. Lett 1991, 27(2):158160. 10.1049/el:19910102
 5.
Kaplan ED, Hegarty CJ: Understanding GPS: Principles and Applications, 2nd edn. Artec House, Norwood, MA, USA; 2005.
 6.
Cao XL, Mu RZ, Yan YP: A novel threshold setting method for FFTbased GPS acquisition. 11th International Conference on Computer Modelling and Simulation, 2009. UKSIM ’09, Cambridge, UK 2009, 497501.
 7.
Zheng Y: A softwarebased frequency domain parallel acquisition algorithm for GPS signal. 2010 International Conference on AntiCounterfeiting Security and Identification in Communication (ASID), Chengdu, China 18–20 July 2010, 298301.
 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.
 9.
Akopian D: Fast FFT based GPS satellite acquisition methods. Radar Sonar Navigation IEE Proc 2005, 152(4):277286. 10.1049/iprsn:20045096
 10.
Kos T, Markezic I, Pokrajcic J: Effects of multipath reception on GPS positioning performance. International Symposium ELMAR, Zadar, Croatia 15–17 Sept. 2010.
 11.
Soltanian B, Demirtas M, Gabbouj M: Reducedcomplexity binary search for Doppler estimation in GNSS receivers. 47th Asilomar Conference on Signals, Systems and Computers 3–6 Nov. 2013.
 12.
Soltanian B, Collin J, Takala J: The effect of the incoming signal decimation on the performance of the FFTbased acquisition stage in SDR GNSS receivers. 5th ESA Workshop on Satellite Navigation Technologies (NAVITEC), Noordwijk, Netherlands 8–10 Dec. 2010.
 13.
Tsui J: Fundamentals of GPS Receivers: A Software Approach. John Wiley & Sons, Inc., New York, USA; 2002.
 14.
Borre K, Akos DM, Bertelsen N, Rinder P, Jensen S: A SoftwareDefined GPS and Galileo Receiver  A SingleFrequency Approach. Birkhauser, Boston; 2007.
 15.
Dai L, Wang Z, Wang J, Song J: Joint code acquisition and Doppler frequency shift estimation for GPS signals. Vehicular Technology Conference 2010.
 16.
Kay SM: Fundamentals of Statistical Signal Processing Volume II Detection Theory. PrenticeHall, Upper Saddle River, NJ, USA; 1993.
 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.
 18.
Schafer RW, Alan JRB, Oppenheim V: DiscreteTime Signal Processing. PrenticeHall, Upper Saddle River, NJ, USA; 1998.
 19.
Tandra R, Sahai A: SNR walls for signal detection. IEEE J. Selected Topics Signal Process 2008, 2(1):417.
 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.
 21.
Sahmoud M, Amin MG, Landry R: Acquisition of weak GNSS signals using a new block averaging preprocessing. IEEE/ION Position, Location and Navigation Symposium, Monterey, CA, USA 5–8 May 2008.
Author information
Affiliations
Corresponding author
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ original submitted files for images
Below are the links to the 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.
About this article
Cite this article
Soltanian, B., Demirtas, A.M., hagh ghadam, A.S. et al. Reducedcomplexity FFTbased method for Doppler estimation in GNSS receivers. EURASIP J. Adv. Signal Process. 2014, 143 (2014). https://doi.org/10.1186/168761802014143
Received:
Accepted:
Published:
Keywords
 FFTbased acquisition
 Energy detector
 Doppler frequency estimation
 GNSS receivers