Implementation of Signal Acquisition and Tracking for GPS-Based Software Defined Radio Receiver

H.N. Htay
Z.M. Lwin
T. Hla

“Global Positioning System (GPS)” is extensively used for various satellite-based navigation applications. Nowadays, a software-defined GPS receiver has been developed since it is low cost, flexible and able to use in developing more advanced navigation processing algorithms. To implement a GPS software receiver, it is necessary to process three main modules: acquisition, tracking and navigation demodulation for the position, velocity and time (PVT) solution. Signal acquisition estimates the two parameters from the incoming satellite signal, and signal tracking keeps track of them as they change in time. These two parameters are the code phase, the delay time between receiver and satellites, and the Doppler frequency shift instigated by the satellites’ movement relative to the receiver. This study mainly discusses the operation of signal acquisition and tracking. The theoretical study and simulation of the results are described and tested using MATLAB programming language. The input GPS signal is acquired from an antenna system in GPS and an RF front-end portion.

Implementation of Signal Acquisition and Tracking for GPS-Based Software Defined Radio Receiver

Htay, H. N.,* Lwin, Z. M. and Hla, T.

Department of Electronic Engineering, Mandalay Technological University, Patheingyi Township, 5071 Mandalay Region, Republic of the Union of Myanmar

E-mail: hannilarhtay.mtu@gmail.com*

*Corresponding Author

Abstract

“Global Positioning System (GPS)” is extensively used for various satellite-based navigation applications. Nowadays, a software-defined GPS receiver has been developed since it is low cost, flexible and able to use in developing more advanced navigation processing algorithms. To implement a GPS software receiver, it is necessary to process three main modules: acquisition, tracking and navigation demodulation for the position, velocity and time (PVT) solution. Signal acquisition estimates the two parameters from the incoming satellite signal, and signal tracking keeps track of them as they change in time. These two parameters are the code phase, the delay time between receiver and satellites, and the Doppler frequency shift instigated by the satellites’ movement relative to the receiver. This study mainly discusses the operation of signal acquisition and tracking. The theoretical study and simulation of the results are described and tested using MATLAB programming language. The input GPS signal is acquired from an antenna system in GPS and an RF front-end portion.

Keywords: Acquisition, GPS, MATLAB, Software Defined Receiver, Tracking

1. Introduction

GPS is the most popular navigation system in satellite communication among Global Navigation Satellite Systems (GNSS) and was originated by the United States in 1973. It was fully operational in 1995 and has been widely used for navigation, timing and position-related applications. GPS provides satellite-based navigation services for both military and civilian users. GPS is composed of three central segments: the space, the control and the user segment. The space segments consist of satellite vehicles operating about 20,200 km in Medium Earth Orbit (MEO). The control segment comprises ground base stations and data uploading places to trajectory and screen satellite transmissions and conduct data directives to them. The user segment involves of an antenna system and receiver phases, which arranges for the user's position coordinates and exact time. It also comprises of apparatus that procedures the acknowledged signals from the GPS satellites and customs them to provide location and timing information [1].

The users can estimate its position by measuring the distance between satellites’ system and the receiver portion using a triangulation method called Trilateration [2]. Figure 1 illustrates the triangulation of the satellite system, and the intersection of at least three spheres represents the user's position.

Figure 1: Trilateration of GPS positioning

However, in the real world, there is a clock delay between the satellites and the receiver since satellites use an atomic clock, which is very accurate, and the receiver's clock is not coordinated with the satellites. So, one additional satellite is obligatory to precise the clock offset between satellites and receivers. Therefore, the receiver can determine its position when signals from more than four satellites are obtained [3].

Figure 2: Flow Diagram of software receiver in GPS

Many commercial GPS receivers have been developing nowadays. However, the limitation is the receiver's price to get excellent performance and a more accurate position. Hardware receivers are expensive, and algorithms are implemented in a fixed platform and cannot be upgradeable in an ordinary hardware receiver. So, the software-defined receiver is the best solution to these problems. It is also more efficient and flexible to implement and improve the performance with advanced signal processing algorithms. Therefore, this study focuses on the implementation of a GPS software-defined (SD) receiver. Figure 2 demonstrates a flow diagram of the proposed GPS software receiver (SR). There are three main stages in the implementation of a GPS receiver. They are signal acquisition, tracking and navigation data demodulation. The location of the satellite system and the receiver can estimate after demodulating navigation data. Signal acquisition and two tracking loops (code and carrier) are implemented and discussed in this paper. The actual GPS signal from the antenna is accustomed development the specific algorithms. The RF front-end is intended to down-converting the radio frequency (RF) signal into intermediate frequency (IF) signal for supplementary signal processing with MATLAB language in a laptop or personal computer.

2. GPS Signal Acquisition

There are three main parts to incoming satellite signals. They are code, carrier and navigation data. In GPS, C/A code (Coarse or acquisition) is used for public users, and frequency L1 is used for carrier frequency. L1 contains C/A code and P(Y) code (precision code) which is only used for the authorized user such as military services. So, L1 modulated GPS signal after down converting is as the following equation (1).

Equation 1

Where is the transmission power of C/A code for ith satellite, is the navigation data, is the intermediate frequency of L1, φ is the carrier segment of the incoming signal, τ is the code phase, and is the Doppler frequency. The core assignment of signal achievement is to perceive the presence of satellites in the receiver's current view. Two parameters τ and from each satellite signal are estimated to determine the available satellites. Two-dimensional search space is used for acquisition with a Doppler frequency step of ± 500Hz. The maximum range of Doppler frequency for the stationary receiver is ± 5kHz, and for the moving receiver, its total value is ± 10kHz. There are different acquisition algorithms to identify which satellites are visible, and the simplest and most traditional one is called Serial search acquisition. This method performs a serial search along the two-dimensional search space of τ and . It is mainly used in conventional hardware receivers since it is a simple implementation. But it has limitations such as time consumption because it searches through all search space bins until the satellite vehicle (SV) is detected. The following method is Parallel Frequency Space Search acquisition which allows serial search through code phase (τ) and similar search along the Doppler frequency (fD). The last is the Parallel Code Segment search acquisition, which parallelizes the code phase (τ) dimension and performs the serial search in the frequency domain (FD). The last two methods use FFT (Fast Fourier Transform), and the computation time of acquisition can be minimized by parallelizing one of the search parameters. Among these two methods, parallel code phase search acquisition performs better because of less computational burden and time consumption [4]. In this paper, Parallel Code Segment Search algorithm is used, and the system diagram of this acquisition structure is mentioned in Figure 3. The incoming signal is bourgeoned in the vicinity engendered carrier signal. This bourgeoning engenders in-phase I, and the 90º phase-shifted signal engenders the quadrature Q signal. These I and Q signals are collective into complex signals. This signal is transmuted into a frequency domain using Fast Fourier Transform (FFT) and multiplied by locally generated C/A code. After this, the resulting signal is transformed into the time domain using inverse FFT (IFFT), and the absolute value is computed.

3. GPS Signal Tracking

Signal tracking is to keep trajectory of the two constraints resulting from the signal acquisition phase and refine them to extract navigation messages and calculate the position. So, there are dualistic main tracking hoops in GPS: code tracking hoop and carrier tracking hoop. The code tracking hoop is called Delay Lock Hoop (DLH), which is used to trajectory the code phase, and the carrier tracking hoop also called Phase Lock Hoop (PLH), which is used to trajectory the carrier frequency. Code demodulation and carrier demodulation are performed to obtain only desired navigation information from the received signal. Figure 4 presents the basic demodulation scheme of navigation bits [5].

3.1 Code Tracking Hoop or Delay Locked Hoop (DLH)

The code tracking hoop is called a delay locked hoop (DLH), which tracks the code phase between the incoming satellite signal and local replica code. The received satellite signal is alienated into in-phase (I) and quadrature (Q). To perfectly align with the principle of the incoming signal, it is obligatory to create three indigenous C/A codes, namely early(E), prompt(P) and late(L) codes. The prompt is the phase shift value obtained from the acquisition stage, and early is the 1/2 chip earlier version of prompt code, and late code is 1/2 chip late of that. Therefore, the code tracking hoop is called Delay Locked Hoop or Early Minus Late (EML) hoop. If the indigenous carrier is not in phase with the received signal, it is not easy to keep track of the DLH on lock, and the signal can be noisier if there is a segment error in the indigenous carrier tendency. Therefore, it is necessary to consider both the signal's in-phase (I) and quadrature (Q). Both in-phase and quadrature of the three correlators are used to avoid the phase changes of a local carrier wave.

Figure 3: System diagram of parallel code segment search acquirement

Figure 4: Demodulation of Navigation bits

3.2 Carrier Tracking Hoop or Phase Locked Hoop (PLH)

The Carrier tracking hoop is to preserve trajectory of the carrier segment between the received signal and the indigenous carrier tendency. Costas Hoop is used in GPS tracking for the reason that it can preserve trajectory of the phase-shifted signal instigated by the navigation evolutions. PLH includes a discriminator that discriminates the phase error and a filter used to filter noise in the error quantities of the discriminator outputs, and Numerical Controlled Oscillator (NCO) to generate the replica of the tracked signal. Figure 5 shows the primary tracking loop of GPS.

Figure 5: Basic tracking hoop

Transfer functions of filter and NCO are:

Equation 2

Equation 3

The transfer function of the tracking hoop is:

Equation 4

The transfer functions of the hoop filter, NCO and tracking hoop are designated in equations (2), (3) and (4). K1 is the gain of NCO, and K2 is the segment discriminator. A complete GPS tracking hoop is described in Figure 6. The upper portion of the figure is the code tracking hoop or DLH, and the lower one is the carrier tracking hoop or PLH. The received signal is separated into I (in-phase) and Q (quadrature), a 90-degree phase-shifted description of I. In DLH, there are six correlators of early, prompt and late code for I and Q, denoted as IE, IP, IL, QE, QP and QL. Those outputs are filtered and compared using a discriminator. IE, IL, QE and QL are utilized to implement the code discriminator, and prompt codes of I and Q (IP and QP) are used for the carrier discriminator. When the signal is in a lock state, an in-phase arm of prompt code (IP) generates bits of navigation missive [6].

Figure 6: Complete GPS tracking hoop (DLH and PLH)

4. Results and Discussions

The input satellite signal is from the antenna in GPS and RF front-end (RTL2834u), which is utilized to down-convert from the RF condition into an IF condition [7] and [8]. All signal processing modules are implemented in a PC (Personal Computer) using MATLAB. The proposed GPS SR is mentioned in Figure 7.

GPS antenna is placed outside the public building. The input GPS signal is documented from the RF front end for about 1000 sec, and captured binary signal is transformed into an I and Q complex indication. The time and frequency domain of the first 1000ms (1sec) of captured GPS L1 signals from the front end is shown in Figure 8. Next, the local C/A code for each GPS satellite is engendered and interrelated with the received signal to reveal the acquired satellites in view. A parallel code segment search algorithm is used for signal acquisition, and code segment and Doppler frequency shift are generated in this stage. Figure 9 shows the histogram results for 32 GPS satellites. The green colour indicates the acquired PRN satellites. According to the results, four satellites (PRN 26, PRN 23, PRN 22 and PRN 16) are detected as acquired satellites in the signal captured time and the code segment values and Doppler frequency shift for each developed satellite are listed in Table 1. doppler frequency shift is designated in Hz and code segment significance in chips (bits). Since the receiver's position estimation can be done with at least four satellites, the captured signal can be used to implement the GPS software receiver. For PRN 26, the Doppler frequency is 938 Hz, and the code phase is 290 chips (bits). PRN 23, 22 and 16 have a Doppler frequency shift of -4.156 kHz, -469 Hz and -945 Hz and code phase of 684, 1799 and 494 chips, respectively. Since the values of Doppler frequency for all detected satellites are within ± 10 kHz, which is the maximum Doppler frequency shift range, these values are used in the GPS signal tracking hoop.

Figure 7: Proposed software defined GPS receiver

Figure 8: Captured GPS signal in the time domain and frequency domain

Figure 9: Results of acquisition

Table 1: Frequency and code segment of each satellite

RRN No.

Doppler Frequency Shift (Hz)

Code Segment (chips)

16

-945

494

22

-469

1799

23

-4156

684

26

938

290

Figure 10: Result of (a) Raw DLH discriminator and (b) Filtered DLH discriminator outputs

For the development of the GPS tracking hoop, the results of the code tracking hoop and carrier tracking hoop for PRN 26 in 37000 ms (37sec) are shown in this section. The outputs code tracking hoop and carrier tracking hoop are publicized in Figures 10 and 11, correspondingly. Figure 12 confirmations the scatter scheme of the prompt code of I and Q, and Figure 13 shows the correlation results of in-phase (I) and quadrature (Q). In correlation results, the correlation value of the prompt code of the I signal has a maximum weight over the other early and late codes. In contrast, correlation results of the Q signal remain constant at the minimum value. Since the incoming GPS signal is successfully locked in the tracking hoop, the prompt information for output of the in-phase arm provides navigation information bits shown in Figure 14.

Figure 11: Result of (a) Raw PLH discriminator and (b) Filtered PLH discriminator outputs

Figure 12: I/Q scatter plot

Figure 13: Results of correlation in (a) In-phase (I) signals (b) Quadrature (Q) signals

Figure 14: Bits of the navigation message

Figure 15: Experimental results for signal acquisition

5. Research Objectives and Experimental Studies

The objectives of this study are to find the novel solution for signal acquisition and signal tracking [9] and [10] based on the non-coherent integration, carrier Doppler shift, Integration and Dump Period, and Time for Tracking Hoop are very fast and more accurate than recent works. The experimental study was conducted under the Remote Sensing and GIS Laboratory of Mandalay Technological University (MTU) during two months’ periods. After completing the experimental studies, the measuring equipment are installed in the outdoor unit of the testbed. The outside of the laboratory, the parameters for specific such as non-coherent integration, carrier Doppler shift, Integration and Dump Period, and Time for Tracking Hoop are very critical approaches to find the optimal solutions for performance analyses. The implementation of the experimental studies with different condition was developed during the two months and collected data from the sensing units of the measurement system.

Figure 15 shows the signal acquisition for single satellite with operation time of 0.48876ms and the corresponding estimated code delay is 499.875 chips and Doppler frequency is 1.5kHz. Figure 16 shows the results of S-curve of different DLH discriminators with considering carrier to noise ratio values. In this experimental studies, three values of C/N0 are used to generate GPS signals [11] and [12]. Since the same sampling frequency and numbers of samples per chip are used, the figure is not much different but the greater the carrier to noise ratio the more precision in DLH.

Figure 16: Comparison of different DLH discriminators with C/N0 = 50 dBHz for signal tracking

Table 2: Experimental results comparison on signal acquisition

Signal Acquisition

Non-Coherent Integration

Carrier Doppler Shift

Musso et al.,[15]

10ms

5MHz

Wu et al.,[16]

1ms

2MHz

Schmidt et al., [17]

0.9775ms

1.023MHz

This Work

0.48876ms

1.5kHz

Table 3: Experimental results comparison on signal tracking

Signal Tracking

Integration And Dump Period

Time for Tracking Loop

Musso et al.,[15]

1ms

80ms

Wu et al.,[16]

51.292s

49.868s

Schmidt et al., [17]

5ms

5ms

This Work

0.125ms

0.5ms

6. Performance Comparison

The performance comparison [13] and [14] of signal acquisition and tracking for GPS-based software defined radio receiver is given in Tables 2 and 3. According to the experimental results for this contribution is very accurate and acceptable by comparing with the recent works of [15] to [17]. This work has very outstanding condition on signal acquisition with non-coherent integration and carrier Doppler shift in experimental analyses at our laboratory in MTU. The novel findings on the signal acquisition and signal tracking on different parameters such as non-coherent integration, carrier Doppler shift, Integration and Dump Period, and Time for Tracking Loop are very fast and more accurate than recent works [15] [16] and [17].

7. Conclusion

The first two fundamental stages, signal acquisition and signal tracking are implemented and discussed for GPS software-defined receivers. The antenna system in GPS and RF front end (RTL2832u) are the merely description in hardware portions, and all the signal processing algorithms are performed in software using MATLAB programming language. In acquirement consequences, four satellites (PRN 26,23,22 and 16) are assimilated, and their Doppler frequency shift values are 0.938 kHz, -4.156 kHz, -0.469 kHz and -0.945 kHz, which are lower than the maximum value of Doppler frequency (±10 kHz). The values of the code phase of each satellite are 290 chips, 684 chips, 1799 chips and 494 chips, respectively. For the outcomes of code and carrier tracking hoops, only PRN 26 is described. In the development of code and carrier tracking hoop, outputs of DLH and PLH for 37000 ms of the signal are designated. The signal is successfully tracked, and the result of the prompt code of I produces navigation data bits. The important thing in implementing the acquisition and tracking hoop is that it is indispensable to tune the constraints of the tracing process and threshold standards of achievement based on some rules for efficacious achievement and tracing of GPS signals. Although the signal acquisition is successful, the tracking hoop can't be made quickly, so it is necessary to change the standards of the constraints in both DLH and PLH to track the signal and correctly produce the navigation message bits.

Acknowledgement

The author would like to thanks many colleagues from the Department of Electronic Engineering of Mandalay Technological University in Myanmar.

References

[1] Tsui. J. B. Y., (2005). Fundamentals of Global Positioning System Receivers A Software Approach. 2nded., New Jersey:John Wiley & Sons.

[2] Borre, K., Akos, D. M., Bertelsen, N., Rinder, P. and Jensen, S. H., (2007). A Software-Defined GPS and Galileo Receiver A Single-Frequency Approach , Birkhäuser Boston, MA. https://doi.org/10.1007/978-0-8176-4540-3.

[3] Misra, P. and Enge. P., (2006). Global Positioning System Signals, Measurement, and Performance. 2nded., Massachusetts, Ganga-Jamuna Press.

[4] Misra, R. and Palo, S., (2011). Code and Carrier Tracking Loops for GPS C/A Code. International Journal of Pure and Applied Sciences and Technology (IJPAST) , Vol.6(1), 1-20.

[5] Vu, B.N. and Andrle, M., (2014). The Code and Carrier Tracking Loops for GPS Signal , Proceedings of the 16th International Conference on Mechatronics - Mechatronika 2014, Brno, Czech Republic, 2014 , IEEE, 569-574. https://doi.org/10.1109/MECHATRONIKA.2014.7018322.

[6] Kindervatter, T. H. and Teixeira, F. L., (2022). Tropospheric and Ionospheric Effects on Global Navigation Satellite Systems , Canada:JohnWiley & Sons, Inc.

[7] Wellenhof, B. H., Lichtenegger, H. and Wasle, E., (2008). GNSS – Global Navigation Satellite Systems GPS, GLONASS, Galileo, and More , New York: Springer.

[8] Manandhar, D., Yongcheol, S. and Shibasaki, R., (2000). GPS Signal Acquisition and Tracking – An Approach towards Development of Software-based GPS Receiver. Proceedings of the Institute of Electronics, Information and Communication Engineers, Technical Report of IEICE, German, Jan. 2000 . IEICE, 1-6.

[9] Bhaskara, P. and Prasad, S. N. V. S., (2016). Simulation of GPS Signal Acquisition and Tracking Algorithms of a Software Receiver. International Journal of Applied Sciences, Engineering and Management , Vol. 5(6), 251-258.

[10] Pany, T., (2010). Navigation Signal Processing for GNSS Software Receivers, Norwood: Artech House.

[11] Khan, R., Khan, S. U. and Zaheer, R., (2011). Acquisition Strategies of GNSS Receiver. Proceedings of 2011 International Conference on Computer Networks and Information Technology (ICCNIT), 119-124.

[12] Wu, F., Zhang, K. and Yasuda, A., (2005). GPS Signal Acquisition and Tracking Using Software GPS Receiver, Proceedings of the Eighth International Symposium on Signal Processing and its Applications, 2005., Sydney, NSW, Australia, 2005 , IEEE, 843-846.

[13] Jin, T., Wang, Y., Shi, L. and Zhang, H., (2008). Software Defined Radio GNSS Receiver Design over Single DSP Platform, 2008 4th International Conference on Wireless Communications, Networking and Mobile Computing, Dalian, China, 2008 , IEEE, 1-4.

[14] Jinfeng, Y., Wenge, Y., Weitao, L. and Sheng, L., (2011). Analysises and Comparisons on Noise Performances of PLL, DLL and Data Demodulator in GNSS Receiver, 2011 IEEE International Conference on Signal Processing, Communications and Computing (ICSPCC), Xi'an, China, 2011 , IEEE, 1-4.

[15] Musso, M., Gera, G. and Regazzoni, C. S., (2004). Theoretical Analysis of S-curve for GNSS System, 17th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2004), At Long Beach, CA, USA, IEEE, 2054 – 2058.

[16] Wu, L., Cui, Y. and Yu, D., (2009). Signal Acquisition and Tracking for Software GPS Receivers , 2009 Asia Pacific Conference on Postgraduate Research in Microelectronics & Electronics (PrimeAsia), Shanghai, China, 2009 , IEEE, 384-387.

[17] Schmidt, E., Akopian, D. and Pack, D. J., (2018). Development of a Real-Time Software-Defined GPS Receiver in a LabVIEW-Based Instrumentation Environment. IEEE Transactions on Instrumentation and Measurement, Vol. 67(9), 2082-2096.