High Performance Tracking Algorithms for Software GPS Receiver
D. Lin, and J. Tsui. Proc. of the 18th ION GNSS Conf., (2005)
Abstract
Typical software GPS receivers mimic the hardware GPS receiver code
and carrier tracking approaches. This is computationally very inefficient
and it limits the potential capability of the receiver. This paper
discusses a new tracking approach which improves computational time
and is applicable for both high dynamic or low signal level conditions.
A hardware GPS receiver's tracking loops are shown in Figure 1. The
IF signal passes through an IQ detector of a carrier phase locked
loop for the carrier wipe-off and then passes through the early,
prompt, and late gate of a code tracking loop for the code wipe-off
. If this typical tracking approach is applied to a software GPS
receiver and the IF signal is digitized at 5 MHz, 5000 points of
the digitized local complex carrier have to be generated for every
millisecond of data. The digitized IF signal is multiplied with 5000
points of locally generated C/A code and then multiplied with 5000
points . After that, these 5000 results are summed together to form
an integrated complex data point. This process is usually called
'integrate and dump' in some textbooks. These integrated complex
data are further processed and fed back to the IQ detector and the
code gate to complete both the code and carrier tracking loops. This
operation has to be carried out for each satellite. It is very time
consuming for a real time implementation. In our new approach, 5000
points of a local C/A code reference and 5000 points of a local IF
carrier reference are digitized and multiplied only once per second,
or when Doppler variation reaches 200Hz. These 5000 combined references
data points can be stored and reused every millisecond of incoming
digital data stream within about 1 second time frame. A Doppler phase
lock loop based on the integrated complex data point is formed at
the Doppler frequency level for the carrier frequency and for phase
tracking. Compared with the typical approach, one 5000-point multiplication
and one 5000-point local carrier generation can be eliminated for
each satellite in every millisecond, greatly reducing the computation
time. The details of the implementation using the Costas phase lock
loop are discussed in this paper and the tracking results using the
digitized data from a real time GPS signal hardware generator (STR4790
from Global Simulation System, Inc.) under different accelerations
and different sensitivities will also be presented in the paper.
%0 Journal Article
%1 Lin2005
%A Lin, D.
%A Tsui, J. B. Y.
%D 2005
%J Proc. of the 18th ION GNSS Conf.
%K GPS, satnav softwareReceiver, tracking
%P 1638-1644
%T High Performance Tracking Algorithms for Software GPS Receiver
%X Typical software GPS receivers mimic the hardware GPS receiver code
and carrier tracking approaches. This is computationally very inefficient
and it limits the potential capability of the receiver. This paper
discusses a new tracking approach which improves computational time
and is applicable for both high dynamic or low signal level conditions.
A hardware GPS receiver's tracking loops are shown in Figure 1. The
IF signal passes through an IQ detector of a carrier phase locked
loop for the carrier wipe-off and then passes through the early,
prompt, and late gate of a code tracking loop for the code wipe-off
. If this typical tracking approach is applied to a software GPS
receiver and the IF signal is digitized at 5 MHz, 5000 points of
the digitized local complex carrier have to be generated for every
millisecond of data. The digitized IF signal is multiplied with 5000
points of locally generated C/A code and then multiplied with 5000
points . After that, these 5000 results are summed together to form
an integrated complex data point. This process is usually called
'integrate and dump' in some textbooks. These integrated complex
data are further processed and fed back to the IQ detector and the
code gate to complete both the code and carrier tracking loops. This
operation has to be carried out for each satellite. It is very time
consuming for a real time implementation. In our new approach, 5000
points of a local C/A code reference and 5000 points of a local IF
carrier reference are digitized and multiplied only once per second,
or when Doppler variation reaches 200Hz. These 5000 combined references
data points can be stored and reused every millisecond of incoming
digital data stream within about 1 second time frame. A Doppler phase
lock loop based on the integrated complex data point is formed at
the Doppler frequency level for the carrier frequency and for phase
tracking. Compared with the typical approach, one 5000-point multiplication
and one 5000-point local carrier generation can be eliminated for
each satellite in every millisecond, greatly reducing the computation
time. The details of the implementation using the Costas phase lock
loop are discussed in this paper and the tracking results using the
digitized data from a real time GPS signal hardware generator (STR4790
from Global Simulation System, Inc.) under different accelerations
and different sensitivities will also be presented in the paper.
@article{Lin2005,
abstract = {Typical software GPS receivers mimic the hardware GPS receiver code
and carrier tracking approaches. This is computationally very inefficient
and it limits the potential capability of the receiver. This paper
discusses a new tracking approach which improves computational time
and is applicable for both high dynamic or low signal level conditions.
A hardware GPS receiver's tracking loops are shown in Figure 1. The
IF signal passes through an IQ detector of a carrier phase locked
loop for the carrier wipe-off and then passes through the early,
prompt, and late gate of a code tracking loop for the code wipe-off
. If this typical tracking approach is applied to a software GPS
receiver and the IF signal is digitized at 5 MHz, 5000 points of
the digitized local complex carrier have to be generated for every
millisecond of data. The digitized IF signal is multiplied with 5000
points of locally generated C/A code and then multiplied with 5000
points . After that, these 5000 results are summed together to form
an integrated complex data point. This process is usually called
'integrate and dump' in some textbooks. These integrated complex
data are further processed and fed back to the IQ detector and the
code gate to complete both the code and carrier tracking loops. This
operation has to be carried out for each satellite. It is very time
consuming for a real time implementation. In our new approach, 5000
points of a local C/A code reference and 5000 points of a local IF
carrier reference are digitized and multiplied only once per second,
or when Doppler variation reaches 200Hz. These 5000 combined references
data points can be stored and reused every millisecond of incoming
digital data stream within about 1 second time frame. A Doppler phase
lock loop based on the integrated complex data point is formed at
the Doppler frequency level for the carrier frequency and for phase
tracking. Compared with the typical approach, one 5000-point multiplication
and one 5000-point local carrier generation can be eliminated for
each satellite in every millisecond, greatly reducing the computation
time. The details of the implementation using the Costas phase lock
loop are discussed in this paper and the tracking results using the
digitized data from a real time GPS signal hardware generator (STR4790
from Global Simulation System, Inc.) under different accelerations
and different sensitivities will also be presented in the paper.},
added-at = {2011-05-30T10:41:10.000+0200},
author = {Lin, D. and Tsui, J. B. Y.},
biburl = {https://www.bibsonomy.org/bibtex/28676a33cc385a494a2674829bf2f675b/bmuth},
groups = {private},
interhash = {0eace0c55c8ab5decd98178dee0a3ba5},
intrahash = {8676a33cc385a494a2674829bf2f675b},
journal = {Proc. of the 18th ION GNSS Conf.},
keywords = {GPS, satnav softwareReceiver, tracking},
owner = {bmuth},
pages = {1638-1644},
timestamp = {2014-08-11T22:37:44.000+0200},
title = {{High Performance Tracking Algorithms for Software GPS Receiver}},
username = {bmuth},
year = 2005
}