GISdevelopment.net ---> AARS ---> ACRS 2004 ---> GPS & Photogrammetry: Navigation System

Software-Based GPS Receiver a Research and Simulation Tool for Global Navigation Satellite System

Dinesh Manandhar, Ryosuke Shibasaki
Center for Spatial Information Science, The University of Tokyo
4-6-1 Komaba, Meguro-ku, Tokyo, 153-8505 Japan
Email: dinesh@iis.u-tokyo.ac.jp, shiba@iis.u-tokyo.ac.jp


ABSTRACT
Global Navigation Satellite Systems (GNSS) have been used for the past 20-30 years successfully both in civil and military community. Transit, GPS and GLONASS are examples of GNSS. GPS has already proved it’s availability and reliability for many applications. In near future, new GNSS called Galileo, will be launched by Europe. However, the receivers for all these systems are built using application specific integrated circuits (ASICs), which we often call hardware GPS receiver. A user has the least level of flexibility in setting or implementing the parameters in this type of receiver. Especially, the level of flexibility is limited for the researchers and developers to implement their own algorithms. Software-based GPS Receiver (SGR) helps us processing the GPS signal at the lowest level of GPS raw signal data from the antenna. A SGR consists of a front-end device that converts the radio frequency signal from the antenna to an intermediate frequency in digital format. The signal thus converted is processed by high level programming language to compute position and velocity. In SGR, it is possible to do acquisition and tracking using different parameters and threshold values, which give a user total flexibility of operation. This helps in processing weak signal, multipath mitigation and simulate “what-if” scenarios. In this paper, we will discuss about software-based GPS receiver and show how it can be used for research and simulation in the field of Global Navigation Satellite System.

1 INTRODUCTION
Global Navigation Satellite System has become a necessity tool for navigation and positioning in both civilian and military field and applications. Global Positioning System (GPS) is a satellite-based navigation system. It is based on the computation of range from the receiver to multiple satellites by multiplying the time delay that a GPS signal needs to travel from the satellites to the receiver by velocity of light. GPS has already been used widely both in civilian and military community for positioning, navigation, timing and other position related applications. The system has already proved it’s reliability, availability and good accuracy for many applications. Due to this nature, in future, other countries like Europe are going to launch new satellite-based navigation system called Galileo. There is also a proposal to launch Quasi Zenith Satellite System for navigation in Japan.

It is necessary to simulate and analyze new signal structures for the development of new satellite-based navigation systems. In the research community, many researchers come out with new ideas and algorithms for better accuracy of GPS by mitigating or minimizing various types of errors and effects like multipath. However, it is quite difficult to implement the user developed algorithms in the current hardware-based GPS receivers. The hardware-based GPS receivers contain ASICs that provide the least user flexibility. Thus, it is necessary to have Software-based GPS receivers, at least in the research community for easy and quick implementation, simulation and analysis of algorithms, parameters and threshold values. Since, the CPU processing power is increasing with reduced cost, it is now possible to build real-time software-based GPS receivers at least for static or low dynamic environments. As predicted by Moor’s Law, the CPU power is increasing and we hope that this trend will continue in future as well and hence, it will be possible to develop real-time all environment software-based GPS receivers. In this paper, we briefly introduce the architecture of a SGR, signal processing technique and give some examples of simulation using SGR.

2 SOFTWARE-BASED GPS RECEIVER ARCHITECTURE
The architecture of a conventional GPS receiver is shown in Figure 1. It consists of RF front-end and signal processor that are all built upon IC chips. The outputs of the signal processor are either displayed directly on the receiver display unit or fed to a PC for further processing or integration with other devices. Since, the signal processing is all done inside the hardware chips, users have limited access to change the parameters or install new algorithms. Figure 2 shows architecture of a software-based GPS receiver (SGR). It consists of a RF front-end device, which is still a hardware component. The rest of the signal processing is done using high level programming language like C/C++, Matlab etc. If we compare Figure 1 and Figure 2, the only difference we see is the replacement of hardware components by software tools for signal processing. We still need RF front-end since the present capacity of CPU is still not able to process the signal directly from the antenna at 1.5GHz. Figure 3 shows the merits and demerits of using hardware-based and software-based receiver. A hardware-based receiver is fastest in signal processing however, it has the least level of flexibility, where as a software-based receiver has the highest level of flexibility but is the slowest in processing speed. There are products using FPGA-based receivers which is the compromise between the two.


Figure 1: Architecture of Conventional GPS Receiver Antenna


Figure 2: Architecture of Software-based GPS Receiver


Figure 3: Processing Speed vs. Flexibility using Hardware Components or Software Tools

3 GPS SIGNAL PROCESSING
L1 band GPS signal is transmitted at 1.5 Ghz and since the receiver can not process the signal directly at this frequency, the RF front-end device down converts from 1.5Ghz to a much lower frequency of about 4Mhz. This frequency is called Intermediate Frequency (IF). During this conversion process, the signal is also digitized (A/D conversion) at 1bit, 2bit or higher rate and sampled at some frequency, e.g. 16Mhz. We use the down-converted signal for further processing. The first task of signal processing is to identify the visible satellites by finding the satellite code phase and Doppler frequency. The code phase provides the beginning of C/A code. Since, the satellites are moving all the time (and probably the receiver may also move), we always have some Doppler frequency. The rough estimation process of code phase and Doppler frequency is called acquisition. Basically, for acquisition, we generate C/A code for the satellite and modulate with the carrier wave. This receiver generated signal is then correlated with incoming signal and the correlation value is evaluated to make decision whether a satellite visible. If we think that the satellite is visible, then the code phase value and Doppler frequency is noted.

Once, we complete acquisition successfully, we know the satellites that are visible at that time. In the next step, we track the visible satellites continuously for fine tuning of the code phase and Doppler frequency. This process is called tracking. The tracking process removes the C/A code and carrier wave from the GPS signal and hence the remaining signal represents navigation data and some noise. Thus, from navigation output, we can extract navigation data parameters which are necessary to compute pseudorange from the receiver to satellite. Please refer, [2] for details on GPS signal processing. Figure 4 (a) shows raw GPS data collected from antenna and down- converted to IF. This data just looks like noise and no information can be known unless we perform acquisition and tracking on the data. This is due to the fact that the GPS signal level is below the noise level or the signal is weaker than the noise. Figure 4 (b) shows the result of acquisition from raw data shown in Figure 4 (a). The acquisition output shows the code phase (beginning point of C/A code) and Doppler frequency. Figure 5 shows tracking results. The tracking result extracts navigation data bits as shown in Figure 6, which are simply the sequence of zeros and ones.


Figure 4: (a) GPS raw data from antenna after down-conversion by front-end device (b) Acquisition result for PRN 10 from raw data. The peak shows the maximum correlation value. The location of the peak also shows the code phase and Doppler frequency shift


Figure 5: Tracking results for PRN 10. Above graph shows the output for “I” channel and lower graph shows the output for “Q” channel. “I” channel represents navigation data plus some noise. “Q” channel represents only noise.


Figure 6: Navigation data bits extracted from tracking results, “I” channel

4 SGR AS RESEARCH AND SIMULATION TOOL
We mentioned earlier that SGR has much flexibility compared to conventional receiver. We will discuss and give some examples how these flexibilities of SGR are used to extract information that are otherwise not possible in conventional GPS receiver. Figure 7 shows some of the fundamental parameters of signal processing in SGR. IF frequency and sampling frequency are fixed for a particular front-end device. By changing these two values, we can use the same software tool for different types of front-end device that acquire GPS signal from the antenna. Below we will discuss some of the flexibilities point by point.

4.1 Weak Signal Processing
The Doppler frequency search step, code period acquisition integration time, noise bandwidth, code period tracking integration time depends on the signal quality. If the signal level is normal, we can use 1000Hz Doppler frequency step and 1ms code period integration time for acquisition. However, if the signal is weak, and then we need to reduce the Doppler frequency search step and increase the code period integration time in acquisition. For example, if we integrate raw data for 3ms for acquisition then we need to reduce the Doppler frequency search step to 300Hz. This will increase processing speed but help us in detecting weak signals. Also, we need to increase the integration time in tracking loop. This type of signal processing by changing the parameter values is not possible in conventional GPS receiver. Figure 8 shows an example for increase in integration time from 1ms to 3ms. When the integration time is 1ms, the correlation peak is not clear enough to make a decision for satellite visibility. But, when the integration time is increased to 3ms, we can see a very clear correlation peak and we can make a decision that a particular satellite is now detected.


Figure 7: Basic parameters that can be changed by a user in SGR for various types of signal processing and simulation


Figure 8: (a) Signal acquisition using 1ms integration time. The result is not so clear with multiple peaks. (b) Signal acquisition using 3ms integration time with the same data as in (a). Now, the correlation peak is quite clear and a decision can be made regarding visibility of satellite.

4.2 Multipath Mitigation Technique
In spite of continuing improvements in GPS receivers and antenna technology, multipath signal has remained a major source of error in GPS positioning. In order to minimize the error due to multipath, we need to understand the multipath behaviour and corresponding signal characteristics. In order to understand the effect of multipath we can analyze the signal by using various types of correlators (narrow, wide etc) by defining chip delay (listed in Figure 7) between early and late chips. We can compute the correlation peak for every code period. A correlation peak will appear as a perfect triangle had there been no effect from multipath. Due to multipath, the two sides of the triangle will be neither symmetrical nor straight lines. The shape and amplitude of the triangle is deformed by the amount of multipath and some other noise. Thus by analysing the correlation peak (or triangular shape), we can estimate the amount of multipath and hence develop a technique to minimize or mitigate the multipath. In this regard, we are conducting research using left hand and right hand circular polarized GPS antenna to analyze how the reflected signal (which accounts for multipath) affects a correlation peak. Refer [1] for details of this experiment. Figure 9 shows a correlation peak obtained by processing a raw GPS signal shown in Figure 4.


Figure 9: Correlation peak computed from raw GPS signal for 0.5 chip delay. The peak shape is not a perfect triangular due to effect from multipath

4.3 Remote Sensing using GPS Signal
Recently, GPS signals have been used for remote sensing purpose. GPS signals are transmitted at 1.2Ghz and 1.5Ghz in two different bands. This is similar to microwave remote sensing. GPS signals are transmitted with right hand circular polarization. When, this signal is reflected by some object the polarization may change from right hand to left hand and vice versa. Thus by observing the reflected signal together with two different types of antennas with right hand and left hand polarization, we can predict the object type that reflects the GPS signal. Using this technique, soil moisture and wind velocity has been estimated. Refer [3] for details on this research. In order to conduct this type of analysis, we need software-based receiver so that we can process the received signal with different parameter values using our own algorithms. The reflected signals are much weaker than direct signal and hence a conventional receiver can not be used. Also, we need to compute many intermediate values like shape of the correlation peak and it’s amplitude rather than the position of the GPS antenna itself. This is possible only in software-based receivers.

Besides these analysis and simulation listed above, we need software-based receiver for analyzing noise and interference (jamming), simulate new codes, limitation of navigation data length and many other things. In current GPS signal, the navigation data length is limited to 20ms. This impose a restriction on data integration beyond 20ms during the tracking process. However, for tracking very weak signal, we do need to integrate longer data period. Thus, we need to see what will happen if we change the navigation data length from 20ms to something else in our new design. On the other hand we can also have a data less component of the signal in one of the phases of the signal which is now implemented in new forthcoming GPS signals. This assists the receiver in processing weak signals and hence make the receiver capable of indoor positioning. All these can be simulated if we have software-based receivers. In SGR, we can generate different types of signals for interference analysis. This will help us how different types of signal with different level of strength affect GPS signal processing. For example, we can simulate the effect of a TV signal on GPS or we can analyze the effect of other GNSS signals on GPS or vice versa. These are again possible in software-based receivers.

5 CONCLUSIONS
Software-based GPS receiver will assist us to analyze GPS signal that otherwise would not have been possible using conventional GPS receivers. For example, we can analyze a signal to see the effect of multipath, perform weak signal acquisition, analyze reflected signals and perform many other “what-if” scenarios. Moreover, the GPS receiver which has been remained as a “black box” till now is revealed by software-based receiver.

REFERENCES
  • Manandhar, D., R. Shibasaki, GPS Signal Analysis using LHCP/RHCP Antenna and Software GPS Receiver, Proceedings of ION, 21-24 Sep 2004, (To be published in Dec 2004)
  • Manandhar, D., Y. Suh, R. Shibasaki, GPS Signal Acquisition and Tracking - An Approach towards Development of Software-based GPS Receiver, Technical Report of IEICE, ITS2004-16, July, 2004
  • Zavorotny, V., D. Masters, A. Gasiewski, B. Bartram, S. Katzberg, P. Axelrad, and R. Zamora, Seasonal Polarimetric Measurements of Soil Moisture using Tower-Based GPS Bistatic Radar, IGARSS, 2003
  • http://shiba.iis.u-tokyo.ac.jp/member/current/dinesh/index.htm