# Fast GNSS satellite signal acquisition method based on multiple resamplings

- Yong Wang
^{1}Email authorView ORCID ID profile and - Gang Mao
^{1}

**2016**:109

https://doi.org/10.1186/s13634-016-0409-0

© The Author(s). 2016

**Received: **12 May 2016

**Accepted: **6 October 2016

**Published: **21 October 2016

## Abstract

A fast Global Navigation Satellite System (GNSS) satellite signal acquisition method based on resampling is presented. In contrast to traditional approaches, which perform a single-round search with a high data rate, the proposed method introduces a signal acquisition mechanism that uses data resampling. Starting from a resampled data rate slightly above the Nyquist frequency, the proposed method conducts multiple rounds of searches with an increasing sampling rate. After each round of searching, the satellites are sorted according to their relative signal strengths. By removing satellites at the bottom of each sorted list, the search space for satellite acquisition is continuously pruned. If a sufficient number of satellites are not acquired when the original data rate is reached, the method will switch to the weak-signal detection mode and use non-coherent integration for the satellites at the top on the list. The non-coherent integration process continues until either a sufficient number of satellites are acquired or the maximum number of steps is reached. The experimental results show that the proposed method can acquire the same set of satellites as traditional methods but with a considerably lower computational cost. The proposed method was implemented in a software-based GNSS receiver and can also be used in hardware-based receivers.

## Keywords

## 1 Introduction

The first step in baseband processing is satellite signal acquisition. The signal acquisition module determines whether a certain satellite is “visible” in the sky from the observer’s viewpoint. If a satellite is visible, the acquisition algorithm provides an initial estimate of the phase shift of the corresponding pseudo-random number (PRN) code and Doppler frequency shift of the carrier [3]. According to the principle of satellite positioning, a GNSS receiver requires at least four visible navigation satellites to achieve a positioning in 3D space [4]. When there is no auxiliary network to provide assisting information, the receiver must sift through all navigation satellite signals to find at least four visible satellites to perform the positioning calculation. Thus, a fast and accurate acquisition of visible satellite signals provides a strong starting point for the subsequent positioning procedure and is one of the key steps for baseband signal processing.

Satellite signal acquisition involves a search in a two-dimensional space, which is defined by the PRN phase and Doppler frequency shift. The search is typically performed through the PRN code correlation operation [5]. Different correlation implementations include serial search acquisition (SSA) [6], which belongs to the traditional serial search scheme [7], parallel frequency space search acquisition (PFSSA) [8], and parallel code-phase search acquisition (PCPSA) [9]. Among these algorithms, the SSA performs the two-dimensional searches using digital correlators. The SSA is straightforward, but its efficiency is limited because of its serial search nature, e.g., Number_of_Doppler_Search (Typ. Value 41) × Number_of_PRN_Code_Search (Typ. Value 2,046) rounds of searches are required to obtain a single satellite signal in the worst case [10]. PCPSA is a search algorithm based on the fast Fourier transform (FFT). Using circular convolution to speed up the correlation, the PCPSA method derives a code shift for a single satellite with Number_of_Doppler_Search rounds of FFT/IFFT operations. Algorithms [11, 12] are more effective at simultaneously deriving the code phase shift and Doppler shift using the two-dimensional FFT. In the Doppler domain parallel acquisition, the input data for the FFT are reduced by a time domain integration to relieve the computational load [13].

The typical strength of a GNSS signal in open-sky conditions is approximately −130 dBm, which is considered strong. If the input is a strong signal, the PRN correlation can be performed by a coherent integration operation between a full PRN sequence and an input signal from the ADC with the same signal length. The signal acquisition for strong satellite signals can typically be accomplished after one round of correlation. When satellite signals are partially blocked or shaded, the signal strengths may be in the −150 dBm range, and such signals are considered weak. To acquire weak signals, more input data are necessary to perform a coherent or non-coherent integration operation to enhance the signal-to-noise ratio (SNR) [14, 15]. A more general scenario is that signals from different satellites vary in strengths, with some in the −130 dBm range and others in the −150 dBm range or even lower. Traditional approaches conduct searches using input data, whose length is often 1–10 ms, to acquire the largest number of satellite signals. Although this practice is effective in finding satellites with weak signals, it incurs unnecessary computational cost when finding satellites with strong signals.

We propose a modified PCPSA method based on multiple resampling (MR-PCPSA) to acquire all satellite signals and reduce the computational cost of satellite signal acquisition in a mixed-signal-strength situation. By performing an initial search using fewer sampling points that satisfy the Nyquist sampling theory, the proposed algorithm can derive a satellite list, which is sorted by their signal strengths, in a timely manner. A few satellites at the top on the list can be considered successfully acquired, and many satellites at the bottom on the list can be safely removed from subsequent searches without affecting the final results. A second round of search must examine only the uncertain satellites in the middle of the sorted list using an increased number of sampling points. This process repeats itself and passes the acquisition results to a subsequent tracking algorithm until the number of acquired satellites satisfies the requirement or the maximum number of iterations is reached. The experiments show that the proposed algorithm can reduce the computational cost by 35–45 % with a minimal effect on the search accuracy. Meanwhile, the tracking algorithm module can also perform a detailed search earlier because the satellites with strong signals can be acquired relatively earlier. Thus, we can achieve a faster overall positioning process.

The remainder of this paper is organized as follows. Section 2 introduces the MR-PCPSA method and explains how it reduces the computational cost compared to traditional approaches. Section 3 provides additional details about the software and one potential hardware implementation including a flowchart and block diagram. Experiments based on three sets of real data were analyzed, and the conclusion of the paper is provided.

## 2 MR-PCPSA method

The correlation function can be used to determine the phase shift between two signals. The PCPSA algorithm describes an effective method to derive the correlation function, i.e., using the frequency domain product to replace the computationally expensive time domain convolution. The algorithm operates as follows. First, a digital mixer down-converts the signal from the IF to the baseband. Then, the baseband signal is transformed into the frequency domain using FFT. Meanwhile, a locally generated PRN code is transformed into the frequency domain and multiplied by the aforementioned frequency domain baseband signal. Then, the product of those two signals is transformed back into the time domain via an inverse FFT (IFFT). The squared absolute values of the IFFT results represent the correlation power of the two input signals. Finally, the visibility of a satellite can be determined by comparing the *ratio* of the correlation power values between the first peak and the second peak with a preset threshold [16].

*x*(

*n*) can be resampled at a fraction of the original data rate I/D, as indicated by the following equations:

_{ R }(n) is resampled data, I

_{ k }is the interpolation item, and D

_{ n }is the decimation item. h(n) and H(e

^{ jw }) are filter functions in the time and frequency domain respectively, as indicated in Eq. (3).

In Fig. 5, *K*
_{
NA
} is the number of visible satellites *Need to Acquire* for a successful position calculation, and it is typically set to an integer value of 4-12. *f*
_{1} and *f*
_{
RS
} are the resampling coefficients. *f*
_{1} is the initial resampling frequency and is typically set to the Nyquist frequency or slightly above. The optimal step size for *f*
_{
RS
} depends on the satellite signal strength distribution. Because the signal strength distribution is unknown before the acquisition process, we chose *f*
_{
RS
} step size to be around 20 % of the Nyquist frequency based on empirical data. *K*
_{
AA
} is the number of satellites *Already Acquired*, whose value is 0-12. *R* is the number of resampling rounds. *K*
_{
NCI
} is the number of *Non-Coherent Integration* based on a 1-ms time slot.

## 3 Computational cost analysis of the MR-PCPSA method

*C*

_{PCPSA}and

*C*

_{ MR-PCPSA }represent computational cost of the PCPSA algorithm and the proposed algorithm, respectively.

*K*

_{ DS }is the number of

*Doppler Search*,

*K*

_{ AS }is the number of

*All Satellites*,

*N*is the number of points for FFT,

*K*

_{ NA }is the number of visible satellites

*Need to Acquire*,

*K*

_{ NCI }is the number of

*Non-Coherent Integration*,

*f*

_{1}and

*f*

_{ RS }are the coefficients of resampling,

*f*

_{ S }is sampling frequency of original input data, and

*R*is the number of resampling rounds. In Eq. (5), terms due to resampling operation were omitted because they are O(N) terms.

We derive the relationship between the average cost improvement and *K*
_{
NCI
} by substituting Eqs. (4) and (5) into the equation \( \left(1-\frac{C_{\mathrm{MR}\hbox{-} \mathrm{PCPSA}}}{C_{\mathrm{PCPSA}}}\right) \).

*K*

_{ DS }= 41,

*K*

_{ AS }= 32,

*K*

_{ NA }= 8,

*K*

_{ NCI }= 10, and

*N*= 16 × 10

^{6}. The coefficients of three resampling rounds are

*f*

_{1}= 0.5

*f*

_{ s },

*f*

_{2}= 0.75

*f*

_{ s }, and

*f*

_{3}=

*f*

_{ s }.

MR-PCPSA uses resampling to reduce the computational cost for the first few rounds of searches, but the additional computational load caused by additional steps, such as FIR filtering, data interpolation, and decimation, is limited because they are O(N) operations. Major cost saving is achieved with a light-load first-round search and constant search space pruning for subsequent rounds. Hence, the overall computational cost of MR-PCPSA is notably lower than that of PCPSA.

## 4 Hardware and software implementation

As shown in Fig. 7, a hardware baseband processor typically consists of multiple identical channels; each channel is equipped with multiple parallel correlators and can achieve fast GPS satellite acquisition [18, 19]. Although MR-PCPSA can improve the performance of the hardware-based acquisition process, the improvement is overshadowed by the parallel nature of the hardware receiver. Compared to hardware implementation, MR-PCPSA is more amenable to a software receiver, which is largely a serial process even when run on a CPU with a limited number of cores. Thus, only software-based experiments were performed.

## 5 Experiments and analysis

Experimental results based on three sets of satellite data

Data | Data 1 | Data 2 | Data 3 |
---|---|---|---|

Intermediate frequency (MHz) | 4.1304 | 4.1304 | 9.548 |

Sampling frequency (MHz) | 16.3676 | 16.3676 | 38.192 |

Initial resampling frequency | 8.2608 | 8.2608 | 19.096 |

Resampling step size (MHz) | 3.273 | 3.273 | 7.638 |

Number of satellites acquired | |||

1 round PCPSA | 5 | 7 | 6 |

10 rounds PCPSA | 8 | 9 | 9 |

MR-PCPSA | 8 | 9 | 9 |

Time cost (s) | |||

PCPSA | 7.8 | 7.7 | 19.5 |

MR-PCPSA | 4.7 | 4.5 | 11.4 |

Improvement (%) | 39.7 | 41.6 | 41.5 |

The experimental results in Table 1 illustrate that the proposed method can capture all satellites as effectively as the original PCPSA method while reducing the computation cost by approximately 40 %. Nevertheless, since the signal acquisition process is much less computationally expensive compared to the tracking process and the navigation data processing process, the overall positioning speedup is not as noticeable as the figures listed in Table 1. The overall speedup for the whole positioning process is about 3 % on average.

## 6 Conclusions

A modified PCPSA method based on input data resampling is proposed. With an initial search that uses only a fraction of the original IF data and subsequent search space pruning, the proposed method can reduce the computational cost of satellite acquisition process without sacrificing the number of captured satellites. The proposed method is applicable to various versions of GNSS receivers, such as GPS, Galileo, and Compass.

## Declarations

### Competing interests

The authors declare that they have no competing interests.

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

## Authors’ Affiliations

## References

- MS Braasch, AJ Van Dierendonck, in Proceedings of the IEEE. GPS Receiver Architectures and Measurements (IEEE, 1999), pp. 48-64Google Scholar
- BM Ledvina, ML Psiaki, SP Powell, PM Kintner, Bit-wise parallel algorithms for efficient software correlation applied to a GPS software receiver. IEEE Trans. Wireless Commun.
**3**(5), 1469–1473 (2004)View ArticleGoogle Scholar - P Misra, P Enge,
*Global Positioning System Signals, Measurements, and Performance*, 2nd edn. (Ganga-Jamuna Press, USA, 2006)Google Scholar - JB-Y Tsui,
*Fundamentals of Global Positioning System Receivers: A Software Approach*, 2nd edn. (John Wiley & Sons Press, USA, 2005)Google Scholar - J Leclère, C Botteron, P-A Farine, Comparison framework of FPGA-based GNSS signals acquisition architectures. IEEE Trans. Aerosp. Electron. Syst.
**49**(3), 1497–1518 (2013)View ArticleGoogle Scholar - DM Akos, A Software Radio Approach to Global Navigation Satellite System Receiver Design. PhD thesis, (Ohio University, 1997)Google Scholar
- A Polydoros, CL Weber, A unified approach to serial search spread-spectrum code acquisition Part I: general theory. IEEE Trans. Commun.
**32**(5), 542–549 (1984)View ArticleGoogle Scholar - K Borre, DM Akos, N Bertelsen, P Rinder, SH Jensen,
*A Software-Defined GPS and Galileo Receiver: A Single-Frequency Approach*(Birkhäuser Press, Boston, 2007)MATHGoogle Scholar - DJR Van Nee, AJRM Coenen, New fast GPS code-acquisition technique using FFT. Electron. Lett.
**27**(2), 158–160 (1991)View ArticleGoogle Scholar - K Krumvieda, P Madhani, C Cloman, E Olson, J Thomas, P Axelrad, W Kober, in Proc. ION GPS. A Complete IF Software GPS Receiver: a Tutorial about the Details (ION, Salt Lake City, 2001), pp. 789-829Google Scholar
- D Akopian, in IEE Proceedings-Radar Sonar and Navigation. Fast FFT Based GPS Satellite Acquisition Methods (IET, 2005), pp. 277-286Google Scholar
- PK Sagiraju, GVS Raju, D Akopian, Fast acquisition implementation for high sensitivity global positioning systems receivers based on joint and reduced space search, IEE Proceedings on Radar, Sonar, and Navigation. 2(5), 376-387 (2008)Google Scholar
- H Mathis, P Flammant, A Thiel, in Proc. ION GPS/GNSS. An Analytic Way to Optimize the Detector of a Post-correlation FFT Acquisition Algorithm (ION, Portland, OR, 2003), pp. 689-699Google Scholar
- F Van Diggelen, IEEE Position Location and Navigation Symposium, in
*Indoor GPS Theory & Implementation*(IEEE, Palm Springs, 2002), pp. 240–247Google Scholar - N Agarwal, J Basch, P Beckmann, P Bharti, S Bloebaum, S Casadei, A Chou, P Enge, W Fong, N Hathi, W Mann, A Sahai, J Stone, J Tsitsiklis, B Van Roy, Algorithms for GPS operation indoors and downtown, GPS Solutions, pp 149-160 (2002)Google Scholar
- DM Akos, P-L Normark, J-T Lee, KG Gromov, JBY Tsui, J Schamus, in Proc. ION GPS. Low Power Global Navigation Satellite System (GNSS) Signal Detection and Processing (ION, Salt Lake City, 2000), pp. 784-791Google Scholar
- PP Vaidyanathan, in Proc. IEEE. Multirate Digital Filters, Filter Banks, Polyphase Networks, and Applications: a Tutorial (IEEE, 1990), pp. 56-93Google Scholar
- F Van Diggelen,
*A-GPS: Assisted GPS, GNSS, and SBAS*(Artech House Press, Boston, 2009)Google Scholar - B Parkinson, J Spilker Jr, P Axelrad, P Enge,
*Global Positioning System Theory and Application*, vol. I (American Institute of Aeronautics and Astronautics Press, Washington, DC, 1996), pp. 177–208View ArticleGoogle Scholar - S Gleason, D Gebre-Egziabher,
*Gnss Application and Methods*(Artech House Press, Boston, 2009)Google Scholar