Você está na página 1de 4

Design a L1 Software GPS Receiver Based on IF GPS Signal Simulator

Bin Tang, Shushi Liu, Weitao Tang, Xurong Dong


Zhuangbei Institute of Technology, P. O. Box: Beijing 3380-171, 101416, P. R. China
Email: tangbinfriend@yahoo.com.cn
Abstract
The conventional GPS receivers provide the least
user flexibility. It is necessary to have software GPS
receivers for easy implementation, simulation and
analysis of algorithms. Additionally, a GPS software
receiver is more flexible when it comes to adapting the
entire receiver to work on the near future Galileo
signals. In this software receiver design, the focus is
on the baseband signal processing of L1 band C/A
code GPS signal. The purpose of this paper is to
develop the algorithms of baseband signal processing,
including signal acquisition and tracking based on the
IF GPS signal simulator.
1. Introduction
Global Navigation Satellite Systems (GNSS) have
used for the past 20-30 years. GPS and GLONASS are
examples of GNSS. In near future, new GNSS called
Galileo, will be developed by Europe. The receivers
for all these systems are built using application specific
integrated circuits (ASICs), which we often call
hardware receiver. An ASIC has the least level of
flexibility in setting or implementing the parameters in
this type of receiver.
In a software GPS receiver(SGR), this flexibility is
very usable when different algorithms should be tested,
but also in cases where the GPS signals change. In near
future the change in the GPS signals includes another
carrier frequency for data transmission, the L5 band.
Additionally, a GPS software receiver is more flexible
for the near future Galileo signals. As a consequence,
many research groups have undertaken the
development of software receivers in recent years
[1,2]
.
This paper focuses on the acquisition and tracking of
the signals through software implementations. When
the signal processing parts of the GPS receiver are
implemented, it is necessary to have some data
available for testing their functionality. The final goal
is to have the GPS receiver working on real sampled
data obtained from a GPS antenna through an RF
front-end and an A/D converter. In the phase of
developing the signal processing algorithms, it is not
optimal to use real sampled data. The main reason for
this is that it is impossible to control the properties of
the received and sampled GPS signals. The solution to
the problems with testing algorithms on real data in the
development phase can be solved through simulated
data. We will explain briefly IF GPS signal simulator.
2. IF GPS signal model and simulator
The GPS signal propagation path starts from the
signal generation at the satellites, which is followed by
signal propagation through the ionosphere and the
troposphere. The signal received by the receiver
antenna is a combination of the direct signals for all
satellites in view, multipath signals, and noise. Then,
this composite signal is amplified, down-converted,
filtered, and sampled in the front-end as shown in
Figure 1.
Multipath
Antenna
Pre-
amplifying
Down-
Conversion
Filtering
Sampling
Digtization
IF GPS
Signal
IF signal simulator
based on the
mathematical model
Figure 1. GPS signal propagation path
Current GPS satellites broadcast signals on two L-
band frequencies, L1 at a nominal center frequency of
1575.42 MHz and L2 at 1227.60 MHz. These signals
have three components: a carrier signal at the center
frequency, a bi-phase shift key (BPSK) modulated
psuedo-random noise (PRN) code, and binary
navigation data containing satellite health, ephemeris,
and almanac information used to determine navigation
solutions. Two signals are broadcast on the L1
frequency, a coarse acquisition (C/A) and an encrypted
precision ranging P(Y) code, with the C/A code
delayed by 90 degrees from the P(Y). The signal
transmitted from one satellite can be described as
) 2 cos( )) ( ) ( ( 2 /
) 2 sin( )) ( ) ( ( ) (
1 1
1
t f t D t P P
t f t D t C P t x
L
k k
PL
L
k k
C
k
t
t
+
=
(1)
where
C
P and
1 PL
P are the powers of signals with C/A
or P code, ) (t C
k
is the C/A code sequence assigned to
satellite number k , ) (t P
k
is the P(Y) code sequence
assigned to satellite number k , ) (t D
k
is the navigation
ICSP2006 Proceedings
____________________________________
0-7803-9737-1/06/$20.00 2006 IEEE
Authorized licensed use limited to: Khajeh Nasir Toosi University of Technology. Downloaded on May 10, 2009 at 06:35 from IEEE Xplore. Restrictions apply.
data sequence, and
1 L
f is the carrier frequencies of L1.
Note the in front of the cosine term. This is the -3dB
gain applied by the GPS transmitter to the P(Y) code
signal. In this paper, we limit our discussion within the
L1 band and C/A code only since L2 band and P code
are used primarily for military purpose and the
encryption codes are not available to the civilian
community. Because of the narrow bandpass filter
around the C/A code, the P code is distorted. In this
way, after the down-conversion, the output from the
front-end can be described as
) sin( )) ( ) ( ( ) ( t t D t C P t x
IF
k k
C
k
e = (2)
where
IF
e is the intermediate frequency (IF) the front-
end has down-converted the carrier frequency to. The
signal from one satellite after the A/D conversion can
be described as
) ( ) sin( )) ( ) ( ( ) ( n e n n D n C P n x
IF
k k
C
k
+ = e (3)
where n denotes that the signal is discrete in time,
) (n e is noise. Based on the (1), (2), (3), we can generate
IF GPS signal to test the signal processing algorithms
in the acquisition and tracking. In this simulator, the
intermediate frequency is 1.75Mhz, the sampling
frequency is 6Mhz, code phase, Doppler shifted
frequency and SNR may be designed arbitrarily.
3. Signal acquisition
The beginning of the C/A code and the IF carrier
frequency of a GPS signal from a satellite can be found
by correlating the incoming signal with the receiver
generated signal. There are several different methods
to perform acquisition. The serial search code
acquisition is the slowest search method, it is usually
implemented in hardware receivers. The fast Fourier
transform in frequency domain usually implemented by
software receiver, and the theory is briefly summarized
as follows. The multiply-accumulation operation in
signal acquisition is actually the calculation of the
correlation between the incoming signal ) (n x and the
local reference signal ) (n h , it can be described as

=
+ =
1
0
) ( ) ( ) (
N
n
n h m n x m r (4)
The DFT of ) (m r in the frequency domain can be
derived as
) ( ) (
) ( ) (
) ( ) ( ) (
1
0
/ 2
1
0
/ ) ( 2
1
0
/ 2
1
0
k H k X
e n h e m n x
e n h m n x k R
N
n
N kn j
N
m
N m n k j
N
m
N km j
N
n
-

=
+

=
=
+ =
+ =

t t
t
(5)
Thus the correlation of the received signal and the
local reference signal can be calculated as follows
))) ( ( ( * )) ( ( ( ) ( n h FFT CONJ n x FFT IFFT m r = (6)
It is obvious that three FFT operations can complete
the PRN code offset search at one frequency bin. The
exact acquisition procedure implemented in this
receiver is illustrated in Figure 2.
cos
sin
FFT
Local
Oscillator
Incoming
signal
FFT
Complex
Conjugate
PRN Code
Generator
IFFT
Figure 2. FFT based Method signal acquisition
Several factors can affect the performance of the
acquisition program. One is the length of data used to
acquire. Only one or two milliseconds of data are
required for strong signals while the weaker signals
need four to ten milliseconds of data for acquisition
[4]
.
Another factor is the frequency search step in
calculating the carrier frequency. To ensure there is
still partial correlation between the input signal and the
locally generated signal, the maximum frequency
separation should be within half a chip. If the data
length is 1 ms, 1 kHz signal will change one cycle in
1ms. In order to keep the maximum frequency
separation within half a cycle in 1ms, the frequency
step should be 1 kHz. Hence, the furthest frequency
separation between the input signal and receiver
generated signal is 500Hz. If the data length is 4ms,
the search frequency step should be 250Hz
[3]
.
In the IF signal simulator, we set the code phase,
Doppler shifted frequency and SNR, there are 3001
points, 2850hz and -20dB respectively. Since the
sampling frequency of the signal is 6Mhz, there are
6000 points (1023 chips) in one C/A code period of
duration 1ms. This IF signal is correlated with receiver
generated C/A code and carrier frequency with
Doppler frequency range of +/-10Khz at a step of
1Khz. Figure 3 shows the result of acquisition for
satellite 5. Figure 4 shows the acquisition result of the
same data set but using 4ms of data length. We can see
a clear improvement of SNR in case of longer data
period but it needs longer computation time.
Figure 3. Acquisition with 1ms data(SNR=-20dB)
Authorized licensed use limited to: Khajeh Nasir Toosi University of Technology. Downloaded on May 10, 2009 at 06:35 from IEEE Xplore. Restrictions apply.
Figure 4. Acquisition with 4ms data(SNR=-20dB)
4. Signal Tracking
After the acquisition process is complete, the
receiver enters the tracking loops, the function of
which are to track the variations in the carrier Doppler
and code offset. A delay-locked loop (DLL) is used to
track the C/A code phase and a phase-locked loop
(PLL) is used to track the carrier frequency of the
incoming signal with Doppler shift.
In the Figure 5, track loops use two down-
conversions to reach baseband, where the incoming
signal is converted into In-phase and Quadrature (I &
Q) channels by multiplication by sine and cosine
versions of the local oscillator frequency. This design
has the advantage that it is independent of the phase on
the local carrier wave.
I
Q
Carrier
NCO
Incoming
signal
Integrate
& Dump
PRN Code
Generator
Integrate
& Dump
Integrate
& Dump
Integrate
& Dump
Integrate
& Dump
Integrate
& Dump
E
E
P
P
L
L
IE
IP
IL
QL
QP
QE
Code Loop
Discriminator
Carrier Loop
Filter
Carrier Loop
Discriminator
sin
cos
Figure 5. Signal tracking loop
The code-tracking loop is a DLL that compares the
incoming spreading code with three different phase
versions of the code (Early, Prompt, and Late), as the
outputs of the code generator. The early and late codes
are prompt code that is time shifted by half a chip or
less. The early and late codes correlate with incoming
C/A codes to produce two outputs. These outputs are
filtered, squared and compared using a Early-Late
normalized envelope discriminator
[5]
2 2 2 2
2 2 2 2
L L E E
L L E E
DLL
Q I Q I
Q I Q I
D
+ + +
+ +
= (7)
The Phase Lock Loop (PLL) consists of a
numerically controlled oscillator (NCO), carrier loop
filter and a discriminator. The output of the DLL is a
signal only modulated with the navigation data, which
is also used as the input to the PLL. The PLL used for
GPS signal tracking is a Costas Loop. An arc tangent
discriminator that is insensitive to the phase transition
of the navigation data bit transitions is used to
determine the phase shift in the carrier frequency
[5]
.
The atan discriminator is
|
|
.
|

\
|
=
P
P
PLL
Q
Q
D arctan (8)
The DLL and PLL used to tracking a GPS signal are
usually second order loops. The transfer function of
the second order loop filter in the z-domain can be
described by the following equations
1
1
1 2 1
1
) (

- +
=
z
z C C C
z F (9)
) ) ( 4 4 (
8
2
1
T T K
T
C
n n
n
A + A +
A
=
e ce
ce
) ) ( 4 4 (
) ( 4
2
2
2
T T K
T
C
n n
n
A + A +
A
=
e ce
e
s T
B
n
n
001 . 0 ,
4 / 1
2
= A
+
=
c c
e
The damping factor c , a value of 0.707 is
considered to be optimum. However, the change in
natural frequency
n
e , and loop gain affects success or
failure of the tracking. These parameters are related
with the incoming signal strength. Based on the
dynamics expected, typical noise bandwidths for the
code and carrier tracking loops are 2Hz and 50Hz
respectively, and loop gain, K for the code and carrier
tracking loops are 0.02 and 1300 shall successfully
track the incoming signal. The performance of a
tracking loop is determined by the measure of the
tracking error variance at steady state. Given below the
tracking errors in Figure 6 and Figure 7 for different
SNR, -5dB, -10dB and -15dB.
Figure 6. Frequency offset between the real frequency
and the frequency of the acquisition
Authorized licensed use limited to: Khajeh Nasir Toosi University of Technology. Downloaded on May 10, 2009 at 06:35 from IEEE Xplore. Restrictions apply.
Figure 7. The output of code discriminator
5. Real data test
The real sampled data is from a GPS signal tap,
named Newstar 210, which is designed by Beijing
oLinkStar Company
[6]
. The ADC sampling frequency
is 16.368Mhz, the intermediate frequency is
4.123968Mhz, and signal is sampled using two bits.
Figure 8 illustrates the result of acquisition using FFT
approach. The Doppler frequency range is 10 KHz,
and the data length is 1ms (16368 points). Figure 9
shows the output of the tracking loop. In this case,
400ms real sampled data is processed. As long as the
loop can keep the track with the incoming signal , I
channel consists of representation of navigation data
bits and Q channel consists of noise only.
Figure 8. Real sampled data acquisition
Figure 9. Real sampled data tracking
6. Conclusion
We have completed the algorithms for acquisition
and tracking. The algorithms have been tested on
various data, including simulating data and real
sampled data. The future work consists of extracting
the navigation message from the tracking output and to
compute the position of the receiver. It is also
necessary to make the processing as fast as possible,
and make the receiver really useful, all algorithms
should be able to run in real-time and not just post
processing mode.
References
[1] Nicolaj Bertelsen, Kai Borre and Peter Rinder,
The GPS Code Software Receiver at Aalborg
University, 2nd ESA Workshop on Satellite
Navigation, Navitech 2004 Proceedings, pp.
373-380, 2004.
[2] Krumvieda K., P.Madhani, C. Cloman, E. Olson,
J. Thomas, P.a Axelrad, W. Kober, A Complete
IF Software GPS Receiver: A Tutorial about the
Details, ION GPS 2003, pp. 789-829, 2003.
[3] James Bao, Fundamentals of Global Positioning
System Receivers-A Software Approach, John
Wiley & Sons, Inc. Publication, 2 edition, pp.
133-138, 2005.
[4] 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.
[5] Kaplan, E., Understanding GPS: Principles and
Applications, Norwood, MA, Artech House,
pp.83-93, 1996.
[6] http://www.olinkstar.com
Authorized licensed use limited to: Khajeh Nasir Toosi University of Technology. Downloaded on May 10, 2009 at 06:35 from IEEE Xplore. Restrictions apply.

Você também pode gostar