Document not found! Please try again

Time-effective GPS Time Domain Signal Acquisition Algorithm (PDF ...

10 downloads 45494 Views 1MB Size Report
Official Full-Text Paper (PDF): Time-effective GPS Time Domain Signal Acquisition Algorithm. ... Full-text (PDF). Available from: Samuel Xavier-de-Souza, Jul 13, 2016 .... receivers. Serial search is the simplest acquisition method and the.
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 University of Mons Mons, Belgium {glauberto.albuquerque, carlos.valderrama}@umons.ac.be

Department of Computing Engineering and Automation Federal University of Rio Grande do Norte Natal, Brazil {fabriciocosta, samuel}@dca.ufrn.br

Abstract — This paper presents a new time-effective GPS acquisition algorithm that improves the Time to First Fix (TTFF) of hardware GPS receivers under power consumption or hardware constraints. Based on a modified Serial Search Acquisition Algorithm (SA), this enhanced alternative, called Reduced Two Steps Acquisition (RTSA), provides an average gain of 64.18% in number of SA calculations. In terms of speedup RTSA was in average 3x faster than SA without needing additional hardware resources Keywords— GPS; Global Positioning Systems; Cold Start.

I. INTRODUCTION Global Positioning Systems, or simply GPS, is a navigation system capable of identifying the position of a GPS receiver in locations where signals emitted by a constellation of satellites, the GPS space segment, could be reached. These satellites transmit different types of GPS signals. Currently, a civil signal on the L1 carrier frequency, known as Coarse/Acquisition (C/A), and a military one known as Precision, the P(Y) Code, on both L1 and L2, are the most used in GPS receivers. Military code is not taken in consideration in this paper and proposed algorithm. To compute the position, the GPS receiver must track the signal and decode a navigation message, but to achieve this, a process called Acquisition must first be performed. During Acquisition, the receiver exploits the autocorrelation and cross correlation properties of PRN codes that are mutually orthogonal. This means a high autocorrelation peak and a low 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-andMultiply approach. The interest of the latter method is the

ability to eliminate the Doppler frequency of the received signal [3]. By the multiplication of the incoming signal by a delayed copy of itself, the resulting signal has all the properties of the original C/A code. To determine the correct Code Delay, in other words, locate the C/A starting point, either an FFT (Fast Fourier Transform) or a DFT (Discrete Fourier Transform) can be used. The noise, squared during the multiplication, degrades the overall performance of this method. Indeed, the increased noise implies in longer correlation times. Thus, to acquire a satellite signal, it will be necessary to work with additional collected data (more than 1 ms), which increases the memory requirements. Circular Correlation [4] is essentially the acquisition in the frequency domain with all pros and cons of using FFT and IFFT calculations. Due the need for greater memory and processing power, generally this approach is used in software-based receivers. Serial search is the simplest acquisition method and the most frequently used, particularly in hardware GPS receivers [5]. The flowchart in Fig. 1 shows the synchronization procedure performed by the Serial Acquisition (SA) algorithm on the incoming signal. The algorithm input is a digital IF signal produced by a RF front-end circuit. Only when all parameters are properly chosen the incoming C/A code can be extracted from the signal. This occurs when incoming signal and the one provided by C/A Code Generator and Local Oscillator are in phase. In another words, at the same Doppler frequency and code phase (time alignment of generated code sequence with respect to the incoming data).

Fig. 1 - Serial search acquisition algorithm

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

After code removal, the in-phase (I) and quadrature-phase (Q) components are generated. Computationally speaking, I/Q components are represented by two vectors. Multiplication with the locally generated carrier signal (produced by the Local Oscillator) generates the in-phase signal I, and multiplication with a 90° phase-shifted version produces the quadrature signal Q. The squared values of I and Q components are finally added up. If this resulting value exceeds a certain threshold, the signal is acquired; otherwise, the process is repeated. Due to the quasi-orthogonality of the C/A codes, if the phases of the incoming signal and its replica are not completely aligned, the resulting value is very close to zero, otherwise it peaks [6]. The Control Loops module in Fig. 1 causes the C/A Code Generator and Local Oscillator to sweep all possible code phase and Doppler frequencies, respectively. The Decision Logic is responsible for stopping this scanning process when the correlation exceeds a defined threshold or after having analyzed all the phases and frequencies without success. An important metric to evaluate the performance of a GPS receiver is the Time to First Fix (TTFF) which is defined as the time elapsed from receiver switch-on to provision of a navigation solution. When no previous information is available at the receiver and the receiver entails a full search of the sky for all satellites we have a Cold Start. All considerations and algorithms given in this paper are based upon the condition of cold start. Despite the many efforts for reducing the TTFF, the adopted strategies still put in conflict design issues such as response time, hardware resources and computational complexity. Prior to the complete processing of its first location, acquisition is the step that contributes the most to increase the TTFF The present paper describes a fast and low computational complexity strategy that performs acquisition in two steps without increasing hardware resources requirements. This paper is organized as follows. Section II discusses some attempts to decrease TTFF. Our proposal is the main subject of Section III and its benefits are evaluated in Section IV. Finally, Section V concludes with considerations about the future of this approach. II. DECREASING TTFF As stated above, other approaches were developed in order to accelerate the TTFF. Most of new algorithms implement signal acquisition in the frequency domain using the FFT. Those algorithms belong to the group named Circular Correlation or Parallel Search. FFT-based algorithms have a computational complexity of O(n log n), where n is the number of data samples. However, the cost of required hardware resources and energy consumption make it prohibitive for some uses. Indeed, it appeared many other variations of Circular Correlation algorithms to reduce complexity or hardware requirements, some of the newer ones are referenced by [6-8]. Vannee and Coenen [9] have proposed a new acquisition strategy that sequentially seeks for visible satellites and carrier frequencies, but which searches in parallel for the beginning of the C/A code. This algorithm reduces the acquisition time and computational complexity but still consumes larger amounts of hardware resources. The computational complexity is reported

to be 54% lower than the FFT-based method in [10]. However, the response time was not significantly improved. Inspired by a recent work on sparse (and inverse) Fourier Transform, a simple algorithm presented in [7] intends to efficiently perform the IFFT step of GPS synchronization. Compared to an FFTbased algorithm [5] this method reduces the number of multiplications for detecting a correct shift by a median of 2.2x. Also, FFT-based algorithms require larger amount of hardware resources that the ones operating in the time domain. The method recently introduced in [11] captures and embeds information in a lower dimensional space by random ensembles. It provides a simple dimensionality reduction mechanism to compact the dataset resulting in technique that is twice more energy efficient but is suitable only for delaytolerant applications. Despite the SA be a slower algorithm than those who perform the acquisition in the frequency domain (FFT and IFFT calculations), it is quite advantageous in terms of consumption of hardware resources. This is especially advantageous in embedded systems and/or those restricted in terms of power consumption. This reason explains all research to improve SA overall performance. III. THE PROPOSED ALGORITHM The proposed new algorithm, called Reduced Two Steps Acquisition (RTSA), is a variation of the Two-Step Acquisition (TSA) algorithm presented in [13]. Both were developed to reduce the computational complexity and response time of the acquisition process without increasing hardware requirements. The new approach dynamically changes the algorithm search speed by adjusting the Doppler Bin width and consequently the number of partitions by using a Search Factor (SF). Indeed, The Doppler frequency used to correlate data is determined by the Doppler Bin width which can now be parametrized. The input of the RTSA is GPS data sampled from a GPS Front-End. The search is performed in two steps. In the first step, called Coarse Search (CS), the algorithm performs a serial search but partitioning the continuous Doppler frequency range in Doppler Bins. Thus, the width of a Doppler Bin determines the number of partitions. In this step, the algorithm is responsible for detecting the region in the Doppler range in which will probably be found a good correlation between incoming and locally generated reference signals. The computation of Doppler Bins is determined by three parameters: Doppler range, Doppler Bin Width and Search Factor, according with the next two equations: ax um opp er ins

opp er ange 1 in opp er in idht

(1)

ax um opp er 1 2 (2) earch actor MaxNumDopplerBins takes in consideration the DopplerRange (usually 20Khz) defined for the receiver and the minimum Doppler Bin width (MinDopplerBinnWidth in Eq. (1), which for the standard Serial Acquisition (SA) algorithm is um opp er ins round

generally 500 Hz. With these values the number of partitions used in SA (or MaxNumDopplerBins) is 41. The Search Factor (SF) allows parameterizing the number of partitions (thus NumDopplerBins) and therefore the Doppler Bin width. By using a SF of 8, the RTSA starts with a small number of partitions and wide Doppler Bin width. The SF will be decremented by 2 in the case where no signal was found at the end of the correlating step. The use of a factor 2 (the minimum allowed value in CS) means that the RTSA behaves like the TSA. Fig. 3 shows the relation between the SF, the Doppler range and the Doppler Bin width. For instance, an SF of 4 means that the number of partitions (NumDopplerBin of 12 instead of 41) is reduced about 70% regarding the SA. Despite the obvious advantages in terms of runtime, to reduce the number of partitions also means less precise 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 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 the CS step. This assures a better correlation in the case that the Doppler frequency is near the border of the coarse Doppler Bin.

Fig. 2 - Doppler bin width relationship

The RTSA algorithm uses the relative threshold approach as decision mechanism. In this case, the term variance is introduced to denote the ratio between the energies (or correlation peaks) of two cells. In order to be compared to a reference threshold, the peak values (p1 and p2) used to compute the variance, var in Eq. 3, are normalized by the highest peak (as in Eq. 4). During the CS step, var is computed between the biggest (p1) and the fifth biggest (p2) correlation peak, while in the FS step, var is calculated between the biggest (p1) and the third biggest one (p2). This strategy aims to include in calculations peaks that are sufficiently spaced from one another. Indeed, the bin widths used in the CS are wider than in the traditional serial search. In addition, RTSA uses different thresholds for CS and FS because in CS the correlation peaks are smaller, as well as the associated variance. [( [(

) )

(

(

) ] ) ]

(3)

(4)

Another particularity of RTSA is that during CS the 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 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]: Figure 5. Peak value for the first 200 samples

IM=IA=SR * Tint

(5)

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.

Figure 6. Peak value for the first 300 samples

Following we present the pseudo-code of the algorithm. Pseudo-code: 1.INPUT: GPS SIGNAL IN IF, local PRN code 2.OUTPUT: Phase and frequency 3.for a Search Factor from 8 to 2 step -2 do 4 Calculate Doppler Bin Frequencies according to Search Factor 5. for each samplesPerChip do 6. for each samples do 7. for each Doppler bin frequency do 8. for each phases do 9. Calculate I and Q components. 10. Calculate the correlation value. 11 Store if it’s larger than five biggest stored peaks. 12. end for 13. end for 14. Calculate the variance of the normalized largest and smallest peak. 15. if variance > coarseThreshold 16. Start Fine Search. 17. if satellite found 18. Return successfully a phase/frequency pair. 19. end if 20. end if 21. end for 22. end for 23 end for 24. Return unsuccessful search

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 chosen. However, note that only 1 ms of the incoming GPS signal was used to correlate with the generated C/A code. The use of this short sample interval represents the shortest integration time possible. RTAS ran 500 times in search of each GPS satellite and the obtained results were collected at the end of each run. Thereafter, the results were analyzed. First, was analyzed the algorithm's success rate. The summary of results is shown in Table 1. From these results, the success rate is at least about 40% and the highest rate was about 90%. TABLE I.

PRN SEARCH SUCCESS RATE PRN searched

Success Rate (%)

1

76.60

16

45.00

17

37.00

21

54.00

24

53.00

25

52.80

30

87.40

Another observed parameter was the number of calculations in two cases: successful and unsuccessful. We considered an unsuccessful run when the algorithm was unable to find a Doppler frequency or code phase, but also the presence of a “false positive”, when the opp er frequency or code phase found did not match the correct value. These parameters were used to assess the percentage gain (or loss) of the proposed algorithm compared to the standard serial search SA. TABLE II.

PERCENT OF CALCULATIONS GAIN TABLE III.

% Gain in Successful Runtime

% Gain in Unsuccessful Runtime

1

95.88

31.05

80.71

5x

16

77.27

42.39

58.09

3x

17

68.73

35.94

48.07

21

97.71

23.49

24

94.30

25

Satellite Searched

Dividing the highest correlation values achieved by the algorithm in the FS by the total number of samples in the integration time (11999 samples in this example), we obtain a measure of how much energy is “captured” by the corre ation process; in other words, how good was the correlation process. As we can see on Table IV, the average ratio Correlation/Samples is much higher during a successful runtime than in the opposite case. This parameter could be used in future versions of RTAS to avoid unnecessary searches before correlate all samples.

% Gain Total

Aprox. Speed-up Gain

AVERAGE SAMPLES USED (%)

% Samples Correlated in Successful Runtime

% Samples Correlated in Unsuccessful Runtime

1

24.0

119.6

2x

16

53.1

64.8

63.57

3x

17

39.6

69.4

12.27

55.75

2x

21

28.7

71.5

77.88

44.62

62.18

3x

24

58.3

80.9

30

94.34

32.30

86.53

5x

25

31.1

61.7

Average

86.59

31.72

64.98

3x

30

51.3

119.8

Table II summarizes the average percentage of calculations worked out for each PRN code sought. We can see on this table that even in the worst case (PRN=17) the total calculations are nearly 50% less than those in SA. For instance, when the proposed algorithm performs the search of PRN 16, it performs almost 78% fewer calculations than SA to correctly find Doppler and code phase parameters. Even in the unsuccessful case, the number of calculations is 42.39% lower than the SA. In the best case, when PRN=30, the average percentage gain was greater than 94% for the successful execution and 32.30 % during the unsuccessful execution. This article does not take into account possible changes in architecture that can speed up time of calculations, such as performing calculations in parallel. Also, the fifth column of Table II shows the approximate gain in terms of speed up, whereas only a reduced amount of calculations required. Another significant performance result was the average number of signal samples correlated in the first phase of RTSA (Table III). This data gives an idea of how fast the algorithm converges towards the correct answer. According to this table, the first phase of RTAS correlates, in general, less data than available (1ms of samples) before calling FS. It means the algorithm was capab e to “capture” more energy during the correlation process when a correct searching cell is chosen. However, in unsuccessful runtime the average sometimes exceeds 100%, i.e. all samples were correlated with all SFs (line 3 of pseudo-code) without any success at the end. In that case, the search for all search factors and using all samples is about 20% higher, in terms of calculation, that the traditional algorithm. Because of that, another parameter, set out below, should be used in future versions of the algorithm to eliminate this weakness.

Satellite Searched

TABLE IV.

AVERAGE RATIO CORRELATION/SAMPLES Correlation/Samples Successful Runtime

Correlation/Samples Unsuccessful Runtime

1

0.764026453

0.363054810

16

0.585624473

0.355461795

17

0.517885175

0.342412867

21

0.465723367

0.334332451

24

0.974419566

0.333891548

25

0.730417763

0.333657346

30

0.655705237

0.320531069

Satellite Searched

V. CONCLUSIONS AND FUTURE WORKS A new algorithm of GPS C/A code acquisition was presented and some of its results. This algorithm has been purposed for cases where there are severe constraints of available resources or power consumption. The signal resolution of sampled data and integration time were treated in the worst possible conditions in order to properly evaluate the potential of this algorithm in future GPS receivers. Using a GPS sampled data, containing the PRN code of multiple satellites, this algorithm had a total average gain, regarding standard Serial Acquisition number of calculations, of 64.98%. In some situations, the average gain was about 87%. New tests and assessments shall be carried out, using simulated and real signals, in order to optimize the Acquisition Parameters of RTAS and increase calculations gain. This test will use signals with different Code Phases, Doppler Frequencies and C/N0.

These signals were not available at the moment of first tests. A mathematical model of this algorithm is also in development.

[9] [10]

VI. REFERENCES [1] [2] [3] [4]

[5] [6] [7]

[8]

Navstar, G. P. S. "Global positioning system standard positioning service signal specification." June 2 (1995): 51. Kaplan, E., & Hegarty, C. (Eds.). (2005). Understanding GPS: principles and applications. Artech house. Lin, ., Tsui, J., “Acquisition schemes for software GP receiver,” IO GPS-98, pp. 317 – 325 , Nashville, TN, September 15 – 18, 1998. Barker, B.C., J.W. Betz, J.E. Clark, J.T. Correia, J.T. Gillis, S. Lazar, K.A. Rehborn, and J.R. Straton (2000), Overview of the GPS M Code Signal, Proc. of ION NTM-2000, Anaheim, CA. Tsui, James Bao-Yen. Fundamentals of global positioning: A software approach. Wiley-Interscience, 2005. Zhao, Lin, et al. "Optimized FFT Algorithm and its Application to Fast GPS Signal Acquisition." Navigation 1575 (2011). Hassanieh, Haitham, et al. "Faster gps via the sparse fourier transform" Proceedings of the 18th annual international conference on Mobile computing and networking. ACM, 2012. Pate , Vadana. “ educed-Size FFT Correlation Techniques for GPS igna Acquisition”. Journa of Computer App ications – IJCA. Number 3 - Article 8 - Year of Publication 2011.

[11]

[12]

[13]

[14]

[15] [16]

Vannee, D.J.R. & A.J.R.M. Coenen (1991), "New fast gps codeacquisition technique using fft", Electronics Letters 27(2), 158–160. Dovis, F., F. Maurizio & M. Pini (2008), Efficient signal acquisition and 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. Misra, Prasant Kumar, et al. "Energy efficient gps acquisition with sparse-gps." Proceedings of the 13th international symposium on Information processing in sensor networks. IEEE Press, 2014.. Wu, Jianfeng, and Yonghui Hu. "The study on GPS signal acquisition algorithm in time domain." Wireless Communications, Networking and Mobile Computing, 2008. WiCOM'08. 4th International Conference on. IEEE, 2008. Costa Silva Fabrício, Xavier-de-Souza Samuel, das Chagas Mota Francisco, Alves De Albuquerque Glauberto Leilson, Valderrama Carlos, "Two-step Low Complexity GPS Signal Acquisition" in ION Pacific PNT Meeting 2015 (2015) Geiger, Bernhard C., and Christian Vogel. "Influence of Doppler Bin Width on GPS Acquisition Probabilities." arXiv preprint arXiv:1107.1972 (2011). Danish GPS Center. Accessed in Dec 2014. Available in: http://gps.aau.dk Baracchi Frei, Marcel, et al. "Real-time GNSS software receivers Challenges, status and perspectives." Coordinates Magazine 4.EPFLARTICLE-167656 (2010): 7-9.