development of a one channel galileo l1 software receiver
TRANSCRIPT
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 1/14
Development of a One Channel Galileo L1
Software Receiver and Testing Using Real Data
F. Macchi and M.G. Petovello
Position, Location and Navigation (PLAN) Research Group
Department of Geomatics Engineering
Schulich School of Engineering
University of Calgary
BIOGRAPHY
Florence Macchi is a PhD candidate in the department of
Geomatics Engineering at the University of Calgary,
Canada. She is a member of the PLAN Group (Position,
Location and Navigation). She completed her bachelor of
electrical engineering in 2006 in the INT (Institut
National des Telecommunications), France. She is
currently working on Galileo and receiver design. She
expects to finish her PhD in September 2009.
Dr. Mark Petovello is a senior research engineer in the
Position, Location and Navigation (PLAN) group where
he executes and supervises various navigation-related
projects. Since 1998, he has worked on several projects
including satellite-based navigation, inertial navigation,
reliability analysis, dead-reckoning sensor integration,
and most recently, software-based GNSS receivers.
ABSTRACT
With the recent or upcoming availability of several new
signals from GPS, Galileo, GLONASS and Compass, the
beginning of a new era in the field of GNSS has arrived.
The recent development and launching of the first Galileo
satellite GIOVE-A, part of the Galileo System Test Bed
as well as the still on-ground testing satellite GIOVE-B is
the start of this new age. Therefore, with such an
improvement in the number of signals available to the
user and the geometry offered by the combination of the
various constellations, the current capabilities but also
complexities of the receivers will be increased. One
challenge is of course the acquisition and tracking of
Galileo signals, especially using the actual data
transmitted by the current orbiting satellite GIOVE-A.
Due to the properties of the new L1 Galileo signal, novel
acquisition techniques need to be developed. Beginning
with the common zero padding technique, four new
techniques of acquisition are described and implemented.
The four acquisition methods (two for each the pilot and
data channel) are then tested and compared in terms of
processing time and acquisition sensitivity. Then, a
tracking algorithm is presented using common strategies
and the parameters of the filters are studied. All these
tests are realized using real data from the current Galileo
satellite.
The two methods of acquisition using a longer incoming
signal permit an improvement of the SNR of 5 dB for the
data channel and 4 dB for the pilot channel. But these new
strategies require more processing time and thus should
be used only for weaker signals. The results of acquisition
and tracking are validated using a NovAtel 15a receiver
for comparison.
INTRODUCTION
The European Commission (EC) and the European Space
Agency (ESA) has been collaborating in Galileo to create
the first European global navigation system. This new
Global Navigation Satellite System (GNSS) is mainly
civilian and commercial - except the PRS (Public
Regulated Service) which will is reserved for the public
authorities - and will be inter-operable with GPS and
GLONASS, the American and Russian GNSSs.
The first Galileo satellite, GIOVE-A was launched on 28
December 2005 and is being used to test the equipment of
the satellite and the ground stations and to secure the
Galileo frequencies within the International
Telecommunications Union. At the end of 2007 is
scheduled the launch of the second test satellite GIOVE-B
to continue the tests and incorporate some improvements.
Another test satellite, GIOVE-A2 will be ready for launch
in the second half of 2008 to secure the frequency in case
of a malfunctioning of the two other satellites (European
Space Agency ESA website).
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 2/14
Four operational satellites should then be launched to
validate the Galileo concept, and once this phase is
complete, the full constellation will be deployed. When
the deployment is complete, the constellation will contain
27 operational satellites plus 3 active spares divided in
three orbital planes and transmitting at three frequencies
for a civilian and commercial use (no military signal).
The focus of this paper is the Galileo L1 signal. The
Galileo L1 signal is in the same band as GPS L1 and
contains a pilot and data channel. The pilot channel has
been created to increase the robustness of the carrier
tracking and to aid the re-acquisition of the signal in
degraded environments (i.e., low carrier to noise density
ratio; C/No). Nevertheless, new techniques of acquisition
are needed to use these new signals and different
techniques need to be developed to maintain efficient
implementation. Regarding the tracking, conventional
techniques cannot be used without adjusting the relevant
tracking loop parameters. However, to take full advantage
of the properties of the signal, other techniques should be
implemented.
The objective of this paper is to develop a software
receiver to acquire and track the Galileo L1 signal. To
achieve this objective, new techniques of acquisition
adapted to the Galileo L1 signal are created using the
common zero padding technique (Yang et al. 2004) as a
basis. Concerning the tracking, the usual strategies are
implemented but a special attention is given to the
parameters of the loop filters.
The paper begins with a brief overview of the Galileo L1
signals. Then, the test procedure is presented. Next, the
methods of acquisition developed are presented and the
results analyzed. Finally, the tracking strategy is
explained and the results are presented.
GALILEO SIGNALS STRUCTURE
The GIOVE-A frequency plan is identical to the original
frequency plan presented in the Interface Control
document (OS SIS ICD 2006). The Galileo Navigation
Signals are transmitted in the frequency bands indicated
in blue in Figure 1 (OS SIS ICD 2006). These frequency
bands are: the E5a and E5b bands, E6 band and L1 band.
The frequency bands have been selected in the allocated
spectrum for Radio Navigation Satellite Services (RNSS).
In addition, E5a, E5b and L1 bands are included in the
allocated spectrum for Aeronautical Radio Navigation
Services (ARNS), employed by Civil-Aviation users, and
so allow for their use in dedicated safety-critical
applications.
Figure 1: Galileo frequency plan
The L1 signal contains three channels (A, B and C) and is
transmitted at the same central frequency as GPS L1:
1575.42 MHz (see Figure 2, OS SIS ICD 2006). The A
channel is a PRS signal (public regulated service) and so
is a restricted access signal. Therefore, this channel will
not be considered here. The L1-B and L1-C channels are
OS (Open Service) and contain unencrypted ranging
codes accessible to all users. The L1-B channel is a data
channel, so it transmits a navigation message. The L1-C
channel is a pilot channel, and so does not transmit any
navigation message. The combined transmitted power of
these two channels is -157dBW. In this research, the L1-B
and L1-C channels are considered and their structure is
detailed in the following.
Figure 2: Galileo frequency spectrum
GALILEO L1 SIGNAL STRUCTURE
The characteristics of the signals transmitted by the
GIOVE-A satellite and the future Galileo satellites are not
exactly the same (the ranging codes or length of the
ranging codes for example are different). In this research,
the signals considered are the ones broadcast by the
current Galileo satellite.
As mentioned before, the Galileo L1 signal is composed
of three channels A, B and C. The B and C public
channels are transmitted in the in-phase component and
share half of the transmitted power with the commercial
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 3/14
channel A, which is transmitted in the quadrature
component. Nevertheless, 11% of the transmitted power
is lost because a technique is used to keep the total
transmitted power constant over time: a fourth channel
which is a combination of the three others is added for
this purpose (Borre et al. 2007). The navigation message
transmitted by the data channel L1-B is the I/NAV
message (Integrity navigation message type) and is
transmitted at 250 symbols/s. The same navigation
message is transmitted as well on E5b, and permits to
acquire faster the navigation message with a dual
frequency receiver.
The future spreading codes for L1 are only memory
codes, but the current ones are generated using LFSR
(Linear Feedback Shift Register, see Table 2, from
GIOVE-A SIS ICD 2007). The L1-B channel is
composed of a primary code of 4092 chips which lasts 4
ms and a navigation message. The L1-C channel is
composed by a primary code of 8184 chips which lasts 8
ms, a secondary code of 25 chips and no navigation
message. To have the final code, which is called a “tiered
code”, you take the primary code and add it (modulo 2) to
the first chip of the secondary code, then take again the
primary code and add it to the second chip of the
secondary code, and do the same for the 25 chips of the
secondary code (see Figure 3 from GIOVE-A SIS ICD
2007). So, the length of the tiered code for L1-C is
25x8184 and lasts 200 ms.
Table 1: Spreading codes of L1-B and L1-C
The ranging codes are longer than for the C/A L1 GPS
signal, so it reduces the cross-correlation products, but the
acquisition time is longer. The secondary code on the
pilot channel has two main advantages:
• It helps achieve data synchronization
• It increases the signal resistance to narrow-band
interference
Figure 3: Tiered code generation
A big difference between Galileo L1 and GPS L1 is that
each time the ranging code period changes, the sign of the
data bit (on L1-B) or the bit of the secondary code (on
L1-C) can change (in GPS L1 the sign can change no
more frequently than every 20 ms). So, new techniques of
acquisition are needed for these signals relative to GPS.
This is the focus of this paper.
The L1 Galileo signal is modulated using a BOC
modulation (Binary Offset Carrier). A BOC modulation
contains two parameters m and n:
• m = fs/f0 where fs is the subcarrier frequency
• n = fc/f0 where fc is the spreading code frequency
A BOC signal is created by modulating a sine wave
carrier with the product of the ranging code period and the
sign of the sinus of the subcarrier (see Figure 4). In the
case of L1-B and L1-C, it is a BOC(1,1) modulation, so it
is equivalent to duplicating each chip of the ranging code
with opposite sign and at twice the original chipping rate.
The result of the subcarrier modulation is to split the
classical BPSK spectrum in two symmetrical components
with no remaining power on the carrier frequency.
Figure 4: BOC modulation
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 4/14
The L1-B and L1-C signals can be expressed as follows
(GIOVE-A SIS ICD 2007):
[ ][( ) ( )[ ]]tRsignTitrect
dce
BLSBLCT
i
iBLiBLBL
BLC
BLDCBLL
⋅⋅×⋅−×
×=
−−
+∞
−∞=
−−−
−
−−∑
1,1,
,1,11
2sin1,
11
π
[ ( )
( )[ ]]tRsign
Titrectce
CLS
CLCT
i
iCLCL CLCCLL
⋅⋅×
⋅−×=
−
−
+∞
−∞=
−− −−
∑
1,
1,,11
2sin
1,1
π
and the total baseband signal on L1 (without L1-A) is:
( ) ( )[ ]tetes CLBLL −− −= 1112
1
using the following notations:
• BLe −1 and CLe −1 are the L1-B and L1-C signals,
including the code, the subcarrier, the
modulation and the data
• BLL
iBLc
−−
1,1
and CLL
iCLc
−−
1,1
are the ranging
codes of L1-B and L1-C
• [ ]BLDCiBLd
−−
1,1 is the navigation message
• ( )trectCT and is “rectangle” function (defined to
equal to one between 0 and Tc)
• BLSR −1, and CLSR −1, are the subcarrier
frequencies of L1-B and L1-C (used in the BOC
modulation)
here MHzRR CLSBLS 023.11,1, == −−
This modulation has an important impact on the
correlation of the signal: in addition to the main peak, side
peaks are generated at half a chip on each side of the main
peak with half the power of the main peak. These two side
peaks have an impact on the tracking as explained later.
TEST PROCEDURE
Currently, there is only one Galileo satellite in the sky, the
GIOVE-A. Therefore, this satellite has been used to test
all the algorithms developed hereafter and to compare the
performances of the data and pilot channel. The
GIOVE-A is able to transmit on only two frequencies at a
time. The information about the current Galileo
frequencies transmitted can be found on the official
GIOVE-A website: http://www.giove.esa.int.
The NASA overpass predictor was used to know when
the satellite was visible with a good elevation angle. Since
in this research the main goal was to develop and test new
algorithms, the data were recorded only when the satellite
was at a high elevation and so a relatively high signal
power. Then, IF samples were recorded using a NovAtel
Euro3M Card. At the same time, the pseudorange,
Doppler and C/No, measurements were recorded from a
NovAtel 15a receiver for comparison purposes. Figure 5
shows the data collection setup.
Figure 5: Test set-up
The Euro3M Card has the following characteristics:
• Records real samples at 40 MHz (equivalent to
20 MHz complex samples)
• Intermediate frequency is 70.42 MHz on L1
• Output used is one bit quantization on L1
• Front-end bandwidth of 16 MHz (two-sided)
As shown in Figure 6, an external rubidium oscillator
(10 MHz) was used to drive the NovAtel Euro-3M. A
rubidium oscillator was selected to remove any significant
oscillator effects on signal tracking performance. Future
tests will include poorer quality oscillators.
Figure 6: Pictures of the data collection
Antenna
Measure-ments
IF samples
15a receiver
Euro3M Card
External Oscillator
External oscillator
Euro3M Card
PC used for
the data
collection
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 5/14
The NovAtel 15a receiver contains 16 channels capable of
tracking and decoding GPS L1 and L5, Galileo L1 and
E5a and SBAS signals. The receiver configuration used
was:
• 5 Galileo L1 channels
• 5 Galileo E5a channels
• 6 GPS L1 channels
METHODS OF ACQUISITION OF THE L1 PILOT
AND DATA CHANNELS
The acquisition scheme used for all the following
acquisitions is a standard parallel code phase search
acquisition presented in Figure 7. With this method, the
correlation is computed in the frequency domain, which
permits a reduction in the processing time compared to an
acquisition in the time domain (Borre et al. 2007).
Figure 7: Parallel code phase search acquisition
scheme
Since the first Galileo satellite has been launched, some
research has been done about the acquisition and the
tracking of the Galileo L1 signals. Nevertheless, few of
the algorithms implemented have been tested with real
data, instead using signal simulators. Indeed, Marradi et
al. (2006), Spelat et al. (2006) and Botteron et al. (2006)
have developed Galileo receivers or algorithms of
acquisition and tracking but tested them only through the
use of signal simulators. Few people such as Ledvina et
al. (2006) have implemented algorithms and Galileo L1
receiver and have tested it using real data, but their main
goal was to create it in real time and not to compare the
performances of the signals using different algorithms.
Finally, Psiaki et al. (2006) have developed a statistical
technique to decode the code before their release.
In this research, new methods of frequency-domain
acquisition are proposed to acquire the pilot and data
channel using different length of incoming signal, adapted
to the strength of the signal. Then, the parameters of the
filters of a traditional tracking are studied to optimize the
tracking performances.
The acquisition is developed for the data channel and then
for the pilot channel using 8 ms of incoming signal and 16
ms of incoming signal respectively. This implementation
used the zero padding technique (Yang et al. 2004),
strategy commonly used for L5 GPS (Mongredien et al.
2006). But to compare the characteristics of the
acquisition of the data and pilot channel, it is necessary to
have the same length of incoming data. Thus, beginning
with the zero padding technique, two new methods of
acquisition are created and implemented to acquire the
pilot channel using 16 ms of incoming signal and the pilot
channel over 8 ms.
As mentioned before, the usual techniques of acquisition
for GPS L1 can’t be applied to the Galileo L1 signals due
to the properties of the signal. On L1-B the sign of the bit
of the navigation message can change each ranging code
period, so if the integration is done over two (or more)
ranging code periods, a destructive combination can occur
leading to degraded acquisition performance. The same
problem is encountered in the case of L1-C even if there
is no navigation message, the secondary code plays the
same role: the sign of the secondary bit can change each
time the ranging code repeats. The difference with L1-C
however, is that the structure of the secondary code is
known, and once the receiver is synchronized with the
secondary code, it can be effectively removed.
Four acquisition techniques have been developed for this
paper, two for each the pilot and data channels. The
algorithms are compared in terms of sensitivity and
processing time.
First, an acquisition strategy was developed for the data
channel L1-B using 8 ms of incoming signal. If the
correlation is realized only over the length of one
spreading code period (i.e. 4 ms), it is possible that no
correlation peak will be visible if a change of sign
happens in the incoming signal. Since the correlation is
done in the frequency domain, a zero padding strategy is
needed. This strategy has already been implemented in
the case of GPS L5 for example in Mongredien et al.
(2006):
• Take 8 ms of incoming sample data.
• A local replica of the complete ranging code (4
ms for L1-B) is created and padded with 4 ms of
zeros.
• The correlation is performed
• If the correlation is done on the 8 ms, one or two
peaks will be generated depending on the sign
change in the bit of the navigation message (see
Figure 8). However, a correlation peak will
always be present in the first 4 ms of output, so
only this part of the correlation result needs to be
searched. Furthermore, the first peak is always
higher or of the same amplitude as the second
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 6/14
peak because it always represents a correlation of
the entire spreading code period.
Legend:
Figure 8: Illustration of the zero padding technique
Since on the pilot channel the ranging code lasts 8 ms, it
is possible to use as well a zero padding technique
(similar to the one used to acquire the data channel using
8 ms of incoming signal) to acquire the signal using 16
ms of incoming data. The acquisition technique used on
L1-C to acquire the signal on 16 ms is the following:
• 16 ms of incoming data are used
• A local replica of 8 ms of code is created (so one
entire spreading code period) and is padded with
8 ms of zeros
• The two signals are correlated
• If the correlation is done on the 16 ms, one or
two peaks will be generated depending on the
sign change in the bit of the navigation message
(see Figure 8)
• As before, a correlation peak will always be
present in the first 8 ms and will always be the
highest one, so the correlation peak need to be
searched only in the first 8 ms
To compare the performances of the pilot and data
channel, the acquisition of the data channel is done as
well using 16 ms of incoming data. In this case, the zero
padding technique as presented above cannot be used
anymore. Indeed, in the case of the data channel, in 16 ms
of data it is possible to have three changes in the sign of
the data bit. Thus, if the same zero padding technique is
used:
• If one spreading code period only is used and
padded with 12 ms of zeros, there will be no gain
in using 16 ms of data instead of 8 ms.
• If two or more spreading code periods are used
and padded with zeros, a destructive combination
can occur and the acquisition can be highly
degraded.
Therefore, an adaptation of the technique has been created
and implemented to realize an acquisition of the data
channel using 16 ms of incoming signal. Since 16 ms of
incoming signal are considered, there are four possible
values in the sign of the bit of the navigation message. To
accommodate this, the acquisition is realized using four
different sub-groupings of the incoming signal, each 8 ms
long, as shown in Figure 9. In all cases, the local code
consists of 4 ms of the ranging code (i.e., the full code)
padded with 4 ms of zeros. The four sub-groupings of the
incoming data are defined as follows:
• First, the first 8 ms of incoming signal are
considered.
• Second, the first and last 4 ms of incoming
signal are not considered (only the 8 ms from
the fifth to the twelfth millisecond are used).
• Third, the last 8 ms of incoming signal are
considered.
• Finally, the last 4 ms of incoming signal are
combined with the first 4 ms of incoming signal.
The results of these four correlations are finally added.
This method allows to acquire the signal using 16 ms of
incoming signal, but it requires much more operations
(and so more processing time) than the previous one.
Consequently, this method should be used only in the case
of weaker signals, where the first method does not
provide a correlation peak strong enough to confidently
identify the presence (or absence) of a signal. This
method is equivalent to a non-coherent accumulation in
the time domain of four times 4 ms. Nevertheless, if this
method has to be implemented in a hardware receiver, the
four correlations can be performed using four parallel
correlators and in this case it will not be longer than the
previous method, it will only use a higher number of
correlators. However, these correlations may not
necessarily be easy to perform in real time, and a solution
using buffers may have to be explored.
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 7/14
Legend:
Figure 9: Illustration of the technique of correlation
over 16 ms for the data channel
Finally, another method of acquisition has been created to
be able to acquire the pilot channel using 8 ms. Indeed, if
the acquisition wants to be realized on the L1-C channel
using only 8 ms of data (to compare with L1-B and to
decrease the processing time) another problem is
encountered: one entire primary code is present in 8 ms of
data but a change in the sign of the bit of the secondary
code is possible. Thus, if a usual method of correlation is
used in correlating directly with a replica of 8 ms of the
code, it is possible to have no correlation at all or a very
small peak.
Therefore, a new method has been created and
implemented to avoid this problem. The correlation is
done in two steps (see Figure 10):
• Generation of the first half of the primary
spreading code period (so 4 ms) padded with 4
ms of zeros is correlated with the 8 ms of
incoming signal
• Generation of the second half of the primary
spreading code period (so 4 ms) padded with 4
ms of zeros is correlated with the 8 ms of
incoming signal
• Then the two correlation results are added over
8 ms
With this method, one peak is always present in the 8 ms
of correlation. In the case of the implementation in a
software receiver, it increases the number of operations
and processing time (compared to L1-B), but in the case
of the implementation in hardware, the two steps can be
done simultaneously in parallel using two different
correlators, and thus the time processing will not be
increased.
Legend:
Figure 10: Illustration of the technique of correlation
over 8 ms for the pilot channel
RESULTS OF THE ACQUISITION METHODS
AND COMPARATION
The software receiver was developed in two main parts: at
first the acquisition has been implemented in Matlab, then
the acquisition has been integrated into a modified version
of the GSNRx™ software for the tracking part (Petovello
and O’Driscoll 2007).
In the following, the result of the processing of the data
recorded from the GIOVE-A satellite on April 16, 2007 is
presented. During data collection, the satellite had an
elevation angle of about 65 degrees. The samples are then
processed using the software developed.
In the case of the data channel (L1-B), when the
acquisition is realized using 8 ms of data, two main
correlation peaks were observed as illustrated in Figure
12. As explained in the previous section, the first peak is
higher than the second one due to (potential) destructive
combination in the second peak. For the data in Figure 12,
the code delay between the incoming signal and the local
replica is small (about 279.7 chips) thus if there is a
destructive combination due to the change in the sign of
the data bit, it is relatively small. As seen on the graph,
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 8/14
the second peak is only a little bit smaller than the first
one.
Some other important properties can be mentioned about
this three dimensional graph:
• There are exactly 4092 chips between the two
peaks, which represents the length of the primary
code on L1-B
• The two peaks are at exactly the same Doppler
frequency
The previous observations are necessary properties of this
acquisition but needed to be checked to validate the
results.
Figure 12: Acquisition of the data channel using 8 ms
of incoming signal
This verification has been done on the all four methods of
acquisition and the Doppler frequencies found are the
same as the Doppler found with the NovAtel 15a receiver.
In the four following Figures (Figures 13 to 16) are the
outputs of the acquisition algorithm at the Doppler
frequency where the maximum correlation occurs at
-300 Hz. All the results of the acquisition are obtained
using the same set of data.
Figures 13 and 14 represent the acquisition results for the
data channel using respectively 8 ms and 16 ms of
incoming signal. Comparing the acquisition results of the
data channel over 8 ms and 16 ms shows some differences
but also the common points are clearly visible. In both
graphs, the first peak (at around 638 chips) is higher than
the second (at around 4730 chips) one due to destructive
recombination (as explained before) and a difference of
4092 chips is observed between both peaks, which
represent one spreading code period. The position of the
peaks is exactly the same for the two different times of
integration: same Doppler frequency and same code
delay. Thus, with these conclusions, these two methods of
acquisition can be validated.
The increase in the size of the peak for the 16 ms case (an
analysis of the SNR is presented later) costs a lot of
processing time: it takes around three times longer to
process the acquisition over 16 ms than over 8 ms.
Nevertheless, the acquisition method over 16 ms has
several advantages :
• It is possible to acquire weaker signals (like
indoor or in an urban environment). Indeed, there
is an improvement of 5.5 dB between the two
methods when the length of the incoming signal
is doubled.
• If it is developed in hardware, four correlators
can be used in parallel to do the four correlations
and in this case the processing time will be the
same as in the case of the acquisition over 8 ms.
Figure 13: Results of the acquisition for the data
channel using 8 ms of incoming signal
Figure 14: Results of the acquisition for the data
channel using 16 ms of incoming signal
Figures 15 and 16 represent the acquisition results for the
pilot channel using respectively 8 ms and 16 ms of
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 9/14
incoming signal. As before, comparing the acquisition
results of the data channel over 8 ms and 16 ms shows
some differences but also some similarities. In the first
graph, there is only one peak since the length of the code
is 8 ms and the acquisition is implemented on 8 ms (the
length of spreading code period). The peak and thus the
code delay is at the same place using both methods of
acquisition of the pilot channel. Moreover, these results
are in accordance with the ones of the data channel: the
code delay found is exactly the same for the data and pilot
channels.
Figure 15: Results of the acquisition for the pilot
channel using 8 ms of incoming signal
Figure 16: Results of the acquisition for the pilot
channel using 16 ms of incoming signal
On the second graph (Figure 16), the first peak is almost
the same size as the second one. This can have two
explanations:
• The sign of the bit of the secondary code is the
same over the 16 ms (so over the two spreading
code periods) and thus there is no destructive
combination
• Since the code delay is relatively small (only
around 638 chips), the destructive combination
between the parts of the spreading code at the
beginning and at the end of the 16 ms is very
small, therefore there is mainly one sign of bit of
the secondary code
As before, the increases in the size of the peak for 16 ms
of integration cost a lot of processing time (it is around
two times longer than using 8 ms of data), but it is
possible this way to acquire weaker signals since the gain
of this acquisition is almost 2 dB compared to the other.
Nevertheless, if this last method was developed in
hardware, it is possible to use two correlators in parallel
to do the two correlations (for the 8 ms of incoming data)
and in this case the processing time for the acquisition
over 8 ms will be reduced and will be four times than over
16 ms.
Figure 17: Detail of the BOC correlation for real data
(on the top) and for simulated data (on the bottom)
Since one of the main differences between GPS L1 and
Galileo L1 is the modulation, it is interesting to look in
620 620.5 621 621.5 622 622.5 623 623.5 6240
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
Pea
k s
ize
(rat
io)
Code delay (chip)
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 10/14
more details at the correlation peak in these acquisitions.
If the last acquisition (Figure 16) is investigated in more
detail (pilot channel over 16 ms), the main peak is clearly
visible as well as the two sided peaks at half a chip on
each side of the main peak with half of the power of the
main peak. As presented in Figure 17, the shape of this
BOC modulation is exactly the same as the one for the
simulated data.
To compare the four different acquisition strategies two
parameters have been compared:
• The acquisition sensitivity
• The processing time
To compare the sensitivity of these four methods of
acquisition, a deflection coefficient (form of SNR) has
been used:
where is the deflection coefficient
is the mean value of the main peak
is the mean of the noise
is the variance of the noise
0
5
10
15
20
25
30
35
De
fle
cti
on
co
eff
icie
nt
(dB
)
Figure 18: Comparison of the sensitivity of the four
acquisition methods
To compute these statistics, thirty separate acquisitions
have been performed.
As shown in Figure 18, an improvement of 5.5 dB in the
deflection coefficient can be observed in the case of L1-B
over 16 ms relative to the 8 ms case. Since the correlation
is done four times on 8 ms instead of one, an increase of
6 dB should occur, but since the correlation is non
coherent in the case of 16 ms, this increase of 5.5 dB is in
accordance with the theory. The result for L1-C over
16 ms is 3 dB better then on L1-B on 8 ms. This 3 dB
increase was expected: the same method is used in both
cases, but the length of the incoming signal double and
thus so does the power. The deflection coefficient for the
acquisition on 8 ms for L1-C is around 2 dB smaller than
on 16 ms for the same channel. Even if the correlation is
done two times on 8 ms, the deflection coefficient is
smaller than on 16 ms because it is a non coherent
correlation on 8 ms and a coherent one on 16 ms.
The processing time is almost the same using 8 ms on the
pilot and data channel. Nevertheless, the method on L1-B
using 16 ms of incoming data is three times longer than
on 8 ms. The method using on the pilot channel using 16
ms of data is around two times longer than on 8 ms. These
two last methods should be used only for weaker signals.
TRACKING OF THE L1 GALILEO SIGNALS
Traditional tracking techniques can be used in the case of
L1-B and L1-C and are sufficient to have good
performance under benign operating environments.
Nevertheless, if all the properties of the signal want to be
exploited, other techniques have to be applied as the
implementation of a pure lock loop for the pilot channel
or the combination of the pilot and data channel. These
techniques have not yet been implemented but are under
development.
To track the signal correctly, it is necessary to generate an
exact carrier wave replica of the incoming signal. To
achieve this, it is possible to use a phase lock loop (PLL)
or a frequency lock loop (FLL) or a combination of both.
In this project, only a PLL has been implemented. The
main steps of the phase tracking algorithm developed are
(see Figure 19):
• Multiplication of the incoming signal with the
locally generated carrier to remove the carrier of
the input signal
• Multiplication with the locally generated
spreading code to remove the PRN code from the
input signal
The problem with using an ordinary PLL is the sensitivity
to 180° phase shifts. Due to the bits transitions of the
navigation message (for the data channel) or the
secondary code (pilot channel), the receiver has to be
insensitive to 180° phase shifts. Therefore, Costas loop
has been implemented. The goal of the Costas loop (and
the phase tracking in general) is to keep all the energy in
the in-phase component. At the output of the correlators,
the Is and Qs are combined using a discriminator (the
discriminators used for the PLL and DLL are detailed in
the following) and then processed through a filter to
reduce the noise. The output of the filter is then converted
by the NCO to correct the locally generated phase for the
next iteration of the loop.
L1-B
8 ms
L1-B
16 ms
L1-C
8 ms
L1-C
16 ms
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 11/14
Figure 19: Scheme of the Costas loop used to follow
the Doppler
The other goal of tracking is to follow the code over time
using a DLL (Delay Lock Loop). As shown in Figure 20,
the incoming signal is multiplied by the local carrier and
then by the local replicas of the spreading code. The
incoming signal is correlated three times for I and Q with
three replica of the code:
• Prompt : supposed to be aligned with the input
signal
• Early : shifted to the left from the prompt
• Late : shifted to the right from the prompt
After these three correlations, the outputs are integrated
and are combined using a discriminator. The
discriminator output is passed through a filter (the same
idea as for the PLL). The corrections are applied in
function to align the prompt channel for the next turn of
the loop.
Figure 20: Scheme of the DLL block diagram with six
correlators
The discriminators used for the tracking are usual ones
and are described in Kaplan (2006). For the DLL, the
normalized noncoherent early minus late power
discriminator using all the six correlators has been
implemented:
It gives directly the code delay error.
For the PLL, the two-quadrant arctangent discriminator
has been chosen and is proportional to the phase error:
For the filters, a second order filter was originally
implemented for both the PLL and DLL. But since a
second order loop is sensitive to the range acceleration (to
the satellite), a third order PLL has finally been
developed.
The computation of the C/No is one of the important
characteristics to analyze the performances of the
tracking. To compute the C/No, the Van Dierendonck
(1996) algorithm has been used:
where NPµ̂ is the signal lock detector. The value chosen
for M is 20 and the mean is computed over 50 samples.
RESULTS OF THE TRACKING
For the results presented below, different parameters of
the filters for the PLL and DLL have been tested and the
ones leading to the best performances have been chosen:
• DLL bandwidth 2 Hz
• DLL damping ratio 0.7
• PLL bandwidth 15 Hz for the second order PLL
and 10 Hz for the third order
First of all, the value of the Doppler at the output of the
software receiver is compared to the Doppler value output
by the 15a receiver when a second order PLL is used for
the software receiver. As shown in Figure 21, the Doppler
computed using the software receiver developed is noisier
(variations of +/- 10 Hz) than the one output by the
NovAtel 15a receiver. Nevertheless, some disturbances
are visible on the NovAtel 15a receiver: the shape is not a
straight line but includes some variations. The internal
oscillator of the 15a receiver has been used to record the
data (instead of an external rubidium oscillator to record
the samples for the software receiver) and it may explain
these variations. Also, the first value of the Doppler found
corresponds to the output of the acquisition and this value
is perfectly aligned with the value of the 15a receiver as
mentioned before. The slope of the two Doppler is similar
so the tracking is validated.
2222
2222
LLEE
LLEE
QIQI
QIQID
+++
+−+=
P
P
I
QD
1tan−=
−
−=
NP
NP
MTN
C
µ
µ
ˆ
1ˆ1log10
ˆ
10
0
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 12/14
Figure 21: Doppler in function of the time over 30 s of
data for real data using the software developed (blue)
and using the 15a receiver (red) using a second order
PLL
If the order of the PLL is changed to a third order to better
follow the dynamics (a second order PLL is sensitive to
acceleration whereas a third order PLL is sensitive to jerk
only), the Doppler is less noisy (+/- 2 Hz) and more
accurate as demonstrated in Figure 22. Nevertheless, the
slope is the same as the one found using the second order
PLL. However, the bandwidth of the third order loop is
smaller than the one of the second order and thus reduces
the noise.
Figure 22: Doppler using a third order PLL over 30 s
All the parameters of the code tracking can be chosen the
same as GPS L1 (as described in Kaplan) except the
Early-Late spacing. Indeed, due to the BOC modulation,
the shape of the Early-Late curve is not the same as with
GPS L1 as demonstrated in Figure 23. Indeed, the shape
of the Early-Late curve changes the function of the Early
Late spacing due to the two sided peaks of the BOC
modulation.
Figure 23: Influence of the Early Late spacing on the
shape of the Early-Late discriminator
On the top: Early Late of 0.1 chip
On the Bottom: Early Late spacing of 0.5 chip
This shape has an impact in the computation of the
discriminator of the DLL and thus on the stability of the
correction in the error of the code delay as shown in
Figure 24. For an Early Late spacing of 0.1 chip, once the
filter has converged, the error in the DLL discriminator is
only of 0.1 chip, although in the case of an Early Late
spacing of 0.5 chip, the error is multiplied by eight in the
DLL discriminator. Thus, the Early-Late spacing of
0.1 chip has been chosen for its stability around the
prompt.
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 13/14
Figure 24: Error in chip computed by the DLL
discriminator for an Early Late spacing of 0.1 chip (on
the top) and of 0.5 chip (on the bottom)
In Figure 25, the data bit are clearly visible in the
accumulated I component as expected. Since the sign of
the data bit can change each spreading code period, the
peaks are sharper than in the case of GPS L1. Almost all
the power is in the I component and only a small part in
the Q component. The C/No computed using the
algorithm described in Van Dierendonck (1996) is 45.7
dB (using a third order PLL). The one found by the
NovAtel 15a receiver is 42.3 dB but the parameters of the
loop filters may not be the same and the oscillators are
different.
Figure 25: Values of the I and Q at the output of the
prompt correlator
CONCLUSION AND FUTURE WORK
Four acquisition methods and a tracking algorithm have
been implemented for the pilot and data channel of
Galileo L1 and tested using real data.
Due to the rate of change in the data bits/navigation
messages, new techniques are needed to acquire these
new signals. Beginning with the common zero padding
technique, new methods of acquisition have been created.
The four methods have been tested using real data from
the Galileo test satellite GIOVE-A. These four methods
were compared in terms of acquisition sensitivity and
processing time. The two methods of acquisition over 16
ms have a higher deflection coefficient (i.e., higher
sensitivity) but has to be used only if the signal is too
weak to be acquired using 8 ms of incoming signal, due to
the processing time. For the tracking, the common
methods have been used, the only difference is the Early-
Late spacing which has to be chosen carefully due to the
BOC modulation. The results found by the software
receiver developed have been checked and validated
using the NovAtel 15a receiver.
A statistical analysis will soon be performed to compute
the probabilities of false alarm and detection, as well as
the theoretical time processing for each of the four
acquisition methods implemented. The study of a method
to combine the pilot and data channel is under
investigation. A Kalman filter will be implemented to
track and combine the two channels and improve the
tracking performances. Then, the GPS L1 C/A signal as
well as the future GPS L1C signal will be added to this
receiver.
ION GNSS 2007, Fort Worth TX, 25-28 September 2007 14/14
ACKNOWLEDGMENTS
The author would like to thank Cyrille Gernot, PhD
student in Geomatics Engineering, for his constant help
and support, as well as the Informatics Circle Of Research
Excellence and the GEOIDE Networks of Centres of
Excellence for their financial support.
REFERENCES
Borre, K., D.M. Akos, N. Bertelsen, P. Rinder and S. H.
Jensen (2007), A software-defined GPS and Galileo
receiver A single frequency approach, Birkhauser,
Boston, Basel, Berlin
Botteron, C., G. Wälchli, G. Zamuner, M. Frei, D.
Manetti, F. Chastellain, P.-A. Farine and P. Brault (2006)
A flexible Galileo E1 Receiver Platform for the Validation
of Low Power and Rapid Acquisition Schemes,
Proceedings of the US Institute of Navigation GNSS
(Forth Worth, Texas, USA, Sept. 26-29)
European Space Agency (ESA) website:
http://www.esa.int/esaNA/galileo.html, access date 17
September 2007
Galileo Open Service,Signal In Space Interface Control
Document, OS SIS ICD (2006), Draft 0
GIOVE-A Navigation Signal-In-Space Interface Control
Document SIS ICD (2007), First Issue
Kaplan, E.D. (2006), Understanding GPS Principles and
applications, Artech House Publishers, Boston, London,
pp. 132-157
Julien, O. (2005) Design of Galileo L1F Receiver
Tracking Loops, Phd Thesis, Department of Geomatics
Engineering, University of Calgary, Canada, (Available at
http://plan.geomatics.ucalgary.ca)
Ledvina, B.M., M.L. Psiaki, T.E. Humphreys, S.P. Powell
and P.M. Kintner Jr. (2006) A Real-Time Software
Receiver for the GPS and Galileo L1 Signals, Proceedings
of the US Institute of Navigation GNSS (Forth Worth,
Texas, USA, Sept. 26-29)
Marradi, L., G. Franzoni, D. Fossati, L. Foglia and V.
Gabaglio (2006) Results of the GARDA Galileo Receiver
Development and Evolution to Safety-Of-Life Receiver
Applications, Proceedings of the US Institute of
Navigation GNSS (Forth Worth, Texas, USA, Sept.
26-29)
Mongredien, C., G. Lachapelle and M.E. Cannon (2006)
Testing GPS L5 Acquisition and Tracking Algorithms
Using a Hardware Simulator, Proceedings of the US
Institute of Navigation GNSS (Fort Worth, TX, USA,
Sept. 26-29)
Official GIOVE-A website http://www.giove.esa.int
access date 17 September 2007
Petovello, M.G., and C. O’Driscoll (2007) GSNRx User
Manual, PLAN Group, Department of Geomatics
Engineering, University of Calgary.
Psiaki, M.L., T.E. Humphreys, S. Mohiuddin, S.P.
Powell, A.P. Cerruti and P.M. Kintner, Jr. (2006)
Searching for Galileo, Proceedings of the US Institute of
Navigation GNSS (Forth Worth, Texas, USA, Sept.
26-29)
Spelat, M., M. Hollreiser, M. Crisici and M. Falcone
(2006) GIOVE-A Signal-In-Space Test Activity at ESTEC,
Proceedings of the US Institute of Navigation GNSS
(Forth Worth, Texas, USA, Sept. 26-29)
Van Dierendonck, A.J. (1996), Global Positioning
System: Theory and Applications, Volume I, Chapter 8:
GPS Receivers, AJ Systems, Los Altos
Yang, C., C. Hegarty, and M. Tran (2004), Acquisition of
the GPS L5 Signal Using Coherent Combining of I5 and
Q5, Proceedings of the US Institute of Navigation GNSS
(Long Beach, CA, USA, Sept. 21-24)