You are on page 1of 6

Time-effective GPS Time Domain Signal

Acquisition Algorithm
Glauberto L. A. Albuquerque, Carlos Valderrama Fabrício Costa Silva, Samuel Xavier-de-Souza
Department of Electronics and Microelectronics Department of Computing Engineering and Automation
University of Mons Federal University of Rio Grande do Norte
Mons, Belgium Natal, Brazil
{glauberto.albuquerque, carlos.valderrama}@umons.ac.be {fabriciocosta, samuel}@dca.ufrn.br

Abstract — This paper presents a new time-effective GPS ability to eliminate the Doppler frequency of the received
acquisition algorithm that improves the Time to First Fix (TTFF) signal [3]. By the multiplication of the incoming signal by a
of hardware GPS receivers under power consumption or delayed copy of itself, the resulting signal has all the
hardware constraints. Based on a modified Serial Search properties of the original C/A code. To determine the correct
Acquisition Algorithm (SA), this enhanced alternative, called Code Delay, in other words, locate the C/A starting point,
Reduced Two Steps Acquisition (RTSA), provides an average either an FFT (Fast Fourier Transform) or a DFT (Discrete
gain of 64.18% in number of SA calculations. In terms of speed- Fourier Transform) can be used. The noise, squared during the
up RTSA was in average 3x faster than SA without needing multiplication, degrades the overall performance of this
additional hardware resources
method. Indeed, the increased noise implies in longer
Keywords— GPS; Global Positioning Systems; Cold Start.
correlation times. Thus, to acquire a satellite signal, it will be
necessary to work with additional collected data (more than 1
I. INTRODUCTION ms), which increases the memory requirements. Circular
Correlation [4] is essentially the acquisition in the frequency
Global Positioning Systems, or simply GPS, is a domain with all pros and cons of using FFT and IFFT
navigation system capable of identifying the position of a GPS calculations. Due the need for greater memory and processing
receiver in locations where signals emitted by a constellation power, generally this approach is used in software-based
of satellites, the GPS space segment, could be reached. These
receivers.
satellites transmit different types of GPS signals. Currently, a
civil signal on the L1 carrier frequency, known as Serial search is the simplest acquisition method and the
Coarse/Acquisition (C/A), and a military one known as most frequently used, particularly in hardware GPS receivers
Precision, the P(Y) Code, on both L1 and L2, are the most [5]. The flowchart in Fig. 1 shows the synchronization
used in GPS receivers. Military code is not taken in procedure performed by the Serial Acquisition (SA) algorithm
consideration in this paper and proposed algorithm. on the incoming signal. The algorithm input is a digital IF
signal produced by a RF front-end circuit. Only when all
To compute the position, the GPS receiver must track the
parameters are properly chosen the incoming C/A code can be
signal and decode a navigation message, but to achieve this, a
extracted from the signal. This occurs when incoming signal
process called Acquisition must first be performed. During
and the one provided by C/A Code Generator and Local
Acquisition, the receiver exploits the autocorrelation and cross
Oscillator are in phase. In another words, at the same Doppler
correlation properties of PRN codes that are mutually
frequency and code phase (time alignment of generated code
orthogonal. This means a high autocorrelation peak and a low
sequence with respect to the incoming data).
cross-correlation between them. The relative motion between
the receiver and the observed GPS satellite causes a frequency
shift in the carrier when it arrives to the receiver called
Doppler. GPS receiver needs to find the correct Doppler
frequency, the correct PRN code and the exact code phase to
obtain a high correlation between the local reference and the
incoming signal. GPS satellites do not transmit with enough
power the GPS signals. Because of that, in addition to their
orbital altitudes of approximately 20,200 km, the GPS signal
is extracted “from the noise” and thus detection becomes a
statistical process [1]. The choice of a good detection
threshold is based on an acceptable probability of false
detection [2].
There are mainly three approaches on signal acquisition:
Serial Search, Circular Correlation and the Delay-and- Fig. 1 - Serial search acquisition algorithm
Multiply approach. The interest of the latter method is the

978-1-5090-1757-7/16/$31.00 © 2016 IEEE


After code removal, the in-phase (I) and quadrature-phase to be 54% lower than the FFT-based method in [10]. However,
(Q) components are generated. Computationally speaking, I/Q the response time was not significantly improved. Inspired by a
components are represented by two vectors. Multiplication recent work on sparse (and inverse) Fourier Transform, a
with the locally generated carrier signal (produced by the Local simple algorithm presented in [7] intends to efficiently perform
Oscillator) generates the in-phase signal I, and multiplication the IFFT step of GPS synchronization. Compared to an FFT-
with a 90° phase-shifted version produces the quadrature signal based algorithm [5] this method reduces the number of
Q. The squared values of I and Q components are finally added multiplications for detecting a correct shift by a median of
up. If this resulting value exceeds a certain threshold, the signal 2.2x. Also, FFT-based algorithms require larger amount of
is acquired; otherwise, the process is repeated. Due to the hardware resources that the ones operating in the time domain.
quasi-orthogonality of the C/A codes, if the phases of the
incoming signal and its replica are not completely aligned, the The method recently introduced in [11] captures and
resulting value is very close to zero, otherwise it peaks [6]. embeds information in a lower dimensional space by random
ensembles. It provides a simple dimensionality reduction
The Control Loops module in Fig. 1 causes the C/A Code mechanism to compact the dataset resulting in technique that is
Generator and Local Oscillator to sweep all possible code twice more energy efficient but is suitable only for delay-
phase and Doppler frequencies, respectively. The Decision tolerant applications.
Logic is responsible for stopping this scanning process when
the correlation exceeds a defined threshold or after having Despite the SA be a slower algorithm than those who
analyzed all the phases and frequencies without success. perform the acquisition in the frequency domain (FFT and
IFFT calculations), it is quite advantageous in terms of
An important metric to evaluate the performance of a GPS consumption of hardware resources. This is especially
receiver is the Time to First Fix (TTFF) which is defined as the advantageous in embedded systems and/or those restricted in
time elapsed from receiver switch-on to provision of a terms of power consumption. This reason explains all research
navigation solution. When no previous information is available to improve SA overall performance.
at the receiver and the receiver entails a full search of the sky
for all satellites we have a Cold Start. All considerations and III. THE PROPOSED ALGORITHM
algorithms given in this paper are based upon the condition of The proposed new algorithm, called Reduced Two Steps
cold start. Despite the many efforts for reducing the TTFF, the Acquisition (RTSA), is a variation of the Two-Step Acquisition
adopted strategies still put in conflict design issues such as (TSA) algorithm presented in [13]. Both were developed to
response time, hardware resources and computational reduce the computational complexity and response time of the
complexity. acquisition process without increasing hardware requirements.
Prior to the complete processing of its first location, The new approach dynamically changes the algorithm search
acquisition is the step that contributes the most to increase the speed by adjusting the Doppler Bin width and consequently the
TTFF The present paper describes a fast and low number of partitions by using a Search Factor (SF). Indeed,
computational complexity strategy that performs acquisition in The Doppler frequency used to correlate data is determined by
two steps without increasing hardware resources requirements. the Doppler Bin width which can now be parametrized.

This paper is organized as follows. Section II discusses The input of the RTSA is GPS data sampled from a GPS
some attempts to decrease TTFF. Our proposal is the main Front-End. The search is performed in two steps. In the first
subject of Section III and its benefits are evaluated in Section step, called Coarse Search (CS), the algorithm performs a
IV. Finally, Section V concludes with considerations about serial search but partitioning the continuous Doppler frequency
the future of this approach. range in Doppler Bins. Thus, the width of a Doppler Bin
determines the number of partitions. In this step, the algorithm
II. DECREASING TTFF is responsible for detecting the region in the Doppler range in
which will probably be found a good correlation between
As stated above, other approaches were developed in order incoming and locally generated reference signals.
to accelerate the TTFF. Most of new algorithms implement
signal acquisition in the frequency domain using the FFT. The computation of Doppler Bins is determined by three
Those algorithms belong to the group named Circular parameters: Doppler range, Doppler Bin Width and Search
Correlation or Parallel Search. FFT-based algorithms have a Factor, according with the next two equations:
computational complexity of O(n log n), where n is the number
of data samples. However, the cost of required hardware opp er ange
resources and energy consumption make it prohibitive for some ax um opp er ins 1 (1)
in opp er in idht
uses. Indeed, it appeared many other variations of Circular
Correlation algorithms to reduce complexity or hardware ax um opp er 1
requirements, some of the newer ones are referenced by [6-8]. um opp er ins round 2 (2)
earch actor
Vannee and Coenen [9] have proposed a new acquisition MaxNumDopplerBins takes in consideration the
strategy that sequentially seeks for visible satellites and carrier DopplerRange (usually 20Khz) defined for the receiver and the
frequencies, but which searches in parallel for the beginning of minimum Doppler Bin width (MinDopplerBinnWidth in Eq.
the C/A code. This algorithm reduces the acquisition time and (1), which for the standard Serial Acquisition (SA) algorithm is
computational complexity but still consumes larger amounts of
hardware resources. The computational complexity is reported
generally 500 Hz. With these values the number of partitions The RTSA algorithm uses the relative threshold approach as
used in SA (or MaxNumDopplerBins) is 41. decision mechanism. In this case, the term variance is
introduced to denote the ratio between the energies (or
The Search Factor (SF) allows parameterizing the number correlation peaks) of two cells. In order to be compared to a
of partitions (thus NumDopplerBins) and therefore the Doppler reference threshold, the peak values (p1 and p2) used to
Bin width. By using a SF of 8, the RTSA starts with a small compute the variance, var in Eq. 3, are normalized by the
number of partitions and wide Doppler Bin width. The SF will highest peak (as in Eq. 4). During the CS step, var is computed
be decremented by 2 in the case where no signal was found at between the biggest (p1) and the fifth biggest (p2) correlation
the end of the correlating step. The use of a factor 2 (the peak, while in the FS step, var is calculated between the
minimum allowed value in CS) means that the RTSA behaves biggest (p1) and the third biggest one (p2). This strategy aims
like the TSA. Fig. 3 shows the relation between the SF, the to include in calculations peaks that are sufficiently spaced
Doppler range and the Doppler Bin width. For instance, an SF from one another. Indeed, the bin widths used in the CS are
of 4 means that the number of partitions (NumDopplerBin of wider than in the traditional serial search. In addition, RTSA
12 instead of 41) is reduced about 70% regarding the SA. uses different thresholds for CS and FS because in CS the
Despite the obvious advantages in terms of runtime, to correlation peaks are smaller, as well as the associated
reduce the number of partitions also means less precise variance.
calculation of Doppler frequency. Thus, the second step of the
algorithm, called Fine Search (FS), will subsequently improve
the accuracy by using narrow Doppler Bins. Nevertheless, the [( ) ( ) ] (3)
fine search will be performed within the region found in the
previous step. The relationship between Doppler Bin width in
CS and FS is shown in Fig. 2. FS uses narrow Doppler Bins [( ) ( ) ]
covering a region slightly larger than the Doppler Bin used in (4)
the CS step. This assures a better correlation in the case that the
Doppler frequency is near the border of the coarse Doppler Another particularity of RTSA is that during CS the
Bin. threshold can be reached before the end of the integration
cycle. In fact, the number of samples required for the variance
to exceed the threshold depends on the signal quality. Indeed,
the peak is proportional to the number of correlated samples, as
it can be seen in Figures 4-6. For instance, Figure 6 has a peak
value for the first 300 samples that could be sufficient to trigger
FS, when compared to Figures 4-5 using less samples. Of
course this value is not reliable, but it will be refined or refuted
Fig. 2 - Doppler bin width relationship
at the FS phase.
RTAS also differs in the way the peak is computed. Our
strategy uses a data sample increment, whereas the
conventional method uses a cell increment. In another words,
the search for a peak is evaluated after testing one sample on
all possible cells (a pair Doppler Bin and Code Phase as in Fig.
3), adding samples to the cells when the condition is not
satisfied.

Fig. 3 -The influence of Search Factor in Coarse Doppler Bin Width

Decision Logic of conventional time domain acquisition


(Fig. 1) has two approaches to end the Acquisition process. The
first strategy bases its decision on comparing the energy of a
Doppler Bin cell (a particular pair Doppler Bin x Code Phase
on Fig. 3) to a threshold, while the second one uses the energy
ratio between the two biggest ones. In both cases, the
acquisition ends as soon as the threshold is reached. Figure 4. Peak value for the first 100 samples
IV. TESTS AND RESULTS
The algorithm was compared with traditional serial search
in terms of number of calculations. For this, was used the same
test signal as in [15]. This signal contain IF samples of GPS L1
data in a sampling rate of 11.999MHz. Data is sampled with 1
bit resolution. A 1-bit resolution signal was used because it is
the worst case in terms of signal gain. According to [1] a 1-bit
ADC causes a loss of about 1.96 dB. Another decision was to
use a fixed acquisition threshold in both search steps despite
the different power levels of satellites present in the signal.
The number of calculations in the Serial Search algorithm
could be determined by using Equations (5-6). These equations
are based on the structure shown in Figure 1 and adapted from
[16]:
IM=IA=SR * Tint (5)
Figure 5. Peak value for the first 200 samples
NC= CL x (5IM +3IA) x DB (6)

The number of integer multiplications IM and additions IA


are computed according to the sampling rate SR of the signal
and the integration time Tint. Both will be used, together with
the number of Doppler Bins DB and the code length CL, to
compute the number of calculations NC. As we are using an L1
GPS signal, the number of possible phases, or code lengths, of
the signal is 1023. DB depends on the Doppler Bin width,
which is 500Hz in the standard serial algorithm, so, that
algorithm has 41 Doppler Bin frequencies in its search domain.
By using all the above parameters, the number of calculations
for the standard serial algorithm is 4.03x109.
In order to keep the algorithm in the nearby of its
implementation (i.e. in real time conditions), every time the
algorithm runs, a random position in the collected data is
Figure 6. Peak value for the first 300 samples chosen. However, note that only 1 ms of the incoming GPS
signal was used to correlate with the generated C/A code. The
Following we present the pseudo-code of the algorithm. use of this short sample interval represents the shortest
Pseudo-code: integration time possible.
1.INPUT: GPS SIGNAL IN IF, local PRN code
2.OUTPUT: Phase and frequency RTAS ran 500 times in search of each GPS satellite and the
3.for a Search Factor from 8 to 2 step -2 do obtained results were collected at the end of each run.
4 Calculate Doppler Bin Frequencies according to Search
Factor
Thereafter, the results were analyzed. First, was analyzed the
5. for each samplesPerChip do algorithm's success rate. The summary of results is shown in
6. for each samples do Table 1. From these results, the success rate is at least about
7. for each Doppler bin frequency do
8. for each phases do 40% and the highest rate was about 90%.
9. Calculate I and Q components.
10. Calculate the correlation value. TABLE I. PRN SEARCH SUCCESS RATE
11 Store if it’s larger than five biggest stored peaks.
12. end for PRN Success
13. end for searched Rate (%)
14. Calculate the variance of the
normalized largest and smallest peak. 1 76.60
15. if variance > coarseThreshold
16. Start Fine Search. 16 45.00
17. if satellite found
18. Return successfully a phase/frequency pair. 17 37.00
19. end if
20. end if 21 54.00
21. end for
22. end for 24 53.00
23 end for
24. Return unsuccessful search 25 52.80
30 87.40
Another observed parameter was the number of Dividing the highest correlation values achieved by the
calculations in two cases: successful and unsuccessful. We algorithm in the FS by the total number of samples in the
considered an unsuccessful run when the algorithm was unable integration time (11999 samples in this example), we obtain a
to find a Doppler frequency or code phase, but also the measure of how much energy is “captured” by the corre ation
presence of a “false positive”, when the opp er frequency or process; in other words, how good was the correlation process.
code phase found did not match the correct value. These As we can see on Table IV, the average ratio
parameters were used to assess the percentage gain (or loss) of Correlation/Samples is much higher during a successful
the proposed algorithm compared to the standard serial search runtime than in the opposite case. This parameter could be used
SA. in future versions of RTAS to avoid unnecessary searches
before correlate all samples.
TABLE II. PERCENT OF CALCULATIONS GAIN
TABLE III. AVERAGE SAMPLES USED (%)
% Gain
% Gain in % Aprox.
Satellite in
Unsuccessful Gain Speed-up % Samples % Samples
Searched Successful Satellite
Runtime Total Gain Correlated in Correlated in
Runtime Searched
Successful Runtime Unsuccessful Runtime
1 95.88 31.05 80.71 5x
3x 1 24.0 119.6
16 77.27 42.39 58.09
2x 16 53.1 64.8
17 68.73 35.94 48.07
3x 17 39.6 69.4
21 97.71 23.49 63.57
2x 21 28.7 71.5
24 94.30 12.27 55.75
3x 24 58.3 80.9
25 77.88 44.62 62.18
30 94.34 32.30 86.53 5x 25 31.1 61.7
30 51.3 119.8
Average 86.59 31.72 64.98 3x

Table II summarizes the average percentage of calculations


worked out for each PRN code sought. We can see on this table TABLE IV. AVERAGE RATIO CORRELATION/SAMPLES
that even in the worst case (PRN=17) the total calculations are
Correlation/Samples
nearly 50% less than those in SA. For instance, when the Satellite Correlation/Samples
Unsuccessful
proposed algorithm performs the search of PRN 16, it performs Searched Successful Runtime
Runtime
almost 78% fewer calculations than SA to correctly find
Doppler and code phase parameters. Even in the unsuccessful 1 0.764026453 0.363054810
case, the number of calculations is 42.39% lower than the SA. 16 0.585624473 0.355461795
In the best case, when PRN=30, the average percentage gain
was greater than 94% for the successful execution and 32.30 % 17 0.517885175 0.342412867
during the unsuccessful execution. 21 0.465723367 0.334332451
This article does not take into account possible changes in 24 0.974419566 0.333891548
architecture that can speed up time of calculations, such as 25 0.730417763 0.333657346
performing calculations in parallel. Also, the fifth column of
30 0.655705237 0.320531069
Table II shows the approximate gain in terms of speed up,
whereas only a reduced amount of calculations required.
V. CONCLUSIONS AND FUTURE WORKS
Another significant performance result was the average A new algorithm of GPS C/A code acquisition was
number of signal samples correlated in the first phase of RTSA presented and some of its results. This algorithm has been
(Table III). This data gives an idea of how fast the algorithm purposed for cases where there are severe constraints of
converges towards the correct answer. According to this table, available resources or power consumption. The signal
the first phase of RTAS correlates, in general, less data than resolution of sampled data and integration time were treated in
available (1ms of samples) before calling FS. It means the the worst possible conditions in order to properly evaluate the
algorithm was capab e to “capture” more energy during the potential of this algorithm in future GPS receivers. Using a
correlation process when a correct searching cell is chosen. GPS sampled data, containing the PRN code of multiple
However, in unsuccessful runtime the average sometimes satellites, this algorithm had a total average gain, regarding
exceeds 100%, i.e. all samples were correlated with all SFs standard Serial Acquisition number of calculations, of 64.98%.
(line 3 of pseudo-code) without any success at the end. In that In some situations, the average gain was about 87%. New tests
case, the search for all search factors and using all samples is and assessments shall be carried out, using simulated and real
about 20% higher, in terms of calculation, that the traditional signals, in order to optimize the Acquisition Parameters of
algorithm. Because of that, another parameter, set out below, RTAS and increase calculations gain. This test will use signals
should be used in future versions of the algorithm to eliminate with different Code Phases, Doppler Frequencies and C/N0.
this weakness.
These signals were not available at the moment of first tests. A [9] Vannee, D.J.R. & A.J.R.M. Coenen (1991), "New fast gps code-
mathematical model of this algorithm is also in development. acquisition technique using fft", Electronics Letters 27(2), 158–160.
[10] Dovis, F., F. Maurizio & M. Pini (2008), Efficient signal acquisition and
VI. REFERENCES tracking for a rea time gps/ga i eo software receiver, em „ igna s,
Systems and Computers, 2008 42nd Asi omar Conference on‟, pp.
2071–2075.
[1] Navstar, G. P. S. "Global positioning system standard positioning [11] Misra, Prasant Kumar, et al. "Energy efficient gps acquisition with
service signal specification." June 2 (1995): 51. sparse-gps." Proceedings of the 13th international symposium on
[2] Kaplan, E., & Hegarty, C. (Eds.). (2005). Understanding GPS: Information processing in sensor networks. IEEE Press, 2014..
principles and applications. Artech house. [12] Wu, Jianfeng, and Yonghui Hu. "The study on GPS signal acquisition
[3] Lin, ., Tsui, J., “Acquisition schemes for software GP receiver,” IO algorithm in time domain." Wireless Communications, Networking and
GPS-98, pp. 317 – 325 , Nashville, TN, September 15 – 18, 1998. Mobile Computing, 2008. WiCOM'08. 4th International Conference on.
[4] Barker, B.C., J.W. Betz, J.E. Clark, J.T. Correia, J.T. Gillis, S. Lazar, IEEE, 2008.
K.A. Rehborn, and J.R. Straton (2000), Overview of the GPS M Code [13] Costa Silva Fabrício, Xavier-de-Souza Samuel, das Chagas Mota
Signal, Proc. of ION NTM-2000, Anaheim, CA. Francisco, Alves De Albuquerque Glauberto Leilson, Valderrama
[5] Tsui, James Bao-Yen. Fundamentals of global positioning: A software Carlos, "Two-step Low Complexity GPS Signal Acquisition" in ION
approach. Wiley-Interscience, 2005. Pacific PNT Meeting 2015 (2015)
[6] Zhao, Lin, et al. "Optimized FFT Algorithm and its Application to Fast [14] Geiger, Bernhard C., and Christian Vogel. "Influence of Doppler Bin
GPS Signal Acquisition." Navigation 1575 (2011). Width on GPS Acquisition Probabilities." arXiv preprint
arXiv:1107.1972 (2011).
[7] Hassanieh, Haitham, et al. "Faster gps via the sparse fourier transform"
Proceedings of the 18th annual international conference on Mobile [15] Danish GPS Center. Accessed in Dec 2014. Available in:
computing and networking. ACM, 2012. http://gps.aau.dk
[8] Pate , Vadana. “ educed-Size FFT Correlation Techniques for GPS [16] Baracchi Frei, Marcel, et al. "Real-time GNSS software receivers
igna Acquisition”. Journa of Computer App ications – IJCA. Number Challenges, status and perspectives." Coordinates Magazine 4.EPFL-
3 - Article 8 - Year of Publication 2011. ARTICLE-167656 (2010): 7-9.

You might also like