GPS software receiver implementations

Similar documents
Acquisition and Tracking of IRNSS Receiver on MATLAB and Xilinx

Satellite Navigation Principle and performance of GPS receivers

Evaluation of the pseudorange performance by using software GPS receiver

Analysis of Processing Parameters of GPS Signal Acquisition Scheme

GPS RECEIVER IMPLEMENTATION USING SIMULINK

GNSS Technologies. GNSS Acquisition Dr. Zahidul Bhuiyan Finnish Geospatial Research Institute, National Land Survey

Design and Implementation of Real Time Basic GPS Receiver System using Simulink 8.1

Prototype Software-based Receiver for Remote Sensing using Reflected GPS Signals. Dinesh Manandhar The University of Tokyo

Analysis on GNSS Receiver with the Principles of Signal and Information

LOW POWER GLOBAL NAVIGATION SATELLITE SYSTEM (GNSS) SIGNAL DETECTION AND PROCESSING

Receiving the L2C Signal with Namuru GPS L1 Receiver

Monitoring Station for GNSS and SBAS

Lab on GNSS Signal Processing Part II

Utilizing Batch Processing for GNSS Signal Tracking

THIS work focus on a sector of the hardware to be used

DATA INTEGRATION MULTICARRIER REFLECTOMETRY SENSORS

Decoding Galileo and Compass

Design and Implementation of a SoC-Based Real-Time Vector Tracking GPS Receiver. Brian A. Keyser

SX-NSR 2.0 A Multi-frequency and Multi-sensor Software Receiver with a Quad-band RF Front End

Software Design of Digital Receiver using FPGA

V. Digital Implementation of Satellite Carrier Acquisition and Tracking

THE DESIGN OF C/A CODE GLONASS RECEIVER

TELECOMMUNICATION SATELLITE TELEMETRY TRACKING AND COMMAND SUB-SYSTEM

Benefits of a Reconfigurable Software GNSS Receiver in Multipath Environment

Antenna Measurements using Modulated Signals

Lecture 6. Angle Modulation and Demodulation

A New Sampling Frequency Selection Scheme in Undersampling Systems

FM Superheterodyne Receiver

ADI 2006 RF Seminar. Chapter II RF/IF Components and Specifications for Receivers

EE470 Electronic Communication Theory Exam II

A Software Implemented Spread Spectrum Modem based on two TMS320C50 DSPs

A Digitally Configurable Receiver for Multi-Constellation GNSS

Spread Spectrum Techniques

9 Best Practices for Optimizing Your Signal Generator Part 2 Making Better Measurements

Research Article Design and Simulation of a Fully Digitized GNSS Receiver Front-End

From Digital to RF Debugging in the Time and Frequency Domain. Embedded Systems Conference 2015 May 6-7, 2015

A Simulation Tool for Space-time Adaptive Processing in GPS

THE CONSTRUCTION of a software radio is based on

Acquisition Strategies of GNSS Receiver

POWERGPS : A New Family of High Precision GPS Products

Receiver Architecture

A LOW-COST SOFTWARE-DEFINED TELEMETRY RECEIVER

Merging Propagation Physics, Theory and Hardware in Wireless. Ada Poon

t =1 Transmitter #2 Figure 1-1 One Way Ranging Schematic

Description of the AM Superheterodyne Radio Receiver

Wideband Spectral Measurement Using Time-Gated Acquisition Implemented on a User-Programmable FPGA

High Gain Advanced GPS Receiver

Digital Receiver Experiment or Reality. Harry Schultz AOC Aardvark Roost Conference Pretoria 13 November 2008

B SCITEQ. Transceiver and System Design for Digital Communications. Scott R. Bullock, P.E. Third Edition. SciTech Publishing, Inc.

Receiver Losses when using Quadrature Bandpass Sampling

Implementation and Performance Evaluation of a Fast Relocation Method in a GPS/SINS/CSAC Integrated Navigation System Hardware Prototype

Second Workshop on Satellite Navigation Science and Technology for Africa April 2010

Advances in Antenna Measurement Instrumentation and Systems

Orion-S GPS Receiver Software Validation

DESIGN AND PERFORMANCE OF A SATELLITE TT&C RECEIVER CARD

On the coexistence of satellite UMTS. and Galileo with SDR receiver

Session 3. CMOS RF IC Design Principles

Dartmouth College LF-HF Receiver May 10, 1996

Multiple Reference Clock Generator

Post-Processed Acquisition & Tracking of GPS C/A L1 Signals

Adaptive Antenna Array Processing for GPS Receivers

Research on DQPSK Carrier Synchronization based on FPGA

FPGA Based 70MHz Digital Receiver for RADAR Applications

SAMPLING FREQUENCY SELECTION SCHEME FOR A MULTIPLE SIGNAL RECEIVER USING UNDERSAMPLING

Superheterodyne Receiver Tutorial

Wavedancer A new ultra low power ISM band transceiver RFIC

Some Radio Implementation Challenges in 3G-LTE Context

Development of Signal Analyzer MS2840A with Built-in Low Phase-Noise Synthesizer

SYSTEM MODEL. Transmitter Preamble Configuration

Simulating and Testing of Signal Processing Methods for Frequency Stepped Chirp Radar

Design of Spread-Spectrum Communication System Based on FPGA

Keywords: GPS, receiver, GPS receiver, MAX2769, 2769, 1575MHz, Integrated GPS Receiver, Global Positioning System

BIT SYNCHRONIZERS FOR PSK AND THEIR DIGITAL IMPLEMENTATION

2 INTRODUCTION TO GNSS REFLECTOMERY

EMBEDDED DOPPLER ULTRASOUND SIGNAL PROCESSING USING FIELD PROGRAMMABLE GATE ARRAYS

UHF Phased Array Ground Stations for Cubesat Applications

GPS receivers built for various

Appendix B. Design Implementation Description For The Digital Frequency Demodulator

Galileo GIOVE-A Broadcast E5 Codes and their Application to Acquisition and Tracking

HIGH GAIN ADVANCED GPS RECEIVER

HIGH-PERFORMANCE microwave oscillators require a

A Closer Look at 2-Stage Digital Filtering in the. Proposed WIDAR Correlator for the EVLA

Pulsed VNA Measurements:

MAKING TRANSIENT ANTENNA MEASUREMENTS

Making Noise in RF Receivers Simulate Real-World Signals with Signal Generators

PLL FM Demodulator Performance Under Gaussian Modulation

PROPAGATION CHANNEL EMULATOR : ECP

TEST RESULTS OF A HIGH GAIN ADVANCED GPS RECEIVER

Performance of Wideband Mobile Channel with Perfect Synchronism BPSK vs QPSK DS-CDMA

Current Rebuilding Concept Applied to Boost CCM for PF Correction

DIRECT UP-CONVERSION USING AN FPGA-BASED POLYPHASE MODEM

A DSP IMPLEMENTED DIGITAL FM MULTIPLEXING SYSTEM

Reconfigurable and Simultaneous Dual Band Galileo/GPS Front-end Receiver in 0.13µm RFCMOS

Design of Peak-finding Algorithm on Acquisition of Weak GPS Signals

20 MHz-3 GHz Programmable Chirp Spread Spectrum Generator for a Wideband Radio Jamming Application

Introduction to Receivers

ALTHOUGH zero-if and low-if architectures have been

A DESIGN EXPERIMENT FOR MEASUREMENT OF THE SPECTRAL CONTENT OF SUBSTRATE NOISE IN MIXED-SIGNAL INTEGRATED CIRCUITS

Improved GPS Carrier Phase Tracking in Difficult Environments Using Vector Tracking Approach

1. Introduction. Noriyuki Maeda, Hiroyuki Kawai, Junichiro Kawamoto and Kenichi Higuchi

Transcription:

GPS software receiver implementations OLEKSIY V. KORNIYENKO AND MOHAMMAD S. SHARAWI THIS ARTICLE PRESENTS A DETAILED description of the various modules needed for the implementation of a global positioning system (GPS) software receiver. The concept of softwaredefined radios is gaining a lot of momentum in the telecommunications industry due to the rapid growth in the capabilities of programmable logic devices and the need for multistandard, multiband receiver terminals. GPS is a satellite-based navigation system that is widely used in civil and military location-based services. The location estimates of users on earth are determined by analyzing the incoming satellite signals in the user receiver. Current GPS receivers capture the radio frequency modulated signals at the Link 1 (L1) frequency of 1.57542 GHz, down convert them to an intermediate fre- reconfigured to perform different signal processing tasks. The can be reprogrammed to give different results for different standards. Field programmable gate array based software receivers and interfaces for GPS signal processing have been addressed in some literature. such as in Cummings and Hein. Figure 2 shows the architecture of an ideal software receiver. The main limitation in this design is the constraint of the incoming signal bandwidths and the high dynamic range needed. For the ADC to cope with these two varying parameters (since a software radio is supposed to capture signals from multiple standards with different power levels and frequency ranges), it has to have a larger number of bits and over-sampling ratios. A more practical design architecture that can reduce the high requirements on the ADC would be to have a programmable IF stage and perform partial band digitization. The application of the software receiver approach or the so-called software-defined radio approach on GPS receivers gives the algorithm designer, as well as the receiver architect, some definite advantages while testing the performance of various implementations. The advantage of reconfiguring the functionality via programming yields a better time to market and lower debugging and hardware costs. The software radio approach applied to GPS receivers was first presented in 1996, according to Thor and Akos. quency (IF), digitize them, and perform signal processing to extract the location information. The driver behind this architecture is the high frequency of the incoming signal and the limited sampling rate of the available analog-to-digital converters (ADCs). This architecture is demonstrated in Fig. 1. The design of a heterodyne receiver has limited flexibility. Once the receiver is designed, the user has limited options in the radio frequency (RF) tuning and digital signal processing () portions. This limitation can be overcome by the utilization of software-based receivers that rely on the theory inside band-pass sampling as discussed by Vaughan. In this architecture, the RF signal is digitized without the need for down conversion, and the bandwidth of interest is captured. Then, the part can be MASTERSERIES & PHOTODISC GPS signals 42 278-6648/7/$25. 27 IEEE The GPS signal consists of the pseudo random noise (PRN) code with a frequency of 1.23 MHz and a period of 123 b (i.e., 1 µs per code chip). The PRN code spreads the navigation message, which has a frequency of 5 Hz. The resultant signal denoted as the coarse acquisition (C/A) signal is then modulated with a carrier frequency of 1575.42 MHz (L1 link 1) and is then sent through the communication chan- IEEE POTENTIALS

nel. The PRN code is generated using linear feedback shift registers and belongs to the gold code class of maximum length sequences. The multiplication of the 5-Hz navigation signal with the PRN will spread its power spectral density over a wider range of frequencies, a type of spread spectrum communications. Because of the long traveling path from the satellite to the receiver on earth, the power levels of the signal will be lower than the noise floor, making the signal invisible. Several amplification stages in the receiver as well as the utilization of the correlation property of the PRN code will bring back the signal and make it detectable by the receiver, and the navigation data is processed. IF RF BPF BPF ADC LNA Analog LO Fig. 1 Heterodyne receiver diagram Digital User Interface GPS receiver modules Radio frequency front end After the RF signal has been collected by the antenna, it gets amplified using a low-noise amplifier (LNA) (preamplifier) that has a low noise figure. The signal is then filtered with a bandpass filter (BPF) to reduce band noise. Such filters should possess sharp transitions. Surface acoustic wave (SAW) filters are widely used in current receivers. The signal is then down converted to an IF via an RF-IF mixer. This process is needed to lower the frequency of the signal for the ADC process. The RF L1 signal needs to be lowered to some 1s of MHz to be able to use commercial ADC converter chips. This is the task of the down conversion section. Some receivers utilize single or multiple IF stages based on the frequency plan of the receiver architecture. ADC The ADC will transform the analog IF signal into a digital IF signal for baseband processing. In low-end receivers, single bit (hard limiters) ADCs are used in narrow bandwidths (2 MHz). Highend receivers use up to 3 b (eight levels) of sampling in bandwidths from 2 2 MHz. If a multibit ADC is used, automatic gain control (AGC) is utilized on the incoming signal before entering the ADC to adjust the signal amplitudes based on the ADC dynamic range. Signal acquisition The purpose of acquisition is to find the visible satellites and coarse values BPF RF Analog Fig. 2 Ideal software receiver diagram ADC of carrier frequency and code phase of their signals. The satellites are differentiated by 32 PRN sequences. The code phase is the time alignment of the incoming PRN code in the current block of data with that of the locally generated one. The code phase is necessary to generate a local PRN code that is perfectly aligned with the incoming code. Only when this is the case can the incoming code be removed from the signal. Another parameter that is important to estimate is the Doppler shift. The line-of-sight velocity of the satellite causes a Doppler effect resulting in a higher or lower frequency value for the incoming signal. In the worst case, the frequency can deviate up to ±1 khz. It is important to know the frequency of the signal to be able to generate a local carrier signal. This signal is used to remove the incoming carrier from the signal. In most cases, it is sufficient to search the frequencies in steps of 5 Hz. Two types of signal acquisition are usually adopted in GPS receiver implementations: 1) Serial search acquisition is performed by stepping the code phase Digital User Interface of the locally generated PRN to cover the length of the sequence (i.e., 123) to find the correlation peak and find the code phase offset between the locally generated and incoming GPS signal. 2) Parallel search acquisition is performed by eliminating the full stepping of a whole PRN sequence by utilizing circular correlation between the incoming signal and the locally generated one. This will require less steps (i.e., correlation time) since circular correlation can be performed in the frequency domain utilizing the fast Fourier transform (FFT). Then an inverse FFT is performed to get the signal back into the time domain, but now the correlation peak has been identified. This method is much faster than the serial search method, but the latter can operate on weaker signals. Tracking After the acquisition, the frequency and code offset parameters of a satellite signal are roughly known. The main purpose of tracking is to refine these MAY/JUNE 27 43

E I E I P I P L I L Incoming Signal Local Oscillator PRN Code Generator Code Loop Discriminator 9 E QE Q P QP L QL Carrier Loop Filter Carrier Loop Discriminator Fig. 3 Complete Tracking Loop in the SW receiver. The output is taken from the Ip component. values and keep track and demodulate the navigation data for the specific satellite. First, the input signal is multiplied with a carrier replica. This is done to wipe off the carrier wave from the signal. Next, the signal is multiplied with a code replica and the output of this multiplication gives the navigation message. So the tracking module has to generate two replicas, one for the carrier and one for the code, to perfectly track and demodulate the signal of one satellite. The goal for a code-tracking loop is to keep track of the code phase of a specific code in the signal. The output of such a code tracking loop is a perfectly aligned replica of the code. The code tracking loop in the GPS receiver is a delay lock loop (DLL) called an early-late tracking loop. The idea behind the DLL is to correlate the input signal with three replicas of the code, the early, prompt, and late. The three replicas are often generated with a chip spacing of ±.5. The three outputs are then integrated over a whole C/A code period and stored. The output of these integrations is a term indicating how much the specific code replica correlates with the code in the incoming signal. To demodulate the navigation data successfully an exact carrier wave replica has to be generated. To track a carrier wave signal, phase lock loops (PLL) or frequency lock loops (FLL) are often used. A loop discriminator block is used to find the phase error on the local carrier wave replica. The output of the discriminator, which is the phase error, is then filtered and used as a feedback to the numerically controlled oscillator (NCO), which adjusts the frequency of the local carrier wave. In this way, the local carrier wave could be an almost precise replica of the input signal carrier wave. GPS software receiver implementation As shown in Fig. 2, the software receiver starts after the ADC. The raw GPS data tested was collected using a data collection setup that consisted of a rooftop right-hand circularly polarized (RHCP) GPS antenna, an RF front-end with a total gain of about 9 db, and a data acquisition card that sampled the data and stored it on a hard drive. The stored signal was then passed to the software receiver implemented using MATLAB. The signal analyzed was at digital IF. The receiver has to generate a replica of the PRN code and then using the code tracking loop, align the locally generated sequence with the received one to be able to despread the signal to yield the navigation data. Figure 3 shows a block diagram of the GPS software receiver implemented with the carrier and code tracking loops interconnected. In the GPS software receiver implemented in MATLAB, the gold code generator can generate any of the 32 GPS satellite PRN codes. It can be called as a function, and it will generate the 1,23 bs of the desired PRN sequence. These bits have to be up-sampled to be used with the sampled raw data. The up- 44 IEEE POTENTIALS

sampling factor is given by T C/A /T s where T C/A is the C/A code bit period, and T s is the sampling time. The first stage of the software receiver is to perform acquisition on the raw data. This will identify the visible satellites and will provide the code and Doppler shifts. The two-dimensional space that finds the code and carrier phases is shown in Fig. 4. The peak will give the current code and carrier (Doppler) phases for the acquired signal. Once the visible satellites are identified and the code phase and Doppler shift are stored, the tracking loop (for both code and carrier) tracks the changes in the C/A code and carrier shifts. As can be seen in Fig. 3, the prompt outputs of the code tracking loop feeds the carrier tracking loop, while the carrier tracking loop feeds the NCO used to create the I and Q components used by the code-tracking loop. The analysis is conducted on a block by block basis, where each block is worth 2 ms of data corresponding to a single navigation data bit. The data within the block is processed as shown in Fig. 3, where the digital IF data is multiplied by the sine and cosine functions to form the I and Q streams, then the data is correlated within the code tracking loop to form the early, prompt, and late components. These three are used within the DLL to speed up or slow down the internally generated C/A code to despread the signal. The integration time used in this work was over 1 ms, which is suitable for tracking good signals. If weak signals are to be detected, the integration time should be increased accordingly. Within the same tracking loop, the PLL will track the carrier 8 6 4 2 1 4 1 Code Phase [Samples] 2 4 4, 3, Fig. 4 Acquisition stage result; the peak corresponds to the incoming signal code and carrier phases. PRN 22 was used. phase shift depending on the prompt value of the internally generated C/A code. This carrier phase adjustment is supplied to the sine and cosine functions (NCOs) that are used to wipe off the carrier component of the incoming signal. The I and Q values coming out of the tracking loop are presented in Fig. 5. The navigation data bits are primarily being detected on the I component of the output. This is due to the fact that the local carrier wave is in phase with the input signal, thus all the energy will be in the I component. 3 2, 1, 1, 2, Frequency Shift [Hz] 3, 4, Figure 6 shows the error of the locally generated code frequency and the error in the locally generated sine and cosine function frequencies. The plots are generated by subtracting the known frequencies of the generated C/A code and IF carrier from the original values of 1.23 MHz and 4.333211 MHz for the code and IF, respectively. The code error was within ±3 Hz while the IF frequency error was within ±4 Hz. These numbers show that the implemented code and carrier loops are tracking the incoming signal with pretty good accuracy..4.2 Ip, Qp Values Ip Qp Ip, Qp.2.4 5 1 15 2 25 3 Time Fig. 5 I p and Q p received signals (output of software receiver) MAY/JUNE 27 45

3 1.23*1 6 -CodeFrq Code Frequency Error, Hz 2 1 1 2 3 5 1 15 2 25 3 1 IF-CarrierFrq Frequency Error, Hz 1 2 3 5 1 15 2 25 3 Time Fig. 6 Frequency and code frequency errors Conclusions Software-based GPS receivers are the focus of current research because of their reprogramming ease and flexibility. Sampling an incoming wideband signal will allow the receiver to capture more navigation signals from different standards. This task is very important for more accurate position determination. This article explains the various components needed to implement a GPS based software receiver and shows the results of one implemented in MATLAB. Read more about it R.G. Vaughan, N.L. Scott, and D.R. White, The theory of bandpass sampling, IEEE Trans. Signal Processing, vol. 39, no. 9, pp. 1973 1984, Sept. 1991. M. Cummings and S. Haruyama, FPGA in the software radio, IEEE Commun. Mag., vol. 37, no. 2, pp. 18 112, Feb. 1999. G.W. Hein, T. Pany, S. Wallner, and J.-H. Won, Platforms for a future GNSS receiver: A discussion of ASIC, FPGA and technologies, Inside GNSS Mag., vol. 1, no. 2, pp. 56 62, Mar. 26. J. Thor and D.M. Akos, A direct RF sampling multifrequency GPS receiver, in Proc. IEEE Position Location and Navigation Symp. Apr. 22, pp. 44 51. T. Hentschel, M. Henker, and G. Fettweis, The digital front-end of software radio terminals, IEEE Pers. Commun. Mag., vol. 6, no. 4, pp. 4 46, Aug. 1999. D.M. Akos, A software radio approach to global navigation satellite system receiver design, Ph. D. dissertation, Ohio University, 1997. J.B.-Y. Tsui, Fundamentals of Global, Positioning System Receivers. New York: Wiley, 2. M.N. Sadiku and C.M. Akujoubi, Software defined radio: A brief overview, IEEE Potentials, vol. 23, no. 5, pp. 14 15, October/November 24. P. Misra and P. Enge, Global positioning Systems. Signals, Measurements, and Performance. Lincoln, MA: Ganga- Jamuna Press, 21. About the authors Oleksiy V. Korniyenko is currently pursuing his Ph.D. in systems engineering at Oakland University, Rochester, Michigan. His areas of interest include, software defined radios, navigation systems and filter design for position estimation. Mohammad S. Sharawi obtained his B.S. degree in electronics engineering with highest honors from Princess Sumaya University for Technology, Amman, Jordan in 2. He was an exchange student during the academic year of 1997/1998 at the University of Illinois at Urbana-Champaign. He received his M.S. degree in electrical and computer engineering and Ph.D. degree in Systems Engineering from Oakland University, Rochester, Michigan, in 22 and 26, respectively. He is with the Computer Engineering Department at Philadelphia University, Amman, Jordan. 46 IEEE POTENTIALS