+ All Categories
Home > Documents > Development of a One Channel Galileo L1 Software Receiver ...

Development of a One Channel Galileo L1 Software Receiver ...

Date post: 12-Feb-2022
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
14
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).
Transcript
Page 1: Development of a One Channel Galileo L1 Software Receiver ...

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).

Page 2: Development of a One Channel Galileo L1 Software Receiver ...

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

Page 3: Development of a One Channel Galileo L1 Software Receiver ...

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

Page 4: Development of a One Channel Galileo L1 Software Receiver ...

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

Page 5: Development of a One Channel Galileo L1 Software Receiver ...

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

Page 6: Development of a One Channel Galileo L1 Software Receiver ...

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.

Page 7: Development of a One Channel Galileo L1 Software Receiver ...

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,

Page 8: Development of a One Channel Galileo L1 Software Receiver ...

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

Page 9: Development of a One Channel Galileo L1 Software Receiver ...

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)

Page 10: Development of a One Channel Galileo L1 Software Receiver ...

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

Page 11: Development of a One Channel Galileo L1 Software Receiver ...

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

Page 12: Development of a One Channel Galileo L1 Software Receiver ...

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.

Page 13: Development of a One Channel Galileo L1 Software Receiver ...

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.

Page 14: Development of a One Channel Galileo L1 Software 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)


Recommended