You are on page 1of 101

Multipath Mitigation Techniques

Suitable For Low Cost GNSS Receivers

Tiago Roque Peres

A Thesis submitted in fulfilment of the requirements for the


Degree of Master of Science in
Aerospace Engineering

Jury

President: Prof. João Manuel Lage de Miranda Lemos

Advisor: Prof. Fernando Duarte Nunes

Vogal: Prof. José Eduardo Charters Ribeiro da Cunha Sanguino

September 2008
Acknowledgements

I would like to thank Deimos Engenharia for giving me the opportunity of training in dynamic and
enterprising company, while developing this exciting subject. I, also, thank everyone who work there,
for their politeness and for the excellent work environment. My special thanks to Eng. João Silva for
his time, availability, technical feedback, suggestions and good moods.

No less important, I am very grateful to my advisor at Instituto Superior Técnico, Prof. Fernando
Nunes, for his time, availability, and priceless corrections and suggestions for this work.

To all my teachers, without whom I would not be the person that I am today, I sincerely thank them.

I am, also, very thankful to all my friends and colleagues at Salesianos de Manique, Mem Martins and
Instituto Superior Técnico. I write here a special word to Catarina and Paulo, not only for their good
friendship but also for helping me achieving my goals several times.

Finally, but not least, I am deeply thankful to my parents and sister, who I owe the most. It is very
difficult, if not impossible, to describe in words my acknowledges for their love, support and
comprehension. To them I dedicate this work.

I
Abstract

Today, Global Navigation Satellite Systems (GNSS) have become available to civilian population.
Because of that, the market of low cost GNSS receivers is very active.

There are several limitations to the use of GNSS receivers: signal delays in the ionosphere, receiver's
clock bias, multipath, etc. Nevertheless, the effect of multipath is very significant, specially in urban
environments, where there are many and large building surfaces that can reflect GNSS signals. So, it
is required low cost receivers that are capable to mitigate the multipath effect in difficult situations, like
urban navigation. Thereby, it is necessary to find multipath mitigation techniques, suitable for use in
low cost GNSS receivers.

In the search for techniques capable of meeting those requirements, several techniques were found:
the Narrow Correlator, the High Resolution Correlator (HRC), several Code Correlation Reference
Waveforms (CCRWs) and a Teager Kaiser operator based technique. The different techniques were
initially analysed using the multipath error envelopes and the steady-state noise. For more
representative results, it was developed a GNSS receiver simulator, using Simulink and GRANADA
FCM Blockset.

From the tested techniques, it is one of the CCRWs that is considered the more suitable for
implementation in low cost receiver.

KEYWORDS: GNSS, Multipath Mitigation, Narrow Correlator, High Resolution Correlator, Code
Correlation Reference Waveforms, Teager-Kaiser.

II
Resumo

Hoje em dia, os Sistemas Globais de Navegação por Satélite (GNSSs) tornaram-se acessíveis à
população em geral. Actualmente, o mercado dos receptores de baixo custo é bastante activo.

Existem várias limitações ao uso dos receptores de GNSS: atrasos dos sinais na ionoesfera, erros de
relógio do receptor, multipercurso, etc. No entanto, o multipercurso destaca-se, sobretudo para
ambientes urbanos, onde existem inúmeras e grandes superficies reflectoras como edifícios. É, então,
exigido que receptores de baixo custo sejam capazes de cumprir requisitos exigentes como a
navegação urbana. Torna-se então necessário encontrar técnicas eficientes a mitigar o efeito do multi-
percurso mas que cuja implementação seja possível em receptor de baixo custo.

Iniciou-se então uma pesquisa por técnicas capazes de cumprir os requisitos e encontraram-se
algumas técnicas: Narrow Correlator, High Resolution Correlator (HRC), algumas Code Correlation
Reference Waveforms (CCRWs) e ainda um técnica baseada no operador Teager Kaiser. As técnicas
foram inicialmente analisadas tendo em conta as envolventes de erro na presença de multipercurso e
o ruído em regime estacionário.

Para resultados mais fidedignos, foi implementado um simulador de receptor GNSS, utilizando o
software Simulink e GRANADA FCM blockset. O receptor implementado fez uso de ajudas em cadeia
fechada.

Concluiu-se que das técnicas utilizadas a que apresenta um maior potencial para um receptor de
baixo custo é uma das CCRWs.

Palavras chave: GNSS, Mitigação de multipercuso, Narrow Correlator, High Resolution Correlator,
Code Correlation Reference Waveform, Teager-Kaiser.

III
Table of Contents
Chapter 1 - Introduction.........................................................................................................................1
1.1 Motivation.......................................................................................................................................1
1.2 Research Objectives......................................................................................................................1
1.3 Thesis outline.................................................................................................................................2

Chapter 2 - Basic Concepts...................................................................................................................3


2.1 GNSS Core Constellations............................................................................................................3
2.2 Principles of GNSS........................................................................................................................4
2.3 Signals...........................................................................................................................................5
2.3.1 Modulations...........................................................................................................................6
2.3.1.1 Binary Phase Shift Keying.............................................................................................6
2.3.1.2 Binary Offset Carrier......................................................................................................7
2.3.1.3 Multiplexed Binary Offset Carrier..................................................................................9
2.3.2 Considered Signals..............................................................................................................12
2.3.2.1 GPS L1 signal..............................................................................................................12
2.3.2.2 GPS L1C......................................................................................................................12
2.3.2.3 Galileo E1 Open Service Signal..................................................................................13

Chapter 3 - Receiver.............................................................................................................................14
3.1 Receiver Architecture Overview..................................................................................................14
3.2 Baseband Signal Processing.......................................................................................................15
3.2.1 Aided Tracking Loops..........................................................................................................19
3.2.1.1 Aided PLL....................................................................................................................19
3.2.1.2 Aided DLL....................................................................................................................19

Chapter 4 - Multipath Effect.................................................................................................................20


4.1 Tracking error due to Multipath....................................................................................................21
4.2 Multipath error envelope..............................................................................................................23

Chapter 5 - Multipath Mitigation..........................................................................................................25


5.1 Narrow Correlator........................................................................................................................26
5.2 High Resolution Correlator..........................................................................................................30
5.3 Code Correlation Reference Waveform.......................................................................................34
5.3.1 Rectangular CCRW.............................................................................................................37
5.3.2 W1 CCRW...........................................................................................................................41
5.3.3 W2 CCRW...........................................................................................................................44
5.3.4 W3 CCRW...........................................................................................................................47
5.3.5 W4 CCRW...........................................................................................................................50

III
5.4 Teager-Kaiser Operator...............................................................................................................52

Chapter 6 - Simulation Setup...............................................................................................................57


6.1 GRANADA FCM Blockset............................................................................................................57
6.1.1 Using FCM with CBOC signals and Strobe Correlator........................................................58
6.1.2 FCM with correlated correlators noise.................................................................................59
6.2 Multipath channel model..............................................................................................................60
6.2.1 Direct Path...........................................................................................................................61
6.2.2 Near Echoes........................................................................................................................61
6.2.3 Far Echoes..........................................................................................................................62
6.2.4 Multipath model with FCM...................................................................................................62
6.3 Simulation Plan............................................................................................................................63

Chapter 7 - Results Discussion..........................................................................................................68


7.1 Comparison between different techniques..................................................................................68
7.2 Aiding signal.................................................................................................................................71
7.3 Simulation Results.......................................................................................................................72

Chapter 8 - Conclusion and Final Remarks.......................................................................................77


8.1 Summary......................................................................................................................................77
8.2 Conclusion...................................................................................................................................77
8.3 Future work..................................................................................................................................78

References.............................................................................................................................................79

Appendix A - Cross-Correlation Function..........................................................................................82

Appendix B - Noise Analysis...............................................................................................................83

Appendix C - Tables of Results...........................................................................................................85

IV
Index of Tables

Table 2.1: Main technical characteristics of GPS L1, GPS L1C and Galileo E1 OS signals [7].............13
Table 6.1: Multipath mitigation techniques selected for simulation.........................................................64
Table 6.2: Multipath Model Parameters..................................................................................................67
Table 7.1: Tested conditions....................................................................................................................71
Table 7.2: Computational complexity......................................................................................................76
Table C.1: BPSK signals and bandwidth BWTc = 5..................................................................................85
Table C.2: BOC(1,1) signals and bandwidth BWTc = 5............................................................................85
Table C.3: CBOC(6,1,1/11) signals and bandwidth BWTc = 5..................................................................86
Table C.4: BPSK signals and bandwidth BWTc = 12................................................................................86
Table C.5: BOC(1,1) signals and bandwidth BWTc = 12. ........................................................................86
Table C.6: CBOC(6,1,1/11) signals and bandwidth BWTc = 12................................................................87

V
Illustration Index
Figure 2.1: Baseline GPS Satellite Constellation.....................................................................................3
Figure 2.2: The principle of satellite navigation........................................................................................4
Figure 2.3: Indirect distance determination...............................................................................................5
Figure 2.4: Power Spectral Density of BPSK, BOC(1,1) and MBOC(6,1,1/11) signals............................9
Figure 2.5: Example of TMBOC (6,1,p) Sub-carrier...............................................................................10
Figure 2.6: Possible CBOC(6,1,1/11) sub-carriers..................................................................................11
Figure 2.7: Auto-correlation functions for unfiltered BPSK, BOC(1,1) and CBOC(6,1,1/11) signals......11
Figure 2.8: GPS and Galileo frequency plan..........................................................................................12
Figure 3.1: A conceptual view of a GNSS receiver.................................................................................15
Figure 3.2: Typical diagram of the receiver code and carrier loops........................................................15
Figure 3.3: Code discriminator outputs for BOC(1,1) with unlimited pre-correlation bandwidth............18
Figure 3.4: Carrier discriminator output for the arc tangent discriminator..............................................19
Figure 4.1: Possible multipath situation..................................................................................................20
Figure 4.2: Normalized in-phase prompt correlator for BOC signals, with α = 0.5 and τ = 0.4Tc.........22
Figure 4.3: E-L power code discriminator outputs for BOC(n,n).............................................................22
Figure 4.4: Multipath error envelopes for the Narrow Correlator and BOC signals...............................24
Figure 5.1: Code discriminator outputs and multipath error envelopes for the NELP discriminator......27
Figure 5.2: Multipath error envelopes for the NELP discriminator and normalized bandwidth BWTc = 5
and BWTc = 12 .........................................................................................................................................28
Figure 5.3: Normalized code error variances for the NELP discriminator..............................................29
Figure 5.4: Multipath error envelopes as function of E-L spacing and attenuation coefficient, for the
NELP discriminator..................................................................................................................................30
Figure 5.5: HRC code discriminator response for BPSK signals for several λ values...........................31
Figure 5.6: Code discriminator outputs and multipath error envelope for HRC, with unlimited pre-
correlation bandwidth and λ = 2..............................................................................................................32
Figure 5.7: Multipath error envelopes for the HRC, with normalized bandwidth BWTc = 5 and BWTc=12 .
................................................................................................................................................................32
Figure 5.8: Normalized code error variances for the HRC.....................................................................33
Figure 5.9: Multipath error envelopes as function of E-L spacing and attenuation coefficient, for the
HRC discriminator with λ=2....................................................................................................................34
Figure 5.10: Block diagram of the receiver code and phase loops using the strobe correlator.............35
Figure 5.11: CCRW waveforms for a BPSK signal.................................................................................37
Figure 5.12: W1 CCRW pulse.................................................................................................................37
Figure 5.13: Code discriminator outputs and multipath error envelopes for the RECT CCRW ...........38
Figure 5.14: Code discriminator outputs and multipath error envelopes for the New RECT CCRW.....39
Figure 5.15: Normalized code error variances versus pre-correlation bandwidth RECT CCRW...........40

VI
Figure 5.16: Multipath error envelopes as function of CCRW pulse width and attenuation coefficient,
for RECT CCRW with BPSK signals and for New RECT CCRW with BOC and CBOC signals............40
Figure 5.17: W1 CCRW pulse.................................................................................................................41
Figure 5.18: Code discriminator outputs and multipath error envelopes for W1 CCRW........................42
Figure 5.19: Multipath error envelope for several signals for the W1 CCRW and pre correlation
bandwidth BWTc = 5 and BWTc = 12 .........................................................................................................42
Figure 5.20: Code discriminator outputs and multipath error envelopes for the New W1 CCRW..........43
Figure 5.21: Multipath error envelopes as function of CCRW pulse width and attenuation coefficient,
for W1 CCRW with BPSK signals and for New W1 CCRW with BOC and CBOC signals....................43
Figure 5.22: Normalized code error variances for the W1 CCRW ........................................................44
Figure 5.23: Code discriminators outputs and multipath error envelopes for W2 CCRW......................45
Figure 5.24: Multipath error envelopes for the W2 CCRW and pre correlation bandwidth BWTc = 5 and
BWTc = 12.................................................................................................................................................46
Figure 5.25: Normalized code error variances for the W2 CCRW..........................................................46
Figure 5.26: Multipath error envelopes as function of CCRW pulse width and attenuation coefficient,
for W2 CCRW..........................................................................................................................................47
Figure 5.27: W3 CCRW pulse.................................................................................................................47
Figure 5.28: Code discriminator output for several signals and multipath error envelopes for several
signals for the W3 CCRW.......................................................................................................................48
Figure 5.29: Multipath error envelopes for the W3 CCRW and pre correlation bandwidth BWTc = 5 and
BWTc = 12.................................................................................................................................................48
Figure 5.30: Normalized code error variances versus pre-correlation bandwidth and CCRW pulse
width, for W3 CCRW and several signal modulations: BPSK (top), BOC(1,1) (bottom left) and
CBOC(6,1,1/11) (bottom right)................................................................................................................49
Figure 5.31: Multipath error envelopes as function of CCRW pulse width and attenuation coefficient,
for W3 CCRW..........................................................................................................................................49
Figure 5.32: W4 CCRW pulse.................................................................................................................50
Figure 5.33: Code discriminator output for several signals (left) and multipath error envelopes for
several signals (right) for the W4 CCRW................................................................................................50
Figure 5.34: Multipath error envelopes for the W4 CCRW and pre correlation bandwidth BWTc = 5 and
BWTc = 12.................................................................................................................................................51
Figure 5.35: Multipath error envelopes as function of CCRW pulse duration and attenuation coefficient,
for W4 CCRW..........................................................................................................................................51
Figure 5.36: Normalized code error variances for the W4 CCRW..........................................................52
Figure 5.37: TK operator output for BPSK, BOC(1,1) and CBOC(6,1,1/11) signals..............................53
Figure 5.38: TK operator output for BOC(1,1) for a LOS signal and one reflect ray with different delays
relative the LOS signal............................................................................................................................54
Figure 5.39: Code discriminator response (left) and multipath error envelopes (right) for several signals
and unlimited pre-correlation bandwidth.................................................................................................56

VII
Figure 5.40: Multipath error envelopes for several signals BWTc = 5 and BWTc =12 ...............................56
Figure 6.1: Typical signal processing chain for the tracking of GNSS signals [35]................................58
Figure 6.2: Possible implementation of a multi-channel GNSS receiver's tracking loops [35]...............58
Figure 6.3: Simulink block diagram of the implement receiver simulator...............................................63
Figure 6.4: Receiver trajectory................................................................................................................64
Figure 6.5: Receiver dynamics...............................................................................................................65
Figure 6.6: Echoes amplitudes versus echoes delays, for the different scenarios. ..............................66
Figure 7.1: Multipath error envelopes for BPSK signals, for the different techniques and bandwidths. 68
Figure 7.2: Multipath error envelopes for BOC(1,1) signals, for the different techniques and
bandwidths..............................................................................................................................................69
Figure 7.3: Multipath error envelopes for CBOC(6,1,1/11) signals, for the different techniques and
bandwidths..............................................................................................................................................69
Figure 7.4: Normalized code error variances for BPSK signals,for the different techniques and
bandwidths..............................................................................................................................................70
Figure 7.5: Normalized code error variances for BOC(1,1) signals, for the different techniques and
bandwidths..............................................................................................................................................70
Figure 7.6: Normalized code error variances for CBOC(6,1,1/11) signals for the different techniques
and bandwidths.......................................................................................................................................70
Figure 7.7: Code tracking error for aided PLL versus not aided PLL without multipath (left), and with
multipath..................................................................................................................................................71
Figure 7.8: Code tracking error mean and variance (average of the eight scenarios) for normalized
bandwidth BWTc = 5, different techniques and modulations....................................................................73
Figure 7.9: Code tracking error mean and variance (average of the eight scenarios) for normalized
bandwidth BWTc = 12, different techniques and modulations..................................................................74
Figure 7.10: Code tracking error mean and variance (average of the four worst scenarios) for
normalized bandwidth BWTc = 5, different techniques and modulations. ...............................................74
Figure 7.11: Code tracking error mean and variance (average of the four worst scenarios) for
normalized bandwidth BWTc = 12, different techniques and modulations...............................................75
Figure A.1: Signals a(t) and b(t)..............................................................................................................82
Figure A.2: Cross-correlation function....................................................................................................82

VIII
List of Acronyms

ACF Auto-Correlation Function

BOC Binary Offset Carrier

BPSK Binary Phase-Shift Keying

C/A Coarse / Acquisition

CBOC Complex BOC

CCF Cross-Correlation Function

CCRW Cross Correlation Reference Waveforms

CDMA Code Division Multiple Access

DLL Delay Lock Loop

DSSS Direct Sequence Spread Spectrum

E Early

FCM Factored Correlator Model

FPGA Field-Programmable Gate Array

FT Fourier Transform

GNSS Global Navigation Satellite System

GPS Global Positioning System

HRC High Resolution Correlator

IF Intermediate Frequency

IFT Inverse Fourier Transform

IMU Inertial Measurement Units

L Late

LOS Line-of-Sight

MBOC Multiplex BOC

NCO Numerically-Controlled Oscillator

NELP Narrow Early-minus-Late Power

OS Open Service

IX
P Prompt

PDF Probability Density Function

PLL Phase Lock Loop

PRN Pseudo-Random Noise

PSD Power Spectral Density

PVT Position, Velocity and Time

RF Radio Frequency

SNS Satellite Navigation System

TK Teager-Kaiser

TMBOC Time MBOC

VE Very Early

VL Very Late

VVE Very Very Early

VVL Very Very Late

WSSUS Wide-Sense Stationary with Uncorrelated Scatterers

X
List of Symbols
∗ convolution
Π (t ) rectangular pulse
Λ (t ) triangular pulse
c speed of light

ρ pseudorange
b bias
A(t ) signal amplitude
D (t ) navigation message
C (t ) spreading code
Tc Chip duration

N chip Spreading code length in chips

Tcode code period

RX auto-correlation function of signal X

RXY cross-correlation function between signals X and Y


X (t ) spread sequence
~
X (t ) filtered spread sequence

BW pre-correlation bandwidth
ω0 Carrier central frequency
θ0 Initial carrier Phase
ωd offset frequency due to the Doppler effect
ωe frequency error
N, n noise

σ2 variance
∆ early-late spacing
T integration period
ε code tracking error
d (ε ) code discriminator
W (t ) CCRW
C N0 carrier-to-noise density
α attenuation coefficient

XI
τ Reflected ray delay relative to the LOS
φ carrier phase excess
BDLL equivalent code loop bandwidth

BPLL equivalent carrier loop bandwidth

XII
Chapter 1

Introduction

1.1 Motivation
Global Navigation Satellite System (GNSS) is defined as satellite navigation systems (SNS) capable of
providing position, speed and time (PVT) with global coverage. The original motivations behind GNSS
were military applications (e.g. precise location of forces on the field, weaponry guidance, etc.).
However, today, GNSS cover a wider range of applications, like transportation systems, agriculture
and fisheries, several sciences or leisure applications.

Currently, the location of persons and vehicles has become more and more important and a large
number of GNSS receivers were made available for that purpose. However, GNSS application in
urban scenarios is limited by low satellites' visibility, signal interference and multipath. In fact, today,
multipath is one of the dominant error sources in GNSS applications [1]. Thereby, it is necessary to
search for suitable techniques capable of mitigating the multipath effect.

1.2 Research Objectives


This thesis investigates the multipath mitigation techniques for urban scenarios, which are suitable for
low cost GNSS receivers. Specifically, the main objectives are

● To study the GNSS principles, some navigation signals available for civilian use, typical GNSS
receiver architecture and the effect of multipath;

● To investigate different multipath mitigation techniques: special attention will be given to the
correlation based techniques;

● To evaluate several multipath mitigation techniques: this analysis will be done comparing
simulation results obtaining for several multipath scenarios;

● Identify the multipath mitigation techniques suitable for low cost GNSS receivers.

1
1.3 Thesis outline
This thesis will be composed of eight chapters.

Chapter 2 will explain the principles behind GNSS and present the navigation signals considered in
the thesis.

In Chapter 3, an overview of a GNSS receiver architecture will be presented. In this chapter the
receiver's baseband processing will be described and the concepts of code delay and carrier phase
loops will be introduced. Chapter 4 discusses multipath and its effects on the tracking loops.

Chapter 5 provides a description of the multipath mitigation techniques considered in this thesis. The
concepts of Narrow Correlator, High Resolution Correlator, different Code Correlation Reference
Waveforms (CCRWs) and the Teager-Kaiser operator are explained in this chapter.

Chapter 6 will describe the simulation set up: the used software, the workarounds required, the
correlated noise generator, the multipath scenarios considered and the simulation plan. In Chapter 7,
the simulation results will be presented and analysed.

Finally, in Chapter 8 will summarize the work described in this thesis, the major conclusions will be
drawn and future work guidelines and proposals will be also presented.

2
Chapter 2

Basic Concepts

2.1 GNSS Core Constellations


The United States' Global Positioning System (GPS) is the most well-known GNSS system,
operational since 1978, and was the first GNSS system available worldwide for civil use. Currently it is
still the most utilized GNSS by civilians. GPS is composed of three segments: space segment, control
segment and user segment. The space segment consists of 24 to 32 medium Earth orbit satellites in
six different orbital planes (Figure 2.1), the control segment comprises the worldwide network of
monitor stations and the user segment consists of the GPS receivers and the user community [2].
Currently GPS is being modernized in order to meet the requirements of the most critical civil
applications, as civil aviation operations [3].

Beside GPS, the Russian GLONASS (Global'naya Navigatsionnaya Sputnikovaya Sistema) is the
other active GNSS. Since the collapse of the Soviet Union, GLONASS has fallen into disrepair and,
currently, it has only partial availability, but it is planned to restore it to full global availability by 2010
with the collaboration of India.

Figure 2.1: Baseline GPS Satellite Constellation [4].

3
In the future, new GNSS are scheduled to become operational. Europe’s own GNSS system, Galileo ,
is currently being developed and it is expected to be compatible with the modernized GPS [5] and
working from 2013 [6]. Future receivers should be able to combine both modernized GPS and Galileo
signals to increase overall system performance. The China's Compass is the other satellite navigation
system planned to have a global coverage.

2.2 Principles of GNSS


The primary goal of a GNSS receiver is the determination of Position, Velocity and Time (PVT). The
basic principle behind the determination of position and velocity is trilateration (as illustrated in Figure
2.2). The receiver needs to solve the so called Navigation Equation for, at least four satellites:

ρi = (xi − x )2 + ( yi − y )2 + (zi − z )2 − b (2.1)

where ρ i is the pseudorange between the receiver and the ith satellite, [x y z ] is the receiver

position, [xi yi zi ] is the ith satellite position and b depends on the user receiver clock bias.

Figure 2.2: The principle of satellite navigation [4].

The receiver measurements are called pseudorange because they include the clock offset. The
pseudorange, ρ , between the receiver and a satellite is directly proportional to the signal propagation
time:

ρ = c.∆t − b (2.2)

where c is the speed of light and ∆t = tt − tr x x is the propagation time defined by the difference

between the time of transmission and the time of reception (as illustrated in Figure 2.3). The range
measured by the receiver is affected by several error sources: receiver's clock errors, ionosphere
delays, multipath,etc. [4].

4
Figure 2.3: Indirect distance determination.

2.3 Signals
The simplest navigation signal component is named channel [7]. A navigation signal component is one
of the spreading sequences modulated onto one common carrier. Each navigation signal component
has its own spreading code and can carry its own data modulation.

A single channel signal, s(t ) , can be given as

s( t ) = A(t ) D(t )C (t )x(t ) cos(ω t + θ 0 ) , (2.3)

where:

● A(t ) is the signal amplitude;

● D (t ) is the navigation message;

● C (t ) is the spreading code;

● x (t ) is the sub-carrier;

● cos(ω t + θ 0 ) is the carrier, a Radio Frequency (RF) sinusoidal with a known frequency ω and

initial carrier phase θ 0 ;

There are two type of channels: data and pilot. In a data channel, the navigation message, D (t ) ,
contains information, for instance like precise orbits of the satellites (ephemeris) and the signal's time

of transmission. In a pilot channel, the navigation data carries no data, D(t ) = 1 .

The spreading code of a signals is a unique Pseudo Random Noise (PRN) assigned to one only
satellite. It is named spreading code because of the wider bandwidth occupied by the signal after
modulation by the high-rate PRN waveform [8]. The minimum interval of time between transitions in

the spreading code is commonly referred to as the chip duration, Tc , and the portion of the spreading
code over one chip duration is named chip. PRN sequences approximate the properties of truly
random sequences:

N chip
1 1, n = 0
N chip
∑C C
k =1
k k +n =
0 n ≠ 0
(2.4)

5
where N chip is the period in chips ( Tc ) and Ck = C (kTc ) , and

N chip
1
N chip
∑ C C′
k =1
k k +n = 0, ∀n (2.5)

where Ck and C′k are different PRN sequences.

The product between the spreading code and the sub-carrier, C (t )x(t ) , is known as spread spectrum
or spread sequence. For that reason, the signal given by (2.3) is named Direct Sequence Spread
Spectrum (DSSS) [8].

The use of DSSS signals in satellite navigation has three main reasons [8]:

1. The spreading code introduces frequent phase transitions in the signal. These transitions help
the receiver to make precise range measurements.

2. The use of different PRN sequences allows multiple signals, from multiple satellites, to be
transmitted simultaneously and with the same RF carrier. Then, these signals can be
distinguished, based on their different codes. In other words, it allows Code Division Multiple
Access (CDMA).

3. Offers significant rejection of narrow band interference.

2.3.1 Modulations
There are several modulations employed by GNSSs. In, this thesis only the modulations described in
sub sub sections 2.3.1.1 to 2.3.1.3 will be considered.

2.3.1.1 Binary Phase Shift Keying


A Binary Phase Shift Keying (BPSK) signal can be defined as

N chip −1
 t − nTc 
sBPSK ( t ) = ∑ Cn Π   , (2.6)
n =0  Tc 

where N chip is number of chips of the spreading code period, Cn = C (nTc ) is the code sign for the nth
chip and

t  1, t ≤ T 2
Π =
T  0, otherwise

denotes the rectangular pulse.

The signal's Fourier Transform (FT) is given by

N chip −1

S BPSK ( f ) = ∑C
n=0
n Tc sinc( f Tc )e −i 2T π f n .
c
(2.7)

6
with sinc(t ) = sin(π t ) π t .

The auto-correlation function (ACF) of the signal s(t ) is given by [9]:

+∞
Rs (ε ) = s(τ ) ∗ s( −τ ) = ∫ s(t )s(t −ε )dt ,
−∞
(2.8)

where ∗ denotes convolution. And, in the frequency domain, the FT of the ACF will be [9]
GS ( f ) = S ( f ) S ( − f ) (2.9)

Thereby, from (2.7) and (2.9), the ACF of a BPSK signal is given by:

N chip −1 N chip −1

GBPSK ( f ) = ∑ ∑T C
n =0 k =0
c
2
n Ck sinc 2 ( f Tc )e − i 2T π f ( n − k )
c
(2.10)

N chip

Let Cl′ = ∑C n Cmod (n − l , N ) , with l = n − k and where mod(n − l , N chip ) is the circular chip operator. Now
chip
n =0

(2.10) can be rearranged as

N chip −1

GBPSK ( f ) = ∑T C′ sinc ( f T )e
c
l = − N chip +1
2
l
2
c
− i 2 Tc π f l
(2.11)

If l > 0 then Cl′ ≈ 0 and for l = 0 then C0′ = N chip . Thereby, applying the Inverse FT (IFT) to (2.11), the
ACF of a BPSK signal will be:

ε 
RBPSK (ε ) = N chipTc Λ   (2.12)
 Tc 

where
t  1 − t T , t < T
Λ =
T  0, otherwise

denotes the triangular pulse.

2.3.1.2 Binary Offset Carrier


The (sine-shaped) BOC(m,n) modulation consists of multiplying the spreading code waveform, C (t ) ,

by the square-wave subcarrier, B(t ) = sign[sin (2πf s t )] to obtain X BOC (t ) = B(t )C (t ) . The chip rate and the

subcarrier frequency are given, respectively, by f c = 1 Tc = nf g and f s = mf g , where m and n are two

positive integers and f g = 1.023 MHz [10].

A Binary Offset Carrier (BOC(pn,n)) signal can be defined BOC(pn,n) signal, where 2p is a positive
integer, can be written as:

7
N chip −1

s BOC (t ) = ∑C
n =0
n x BOC (t − n ) (2.13)

where N chip is the number of chips per code period, Cn is the spreading code sign for the nth chip and

2p
 t − lTc 
xBOC ( t ) = ∑ (−1) l +1
Π  .
l =1  2 pTc 

From (2.9), the FT of the signal xBOC (t ) ACF will be

GBOC ( f ) = X BOC ( f ) X BOC ( − f ) (2.14)

where X BOC ( f ) is the FT of the signal x BOC (t ) :

N chip

X BOC ( f ) = ∑C Xn =1
n BOC ( f )e −i 2T π fn
c
(2.15)

and X BOC ( f ) is the FT of the signal xBOC (t )

2R
X BOC ( f ) = ∑ 2 pT ( −1)
l =1
c
l +1
sinc(2 pTc f )e− iT π f l c p
(2.16)

Thereby the ACF in frequency domain will be

N chip N chip

GBOC ( f ) = X ( f ) X ( − f ) = ∑ ∑ C C X ( f ) X ( − f )e
n =1 k =1
n k
− i 2π f ( n + k )

N chip −1

= ∑ C X ( f ) X ( − f )e
k =1− N chip
l
' − i 2π f l

= N chip X ( f ) X ( − f ) (2.17)
2p 2p
= N chip ∑
l =1
2 pTc ( −1) l +1 sinc(2 pTc f )e− iT π f l c p
∑ 2 pT ( −1)
m =1
c
m +1
sinc(− 2 pTc f )eiT π f m
c p

2p 2p
= N chip (2 pTc ) sinc (2 pTc f )
2 2
∑ (−1)
l =1
l +1
e − iπ Tc f l p
∑ ( −1)
m =1
m +1
eiT π f m
c p

There so, after apply the IFT, the ACF in time domain will be:

 ε  2 p −1
→ RBOC (ε ) = N chip 2 pTc Λ 
GBOC ( f ) TF

−1
 (2 p − m )(−1)m e−iT π ε m
 2 pT  m = −2 p +1 ∑ c p
(2.18)
 chip 

A BPSK signal can be seen as (2.13) with p = 0.5, so (2.12) is a particular case of (2.18) with p = 0.5.
It can be shown that for BOC(pn,n) with p integer the ACF is given by [10]:

 
k +1 1 ε
(
( −1)  − k + 2kp + k − p − (4 p − 2k + 1) , ε < Tc

2
)
RBOC (ε ) =  p Tc 
(2.19)
0, otherwise


8
where k = ceil (2 p ε Tc ) , with the ceiling function, y = ceil (x ) , denoting the smallest integer such that

y ≥ x . And the Power Spectral Density is [11]

2
  πf   πf 
 sin  sin  
  2 f s   f c  , 2 fs
GBOC ( f ) = f c   = n even. (2.20)
 πf cos πf   fc
 2f  
  s 

2.3.1.3 Multiplexed Binary Offset Carrier


Multiplexed BOC (MBOC) signal results from adding or multiplexing BOC signals. For instance,
MBOC(6,1,1/11) is the result of a wideband BOC(6,1) signal multiplexed with a narrow-band BOC(1,1)
signal, with 1/11 of the signal power allocated on the BOC(6,1) component [12]. The MBOC
normalized Power Spectral Density (PSD) is given by

1 10
GMBOC ( 6,1,1/11) ( f ) = GBOC ( 6,1) ( f ) + GBOC (1,1) ( f ) (2.21)
11 11

where GBOC ( pn ,n ) ( f ) is the unit-power spectrum density of a sine-phased BOC modulation.

In Figure 2.4, the MBOC(6,1,1/11) normalized PSD is compared to the BPSK and BOC(1,1)
normalized PSDs. Compared to the BOC(1,1) PSD, in the MBOC(6,1,1/11) PSD is evident the
increased power at the frequency shifted about 6MHz from the central frequency, due to the presence
of the BOC(6,1) component. However for bandwidths narrower than about 5 MHz the BOC(1,1) and
MBOC(6,1,1/11) PSDs are very similar. Because of that, it is expected that the MBOC(6,1,1/11)
behaves similarly to the BOC(1,1) for bandwidths narrower than about 5 MHz.

0
BPSK
-5 BOC(1,1)
CBOC(6,1,1/11)
power spectral density, dB/Mhz

-10

-15

-20

-25

-30

-35

-40
-20 -15 -10 -5 0 5 10 15 20
frequency, Mhz

Figure 2.4: Power Spectral Density of BPSK, BOC(1,1) and MBOC(6,1,1/11) signals

There are different ways to generate a MBOC signal. Two possible solution are Time MBOC (TMBOC)
and Complex BOC (CBOC).

9
The TMBOC(6,1,4/33) is characterized by using a binary sub-carrier component that results from the
time-multiplexing of the BOC(1,1) and BOC(6,1) sub-carriers according to a deterministic pattern [13].
The TMBOC(6,1,4/33) sub-carrier is defined as [12]

 x BOC (1,1) if t ∈ S1
xTMBOC ( 6,1, 4 / 33) (t ) =  (2.22)
 x BOC ( 6,1) if t ∈ S2

where xBOC (1,1) and xBOC (1,1) are respectively BOC(1,1) and BOC(6,1) sub-carriers and the S1 and S 2
are the union of the segments of time when the BOC(1,1) and the BOC(6,1) sub-carriers are used,

respectively. S1 and S 2 are chosen so that 4/33 of the signal total duration will be assigned to the
BOC(6,1) sub-carrier and the remaining time to the BOC(1,1) sub-carrier. Figure 2.5 shows a possible
portion of a TMBOC sub-carrier.

The ACF of a TMBOC(6,1,4/33) signal can be shown to be

29 4
RCBOC ( 6,1,1 / 11) (ε ) = RBOC (1,1) (ε ) + RBOC ( 6,1) (ε ) (2.23)
33 33

-1
0 1 2 3 4 5 6
time, Tc

Figure 2.5: Example of TMBOC (6,1,p) Sub-carrier

A CBOC(6,1,1/11) signal uses four-level sub-carrier formed by the weighted sum of BOC(1,1) and
BOC(6,1) signals and is given by:

 10 1 
sCBOC ( 6,1,1/11) (t ) = C (t ). xBOC (1,1) ( t ) ± xBOC ( 6,1) ( t ) (2.24)
 11 11 

where xBOC (1,1) ( t ) and xBOC ( 6,1) ( t ) are the sub-carrier of BOC(1,1) and BOC(6,1), respectively. The two
possible sub-carriers of (2.24) are plotted in Figure 2.6.

10
1.5 1.5

1 1

0.5 0.5

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5
0 0.5 1 0 0.5 1
time, Tc time, Tc

Figure 2.6: Possible CBOC(6,1,1/11) sub-carriers.

The ACF of a CBOC(6,1,1/11) signal can be shown to be

10 1
RCBOC ( 6,1,1 / 11) (ε ) =
11
RBOC (1,1) (ε ) +
11
[
RBOC ( 6,1) (ε ) ± RBOC (1,1) BOC ( 6,1) (ε ) + RBOC ( 6,1) BOC (1,1) (ε ) ] (2.25)

Let a (t ) = Π[t Ta ] and b( t ) = Π[t Tb ] stand for two unity rectangular pulses of duration Ta = 2 p1Tchip and

Tb = 2 p2Tchip . The cross-correlation between two BOC signals can be written as:

N chip −1 2 p −1 1  l   N 2 p −1
 chip −1
l  2

RBOC ( p n , n ) BOC ( p n , n ) (ε ) =  ∑ Cn ∑
( −1) l a  t −  
 2 p1Tchip   n = 0
Cn
 ∑
( −1) l b t − ε − ∑

2 p2Tchip 
(2.26)
 n = 0
1 2
l =0    l =0 

Applying (A.1):

p1 + p 2 −1
 l 
RBOC ( p n , n ) BOC ( p n , n ) (ε ) =
1 2 ∑ RAB  ε −
 ( p + p )T

 (2.27)
(
l = − p1 + p 2 −1 )  1 2 chip 

Figure 2.7 shows the auto-correlation function for BPSK, BOC(1,1) and CBOC(6,1,1/11). It is possible
to see that the CBOC(6,1,1/11) curve is not too different from the BOC(1,1) curve, confirming the
similarities between the power spectrum of the two signals. In Figure 2.4, however, the sharper peak
of the CBOC signal will have benefits in the code tracking accuracy.

1
BPSK
BOC(1,1)
CBOC(6,1,1/11)

0.5
R (ε)
X

-0.5
-1.5 -1 -0.5 0 0.5 1 1.5
ε/Tc

Figure 2.7: Auto-correlation functions for unfiltered BPSK, BOC(1,1) and CBOC(6,1,1/11) signals.

11
2.3.2 Considered Signals
There are several GNSS signals currently available or planned for the future. GNSS signals are
divided by bands, as Figure 2.8 shows for the case of GPS and Galileo [7]. However, as this thesis
scope only covers low cost civilian GNSS receivers, the signal considered must be freely worldwide
available for civil use. Because of that, three signals will be considered: GPS L1, Galileo E1 Open
Service (OS) and GPS L1 Civil (L1C).

Figure 2.8: GPS and Galileo frequency plan [7].

2.3.2.1 GPS L1 signal


The L1 signal can be modelled as [4]:

sL1 ( t ) = { 2P C/A }
x(t ) D(t ) + 2 PY 1 y (t ) D(t ) cos(ω 0t + θ 0 ) (2.28)

where PC / A and PY 1 are the signal powers for signals carrying C/A-code and P(Y)-codes and x and y
are the Coarse / Acquisition (C/A) and P(Y)-code sequences assigned to a unique satellite; D

denotes the navigation data bit stream; ω 0 = 2π f L1 are the carrier frequencies corresponding to L1

signal; and θ 0 is the carrier phase offset.

The channel carrying P(Y)-code is encrypted and restricted for military use; so from now on, the focus
in legacy GPS signals will be on the L1 signal carrying C/A-code and which uses a BPSK modulation.

2.3.2.2 GPS L1C


The GPS L1C baseband signal has two channels and can be modelled as [12], [13]:

1
sL1C (t ) = {eL1C − I (t )d L1C − I (t ) xBOC (1,1) (t ) + eL1C − Q (t ) xTMBOC ( 6,1, 4 / 33) ( t )} cos(ω 0t + θ 0 ) (2.29)
2

where eL1C − I (t ) and eL1C −Q ( t ) are the data and pilot spreading sequences respectively, d L1C − I ( t ) is the

GPS L1C navigation message, and xBOC (1,1) ( t ) and xTMBOC ( 6,1, 4 / 33) ( t ) are the BOC(1,1) and
TMBOC(6,1,4/33) sub-carriers respectively.

12
The selected GPS implementation of MBOC places 75% of the total power on the pilot channel and

25% on the data channel. Thereby, the PSD of the signal sL1C ( t ) will be equal to the PSD of a
MBOC(6,1,1/11) signal [5], [13].

2.3.2.3 Galileo E1 Open Service Signal


Composite BOC (CBOC) was the selected MBOC implementation of Galileo E1 Open Service (OS)
Signal [5], [7]. Both pilot and data components are modulated onto the same carrier component, with a
power split of 50%. The normalized base-band Galileo E1 OS composite signal model is given by [7]:

1  
sE 1C (t ) =  eE1− B ( t ) d E 1− B ( t )[Px(t ) + Qy (t )] − eE 1− C [Px( t ) − Qy (t )]  cos(ω 0t + θ 0 ) (2.30)
2 

where eE 1− B (t ) and eE 1−C (t ) are the data and pilot spreading sequences respectively, d E 1− B (t ) is the

Galileo E1-B navigation message, and x (t ) and y (t ) are the sine-BOC(1,1) and sine-BOC(6,1) sub-

carriers respectively. The parameters P and Q are chosen as 10 / 11 and 1 / 11 respectively, so


the power associated with BOC(6,1) sub-carrier components equals 1/11 of the total power.

From (2.30) it can be noted that the data and pilot are in anti-phase, with respect to the BOC(6,1)
component.

Table 2.1 summarizes the main technical characteristics of the signals considered in this thesis.

Signal GPS L1 GPS L1C Galileo E1

Signal
C/A I Q B C
Component

Channel type Data Data Pilot Data Pilot

Component
- 25% 75% 50% 50%
power
RF carrier
1575.42 MHz
frequency
PRN code
1024 10230 4092
length

Chip rate 1.023 Mbps

Spreading
BPSK BOC(1,1) TMBOC(6,1,4/33) CBOC(6,1,1/11)
Modulation

Table 2.1: Main technical characteristics of GPS L1 [4], GPS L1C [13] and Galileo E1 OS signals [7].

13
Chapter 3

Receiver

Chapters 2 gave a first preview of GNSS systems and the signals considered in this thesis. This
chapter will now address to the receiver operation.

The basic functions of a GNSS receiver are [4]:

● to capture RF signals transmitted by the satellites spread out in the sky;

● to separate the signals from satellites in view;

● to perform measurements of signal transit time and Doppler shift;

● to decode the navigation message in order to determine the satellite position, velocity, and
clock parameters;

● to estimate the user position, velocity, and time.

3.1 Receiver Architecture Overview


A generic GNSS receiver is given in Figure 3.1, with four blocks:

● Antenna

The signals are gathered by the antenna. Several antenna types can be used, however, usually, the
antenna is right-hand circularly polarized, to match the incoming signals and reject reflected signals,
and the pattern is hemispherical, to allow tracking of satellites from zenith almost down to the horizon
for all azimuths [14].

● Front End

The Front End is responsible for RF and all the intermediate frequency (IF) signal processing: the
signal received by the antenna is filtered, amplified and down converted to baseband or near
baseband. The final conversion to baseband involves converting the (IF) signal to the in-phase (I) and
quadrature (Q) components of the signal envelope [14].

● Tracking Loops

Two loops per each receiver's channel fit in this block: the Delay Lock Loop (DLL) and the Phase Lock
Loop (PLL). The DLL is responsible to track the code delay, while the PLL is responsible to track the

14
carrier phase. The code delay and carrier phase tracking loops will be analysed with more detail in the
next section. When both the code delay and the carrier phase loops are locked, the navigation
message can be extracted from the received signal [14].

● Navigation Processing

This block is responsible to provide the PVT solution. Normally it relies on the pseudorange, rate
measurements and navigation message to solve the navigation equation [14], defined in (2.1).

Figure 3.1: A conceptual view of a GNSS receiver

3.2 Baseband Signal Processing


For better analysing the code delay and carrier tracking loops, it is useful to describe a GNSS receiver
with the equivalent baseband receiver as sketched in Figure 3.2 [2].

Local Phase Carrier


Generator Discriminator

^ ^
cos φ(t) sin φ(t) IE
I&D

cos(ω 0 t) IP
I&D

y i (t) z i (t)
IL
I&D
Phase Code d(ε)
r(t)
Rotation QE Discriminator
I&D

yq (t)
QP
I&D
sin(ω 0 t) zq (t)

QL
I&D

Signal
L P E
Generator

3-bit Shift Register

Figure 3.2: Typical diagram of the receiver code and carrier loops.
It is assumed that the received signal is given by r( t ) = s(t ) + n(t ) , where n(t ) is Gaussian noise and
s(t ) is the navigation signal given by

15
~
s( t ) = AX (t ) D( t ) cos[(ω0 + ωd )t + θ 0 ], (3.1)
~
where A depends on the power s(t ) , X (t ) is the filtered spread sequence, D(t ) is the navigation

data, ω0 is the nominal carrier frequency, ωd is an offset frequency due to the Doppler effect and

oscillators misalignments and θ 0 is the initial phase.

~
The filtered spread sequence can be defined as X (t ) = X (t ) ∗ h( t ) , where h(t ) is the impulse response

of the receiver's input filter. Considering a raised-cosine filter with bandwidth BW and roll-off factor
0 ≤ ξ ≤ 1 , the impulse response is [15]:

 cos(2π ξ BW t ) 
h(t ) = sinc( 2 BW t )  2 2 2  (3.2)
 1 − 16ξ BW t 

The in-phase and quadrature components of the received signal are given by

 yi (t )  ~ cos ϕ (t )  ni (t ) 
 y (t ) = AX (t ) D(t )  + , (3.3)
 q   sin ϕ (t )  nq (t ) 

with ϕ (t ) = ωd t + θ 0 and where ni (t ) and nq (t ) are the in-phase and quadrature noise components. The

signals zi (t ) and zq (t ) results from rotating yi ( t ) [ y q (t ) ]


T
by the phase estimate ϕˆ ( t ) provided by the

Phase-Lock Loop (PLL):

 zi ( t )  cos ϕˆ (t ) sin ϕˆ (t )   yi (t ) 
 z (t ) =   . (3.4)
 q   sin ϕˆ (t ) cos ϕˆ (t )  yq (t )

Assuming that the phase error in the integration interval [0, T ] may be written as

ϕ e (t ) ≡ ϕ (t ) − ϕˆ (t ) = ωet + θ e , where ωe = 2π f e is the frequency error and θ e is the initial phase error,
leads to

 zi ( t )  ~ cos ϕ e ( t )  ni′(t ) 
 z ( t )  = AX (t ) D(t )  + , (3.5)
 q   sin ϕ e (t )  nq′ (t )

where D(t ) is the navigation data in the integration, and ni′(t ) and nq′ (t ) are the noise components
after phase rotation.

The components zi (t ) and z q (t ) are then multiplied by Early (E) and Late (L) version of the locally

generated X (t ) , respectively X (t + ∆ 2 ) and X (1 − ∆ 2 ) , where ∆ is the E-L spacing (with ∆ ≤ Tc ). By

integrating in the interval [0, T ] , leads to

T
1  ∆
I E (ε ) = ∫
T 0
zi ( t ) X (t − ε + ∆ 2 )dt = ADRX~X  ε − sinc( f eT ) cos(πf eT + θ e ) + N i , E
 2
(3.6)

16
and similarly

I P (ε ) = ADRX~X (ε )sinc( f eT ) cos(πf eT + θ e ) + N i , P

 ∆
I L (ε ) = ADRX~X  ε + sinc( f eT ) cos(πf eT + θ e ) + N i , L
 2
 ∆ 
QL (ε ) = ADRX~X  ε + sinc( f eT ) sin(πf eT + θ e ) + N q , E (3.7)
 2
QP (ε ) = ADRX~X (ε )sinc( f eT ) sin(πf eT + θ e ) + N q, P

 ∆
QL (ε ) = ADRX~X  ε + sinc( f eT ) sin(πf eT + θ e ) + N q , L
 2
~
where the cross-correlation function between X (t ) and X (t ) can be defined as

T

RX~X (ε ) = X (ε )X (t − ε )dt = RX (ε ) ∗ h(ε ) , ∆ is the early-late spacing, and
0

 N i ,E  1 T
 ni   ∆ 
N  =
 q ,E  T
∫0 nq  X  t + 2 − ε dt
 N i ,P  1 T
 ni 
N  =
 q ,P  T
∫0 nq  X (t − ε )dt (3.8)

 N i ,L  1 T
 ni   ∆ 
N  =
 q,L  T
∫ n  X  t − 2 − ε dt
0 q

are zero-mean, Gaussian, random variables with equal variance σ 2 and cross-correlation

{ } { }
E{N i , E N i , L }= E N q , E N q , L = σ 2 RX ( ∆ ) and E{N i , E N i , P }= E N q , L N q , P = σ 2 RX ( ∆ / 2) .

The output of the Code Discriminator block depends on the selected discriminator. Three common
discriminators are:

● E-minus-L Coherent

d (ε ) = I E (ε ) − I L (ε ) (3.9)

● Non-coherent Early-minus-Late Power

[ ] [
d (ε ) = I E2 (ε ) − I L2 (ε ) + QE2 (ε ) − QL2 (ε ) ] (3.10)

● Non-coherent dot-product

d (ε ) = [I E (ε ) − I L (ε )]I P (ε ) + [QE (ε ) − QL (ε )]QP (ε ) (3.11)

The three code discriminator functions are plotted in Figure 3.3. These three functions, as all the
discriminator functions, present a zero crossing for a tracking error ε = 0 and a linear or near linear
behaviour in the neighbour region, where the code discriminator output will be proportional to the code
tracking error. Thereby the output of the code discriminator, after filtered with a low pass filter, is used

17
as a estimation of the code tracking error to feed back the signal generated (see Figure 3.2). In this
way, the receiver can keep the locally generated signal synchronized with the received signal.

It is important that the zero crossing point be ε = 0 , because, for the receiver's point of view, the code
of the locally generated signal is synchronized with the code of the received signal, when the code

discriminator output is d (ε ) = 0 . If the zero crossing point is shifted, then the receiver stable lock point
would not be ε = 0 and a code tracking error will occur.

0.05

0.025
discriminator output, d ( ε )

-0.025

E-L Coherent
-0.05 Dot Product
E-L Power
-1 -0.5 0 0.5 1
code tracking error, ε/TC

Figure 3.3: Code discriminator outputs for BOC(1,1) with unlimited pre-correlation bandwidth.

The output of the Carrier Discriminator depends on the carrier discriminator function. A common carrier
discriminator function is the arc tangent discriminator, that is insensitive to the phase transition of the
navigation data bit transitions [8]:

 I (ϕ ) 
d PLL (ϕ e ) = arctan  P e  (3.12)
 QP (ϕ e ) 

The discriminator for the carrier loop is showed in Figure 3.4, and, similar to the code discriminator, it
is used to give a phase tracking error estimate to feed back the Local Phase Generator. Thereby the

carrier discriminator functions must have a stable lock point for ϕ e = 0 .

18
0.5

discriminator output, dPLL ( φ / π)


0

-0.5
-1 -0.5 0 0.5 1
phase tracking error, φ/π

Figure 3.4: Carrier discriminator output for the arc tangent discriminator.

3.2.1 Aided Tracking Loops


The receiver illustrated in Figure 3.2 uses unaided tracking loops. However, today low-cost micro-
electromechanics allows the integration of miniature inertial measurement units (IMUs) and GNSS in
low cost receivers. This enables the use of IMU measurements for helping the receiver tracking loops.
[16].

3.2.1.1 Aided PLL


In a conventional receiver, the local phase generator output is only controlled by the phase
discriminator output. However, when IMU's measurements are available it is possible to estimate the
receiver Doppler signal, based on satellite ephemeris and position estimates calculated with both
GNSS and INS measurements, and use it as an aiding signal [16]:

ωaid = ωˆ d . (3.13)

Therefore the output frequency will be given by

ω = ωPPL + ωˆ aid (3.14)

The aiding signal allows the local phase generator to generate a more accurate frequency and thereby
it will be easier for the PLL to track the carrier phase, giving also a more accurate phase.

3.2.1.2 Aided DLL


Now, with the more accurate phase measurements determined by the PLL, an aided DLL can use the
phase measurements to aid the code delay tracking [16]. In this way, the aided DLL increases
robustness to dynamics, noise, interference and multipath.

19
Chapter 4

Multipath Effect

In Chapter 3 was assumed that there was an unobstructed path from to the receiver to the satellite
and that the received signal was a single undisturbed signal, the so called Line-of-Sight signal (LOS).
However in a realistic environment multipath may occur.

Multipath is defined as the propagation of a wave from one point to another by more than one path. By
that means, the received signal will be the result of the sum of a first path plus one or several reflected
echoes. The first path is usually a direct, unobstructed path from the satellite to the antenna (LOS),
and the reflected rays are the result of reflections from a nearby objects or the ground. These reflected
paths will be delayed relative to the LOS and, usually, will be weaker than the LOS, due to the energy
loss from the reflection. However, when the LOS is partially obstructed or when the reflecting surface
has a large area (e.g. a building), the LOS may be weaker than some echoes. Figure 4.1 shows a
possible multipath situation, where three rays reach the receiver: LOS, a ray reflected on a building
and another ray reflected on the ground.

LOS

Figure 4.1: Possible multipath situation.

20
As it will be seen in the following section, the reflections will confound the receiver by distorting the
correlation peak and hence the code discriminator will not estimate correctly the code delay. The
effects of multipath in the receiver tracking loops will depend on:

● the amplitudes of the reflected signals relative to the LOS;

● the delays of the reflected signals relative to the LOS;

● the phases of the reflected signals relative to the LOS;

● the rate of change of the relative phases.

4.1 Tracking error due to Multipath


The simplest multipath scenario occurs with the simultaneous reception of the LOS signal and a
reflected ray delayed, attenuated and with a excess of phase. In this situation the receiver's input may
be written as

r( t ) = AX (t )cos[(ω0 + ωd )t + θ 0 ] + αAX (t − τ )cos[(ω0 + ωd )t + θ 0 + φ ] + n( t ) (4.1)

where 0 < α < 1 is the attenuation coefficient and stands for the relative amplitude of the reflected ray,

and τ and φ are respectively the delay and the extra phase of the reflected signal relative the LOS.

Following the proceeding described in Section 3.2, now the correlator outputs will be given by:

  ∆  ∆  
I E (ε ) = ADsinc( f eT )  RX~X  ε −  sin(πf eT + θ e ) + αRX~X  ε − − τ  cos(πf eT + θ e + φ )  + N i , E
  2  2  
I P (ε ) = ADsinc( f eT ){RX~X (ε )cos(πf eT + θ e ) + αRX~X (ε − τ )cos(πf eT + θ e + φ )}+ N i , P

  ∆  ∆  
I L (ε ) = ADsinc( f eT )  RX~X  ε +  cos(πf eT + θ e ) + αRX~X  ε + − τ  cos(πf eT + θ e + φ )  + N i , L
  2  2  
(4.2)
  ∆  ∆  
QE (ε ) = ADsinc( f eT )  RX~X  ε −  sin(πf eT + θ e ) + αRX~X  ε − − τ  sin(πf eT + θ e + φ )  + N q , E
  2   2  
QP (ε ) = ADsinc( f eT ){RX~X (ε )sin(πf eT + θ e ) + αRX~X (ε − τ )sin(πf eT + θ e + φ )}+ N q , P

  ∆  ∆  
QL (ε ) = ADsinc( f eT )  RX~X  ε +  sin(πf eT + θ e ) + αRX~X  ε + − τ  sin(πf eT + θ e + φ )  + N q , L
  2  2  

According to (4.2), in the presence of multipath, the correlator outputs can be viewed as a
superposition of shifted and distorted versions of (3.6) and (3.7). Figure 4.2 shows the effect of a

single reflected ray on the output of the in-phase prompt correlator, I P (ε ) . In the Figure, it is

considered that the reflected signal has a attenuation coefficient of α = 0.5 and is in-phase, φ = 0 , and

delayed τ = 0.4Tc regarding the LOS.

As the output of the correlators is distorted in the presence of multipath, the zero-crossing of the
discriminator function will be shifted from the correct position (see Figure 4.3). This leads to an error

21
in the code delay measurement between the received signal code and the local generated code.

1
direct signal
reflected signal
0.8
received signal

0.6

0.4
I (ε)

0.2
P

-0.2

-0.4

-0.6
-1.5 -1 -0.5 0 0.5 1 1.5 2
ε/T c

Figure 4.2: Normalized in-phase prompt correlator for BOC signals, with α = 0.5 and τ = 0.4Tc.

In Figure 4.3 is plotted the discriminator function for BOC(1,1) signals with unlimited bandwidth and for

three situations: E-L spacing ∆ = 0.2Tc and no reflected path; E-L spacing ∆ = 0.2Tc a in-phase echo

with attenuation coefficient α = 0.5 and delay τ = 0.4Tc ; and the same as the second situation, but now

with an E-L spacing ∆ = 0.05Tc . It is evident that the discriminator's function is shifted when α ≠ 0 and
that a narrower E-L spacing decreases the error due to multipath.

0.1 ∆/Tc=0.2 α=0


∆/Tc=0.2 α=0.5
∆/Tc=0.05 α=0.5
0.05
discriminator output, d ( ε )

-0.05

φ =0
τ/Tc =0.4
-0.1
-1 -0.5 0 0.5 1
tracking error, ε/Tc

Figure 4.3: E-L power code discriminator outputs for BOC(n,n).

22
A common approach to describe the effects of multipath consists of determining the multipath error
envelopes, as it will be explained in the next section.

4.2 Multipath error envelope


The multipath error envelopes are plots that illustrate the extreme values of the code tracking error. In
a multipath error envelope, it is assumed that the receiver input signal is given by (4.1) and the
tracking error is function of the reflected path delay τ and the attenuation coefficient α relative to the
LOS.

It is considered that the output of the correlators is given by (4.2), then the discriminator's output can

be written as a function of (4.2), d (I E , I P , I L , QE , QP , QL ) . As the output of the correlators depends of the


tracking error, ε , the reflected path delay relative to the LOS, τ , the attenuation coefficient, α and the
extra phase relative the LOS, φ ; the discriminator's function can be defined as a function of those

variables, d (ε ,τ , α , φ ) .

The tracking error can be determined by solving d (ε ,τ , α , φ ) = 0 for ε . The worst tracking errors will

occur when the reflected path is in-phase (constructive interference), φ = 0 , or out-of-phase

(destructive interference), φ = π . The multipath error envelope consists of two curves given by

d (ε , α ,τ ,0 ) = 0 and d (ε , α ,τ , π ) = 0 , that define the tracking error limits for a constant attenuation

coefficient, α , and as a function of the reflected path delay τ relative to the LOS.

Depending of the discriminator's function and the signal's modulation, there may exist more than one
zero-crossing in the discriminator's function. When this happens, it must be selected the zero-crossing
correspondent to the stable lock point near ε = 0 .

Figure 4.4 displays the multipath error envelopes for BOC(1,1) obtained for the E-L power
discriminator, with two E-L spacing values and infinite bandwidth. It can be seen that the use of
narrower correlator architecture decreases the code tracking error in the presence of multipath. Since

the error given in Figure 4.4 is in units of chip ( Tc ), it is important to state that signals with higher chip
rates will offer better multipath performance (less code tracking error) than signals with lower chip
rates. Other important conclusion is that for reflected rays delayed by more than about one chip, the
tracking error due to multipath will drop to zero. The reason for this event is the the fact that the auto-
correlation function be null for misalignments equal or greater than one chip.

23
0.03
α=0.5 ∆=0.1Tc
α=0.5 ∆=0.05Tc
0.02
α=0.2 ∆=0.05Tc

0.01
tracking error, ε / TC

-0.01

-0.02

-0.03
0 0.2 0.4 0.6 0.8 1 1.2
multipath delay, τ/TC

Figure 4.4: Multipath error envelopes for the Narrow Correlator and BOC signals.

Despite the simplifications assumed in the multipath error envelopes, it is a very suited tool to compare
the multipath performance of different signals and different tracking techniques. Therefore, in the next
chapter, where it will be discuss several methods to mitigate the effects of multipath, the multipath
error envelope will be used to assess the performance of each technique.

24
Chapter 5

Multipath Mitigation

As it was seen in Chapter 4, the multipath error is a limiting factor of the GNSS positioning accuracy.
Several techniques have been studied in the past to mitigate the multipath tracking error. These
different techniques can be classified into three main categories:

1) Pre-processing techniques.

These techniques are applied before the satellite signals enters the receiver's processing
chain. In this category it is possible to find:

● Methods that make assumptions about the geometry of the multipath. We find in this
category the Choke-Ring antenna, which works quite well for under the horizon
multipath (which covers most of the survey situations), but falls short for above the
ground configurations (building reflections for example) [17];

● Methods that assume repeatability of the multipath from one day to another, and
characterize the multipath environment by azimuth and elevation [18]. These have the
disadvantage of requiring a significant time to calibrate the environment, and are
limited to the specific location where the calibration was made. This limits the use of
methods to static cases such as reference stations. The other drawback is that, unless
another calibration is made, these methods will not take into account any change in
the multipath environment with the time.

2) Receiver signal processing techniques.

Signal processing techniques occur within the code and frequency tracking loops.

● Techniques that make no assumption about the multipath model, like the Narrow
Correlator [19] and Code Correlation Reference Waveforms [20], [10];

● Techniques that assume a multipath model and try to identify the parameters of this
model. Some examples are: DLL with interference cancellation and/or interference
mitigation, Kalman Filtering, Multipath Estimating DLL, Pulse Subtraction, Least
Squares, Subspace-based algorithms and Quadratic Optimization Methods [21].

25
3) Post-processing techniques.

Post-processing techniques are applied after the pseudo-range measurements have been
produced. In this category, it can be found the methods that analyse the consistency of the
different code measurements, and eliminate the satellites with a too large bias (Receiver
Autonomous Integrity Monitoring). Although this might work well if only one or two satellite
signals present multipath and if the multipath level is quite significant (20 meters level), it has
severe limitations otherwise [18].

However, not all the mitigation techniques are suitable for implementation in low cost GNSS receivers.
Low cost receivers can not afford to use high performance processor and expensive hardware. These
receivers have limited computational capabilities. Thereby, the techniques suitable for such type of
receiver must minimize the computing load. In this category, it can be found: the Narrow Correlator,
the CCRWs and the Teager-Kaiser operator. These techniques will be analysed in the following
sections.

5.1 Narrow Correlator


The Narrow Correlator is known for quite a few years [19]. The structure of the Narrow Correlator's
receiver is sketched in Figure 3.2 and the correlator outputs are given by (4.2). Historically, the first

generation of GPS receivers used large E-L spacings (e.g. ∆ = 1Tc ). The main concept behind the
Narrow Correlator is narrowing the E-L correlator spacing. This has the advantage of reducing the
tracking errors in the presence of both noise and multipath [19]. Although, the Narrow Correlator was
developed for BPSK signals, the BOC and MBOC signals can also be used, as shown in [12] and [5].

Several discriminator functions can be used with the Narrow Correlator, as, for instance, coherent, E-L
power and dot-product discriminators. However, these different discriminators have a similar
performance in the presence of multipath, and then, in this section, it only will be considered the
Narrow E-L Power (NELP) discriminator, given by (3.10).

The noise reduction is achieved with narrower E-L spacings because the noise components of the E
and L correlator outputs are correlated and the discriminator output tend to cancel. The multipath
effects are reduced because the code discriminator is less distorted by the delayed multipath signal. In
Figures 4.3 and 4.4, the reduction of tracking errors in the presence of multipath with narrower E-L
spacings is well visible.

Figure 5.1 (left) shows the NELP code discriminator response for unlimited bandwidth and E-L spacing
∆ = 0.05Tc . For the BPSK signal, the code discriminator response has only one stable lock point at

ε = 0 . However for BOC(1,1) and CBOC(6,1,1/11) it has three stable lock points: at ε = 0 and two

false-lock points at ε = ± Tc 2 . The false-lock points are a disadvantage because they introduce
ambiguity in the code discriminator, which means that the receiver may lock at the wrong point and
estimate wrongly the code tracking delay.

26
On the right side of Figure 5.1 (right) are plotted the multipath error envelopes for NELP code

discriminator, attenuation coefficient α = 0.5 , E-L spacing ∆ = 0.05Tc and unlimited bandwidth. There is
a performance improvement in changing from a BPSK signal to a BOC(1,1) signal and from a
BOC(1,1) signal to a CBOC(6,1,1/11) signal. The reason for this is that CBOC(6,1,1/11) signals have
sharper peaks in their ACF than BOC(1,1) signals, and the last ones also have sharper peaks in their
ACF than BPSK signals(as it was seen in Figure 2.7). The sharper peaks in the ACF allows the code
discriminator to be less distorted by delayed reflected rays.

0.025 0.015
BPSK BPSK
0.02 BOC(1,1) BOC(1,1)
CBOC(6,1,1/11) CBOC(6,1,1/11)
0.01
0.015

0.01
0.005
discriminator output, d ( ε )

0.005 tracking error, ε / TC

0 0

-0.005

-0.005
-0.01

-0.015
-0.01
∆=0.05Tc
∆=0.05Tc
-0.02 B T =∞
BWTc=∞ W c
α=0.5

-0.025 -0.015
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
tracking error, ε/T multipath delay, τ/T
C C

Figure 5.1: Code discriminator outputs (left) and multipath error envelopes (right) for the NELP
discriminator, with unlimited pre-correlation bandwidth.

The impact of the input filter bandwidth on the multipath performance should not be neglected. The
input filter bandwidth affects the correlator outputs, the code discriminator output and, thereby, the
multipath error envelope. Figure 5.2 shows the multipath error envelopes for the NELP code

discriminator, E-L spacing ∆ = 0.05Tc , attenuation coefficient α = 0.5 and two different bandwidths:

BW Tc = 5 and BW Tc = 12 . In general, the larger the input bandwidth, the better will be the multipath

performance. This behaviour was expected, because narrower input bandwidth implies smoother
correlation peaks and, therefore, code discriminator response more sensitive to reflected rays.

27
0.04 0.015
BPSK BPSK
BOC(1,1) BOC(1,1)
0.03 CBOC(6,1,1/11) CBOC(6,1,1/11)
0.01

0.02

0.005
0.01
tracking error, ε / TC

tracking error, ε/TC


0 0

-0.01
-0.005

-0.02

-0.01
-0.03 ∆=0.05Tc ∆=0.05Tc
B T =5 B T =12
W c W c
α=0.5 α=0.5

-0.04 -0.015
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
multipath delay, τ/T multipath delay, τ/T
C C

Figure 5.2: Multipath error envelopes for the NELP discriminator and normalized bandwidth BWTc = 5
(left) and BWTc = 12 (right).

For pre-correlation bandwidths BW Tc ≤ 5 , the behaviour of CBOC(6,1,1/11) will be similar to BOC(1,1).


This is explained because the power density of the two types of signals is very similar when the
bandwidth is limited to that set of values (see Figure 2.4). Or in other words, the high frequency
BOC(6,1) is neglected for input bandwidths BW Tc ≤ 5 . Thus, to take full advantage of the wideband

CBOC(6,1,1/11) it is necessary to use a input bandwidth larger than BW Tc ≥ 7 so that the wide
frequency BOC(6,1) component would not be neglected.

The multipath error envelopes plotted in Figures 5.1 and 5.2 are important, because they can give a
good idea how the NELP discriminator behaves in the presence of multipath. Nevertheless, the
contribution of the thermal noise in the correlator outputs should not be neglected. The discriminator
performance is deeply affected with the amount of channel noise.

Assuming weak noise conditions and linearising (3.10) around ε = 0 (stead-state), from (B.3) and

(B.4), the steady-state normalized code error variance, (ε / Tc )2 , is given by:

2
2 BPLL [1 − RX (∆ )]  RX~X ( ∆ 2) 
 .
(ε Tc ) =
2
 R ~ ( ∆ 2) R′~ ( ∆ 2)T 
(5.1)
(C N 0 ) 2
 XX XX c 

Figure 5.3 shows the evolution of the normalized code error variance, (ε / Tc )2 , versus the pre-

correlation bandwidth, BW , and the E-L spacing, ∆ , for the fixed carrier-to-noise density ratio

C N 0 = 40 dB/Hz . It can be seen that narrower E-L spacings reduce the code discriminator noise, but

requires wider pre-correlation bandwidths. This is the primary disadvantage of the Narrow Correlator,
because wider bandwidths require higher sample rates, higher digital signal processing rates and
more expensive receivers.

28
So, for each bandwidth value there will be an optimal E-L spacing, that minimizes the steady-state
normalized code error variance. The selected E-L spacing does not need to be one that minimizes the
code error variance, but it must assure low variances while providing better multipath performance.
Thereby, it is preferable to use a narrower E-L spacing that allow better multipath mitigation (see

Figure 5.4), but higher steady-state code error variance, than the optimal value. In this way, ∆ = 0.1Tc

and ∆ = 0.05Tc are suitable E-L spacings, for the normalize pre-correlation bandwidths BW Tc = 5 and

BW Tc = 12 , respectively. These two pre-correlation bandwidths will be the ones picked up in

Subsection 6.3 and used in the simulation, whose results will be presented in Chapter 7.

29
α∆ /2

ε /T c BPSK
0
code tracking error,
BOC(1,1)
CBOC(6,1,1/11)

BWTc=∞

-α∆ /2

0 0.5+∆ /4 1+∆ /2
multipath delay, τ/Tc

Figure 5.4: Multipath error envelopes as function of E-L spacing and attenuation coefficient, for the
NELP discriminator.

5.2 High Resolution Correlator


The High Resolution Correlator (HRC) was introduced in [22] for BPSK signals. The HRC uses
multiple correlator outputs, from a conventional GNSS receiver (Figure 3.2), to yield an approximation
to W1 Code Correlation Reference Waveform, that will be analysed in Sub Sub Section 5.3.2.

The structure of the HRC receiver is similar to the one illustrated in Figure 3.2, but with the difference

that the HRC receiver requires eight correlators: Very-Early-in-phase IVE , Early-in-phase I E , Late-in-

phase I L , Very-Late-in-phase IVL , Very-Early-quadrature QVE , Early-quadrature QE , Late-quadrature

QL , Very-Late-quadrature QVL .

If the input RF signal is given by (4.1) and the receiver is coherent, then the correlators outputs of the
HRC will be given by (4.2) and

  ∆  ∆  
QVE (ε ) = ADsinc( f eT )  RX~X  ε −λ  sin(πf eT + θ e ) + α RX~X  ε − λ − τ  cos(πf eT + θ e + φ )  + N i ,VE
  2  2  
  ∆  ∆  
IVL (ε ) = ADsinc( f eT )  RX~X  ε + λ  cos(πf eT + θ e ) + α RX~X  ε + λ − τ  cos(πf eT + θ e + φ )  + N i ,VL
  2  2  
(5.2)
  ∆  ∆  
QVE (ε ) = ADsinc( f eT )  RX~X  ε − λ  sin(πf eT + θ e ) + α RX~X  ε − λ − τ  sin(πf eT + θ e + φ )  + N q ,VE
  2  2  
  ∆  ∆  
QVL (ε ) = ADsinc( f eT )  RX~X  ε + λ  sin(πf eT + θ e ) + α RX~X  ε + λ − τ  sin(πf eT + θ e + φ )  + N q ,VL
  2  2  

where ∆ is the early-late spacing, λ∆ is the very-early-very-late spacing, with λ > 1 , typically λ = 2 ,

and N i ,VE N i ,VL N q ,VE N q ,VL are zero-mean Gaussian random variables, with variances σ 2 and cross-

30
correlations

 ∆
E{N x ,VE N x , E }= E{N x , L N x ,VL }= σ 2 RX (λ − 1) 
 2
 ∆
E{N x ,VE N x , L }= E{N x , E N x ,VL }= σ 2 RX (λ + 1) 
 2
E{N x ,VE N x ,VL }= σ 2 RX (λ∆ ) (5.3)

E{N x , E N x , L }= σ 2 RX (∆ )

{ }
E N i ,Y N q , Z = σ 2 RX (∆ )

with the x one of VE , E , L or VL , and with Y and Z one of i or q .

The response of the HRC discriminator is given by

d (λ , ε ) = λ [(I E − I L ) + (QE − QL )] − [(IVE − IVL ) + (QVE − QVL )] (5.4)

Figure 5.5 shows the HRC code discriminator responses for BPSK signals with unlimited input

bandwidth, E-L spacing ∆ = 0.1Tc and several λ values. The linear area of the code discriminator

around the stable lock point at ε =0 remains similar for different λ values, but the areas where the
code discriminator response is different from zero are narrower.

0.06
λ=1.5
λ=2
λ=2.5
0.04

0.02
discriminator output, d ( ε )

-0.02

-0.04

∆ =0.1Tc

-0.06
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
tracking error, ε/TC

Figure 5.5: HRC code discriminator response for BPSK signals for several λ values.

Figure 5.6 shows the code discriminator output and the multipath error envelope for the HRC with
unlimited bandwidth. While for BPSK signals the code discriminator has one stable lock point at ε = 0 ,
for BOC(1,1) signals the code discriminator has three stable lock points: one at ε = 0 and two false-

lock points at ε = ±Tc . For CBOC(6,1,1/11) signals the situation is even worse, as the HRC code

31
discriminator presents even more false-lock points than for the BOC(1,1) signals. The multipath error
envelope shows that the HRC discriminator is not well adapted for use with CBOC(6,1,1/11) signals,
as it can be seen than the tracking error will be different from zero for a larger set of delays of the
reflected ray, than for the case of the BOC(1,1) signal. From the three signals and the HRC
discriminator, the BPSK signal is the one that offers the best performance in the presence of multipath.

0.025 0.015
BPSK BPSK
0.02 BOC(1,1) BOC(1,1)
CBOC(6,1,1/11) CBOC(6,1,1/11)
0.01
0.015

0.01
0.005
discriminator output, d (ε )

tracking error, ε / TC
0.005

0 0

-0.005

-0.005
-0.01

-0.015
-0.01
∆=0.05Tc
∆=0.05Tc
-0.02 BWTc=∞
BWTc=∞
α=0.5

-0.025 -0.015
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
tracking error, ε/TC multipath delay, τ/TC

Figure 5.6: Code discriminator outputs (left) and multipath error envelope (right) for HRC, with
unlimited pre-correlation bandwidth and λ = 2.

Figure 5.7 illustrates the effects of the different input bandwidths on the multipath error envelopes. The

multipath error envelopes for input bandwidth BW Tc = 12 have similar envelopes as the case of
unlimited pre-correlation bandwidth; but, while for unlimited bandwidth the shapes of multipath error

envelope were sharp, for the BW Tc = 12 bandwidth these shapes are smooth. For input bandwidth

BW Tc = 5 it is important to refer that the behaviour the CBOC(6,1,1/11) signal closes up BOC(1,1)

signals, as it happens for the NELP code discriminator.

0.025 0.015
BPSK BPSK
0.02 BOC(1,1) BOC(1,1)
CBOC(6,1,1/11) CBOC(6,1,1/11)
0.01
0.015

0.01
0.005
C

tracking error, ε / TC

0.005
tracking error, ε / T

0 0

-0.005

-0.005
-0.01

-0.015
-0.01
∆=0.05Tc ∆=0.05Tc
-0.02 BWTc=5 BWTc=12
α=0.5 α=0.5

-0.025 -0.015
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
multipath delay, τ/TC multipath delay, τ/TC

Figure 5.7: Multipath error envelopes for the HRC, with normalized bandwidth BWTc = 5 (left) and
BWTc = 12 (right).

For weak noise conditions and linearising (5.4) around ε = 0 , from (B.3) and (B.5), the steady-state

32
normalized code error variance, (ε / Tc )2 , is given by:

2 BPLL 1 + λ2 [1 − RX (∆ )] − RX (λ∆ ) + 2λ [RX ((λ + 1)∆ / 2 ) − RX ((λ − 1)∆ / 2 )]


(ε Tc ) ≈
2
⋅ (5.5)
(C / Ν 0 ) (2[R′X~X (λ ∆ 2) − λR′X~X ( ∆ 2)]Tc )2
Figure 5.8 plots the code error variance, (ε / Tc )2 , versus the pre-correlation bandwidth, BW , and the

E-L spacing, ∆ , for C N 0 = 40 dB/Hz , integration period T = 0.004 s , λ = 2 and code loop bandwidth

BPLL = 1 Hz . In general, the code error variance will decrease for lower E-L spacings and higher pre-

correlation bandwidths. However, for each pre-correlation value there is a E-L spacing that minimizes
the code error variance. The selected E-L spacing must provide both good multipath mitigation (see

Figure 5.8) and low noise propagation. The E-L spacings ∆ = 0.08Tc and ∆ = 0.15Tc were considered

suitable for BW Tc = 5 and BW Tc = 12 , respectively, with λ = 2 .

[23]-, [24], [25], [26]

33
α∆ /4

-α∆ /8

ε /Tc
BPSK
code tracking error,
0
BOC(1,1)

-α∆ /8

BWTc=∞
λ=2
-α∆ /4
0 ∆/2 0.5-∆ /2 0.5 0.5+∆/2
multipath delay, τ/Tc

Figure 5.9: Multipath error envelopes as function of E-L spacing and attenuation coefficient, for the
HRC discriminator with λ=2.

5.3 Code Correlation Reference Waveform


The concept of Code Correlation Reference Waveform (CCRW) was presented in [23] to describe
different code correlation techniques used by some major GPS receiver manufacturers. These
techniques had in common the fact that, they were specially designed to mitigate multipath, and
instead of using a replica of the navigation signal, use a reference waveform, the CCRW. This
technique has also been named strobe correlator or gating correlator [23]-[26].

CCRW was first developed to improve the multipath performance of BPSK signals. More recently the
same technique was extended to BOC signals [27], [28], and proved to be able to mitigate the
multipath effects for this modulation also. In this section, the CCRW concept will be applied to BPSK,
BOC and a MBOC signal, the CBOC(6,1,1/11).

Figure 5.10 shows the receiver's structure considered for use CCRW. Let RF signal be given by (4.1),

then, the correlators I P and QP outputs are given by (4.2) and IW and QW are given by

IW (ε ) = ADsinc( f eT ){RX~W (ε )cos(πf eT + θ e ) + αRX~W (ε − τ )cos(πf eT + θ e + φ )}+ N i ,W


(5.6)
QW (ε ) = ADsinc( f eT ){RX~W (ε )sin(πf eT + θ e ) + αRX~W (ε − τ )sin(πf eT + θ e + φ )}+ N q ,W

with RX~W (ε ) = RXW (ε ) ∗ h(ε ) , where RXW (ε ) = E{X (t )W (t − ε )} is the cross-correlation between X (t ) and

the CCRW W (t ) .

The code discriminator considered in this section is given by

d (ε ) = I P (ε ) IW (ε ) + QP (ε )QW (ε ) (5.7)

34
Local Phase Phase
Generator Discriminator

^ ^
cos φ(t) sin φ(t)
I
P
I&D

cos(ω 0 t)
z i(t)
IW
I&D
y i(t)

Phase Gating Signal d(ε)


r(t) Code
Rotation W(t-ε) Generator Discriminator

y q(t) QW
I&D

sin(ω 0 t) z q(t)
Q
P
I&D

Signal Local Code

X(t-ε) Generator C(t-ε) Generator

Figure 5.10: Block diagram of the receiver code and phase loops using the strobe correlator.

The receiver's performance will be strongly dependent of the selected CCRW. In the past several
CCRW have been studied, as a way to improve the code tracking performance [23]-[28]. The CCRW
studied and plotted in Figure 5.11 can be partitioned in two sub-categories: transition-based, if a
CCRW pulse appears only when a signal value transition occurs; or per-chip, if a CCRW pulse occurs

for every chip code. The determination of CCF R XW will depend if the CCRW is transition-based or
per-chip.

● CCF for transition-based CCRW

Let the CCRW and the received BOC(n,m) signal (with unlimited bandwidth) be defined as:

Ck + ( −1) 2n m Ck −1
W (t ) = ∑ 2
W ′(t − kTc )
k
(5.8)
X (t ) = ∑ C X ′(t − kT )
k
k c

where W ′(t ) is a CCRW pulse and X ′(t ) depends on the signal modulation. For instance, for BPSK

signals with n / m = 1 / 2 , X ′(t ) = Π (t Tc ) .

Considering that G XW ( f ) is the Fourier Transform (FT) of the cross-correlation function between the
received signal and CCRW:

FT
RXW (τ ) → G XW ( f ) (5.9)

35
Then,

  C + ( −1) 2n m C j −1 
G XW ( f ) = X ( f )W (− f ) =  ∑ Ck X ′( f )e −i 2π f k  ∑ j W ′( f )ei 2π f j 
 2 
 k  j 
C j + ( −1) 2n m C j −1
= ∑∑ Ck X ′( f )W ′( f )ei 2π f ( j − k ) (5.10)
k =1 m =1 2
C ′ + ( −1) 2n m Cl′+1
=∑ l X ′( f )W ′( f )e −i 2π f l
l 2

where X ( f ) , W ( f ) , X ′( f ) and W ′( f ) are the FT of X (t ) , W (t ) , X (t ) and W ′(t ) respectively, and

C ′ = N chip ;
Cl′ = ∑C C
k= l
k k− l
, with  0
Cl′ = 0, l ≠ 0
.

Thereby,

(
G XW ( f ) = N chip X ′( f )W ′( f ) 1 + ( −1) n / m ei 2π τ ) (5.11)

The cross-correlation function can be determined applying the Inverse Fourier Transform (IFT).

IFT
 RXW (τ )
G XW ( f ) → (5.12)

● CCF for per-chip CCRW

Now let the CCRW and the received BOC(n,m) signal (with unlimited bandwidth) be defined as:

W (t ) = ∑ C W ′(t − kT )
k c
k
(5.13)
X (t ) = ∑ k
Ck X ′(t − kTc )

Applying the same steps as in the previous section, it is easy to show that

G XW ( f ) = N chip X ′( f )W ′( f ) . (5.14)
And then determine the cross-correlation function, applying the IFT

 RXW (τ ) .
IFT
G XW ( f ) → (5.15)

36
signal

rect

W1

W2

W3

W4

0 1 2 3 4 5 6
time, Tc

Figure 5.11: CCRW waveforms for a BPSK signal.

5.3.1 Rectangular CCRW


The rectangular pulse Π(t / L) , defined as 1 for t ≤ L / 2 and 0 otherwise, has been used in the CCRW

concept as alternative to the conventional E-L discriminator for BPSK signals [23]. It is possible to
show that, for BPSK signals the E-L discriminator is equivalent to a CCRW transition-based:

 ∆  ∆ ~   ∆  ∆  ~   t − kTc 
RX~X  t −  − RX~X  t +  = X ∗  X  t +  − X  t −   = X ∗ 
 2   2    2   2  
∑ s Π
k
k
∆ 
 . (5.16)

where sk depends on the signal code and can take one of the values -1, 0 or +1. Because of (5.16),
the here named Rectangular (RECT) CCRW, is also known as narrow CCRW [23].

1
value

-L/2 0 L/2
time

Figure 5.12: W1 CCRW pulse.

It is important to state that (5.16) is only valid for BPSK signal. Nevertheless a CCRW may be defined
as

37
 t − kTc 
W (t ) = ∑ s Π
k
k
L 
 (5.17)

and applied to other signals. However for other signals it would not be equivalent to a E-L
discriminator.

Comparing Figures 5.1 and 5.13, it is possible to confirm the similarities between the multipath
performance of the Narrow CCRW and the E-L discriminator for BPSK signals, and the differences for
BOC and CBOC signals.

0.05 0.03
BPSK BPSK
0.04 BOC(1,1) BOC(1,1)
CBOC(6,1,1/11) CBOC(6,1,1/11)
0.02
0.03

0.02
0.01
discriminator output, d ( ε )

tracking error, ε / TC
0.01

0 0

-0.01

-0.01
-0.02

-0.03
-0.02
L/Tc=0.05 L/Tc=0.05
-0.04
B T =∞ α=0.5
W c

-0.05 -0.03
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
multipath delay, τ/T multipath delay, τ/T
C C

Figure 5.13: Code discriminator outputs (left) and multipath error envelopes (right) for the RECT
CCRW with unlimited pre correlation bandwidth.

For BOC and CBOC signals, the RECT CCRW (Figure 5.13), given by (5.17), offers a worse
performance than the NELP discriminator (Figure 5.13). However by changing the CCRW to a New
RECT CCRW

 t − (k + 0.5)Tc 
W (t ) = ∑ s Π
k
k
L
,

(5.18)

for BOC and CBOC signals, it was found that the multipath performance will increase. Reflected rays

with delays larger than about half chip duration, i.e. Tc 2 , will cause no effect on the tracking error
(Figure 5.14).

38
0.05 0.04
BOC(1,1) BWTc=5 BOC(1,1)
0.04 CBOC(6,1,1/11) B T =5 CBOC(6,1,1/11)
W c
0.03
B T =12 BOC(1,1)
W c
0.03 B T =12 CBOC(6,1,1/11)
W c
0.02
0.02
discriminator output, d ( ε )

0.01

tracking error, ε / TC
0.01

0 0

-0.01
-0.01

-0.02
-0.02
-0.03

L/Tc=0.05 -0.03 L/Tc=0.05


-0.04
B T =∞ α=0.5
W c

-0.05 -0.04
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
multipath delay, τ/TC multipath delay, τ/TC

Figure 5.14: Code discriminator outputs (left) for the New RECT CCRW with unlimited pre correlation
bandwidth. Multipath error envelopes (right) for the New RECT CCRW for different signals and pre
correlation bandwidths.

Assuming weak noise and from (B.3) and (B.6), the steady-state normalized code error variance,

ε 2 Tc2 , is defined as:

BDLL L Tc 1
ε2 = (5.19)
(C N 0 ) R′X~W (0) 2 [ ]
For each pre-correlation bandwidth, there is a pulse duration, L , that minimize the code error

variance. This can be seen in Figure 5.15, where the normalized code error variance, (ε / Tc )2 , versus

the pre-correlation bandwidth, BW , and the E-L spacing, ∆ , is plotted for C N 0 = 40 dB/Hz , integration

period T = 0.004 s , and code loop bandwidth BPLL = 1 Hz . The pulse durations L = 0.05Tc and L = 0.1Tc

were considered suitable for the normalized pre-correlation bandwidths BW Tc = 5 and BW Tc = 12 ,


respectively.

39
α∆ /2
ε / Tc

BPSK
code tracking error,

0 BOC(1,1)
CBOC(6,1,1/11)

BWTc=∞

-α∆ /2

0 0.5+∆ /2 1+∆ /2

multipath delay, τ/Tc

Figure 5.16: Multipath error envelopes as function of CCRW pulse width and attenuation coefficient,
for RECT CCRW with BPSK signals and for New RECT CCRW with BOC and CBOC signals.

40
5.3.2 W1 CCRW
This technique is also known as HRC (for BPSK signals the W1 CCRW is equivalent to the technique
presented in section 5.2) or Double Delta [18], [23].

The W1 CCRW pulse is defined as

 2t  t
G(t ) = 2 Π   − Π   (5.20)
L  L

where L is the total pulse duration (Figure 5.17).

1
value

-1

-L/2 -L/4 0 L/4 L/2


time

Figure 5.17: W1 CCRW pulse

The W1 CCRW is illustrated in Figure 5.11 and is given by

W (t ) = ∑ s G(t − kT )
k
k c (5.21)

where sk depends on the signal sign in such way that a W1 CCRW pulse only occurs at the beginning
of the chip when a signal sign transition happens.

Figure 5.18 shows the discriminator response and the multipath error envelope for the W1 CCRW and
unlimited input bandwidth. BPSK signals are well suitable to this CCRW, the discriminator response
has only one stable lock point at ε = 0 and the multipath error envelope has three protuberances1, the
first at about τ = 0 and the last two at around τ = Tc . The discriminator response for BOC signals,

compared to the one for BPSK signals, has two false-lock points at ε = m Tc 2 , that introduce an
ambiguity in the code discriminator response. The multipath error envelope for BOC signals has two
more protuberances for delays around τ = m Tc 2 , relative to the same plot for BPSK signals. For the
CBOC signals, the discriminator response has even more false-lock points than for BOC signals, and
the multipath error envelope is similar to the BOC one, but with several small protuberances due to the
high frequency component.

1 Areas of the multipath error envelope, where the tracking error is not zero.

41
0.025 0.025
BPSK BPSK
0.02 BOC(1,1) 0.02 BOC(1,1)
CBOC(6,1,1/11) CBOC(6,1,1/11)

0.015 0.015

0.01 0.01
discriminator output, d ( ε )

0.005 0.005

tracking error, ε / TC
0 0

-0.005 -0.005

-0.01 -0.01

-0.015 -0.015

L/Tc=0.2
L/Tc=0.2
-0.02 -0.02 BWTc=∞
BWTc=∞
α=0.5

-0.025 -0.025
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
tracking error, ε/TC multipath delay, τ/TC

Figure 5.18: Code discriminator outputs (left) and multipath error envelopes (right) for unlimited pre
correlation bandwidth and W1 CCRW.

Figure 5.19 shows the effect of different pre-correlation bandwidth values on the multipath error
envelope. Regarding to the multipath error envelopes illustrated in Figure 5.18, the protuberances on
the multipath error envelopes in Figure 5.19 are smoother. For bandwidth BW Tc = 5 , the amplitude of
the protuberances is significantly increased and, hence, the multipath performance is not so good
compared to to a normalized pre-correlation bandwidth BW Tc = 12 .

0.025 0.02
BPSK BPSK
0.02 BOC(1,1) BOC(1,1)
CBOC(6,1,1/11) 0.015 CBOC(6,1,1/11)

0.015
0.01
0.01

0.005
0.005
tracking error, ε / TC

tracking error, ε / TC

0 0

-0.005
-0.005

-0.01
-0.01
-0.015

L/T =0.2 L/T =0.2


c -0.015 c
-0.02 B T =5 B T =12
W c W c
α=0.5 α=0.5

-0.025 -0.02
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
multipath delay, τ/T multipath delay, τ/T
C C

Figure 5.19: Multipath error envelope for several signals for the W1 CCRW and pre correlation
bandwidth BWTc = 5 (left) and BWTc = 12 (right).

Similarly to (5.18), a more adequate New W1 CCRW can be written:

W (t ) = ∑ s G[t − (k + 0.5)T ]
k
k c (5.22)

Comparing to the the results obtained with W1 CCRW, and plotted in Figures 5.18 and 5.19, the New
W1 CCRW offers a much better performance, as it can be seen in Figure 5.20. For BOC and CBOC
signals and the new CCRW, the multipath error envelope, illustrated in Figure 5.20, is preferable to the

42
one for W1 CCRW, plotted in Figure 5.18: the new CCRW offers a lower tracking error for reflected

rays delayed about Tc 2 and eliminates the tracking error due to reflected rays delayed about Tc .

0.05 0.03
BOC(1,1) BPSK
0.04 CBOC(6,1,1/11) BOC(1,1)
CBOC(6,1,1/11)
0.02
0.03

0.02
0.01
discriminator output, d ( ε )

0.01

tracking error, ε / TC
0 0

-0.01

-0.01
-0.02

-0.03
-0.02
L/T =0.2
L/Tc=0.2 c
-0.04 B T =∞
BWTc=∞ W c
α=0.5

-0.05 -0.03
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
tracking error, ε/T multipath delay, τ/T
C C

Figure 5.20: Code discriminator outputs (left) and multipath error envelopes (right) for unlimited pre
correlation bandwidth and the New W1 CCRW.

2 2
Figure 5.22 shows the steady-state normalized code error variance, ε Tc , given by (5.19), as a
function of the normalized pre-correlation bandwidth and CCRW pulse duration. For both the CCRWs

and for all the three signals, L = 0.1Tc and L = 0.05Tc for BW Tc = 5 and BW Tc = 12 , respectively, were
considered suitable pulse widths (see also Figure 5.21).

α L/4

-α L/8
ε /Tc

BPSK
0
code tracking error,

BOC(1,1)
CBOC(6,1,1/11)

-α L/8

BWTc=∞

-α L/4
0 L/2 0.5-L/2 0.5 0.5+L/2
multipath delay, τ/Tc

Figure 5.21: Multipath error envelopes as function of CCRW pulse width and attenuation coefficient,
for W1 CCRW with BPSK signals and for New W1 CCRW with BOC and CBOC signals.

43
5.3.3 W2 CCRW
The W2 CCRW pulse is equal to the W1 CCRW pulse, given by (5.20). Although the CCRW W2 is
different and written as

W (t ) = ∑ G (t − kT )
k
k c (5.23)

where Gk = ±G (t ) and ± depends on the chip sign. The main difference between W1 CCRW and W2
CCRW is that, in the latter the CCRW pulses will appear at the beginning of every chip, while in the
former CCRW only occur when a signal value transition happens, as shown in Figure 5.11.

For BPSK signals, the discriminator response for W2 CCRW has one stable lock point at ε = 0 . For

BOC(1,1) signals, the discriminator function has two stable lock points at ε = 0 and at ε = Tc . For
CBOC(6,1,1/11) signals, there are other two zero crossing points that can act as lock points. However,
this area has a lower slope and is smaller (the points will be harder to lock) than the stable lock points

44
at ε = 0 and at ε = Tc .

Compared to the others CCRW seen so far (RECT, W1), the W2 has the best multipath error envelope
for the three signals. The multipath error envelope has only one protuberance at τ ≈ 0 , which means
that the W2 CCRW is only affected by reflected rays delays lower than L . It is important to refer that,
for CBOC(6,1,1/11) the multipath error envelope has a bias error; however this is a deterministic error
that is easily corrected.

0.05 0.025
BPSK BPSK
0.04 BOC(1,1) 0.02 BOC(1,1)
CBOC(6,1,1/11) CBOC(6,1,1/11)

0.03 0.015

0.02 0.01
discriminator output, d ( ε )

0.01 0.005

tracking error, ε / TC
0 0

-0.01 -0.005

-0.02 -0.01

-0.03 -0.015

L/Tc=0.2
L/Tc=0.2
-0.04 -0.02 B T =∞
BWTc=∞ W c
α=0.5

-0.05 -0.025
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
tracking error, ε/T multipath delay, τ/T
C C

Figure 5.23: Code discriminators outputs (left) and multipath error envelopes (right) for unlimited
bandwidth and the W2 CCRW.

Assuming that the received signal has a limited input bandwidth, the multipath error envelopes will

change. For bandwidths of BW Tc = 5 and BW Tc = 12 the multipath error envelopes will change to the
curves plotted in Figure 5.24. Beside the original and now smoother protuberance, several other and
smaller protuberances appear in the multipath error envelopes. Other important change is that a bias
appears for BOC signals, and the initial bias for CBOC(6,1,1/11) is increased, but, as before, these
bias are deterministic and can be corrected.

Figure 5.25 plots the steady-state normalized error variance, ε 2 Tc2 , given by (5.19), versus the

CCRW pulse duration and the normalized pre-correlation bandwidth, for several signals. For the W2

CCRW, considering also the multipath performance (see Figure 5.26), L = 0.3Tc and L = 0.15Tc for

BW Tc = 5 and BW Tc = 12 , respectively, were considered suitable pulse widths.

45
0.03 0.02
BPSK BPSK
BOC(1,1) BOC(1,1)
CBOC(6,1,1/11) 0.015 CBOC(6,1,1/11)
0.02

0.01
0.01

0.005
tracking error, ε / TC

tracking error, ε / TC
0

-0.01

-0.005

-0.02
-0.01

-0.03 L/T =0.2 L/T =0.2


c -0.015 c
B T =5 B T =12
W c W c
α=0.5 α=0.5

-0.04 -0.02
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
multipath delay, τ/T multipath delay, τ/T
C C

Figure 5.24: Multipath error envelopes for the W2 CCRW and pre correlation bandwidth BWTc = 5 (left)
and BWTc = 12 (right).

46
α L/4

ε /T c
code tracking error, BPSK
0 BOC(1,1)
CBOC(6,1,1/11)

BWTc=∞

-α L/4
0 L/2
multipath delay, τ / Tc

Figure 5.26: Multipath error envelopes as function of CCRW pulse width and attenuation coefficient,
for W2 CCRW.

5.3.4 W3 CCRW
The W3 CCRW pulse is sketched in Figure 5.27. As can be seen, while the previous analysed pulses
were symmetric, the W3 CCRW pulse is asymmetric, and is given by

 t  1 t−L 2
G (t ) = Π   − Π   . (5.24)
 L 2 2  L 2 

1
value

-0.5

-L/2 0 L/2
time

Figure 5.27: W3 CCRW pulse.


The W3 CCRW is a per-chip CCRW and is defined by (5.23), with CCRW pulse given by (5.24).

Figure 5.28 illustrates the code discriminator response and the multipath error envelope for the W3
CCRW, different signals and unlimited input bandwidth. Despite the discriminator output be clearly
different, the multipath error envelope is very similar to the one obtained with the W2 CCRW, plotted in
Figure 5.23. As it is possible to see in the multipath error envelopes presented in Figures 5.23 and
5.28, the main difference in the multipath error envelopes from the W2 CCRW tracking error is a
deterministic bias error.

47
0.06 0.08
BPSK BPSK
BOC(1,1) BOC(1,1)
CBOC(6,1,1/11) 0.07 CBOC(6,1,1/11)
0.04

0.06
0.02
discriminator output, d ( ε )

0.05

tracking error, ε / TC
0

0.04

-0.02

0.03

-0.04
0.02

-0.06 L/T =0.2


L/Tc=0.2 0.01 c
B T =∞
B T =∞ W c
W c
α=0.5

-0.08 0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
tracking error, ε/T multipath delay, τ/T
C C

Figure 5.28: Code discriminator output for several signals (left) and multipath error envelopes for
several signals (right) for the W3 CCRW.

Figures 5.29 illustrates the multipath error envelopes for the W3 CCRW and two different pre

correlation bandwidths. For the wider bandwidth BW Tc = 12 , the multipath error envelopes are very

similar to the ones plotted in 5.28, but for the bandwidth BW Tc = 5 , several small protuberances appear
in the multipath error envelopes.

0.08 0.07
BPSK BPSK
BOC(1,1) BOC(1,1)
0.07 CBOC(6,1,1/11) CBOC(6,1,1/11)
0.06

0.06
0.05

0.05
tracking error, ε / TC

tracking error, ε / TC

0.04

0.04

0.03
0.03

0.02
0.02

L/Tc=0.2 0.01 L/Tc=0.2


0.01
B T =5 B T =12
W c W c
α=0.5 α=0.5

0 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
multipath delay, τ/T multipath delay, τ/T
C C

Figure 5.29: Multipath error envelopes for the W3 CCRW and pre correlation bandwidth BWTc = 5 (left)
and BWTc = 12 (right).

The steady-state normalized error variance, ε 2 Tc2 , given by (5.19), is plotted in Figure 5.30 as a

function of the normalized pre-correlation bandwidth, BW Tc , and of the CCRW pulse duration, L , for

several signals and with BPLL = 1 Hz and T = 0.004 s . It is possible to see that W4 CCRW pulses with a

total duration L = 0.05Tc and L = 0.1Tc are adequate, both in the presence of noise and multipath

(Figure 5.31), for normalized bandwidths BW Tc = 12 and BW Tc = 5 , respectively.

48
α L/4
code tracking error, ε / Tc

BPSK
0 BOC(1,1)
CBOC(6,1,1/11)

BWTc =∞

-α L/4

0 3L/4
multipath delay, τ/Tc

Figure 5.31: Multipath error envelopes as function of CCRW pulse width and attenuation coefficient,
for W3 CCRW.

49
5.3.5 W4 CCRW
The W4 CCRW is a per-chip CCRW given by (5.23), where the waveform elements, plotted in Figure
5.32, are asymmetric pulses defined as

 t  t −L/2
G (t ) = Π  − Π  . (5.25)
 2 L 3   L3 

1
value

-1

-L/3 0 L/3 2L/3


time

Figure 5.32: W4 CCRW pulse.

The W3 and W4 CCRWs behaviours are quite similar and, as so, their performances are also very
similar. As it happens with W3, W4 CCRW also presents a deterministic tracking error bias. Figures
5.33 and 5.34 (when compared to Figures 5.28 and 5.29) confirm the similarities between the W3 and
W4 CCRWs.

0.06 0.025
BPSK BPSK
BOC(1,1) 0.02 BOC(1,1)
CBOC(6,1,1/11) CBOC(6,1,1/11)
0.04
0.015

0.01
0.02
discriminator output, d ( ε )

0.005
tracking error, ε / TC

0 0

-0.005

-0.02
-0.01

-0.015
-0.04
L/T =0.15
L/Tc=0.15 c
-0.02 B T =∞
BWTc=∞ W c
α=0.5

-0.06 -0.025
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
tracking error, ε/T multipath delay, τ/T
C C

Figure 5.33: Code discriminator output for several signals (left) and multipath error envelopes for
several signals (right) for the W4 CCRW.

For a input bandwidth BW Tc = 12 , the effects of the input bandwidth on the multipath error envelope are
small, as it can be seen in Figure 5.34. It is important to refer, that for the pre correlation bandwidth
BW Tc = 5 a bias and several protuberances appear on the multipath tracking error. However, as before,

the bias is deterministic and can be removed.

50
0.03 0.02
BPSK BPSK
BOC(1,1) BOC(1,1)
CBOC(6,1,1/11) 0.015 CBOC(6,1,1/11)
0.02

0.01

0.01
0.005
tracking error, ε / TC

tracking error, ε / TC
0 0

-0.005
-0.01

-0.01

-0.02
L/T =0.15 L/T =0.15
c -0.015 c
B T =5 B T =12
W c W c
α=0.5 α=0.5

-0.03 -0.02
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
multipath delay, τ/T multipath delay, τ/T
C C

Figure 5.34: Multipath error envelopes for the W4 CCRW and pre correlation bandwidth BWTc = 5 (left)
and BWTc = 12 (right).
The steady-state normalized error, ε 2 Tc2 , given by (5.19), is represented in Figure 5.34 versus the

normalized pre-correlation bandwidth and the CCRW pulse width, for several signals and with
BPLL = 1 Hz , Tc = 1 ns and T = 0.004 s . The W4 CCRW pulses with a total duration of L = 0.1Tc and

L = 0.2Tc are suitable, considering also the multipath performance (Figure 5.35), for bandwidths of

BW Tc = 12 and BW Tc = 5 , respectively.

α L/3
ε /T c

BPSK
0
code tracking error,

BOC(1,1)
CBOC(6,1,1/11)

BWTc=∞

-α L/3

0 2L/3
multipath delay, τ/Tc

Figure 5.35: Multipath error envelopes as function of CCRW pulse duration and attenuation coefficient,
for W4 CCRW.

51
5.4 Teager-Kaiser Operator
The non-linear quadratic TK operator was first introduced for measuring the real physical energy of a
system [29]. It was found that this non-linear operator is simple, efficient and able to track
instantaneously varying spatial modulation patterns [30]. Since its introduction, several other
applications have been found for TK operator, including estimating the code tracking error of a GNSS
receiver [31], [21].

The discrete-time TK operator for a complex valued signal x[n ] is given by [32]

1
ψ ( x[n ]) = x[n ] x* [n ] −
2
( )
x[n − 1] x * [n + 1] + x[n + 1] x * [n − 1] . (5.26)

If this operator is applied to the ACF of a BPSK signal, the TK energy of the function will exhibit a peak
at zero lag [31]. If instead of a BPSK signal it is used a BOC(1,1) or a CBOC(6,1,1/11) signal is used,

52
the TK energy of the autocorrelation function will still exhibit a large peak at zero lag, but other lower
peaks will appear at secondary lobes. Figure 5.37 shows the behaviour of the TK output for different
signals using a sample time Ts = 0.04Tc .

1
CBOC(6,1,1/11)
BOC(1,1)
0.8 BPSK

0.6
Ψ (ε)

0.4
normalized TK operator,

0.2

-0.2

-0.4
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
tracking error, ε/Tc

Figure 5.37: TK operator output for BPSK, BOC(1,1) and CBOC(6,1,1/11) signals.

As it was mentioned earlier, in the presence of multipath, the CCF function between the received and
the locally generated signals can be viewed as a superposition of shifted and distorted versions of the
undisturbed ACF. Applying the TK operator, the TK energy of the CCF will exhibit a peak at zero lag
(Figure 5.38). The lower peaks are the result of ACF secondary lobes and received echoes.

In [21] was analysed a deconvolution algorithm that used the TK operator to remove the reflected rays
from the incoming signals. The main assumption for that algorithm was that, as the multipath signals
provides time-aligned peaks located at the multiple rays time of arrival, then it should be possible to
remove the reflected rays from the incoming signal, and hence eliminate the code tracking errors
produced by them. The computation load of this method will vary considering the number of
correlators used. But as it is possible to operated with few correlators, the computation load could be
very low, and thereby adequate for use in low cost, mass-market receivers [21]. The drawback of
using fewer correlators is that method will lose resolution and will present bigger errors estimating the
peak positions.

53
0.35
τ=0.2
τ=0.4
0.3
τ=0.6

0.25

Ψ (ε)
0.2

normalized TK operator,
0.15

0.1

0.05

-0.05
-1 -0.5 0 0.5 1 1.5
tracking error, ε/Tc

Figure 5.38: TK operator output for BOC(1,1) for a LOS signal and one reflect ray with different delays
relative the LOS signal.

To keep the complexity as low as possible, while obtaining high resolution, was proposed in [33] a
continuous update technique, in which a discriminator constructed from the TK operator is used to
estimate the code delay.

Similarly to algorithm present in [33], the TK operator can be used to replace the Early and Late
correlators output and used with a classical Early-minus-Late discriminator (Figure 5.39).

d (ε ) = ψ E −ψ L (5.27)

where ψ E and ψ L are the result of applying the TK operator to the CCF between the received signal

and the early and the late version of the locally generate signal with Ts = 2 ∆ , respectively, and are
proportional to

 ∆  ∆
ψ E (ε ) ∝ RX~X  ε +  RX~X  ε + 
 2  2
1 
* *
 3∆   5∆   5∆   3∆ 
−  RX~X  ε −  RX~X  ε +  + RX~X  ε +  RX~X  ε −  

2  2   2   2   2  

(5.28)
 ∆  ∆
ψ L (ε ) ∝ RX~X  ε − R ~  ε − 
 2  XX  2
1 5∆  
* *
 5∆   3∆   3∆  
−  RX~X  ε −  RX~X  ε +  + RX~X  ε +  RX~X  ε − 
2   2   2   2   2  

Now, considering a receiver architecture like the one plotted in Figure 3.2, but with six correlators: very
very late (VVL), VL, L, E, VE, very very early (VVE); with E-L spacing ∆ , VE-VL spacing 3∆ and VVE-

VVL spacing 5∆ , ψ E and ψ L can be given as:

54
1
ψ E (ε ) = I E2 + QE2 − [( IVL + iQVL )( IVVE − iQVVE ) + ( IVVE + iQVVE )( IVL − iQVL )]
2
= IVL IVVE − iIVLQVVE + iQVL IVVE + QVLQVVE + IVVE IVL − iIVVE QVL + iQVVE IVL + QVVE QVL

= IVL IVVE + QVLQVVE + IVVE IVL + QVVE QVL + iQVL IVVE − iIVVE QVL + iQVVE IVL − iIVLQVVE
(5.29)
= I E2 + QE2 − [IVL IVVE + QVLQVVE ]

1
ψ L (ε ) = I L2 + QL2 − [( IVVL + iQVVL )( IVE − iQVE ) + ( IVE + iQVE )( IVVL − iQVVL )]
2
= I L2 + QL2 − [IVVL IVE + QVVLQVE ]

Thereby, the discriminator response for the purposed TK based algorithm is given by:

{
d (ε ) = I E2 + QE2 − [IVL IVVE + QVLQVVE ] − I L2 + QL2 − [IVVL IVE + QVVLQVE ] }
(5.30)
[ ] [ ]
= I E2 + QE2 − I L2 + QL2 + [IVVL IVE + QVVLQVE ] − [IVL IVVE + QVLQVVE ]

This method has the advantage of using the well known classic DLL, keeping complexity low and
improving the performance under a multipath environment. As it can be seen in Figure 5.39 (right), the
method significantly improves the performance comparative to the narrow correlator. It has particularly
good performance for BPSK signals. For BOC(1,1) the results are also good, and for CBOC(6,1,1/11)
despite being worse compared to BPSK and BOC(1,1), the performance is still superior to the Narrow
Correlator. On the other hand the method will require at least 6 correlators (if considered a coherent
receiver) for tracking the code delay, while a classic E-L can do the same with only two correlators. But
the complexity is still low.

However, the CCRW, judging the multipath error envelopes, offers a best performance than this
technique based on the TK operator and has a lower complexity, as the CCRW requires only 4
correlators for a non coherent receiver, or 2 correlators if it is considered a coherent receiver.

Figure 5.40 shows the multipath error envelopes for input bandwidth BW Tc = 5 and BW Tc = 12 . As it
happened with the other multipath mitigation techniques analysed in this chapter, the code tracking
error increases when the pre correlation bandwidth is narrower.

This TK-based technique uses more correlators than the other techniques. Thus, it is more difficult to
deduce an expression for the steady-state code error variance. For this reason and this technique, the
effect of noise will be only considered in the simulation results, that will be presented in Sub Section
7.3.

55
0.025 0.015
BPSK BPSK
0.02 BOC(1,1) BOC(1,1)
CBOC(6,1,1/11) CBOC(6,1,1/11)
0.01
0.015

0.01
0.005
discriminator output, d ( ε )

0.005

tracking error, ε / TC
0 0

-0.005

-0.005
-0.01

-0.015
-0.01
∆=0.05Tc
∆=0.05Tc
-0.02 B T =∞
B T =∞ W c
W c
α=0.5

-0.025 -0.015
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
tracking error, ε/T multipath delay, τ/T
C C

Figure 5.39: Code discriminator response (left) and multipath error envelopes (right) for several signals
and unlimited pre-correlation bandwidth.

0.025 0.02
BPSK BPSK
0.02 BOC(1,1) BOC(1,1)
0.015
CBOC(6,1,1/11) CBOC(6,1,1/11)
0.015
0.01
0.01

0.005
tracking error,ε /TC

0.005
tracking error,ε /T

0 0

-0.005
-0.005

-0.01
-0.01
-0.015
∆=0.05T ∆=0.05T
c -0.015 c
-0.02 B T =5 B T =12
W c W c
α=0.5 α=0.5
-0.025 -0.02
0 0.5 1 1.5 2 0 0.5 1 1.5 2
multipath delay, τ/T multipath delay, τ/T
C C

Figure 5.40: Multipath error envelopes for several signals BWTc = 5 (left) and BWTc = 12 (right).

56
Chapter 6

Simulation Setup

In Chapter 5, the behaviour of some multipath mitigation technique in the presence of multipath was
analysed. Nevertheless, the assumptions made in the previous Chapter were very simple and ideal. It
is necessary to set up a test environment more close to reality. Thereby, a GNSS receiver and a more
realistic multipath model were developed in Simulink with GRANADA FCM Blockset.

6.1 GRANADA FCM Blockset


The GRANADA FCM (Factored Correlator Model) Blockset is a simulation tool that allows to quickly
assess the receiver performance under different scenarios [34].

Compared to hardware GNSS receiver test benches (e.g. FPGA based), the FCM provides more
flexibility and thereby it is more adequate for architecture design and development phase. FCM allows
to analyse and control the internal receiver signals, so new algorithms for acquisition, tracking, lock
detection and other can be easy developed and tested.

If compared to highly realistic software simulators that simulate part or the whole GNSS receiver’s
signal processing chain, the FCM is much faster, because it models the outputs of the high frequency
stages of a GNSS with a low frequency algorithm (as illustrated in Figure 6.1). Thereby, FCM
significantly increases simulation speed, while still weighting numerous effects, like the carrier phase
and frequency errors, code delay errors, and Doppler effects [34].

Therefore, FCM is a good choice to simulate a receiver employing the techniques presented in
Chapter 5. Figure 6.2 shows a possible implementation with code and carrier loops).

57
Figure 6.1: Typical signal processing chain for the tracking of GNSS signals [35].

Figure 6.2: Possible implementation of a multi-channel GNSS receiver's tracking loops [35].

6.1.1 Using FCM with CBOC signals and Strobe Correlator


FCM can simulate a GNSS receiver with conventional correlators for BPSK and BOC signals.
However, it offers no support for MBOC signals nor CCRWs, so, a workaround is required.

First it is necessary understand how the FCM works. FCM assumes that the correlator outputs of the
nth integration can be approximated by [34]

Sn ≈ An En Rn Ln + Wn (6.1)

where An is the post-correlation signal amplitude, En is the contribution of the complex carrier, Rn is

the contribution of the code misalignment and is related with the ACF, Ln accounts for the period

expansion or compression due to satellite-receiver relative motion, and Wn is the post-correlation

noise.

The factors An and En will not be affected by changes in the signal modulation or the use of CCRW.

58
However, both the factors Rn and Ln depend of the signal modulation and the correlation technique

used. In this thesis, the period expansion or compression due to satellite-receiver relative motion was

neglected; thus the contribution of the factor Ln was also neglected (and its contribution scheduled for
future work).

It is necessary to rewrite the FCM internal function that determines the factor Rn . The new function
can generate the ACF of BPSK, BOC and MBOC signals, applying the expressions given in Sub
Section 2.3.1; and the CCF between a signal and a CCRW, using the procedure described in Section
5.3.

6.1.2 FCM with correlated correlators noise


The FCM does not assume that the noise of the correlator outputs, Wn , is correlated. However, this
happens, and each correlator output has a noise component, as it was seen in (3.7), that is correlated
with the noise present in the other correlator outputs. So it was necessary to generate Gaussian
random variables, with a predefined covariance matrix.

2
[ ]
Let y1 ,L, yn denote the desired Gaussian random variables with covariance matrix R = σ ij , where

σ ij2 = E {yi y j }, and let u1 ,L, un denote a set of independent of independent Gaussian random variables

with unit variance. In [36] was presented a method to generate {yi } from {ui }:

y = Au , (6.2)

The covariance matrix can be written as

{ } {
R = E yy T = E Auu T AT } (6.3)

{ }
where E uu T = I . Any matrix A which satisfies R = AAT can be used in (6.2) to generate the desired
correlated random variables.

Since R is a real symmetric matrix, it can be written as

λ1 L 0 
R = P  M O M  PT (6.4)
 
 0 L λn 

where P is an orthogonal matrix, and λi are eigenvalues of R . Considering that the λi are indexed

in decreasing order, the jth column of P , denoted p j is simply an eigenvector of R associated with

λi , normalized to unit magnitude. Thereby

59
   λ1 0 
 
A = p1 L pn  
 O  (6.5)
 
   0 λn 
 

The random variables generated this way will have a unitary variance. In this situation the noise

power at the output of the correlator PN will be equal to one. To simulate the behaviour of the

correlators' output under different carrier to noise density ( C / N 0 ) it was decided to keep PN = 1 and

change the signal power at the correlator output PS .

6.2 Multipath channel model


Apart from the one used in the computation of multipath error envelopes, there are other more
complex multipath models. The most realistic but also the most complex approach to assess the
multipath performance of a given signal/receiver combination is to consider not only the signal
characteristics and the receiver architecture but also different multipath environments and different
elevation angles. Such models have been derived in the past [37], based on extensive measurements
campaigns.

For the following determination of typical multipath errors that are valid for a dedicated environment,
the wide band channel model presented in [37] has been used. This model provides general
distribution of the number of occurring multipath signals, their corresponding path delays and relative
amplitudes as well as associated model parameters for different environments and elevation angles.
Effects like shadowing are also taken into account by modelling the amplitude of the line-of-sight
(LOS) component.

The considered model comprises a direct path, near echoes and far echoes. Each path is described

by its complex amplitude relative to free space propagation, path delay τ m relative to 1st path,

amplitude distribution of a m or instantaneous power distribution Pm = am2 .

A navigation signal is transmitted from the satellite in many directions. Different reflectors Rk cause

echoes with a round-trip detour ∆sk and a delay ∆τ k = ∆sk / c (where c is the velocity of light) with
respect to the propagation delay of an undisturbed signal. All reflected components of the signal
superimpose at the receiver input.

The channel is assumed to be a wide-sense stationary with uncorrelated scatterers (WSSUS),


thereby it can be modelled as a filter structure with delay taps. The complex impulse response of the
satellite wideband channel can then be defined as sum of k = 1,..., M signal paths with amplitude Ek (t )

and delay τ 1 and τ k (t ) = τ 1 (t ) + ∆τ k , with k = 2,..., M :

60
N
h(τ , t ) = ∑E
k =1
k (t )δ (τ k (t )) (6.6)

where the amplitude of each echo is complex and can be rewritten as

E k ( t ) = a k ( t ) e iφ k (t)
. (6.7)

For WSSUS channels, the phases φk (t ) are uniformly distributed in [0, 2π [ , since there is no
correlation among scatterers with different geometrical distances by definition.

6.2.1 Direct Path


The direct path is defined as the shortest path between the satellite and the receiver. This path can be
either clear; partial obstructed (shadowing) with moving obstacles, vegetation, building or other
obstacles; or total blocked. The model referred in [37] describes the direct path ray for the three
situations.

● Clear

The amplitude of the direct path ray, a1 , is random and can be described by the Rician
distribution:

ak  ak   ak2 + 1 
pdf Rice (ak ) = I   exp − , (6.8)
σ 2  σ 2   2σ 2 
0

where the Rice-factor c = 1 / 2σ 2 ( ) denotes the carrier-to-multipath (signal-to-multipath ratio

SMR) and I 0 ( x ) is the modified Bessel function of the first kind and 0th order.

● Shadowing

The probability density function of the ray amplitude is a1 a Rayleigh-type with a lognormal-

distribution mean power 2σ 2 = P0 :

ak  a  (6.9)
pdf Rayl (ak ) = exp − k 2 
σ2  2σ 
10 1  (10 log(P0 ) − µ )2  .
pdf ln ( P0 ) = ⋅ exp − 2


2π σ ln 10 P0  2σ  (6.10)

● Blocked

The ray amplitude is a1 = 0 , or in other words, there is no direct path ray.

6.2.2 Near Echoes


The near echoes will appear in the delay interval 0 < τ m < τ e , m = 2,3,...,1 + M NE . The number of the

61
near echoes, M NE , is Poisson distributed with mean λNE according to

λN
PPoisson ( N ) = e −λ . (6.11)
N!

The delay distribution of the near echoes follows an exponential distribution

1  ∆τ 
Pexp ( ∆τ k ) = exp − k  (6.12)
b  b 

( )
The mean power of near echoes S (τ ) = ε ak2 is exponentially decreasing

S (τ ) = S0e −δτ , k
(6.13)

or in log scaling

S (τ ) S0 d
= − τ (6.14)
dB dB dB

with d = 10 log(δ ) / 10 log(e ) . Given a mean power S (τ ) for a fixed delay τ , the amplitude a k of the near

echoes will vary around this mean value according to a Rayleigh distribution, (6.9), with 2σ 2 = S (τ ) .

6.2.3 Far Echoes


The number of far echoes, M FE , is Poisson distributed with mean λFE according to equation (6.11).

The amplitudes of ak of the far echoes follow a Rayleigh distribution (6.9). The delays of the far
echoes are uniformly distributed in [τ e , τ max [ .

6.2.4 Multipath model with FCM


If the received signal may be written as

s(τ 1 ) = ∑ ak x (τ 1 − ∆τ k ) ei 2πφk , (6.15)


k =1

then the cross-correlation between the received signal and the locally generated signal will be

Rsx (τ 1 ) = ∑ a R (τ
k =1
k x 1 − ∆τ k ) ei 2πφk (6.16)

Thereby, a multipath scenario may be set up with FCM, considering that each signal path
ak x(τ 1 − ∆τ k ) e i 2πφ k
is an independent channel. The sum of all these channels will result in the
correlators' output of the multipath signal given by (6.15). The parameters ak , ∆τ k ,φ are determined
according to Section 6.2.

62
6.3 Simulation Plan
Figure 6.3 shows the implemented GNSS receiver simulator in Simulink, using the Granada FCM
blockset. The block FCM+SCM+CCM models the correlator outputs considering correlated noise and
the multipath channel model.

The block normalization estimates the signal power and then normalizes the correlator outputs by the
estimated signal power. The DLL block implements the code discriminator and code low pass filter.

The INS aiding simulates the aiding signal to the Aided PLL. The block Aided PLL, implements the
carrier phase discriminator.

Figure 6.3: Simulink block diagram of the implement receiver simulator.

The developed GNSS receiver was set up with code loop bandwidth BDLL = 1Hz , carrier loop

bandwidth BPLL = 3Hz , integration time T = 4ms and chip duration Tc = 1ns . The receiver was tested
with BPSK, BOC(1,1) and CBOC(6,1,1/11) signals. The simulations were performed for two pre

correlation bandwidths BW Tc = 5 and BW Tc = 12 . These two input bandwidths were selected, because
they allow to simulate the behaviour of very low cost receivers, that have narrower input bandwidths
and the behaviour of wideband GNSS receivers, that can take advantage of the wideband
components of the new GPS and Galileo signals.

Table 6.1 shows the multipath mitigation techniques selected for the simulation plan. The E-L spacing,
∆ , and the CCRW pulse duration, L , were chosen for each technique and each bandwidth, in a way
that the code discriminator offers a good all-round performance (in the presence of both multipath and
noise). For BOC and CBOC signals, instead of RECT and W1 CCRWs it is used New RECT and New

63
W1 CCRWs.

Bandwidth BW Tc = 5 Bandwidth BW Tc = 12

NELP with ∆ Tc = 0.1 NELP with ∆ Tc = 0.05

HRC with λ = 2, ∆ Tc = 0.15 HRC with λ = 2, ∆ Tc = 0.08

RECT CCRW with L Tc = 0.1 RECT CCRW with L Tc = 0.05

W1 CCRW with L Tc = 0.3 W1 CCRW with L Tc = 0.15

W2 CCRW with L Tc = 0.3 W2 CCRW with L Tc = 0.15

W3 CCRW with L Tc = 0.1 W3 CCRW with L Tc = 0.05

W4 CCRW with L Tc = 0.2 W4 CCRW with L Tc = 0.1

TK with ∆ Tc = 0.1 TK with ∆ Tc = 0.1

Table 6.1: Multipath mitigation techniques selected for simulation.

The receiver trajectory is illustrated in Figure 6.4. The directions x and y are orthogonal and belong to
a plane tangential to Earth's surface. The selected trajectory simulates the dynamics of a vehicle in an
urban environment and it has the duration of 50s.

140

120

100

80
y, m

60

40

20

-20
0 50 100 150 200 250
x, m

Figure 6.4: Receiver trajectory.

Figure 6.5 shows the acceleration components, the velocity and the dynamics relative (velocity, vr,, and
acceleration, ar) to the satellite of the receiver versus the simulation time.

64
Eight multipath scenarios were selected to evaluate the performance of the different techniques:

● No Multipath (NMP) – Where the receiver is tested without multipath;

● Suburban (SUB) – Multipath model for a suburban scenario and elevation angle E=35º, [37];

● Urban I (URB1)– Simulates the multipath present in a urban environment for elevation angle
E=45º, [37];

● Urban II (URB2) – The same as the previous scenario, but for elevation angle E=25º [37];

● Urban III (URB3) – This scenario is based on the previous one, but it adds more and stronger
reflected rays.

● Urban IV (URB4) – The same as before, but with even more reflected rays and stronger
multipath amplitudes.

● Urban V (URB5) – This scenario differs from the last one in the number of near echoes.

● Urban VI (URB6) – It is the worst scenario of the set of simulations.

Figure 6.6 illustrates the typical distribution of amplitudes versus the echoes delays for the all
scenarios, obtained from the multipath channel model. There is no plot for the “no multipath” scenario,
because in this scenario there are no echoes. The eight multipath environments selected to test the
techniques studied are defined in Table 6.2.

65
a) Sub-urban b)Urban I

c) Urban II d) Urban III

e) Urban IV and V f) Urban VI

Figure 6.6: Echoes amplitudes versus echoes delays, for the different scenarios.

66
Environment NMP SUB URB1 URB2 URB3 URB4 URB5 URB6

Time Share of Shadowing A 0 0.54 0.56 0.79 0.79 0.79 0.79 0.79

a1 , clear, Rice c [dB] - 10.7 8.5 3.2 3.2 3.2 3.2 3.2

µ [dB] - -7.6 -3.0 -12.1 -12.1 -12.1 -12.1 -12.1


a1 , shadowed, Rayleigh/LN
σ [dB] - 3.2 2.7 6.3 4.3 4.3 4.3 4.3

N NE , Poisson λNE 0 1.2 3.6 4.0 5.0 8.0 15.0 8

Maximum near echoes delay τ e [ns] - 400 600 600 600 600 600 600

Delay ∆τ NE exp. b [µs] - 0.039 0.081 0.063 0.15 0.15 0.15 0.15

S0 [dB] - -24.4 -23.5 -17.0 -10.0 -7.0 -7.0 -4.0


S (t )
d [dB] - 23.6 8.5 26.2 20 20 20 20

N FE , Poisson λFE 0 0.8 0.8 0.8 0.8 0.8 0.8 0.8

ak , Rayleigh σ [dB] - -28.2 -28.2 -28.2 -28.2 -28.2 -28.2 -28.2

Maximum delay τ e [µs] - 5 5 5 5 5 5 5

Table 6.2: Multipath Model Parameters

67
Chapter 7

Results Discussion

This Chapter is subdivided into three sections. First, the multipath mitigation techniques analysed in
Chapter 5 will be compared between them, so it may be possible to have an idea of what to expect
from the simulation results. Next, the benefits of using a aided PLL will be discussed. And finally, the
simulation results will be presented and discussed.

7.1 Comparison between different techniques


Figures 7.1-7.3 show the multipath error envelopes of the considered techniques (see Table 6.1) for
the different signals and bandwidths. Considering the multipath error envelopes, W2, W3 and W4
CCRWs are expected to have the best multipath mitigation capabilities of all the tested techniques.
W1 CCRW and HRC are other techniques expected to have good performance in the presence of
multipath. NELP and RECT CCRW should have the worse performance in the presence of multipath.

0.04 0.025

0.02
0.03
0.015
0.02
NELP 0.01 NELP
code tracking error, ε / Tc

code tracking error, ε / Tc

0.01 HRC HRC


RECT 0.005 RECT
W1 W1
0 0
W2 W2
W3 -0.005 W3
-0.01 W4 W4
TK -0.01 TK
-0.02
-0.015

-0.03 BWTc=5 BWTc=12


-0.02
α =0.5 α =0.5
-0.04 -0.025
0 0.2 0.4 0.6 0.8 1 1.2 0 0.2 0.4 0.6 0.8 1 1.2
multipath delay, τ/Tc multipath delay, τ/Tc

Figure 7.1: Multipath error envelopes for BPSK signals, for the different techniques and bandwidths.

68
0.04 0.025

0.02
0.03

0.015
0.02
NELP 0.01 NELP
code tracking error, ε / Tc

code tracking error, ε / Tc


0.01 HRC HRC
RECT 0.005 RECT
W1 W1
0 0
W2 W2
W3 -0.005 W3
-0.01 W4 W4
TK -0.01 TK
-0.02
-0.015

-0.03 BWTc=5 BWTc=12


-0.02
α =0.5 α =0.5
-0.04 -0.025
0 0.2 0.4 0.6 0.8 1 1.2 0 0.2 0.4 0.6 0.8 1
multipath delay, τ/Tc multipath delay, τ/Tc

Figure 7.2: Multipath error envelopes for BOC(1,1) signals, for the different techniques and
bandwidths.

0.04 0.02

0.03 0.015

0.02 0.01
code tracking error, ε / Tc

code tracking error, ε / Tc

0.01 0.005
NELP NELP
HRC HRC
0 0
RECT RECT
TK TK
-0.01 -0.005

-0.02 -0.01

-0.03 BWTc=5 -0.015 BWTc=12


α =0.5 α =0.5
-0.04 -0.02
0 0.2 0.4 0.6 0.8 1 1.2 0 0.2 0.4 0.6 0.8 1
multipath delay, τ/Tc multipath delay, τ/Tc

0.03 0.015

0.02 0.01
code tracking error, ε / Tc

code tracking error, ε / Tc

0.01 0.005

W1 W1
W2 W2
0 0
W3 W3
W4 W4

-0.01 -0.005

-0.02 -0.01
BWTc=5 BWTc=12
α =0.5 α =0.5
-0.03 -0.015
0 0.2 0.4 0.6 0.8 1 1.2 0 0.2 0.4 0.6 0.8 1
multipath delay, τ/Tc multipath delay, τ/Tc

Figure 7.3: Multipath error envelopes for CBOC(6,1,1/11) signals, for the different techniques and
bandwidths.

Figures 7.4-7.6 show the normalized steady-state code error variance, (ε Tc ) , for the selected
2

techniques (Table 6.1) and the different signals. It can be seen that the NELP and the HRC
discriminators have lower steady-state error variance relative to CCRW discriminators. So, these
techniques should offer superior performance in the presence of noise comparative to CCRWs. The
TK based technique was not included in Figures 7.4-7.6 because it was not deduced a formula for
determining the steady-state code error variance.

69
0 -1
10 10

-1
10 -2
10

Normalized code error variances


-2
10 -3
NELP 10 NELP
-3 HRC HRC
10
RECT -4
RECT
W1 10 W1
-4
10 W2 W2
W3 W3
-5
-5
W4 10 W4
10

-6
-6 10 BWTc =12
10 BWTc =5

-7 -7
10 10
30 35 40 45 50 30 35 40 45 50
C/N0, dB C/N0, dB

Figure 7.4: Normalized code error variances for BPSK signals,for the different techniques and
bandwidths.

0 0
10 10

-1
-1 10
10 Normalized code error variances

-2
-2 10
10
NELP -3 NELP
10
-3 HRC HRC
10
RECT -4
RECT
W1 10 W1
-4
10 W2 W2
-5
W3 10 W3
-5
W4 W4
10 -6
10
-6
10 BWTc =5 -7
BWTc =12
10

-7 -8
10 10
30 35 40 45 50 30 35 40 45 50
C/N0, dB C/N0, dB

Figure 7.5: Normalized code error variances for BOC(1,1) signals, for the different techniques and
bandwidths.

0 0
10 10

-1
-1 10
10
Normalized code error variances

-2
-2 10
10
NELP -3 NELP
10
-3 HRC HRC
10
RECT -4
RECT
W1 10 W1
-4
10 W2 W2
-5
W3 10 W3
-5
W4 W4
10 -6
10
-6
10 BWTc =5 -7
BWTc =12
10

-7 -8
10 10
30 35 40 45 50 30 35 40 45 50
C/N0, dB C/N0, dB

Figure 7.6: Normalized code error variances for CBOC(6,1,1/11) signals for the different techniques
and bandwidths.

70
7.2 Aiding signal
As it was seen on Chapter 3, the receiver tracking loops can be aided: the PLL can be aided with a
signal, that estimates the frequency shift due to the Doppler effect; and the DLL can be aided with the
phase rate estimated by the PLL. The concept of aided loops was applied to the GNSS receiver
developed in Section 6.3. In this Section will be compared the code tracking error of aided tracking
loops with unaided tracking loops.

Two different environments are considered in this section: “no multipath” (NMP) and “urban
E=25º” (URB2). Different receiver settings are also considered (see Table 7.1). The GNSS receiver,
here considered, uses the NELP discriminator with pre-correlation bandwidth BW Tc = 12 , E-L spacing

∆ = 0.05Tc , integration time and code period Tcode = T = 0.004 s , number of chips N chip = 4092 , and

BOC(1,1) signals.

#1 Unaided BPLL = 18 Hz , BDLL = 1 Hz , NMP

#2 Aided BPLL = 3 Hz , BDLL = 1 Hz , NMP

#3 Unaided PLL BPLL = 18 Hz , BDLL = 1 Hz , URB2

#4 Aided PLL, BPLL = 3 Hz , BDLL = 1 Hz , URB2

Table 7.1: Tested conditions.


Figure 7.7 shows the mean (colour bars) and standard deviation (error bars) of the code tracking error
for the conditions described in Table 7.1. The receiver with the Aided PLL offers the best performance
in the presence of noise (conditions #1 and #2): the aided loops (#2) may present a higher code error
mean, but they also have lower code error variance than the unaided loops (#1). In the presence of
multipath, the benefits of using an aided PLL (condition #4) are even more clear: both the code
tracking error mean and variance are much lower than using an unaided PLL (condition #3). So, the
aiding signal by itself can be used to mitigate the multipath effect.

Figure 7.7: Code tracking error for aided PLL versus not aided PLL without multipath (left), and with
multipath.

The advantage of using aided loops is that lower PLL bandwidth, BPLL , can be used, because the

71
aiding signal helps the tracking loops estimating the receiver dynamics. So the estimated phase will
have less noise (as it is possible to see in Figure 7.7, the standard deviation for the aided PLL is lower
than for the unaided PLL). As the phase rate aids the DLL, then the code delay estimation will also be
more accurate and have less noise.

Although the presented results were valid only for BOC signals and the NELP discriminator, the
benefits of aided loops are extendable to all signals and discriminator functions.

7.3 Simulation Results


The simulation plan defined in Section 6.3 consists of testing eight multipath mitigation techniques, two
pre-correlation bandwidths, three signals modulations and eight multipath scenarios. So, the number
of results is large (8x2x3x8=384 simulations) and only some selected plots will be presented here.
Nevertheless, all results are included in Appendix C.

Figure 7.8 shows the mean (colour bars) and standard deviation (error bars) of the code tracking error
for all multipath scenarios, pre-correlation bandwidth BWTc = 5 and different techniques and signals. It is
possible to see how the different techniques behave for each signal modulation. Lower expected
values and variances means that a technique has a better performance.

As expected, the NELP discriminator has the lowest tracking error standard deviation of all tested
techniques, but the code tracking error mean is the second highest.

HRC offers the lowest code tracking error mean for all the three modulations. When compared with the
NELP results, the code error standard deviation is higher than was expected, especially for BPSK
signals. This seems to go against what was seen in Section 7.1. However, it is important to say that
multipath error envelopes and steady-state code tracking error variance only give an idea of the
performance in the presence of multipath only and in the presence of noise only, respectively. On the
other hand, the results obtained with the Simulink model considered both the presence of multipath
and noise, and, thereby, they are more representative of the real behaviour.

RECT CCRW offers a code tracking error mean similar to NELP, but with higher standard deviation.
This fact was expected because, as it was seen in Section 5.3.1, the RECT CCRW can be shown to
be equivalent to a conventional E-L discriminator for BPSK signals, and it is similar for near echoes (
τ k < 0.5Tc ) and for BOC and CBOC signals.

W1, W2, W3 and W4 CCRWs have a similar behaviour: lower tracking error mean than the NELP and,
generally, lower standard deviation than the HRC. From these four CCRWs, W3 has lower code
tracking error mean, while W4 has lower code tracking error standard deviation; overall W3 has the
best performance of the four. Other important point to refer is that for these CCRWs, there is an
increase in code tracking error standard deviation for BOC and CBOC. This behaviour was expected
as it was seen in Section 7.1.

The proposed implementation of the TK operator, could not match up with the performance of other

72
techniques: TK has the highest code tracking error mean and standard deviation.

For normalized pre-correlation bandwidth BWTc = 5, the HRC and W3 are the techniques that have the
lowest code tracking error.

20
18
.

16
14
code tracking error, m

12 BPSK
10 BOC
8 CBOC

6
4
2
0
NELP HRC RECT W1 W2 W3 W4 TK

Figure 7.8: Code tracking error mean and variance (average of the eight scenarios) for normalized
bandwidth BWTc = 5, different techniques and modulations.

Figure 7.9 plots the mean (colour bars) and standard deviation (error bars) of the code tracking error
for all multipath scenarios, normalized pre-correlation bandwidth BWTc = 12 and different techniques
and signals. Overall, there is a performance increase (both the code tracking error mean and standard
deviation decrease) relative to the results plotted in Figure 7.8. However, CCRWs (neglecting RECT
CCRW) and HRC are the techniques that best benefit with the use of a larger pre-correlation
bandwidth, offering lower tracking error mean and standard deviation when compared to others.

The TK-based shows a slight performance increase, but, again, its performance is much far away from
the other techniques.

For normalized pre-correlation bandwidth BWTc = 12 the best techniques were HRC and W3 and W4
CCRWs. Based on the results, HRC is by far the best technique for BOC and CBOC signals, while
W3 and W4 CCRWs are superior for BPSK signals.

Until now, the results presented were the average of the tracking error mean and standard deviation
over the eight scenarios. These results can translate the overall performance of the different technique
into different environments: without multipath, weak multipath and heavy multipath. Now, Figures 7.11
and 7.10 plot the average of the code tracking error mean and standard deviation only for the
scenarios with strong multipath: Urban III, Urban IV, Urban V and Urban VI (see Table 6.2 and Figure
6.6). This way it is easier to see the differences between the different algorithms, in the presence of
multipath. Or in other words, the real capability of the different techniques to mitigate the multipath
effect.

73
20
18

.
16
code tracking error, m
14
12 BPSK
10 BOC
8 CBOC
6
4
2
0
NELP HRC RECT W1 W2 W3 W4 TK

Figure 7.9: Code tracking error mean and variance (average of the eight scenarios) for normalized
bandwidth BWTc = 12, different techniques and modulations.

In general, in Figures 7.10 and 7.11, there is an increase on the error mean and standard deviation,
relative to Figures 7.8 and 7.9. This was expected, because, as it was stated before, the effect of
multipath depends on the intensity of multipath, and for the last two Figures, the scenarios considered
were the four worse of the eight considered environments. Otherwise, in Figures 7.11 and 7.10, there
are not different observations to make relative to Figures 7.8 and 7.9: HRC and W3 CCRW, for both
pre-correlation bandwidths, and W4 CCRW for pre-correlation bandwidth BWTc = 12, continue to be the
best technique.

35

30
.

25
code tracking error, m

20 BPSK
BOC
15 CBOC

10

0
NELP HRC RECT W1 W2 W3 W4 TK

Figure 7.10: Code tracking error mean and variance (average of the four worst scenarios) for
normalized bandwidth BWTc = 5, different techniques and modulations.

74
35

.
30

25

20 BPSK
code tracking error, m

BOC
15 CBOC

10

0
NELP HRC RECT W1 W2 W3 W4 TK

Figure 7.11: Code tracking error mean and variance (average of the four worst scenarios) for
normalized bandwidth BWTc = 12, different techniques and modulations.

Finally, some words must be addressed regarding the complexity of the different techniques. The
CCRW techniques require four correlators and the discriminator has two multiplications and one
addition. The NELP requires six correlators, four additions and four multiplications. The HRC requires
ten correlators and the discriminator two multiplications and six additions. The TK is by far the most
complex. Table 7.2 compares the complexity of the different techniques considered.

Considering the computational complexity and the code tracking error mean and standard deviation,
W3 CCRW was considered the most adequate technique to use in a low cost GNSS receiver:

● it is one of the techniques with lower code tracking error mean and standard deviation (only
HRC was better);

● it has lower computational complexity than a conventional NELP discriminator and than the
HRC;

● it behaves well for the three tested modulations;

If possible, it is preferable to use wider pre-correlation bandwidth, because less signal power is lost
and, thereby, lower code tracking errors can be achieved. However, larger pre-correlation bandwidths,
require higher sampling rates and more expensive receivers.

75
Technique Correlators Multiplications Additions Overall
NELP 6 4 3 Medium
HRC 10 1 6 Medium/High
RECT
W1
W2 4 2 1 Low
W3
W4
TK 14 8 7 High

Table 7.2: Computational complexity.

76
Chapter 8

Conclusion and Final Remarks

8.1 Summary
This dissertation focused in multipath mitigation techniques suitable for civilian low cost GNSS
receivers.

The basic concepts of GNSS were introduced. GNSS navigation signals were described, namely GPS
L1 and L1C, and Galileo E1 signals. The operation of GNSS receiver tracking loops was described. It
was explained what is multipath, when it happens and what is its effect on the tracking loops.

It was given an overview of current multipath mitigation techniques, with focus on the correlation
based techniques. Several techniques were analysed: NELP, HRC, CCRW with several waveforms
and a TK based technique.

A GNSS receiver simulator was implemented in Simulink using the GRANADA FCM blockset. The
developed receiver simulator required also the implementation of a correlator noise generator, a
stochastic multipath model and some workarounds, so GRANADA FCM blockset could support MBOC
signals and CCRW. Some multipath environments were described and some techniques were picked
up for simulation.

The simulation results were presented and discussed, and the techniques suitable for implementation
on mass market civilian receivers were identified.

8.2 Conclusion
The purpose of this thesis was to study and identify multipath mitigation techniques for urban
scenarios, which are suitable for low cost GNSS receivers. The main research objectives were
accomplished: the GNSS principles, different multipath mitigation techniques giving special attention to
the correlation based techniques were studied and multipath mitigation techniques suitable for low
cost GNSS receiver were identified.

All the techniques analysed operate at the tracking loops level and can be implemented in mass
market receiver. However they behave differently in the presence of multipath and noise:

● NELP is not a bad option: it works well in the presence of weak multipath and its performance

77
is good in the presence of noise. The negative point is that, in the presence of stronger
multipath, the tracking error is large when compared with other techniques. The use of new
signals, as BOC(1,1) and CBOC(6,1,1/11) signals, helps the NELP discriminator to achieve
lower code tracking errors.

● HRC offers good performance. However, it has the disadvantage that, using CCRWs, it is
possible to have similar performance and lower computational complexity.

● The performance of CCRWs are affected by the selected waveform. With exception to the
RECT and New RECT CCRW, the tested CCRW presented good performance, however W3
CCRW offered the best performance among CCRWs.

● TK was the most complex (from the computational point of view), but the worse technique.
The TK operator may be a powerful algorithm, as it was seen in [21], but it fails as it was
shown in Section 5.4. Another disadvantage was the fact that from all the tested algorithms,
this was the one that required a higher number of correlators and, hence, the most
computationally heavier.

From all techniques, W3 CCRW is the one that offers the lowest computational complexity (as the
others CCRWs) and the tracking performance nearest to the HRC. Thereby, from the tested
techniques, this one was considered the most suitable for low cost receivers.

Other important conclusion, is that using larger pre-correlation bandwidths, it is possible to have a
lower tracking error. Nevertheless, wider bandwidth required higher sampling frequencies and so,
expensive hardware. Thus, if the cost does not exceed the receiver budget it is preferable to use
larger bandwidth.

8.3 Future work


The work developed in this dissertation was only “the tip of the iceberg”: many other techniques can
be analysed, special CCRWs. As it was possible to see, the CCRW based techniques can be very
flexible, and their performance can be tuned with different reference waveforms. There are unlimited
possible waveforms to be tested. Also different CCRW can be combined in the same discriminator to
achieve better performance, as it was proposed in [18].

The techniques were tested in a virtual environment: the Matlab Simulink. The next step is to test the
techniques in a real GNSS receiver with real signals (e.g. GPS L1). The virtual environment can give a
very good idea how the different algorithms and signals behaves, but it can not replace the tests in
real environments.

78
References
[1] M. Braasch, Isolation of GPS Multipath and Receiver Tracking Errors, Navigation: J. of the
Inst. of Navigation, vol. 41, no. 4, Winter 1994-95, pp. 415-434.
[2] W. B. Parkinson, J. J. Spilker Jr., Global Positioning System: Theory and Applications,
American Institute of Aeronautics & Astronautics, Inc., Washington, D.C., vol. 163 and 164 of
Progress in Astronautics and Aeronautics, 1996.
[3] S. Lazar, Modernization and the Move to GPS III, Crosslink, Summer 2002, pp. 42-46.
[4] P. Misra, P. Enge, Global Positioning System - Signals, Measurements, and Performance,
Ganga-Jamuna Press, Lincoln, MA, 2006.
[5] J.-A. Avila-Rodriguez, G. W. Hein, S. Wallner, J. L. Issler, L. Ries, L. Lestarquit, A. de Latour, J.
Godet, F. Bastide, A. R. Pratt, J. Owen, The MBOC Modulation: The Final Touch to the Galileo
Frequency and Signal Plan, ION GNSS 2007, Fort Worth, TX, Sept. 2007, pp. 1515-1529.
[6] G. Gibbons, Galileo Redirecting a Stuttering Program, Inside GNSS, Fall 2007, pp. 18-22.
[7] Galileo Project Office, GIOVE-A Navigation Signal-In-Space Interface Control Document, ESA,
2007
[8] E. Kaplan, Understanding GPS: Principles and Applications, Artech House, Norwood, MA,
1996.
[9] S. Haykin, An Introduction to Analog and Digital Communications, Wiley, USA, 1989.
[10] F. Nunes, F. Sousa, J. Leitão, Gating functions for multipath mitigation in GNSS BOC signals,
IEEE Transactions on Aerospace and Electronic Systems, vol. 43, no. 3, July 2007, pp.
951-964.
[11] J. W. Betz, The Offset Carrier Modulation for GPS Modernization, ION NTM 1999, San Diego,
CA, Jan. 1999, pp. 639-648.
[12] J.-A. Ávila-Rodríguez, S. Wallner, M. Paonni, G. W. Hein, On Potential CBOC/TMBOC
Common Receiver Architectures, ION GNSS 2007, Fort Worth, TX, Sept. 2007, pp.
1530-1542.
[13] Draft IS-GPS-800 Navstar GPS Space Segment/User Segment L1C Interfaces, 2008
[14] M. Braash, A. Van Dierendonck, GPS Receiver Architectures and Measurements,
Proceedings of the IEEE, vol. 87, no. 1, Jan. 1999, pp. 48-64.
[15] S. Haykin, Communication Systems, Wiley, 2001.
[16] P.F. da Silva, J.S. Silva, A. Caramagno; M. Wis, M. Eulalia Pares, I. Colomina; A. Fernandez,
J. Diez, V. Gabaglio, IADIRA: Inertial Aided Deeply Integrated Receiver Architecture, ION
GNSS 2006, Sept. 2006, pp. 2686-2694.
[17] D. Aloi, F. Van Graas, Ground-multipath mitigation via polarization steering of GPS signal,
IEEE Transactions on Aerospace and Electronic Systems, vol. 40, no. 2, April 2004, pp.
536-552.
[18] L. J. Garin, The "Shapping Correlator", Novel Multipath Mitigation Technique Applicable to
GALILEO BOC(1,1) Modulation Waveforms in High Volume Markets, The European

79
Navigation Conference, 2005.
[19] A. Van Dierendock, P. Fenton, T. Ford, Theory and Performance of Narrow Correlator Spacing
in a GPS receiver, Navigation: Journal of The Institute of Navigation, USA, vol. 39, no. 3, Fall
1992, pp. 265-283.
[20] L. Garin, Dr. F. Van Diggelen, J.M. Rousseau, Strobe & Edge Correlator - Multipath Mitigation
for Code, ION GPS 1996, Kansas City, MS, Sept. 1996, pp. 657-664.
[21] E. S. Lohan, R. Hamila, A. Lakhzouri, M. Renfors, Highly Efficient Techniques for Mitigating
the Effects of Multipath Propagation, IEEE Transaction on Wireless Communications, vol. 4,
Jan. 2005, pp. 149-162.
[22] G. McGraw, M. Braasch, GNSS Multipath Mitigation Techniques using Gated and High
Resolution Correlator Concepts, ION NTM 1999, Jan. 1999, pp. 333-342.
[23] Y. C. Lee, Compatibility of the New Military GPS Signals with Non-Aviation Receivers, ION AM
2002, Albuquerque, NM, June 2002, pp. 581-597.
[24] V. Veitesl, A. Zhdanov, M. Zhodzishsky, The Mitigation of Multipath Errors by Strobe
Correlators in GPS/GLONASS Receivers, GPS Solutions, vol. 2, no. 2, 1998, pp. 38-45.
[25] A. Zhdanov, V. Veitsel, M.Zhodzishky, J. Asjaee, Multipath error reduction in signal processing,
ION-GPS 1999, Nashville, TN, Sept. 1999, pp. 1217-1223.
[26] L. Garin, J. Rousseau, Enhanced strobe correlator multipath rejection for code & carrier, ION
GPS 1997, Kansa City, MS, Sept. 1997, pp. 559-568.
[27] F. Nunes, F. Sousa, J. Leitão, Improving Multipath Mitigation in GPS/Galileo BOC signals with
Gating Functions, ION AM 2005, Cambridge, MA, June 2005, pp. 498-507.
[28] F. Sousa, F. Nunes, J. Leitão, Strobe Correlator Design for Multipath Mitigation in BOC GNSS
Receiver, Proc. IEEE Position, Location and Navigation Symp., San Diego, CA, vol. 1, April
2006, pp. 1-8.
[29] J. F. Kaiser, On a simple algorithm to calculate the 'energy' of a signal, Proc. IEEE Int. Conf.
Acoustics, Speech, and Signal Processing, Albuquerque, NM, April 1990, pp. 381-384.
[30] P. Marago, J. F. Kaiser, T. F. Quatieri, On amplitude and frequency demodulation using energy
operators, IEEE Transactions on Signal Processing, vol. 41, April 1993, pp. 1532-1550.
[31] R. Hamila, E. S. Lohan, M. Renfors, Subchip multipath delay estimation for downlink WCDMA
system based on Teager-Kaiser operator, IEEE Communications Letters, vol. 7, Jan. 2003,
pp. 1-3.
[32] R. Hamila, J. Astola, J. A. Cheikh, M. Gabbouj, M. Renfors, Teager energy and the ambiguity
function, IEEE Transactions on Signal Processing, vol. 47, Jan. 1999, pp. 260-262.
[33] D. Castro, J. Diez, A. Fernández, Continuously-Update Multipath Mitigation Technique based
on the Teager-Kaiser Operator, ENC GNSS 2007, Geneva, Switzerland, May 2007, pp.
301-307.
[34] J. Silva, P. Silva, A. Fernández, J. Diez, J. Lorga, Factored Correlator Model: A Solution for
Fast Flexible, and Realistic GNSS Receiver Simulations, ION GNSS 2007, Forth Worth, TX,
25-28 Sept. 2007, pp. 2676-2686.

80
[35] GRANADA FCM blockset, Product Documentation, DEIMOS Engenharia, S.A., 2007
[36] J. Geist, Computer Generation of Correlated Gaussian Random Variables, Proceedings of the
IEEE, vol. 67, no. 5, May 1979, pp. 862-863.
[37] A. Jahn, H. Bischl, G. Heiβ, Channel Characterization for Spread Spectrum Satellite
Communications, Proceedings of the IEEE 4th International Symposium on Spread Spectrum
Techniques & Applications, Mainz, Germany, Sept. 1996.

81
Appendix A

Cross-Correlation Function

Let a (t ) = Π[(t − ta ) Ta ] and b(t ) = Π[(t − tb ) Tb ] stand for two unity rectangular pulses of duration Ta

and Tb , centred in ta and tb respectively (Figure A.1).

+1 +1

0 0
-Ta/2 0 +Ta/2 -Tb/2 0 +Tb/2

Figure A.1: Signals a(t) (left) and b(t) (right).

The cross-correlation between the two signals will be

  t − ta + tb   Ta   t − ta + tb 
RAB = Ta Tb  Λ   −   Λ   , (A.1)
  Ta + Tb   Ta + Tb   Ta − Tb 

where Λ (t ) is a triangular pulse zero centred, with Λ (t ) = 0, t > 1 and Λ (0) = 1 . Figure A.2 shows the

cross-correlation function RAB , when ta = tb = 0 .

Ta.Tb

0
-(Ta+Tb)/2 -(Ta-Tb)/2 0 +(Ta-Tb)/2 +(Ta+Tb)/2

Figure A.2: Cross-correlation function RAB .

82
Appendix B

Noise Analysis

The code discriminator response at time t = kT , where T is the integration time, can be linearised
around ε = 0 as [10]

d k = g0ε k + N k , (B.1)

where g 0 is the discriminator gain, ε k is the code tracking error at time t = kT , and N k is a zero-

mean Gaussian random variable with variance σ d2 . For finite bandwidths the discriminator gain

depends on the input signal and the strobe pulse width.

The transfer function of the linearised closed code loop in the z-domain is [10]

g0 F ( z )V ( z )
H ( z) = (B.2)
1 + g0 F ( z )V ( z )

where F (z ) and V (z ) are, respectively, the loop filter and the numerically controlled oscillator transfer
functions. Thereby, it can be shown that the steady-state normalized code error variance is given by

2 BDLLTσ d2
ε2 = (B.3)
g02

where BDLL is the closed-loop noise bandwidth in Hz.

Considering weak noise condition (neglecting the contribution of the noise x noise terms), the variance

of N k in (B.1) was determined in [10] as:

● For the Narrow Early-Late Power discriminator:

4
σ d2 ≈ R 2~ ( ∆ 2)[1 − RX (∆ )] , (B.4)
(C N 0 )T XX
and the discriminator gain is g0 = −4 RX~X ( ∆ 2) R′X~X ( ∆ 2) .

● For the High Resolution Correlator:

83
1
σ d2 ≈
(C / Ν 0 )T
{1 + λ [1 − R (∆ )] − R (λ∆ ) + 2λ [R ((λ + 1)∆ / 2) − R ((λ − 1)∆ / 2)]},
2
X X X X (B.5)

[
with the discriminator gain given by g0 = 2 RX′~X (λ ∆ 2) − λR′X~X ( ∆ 2) . ]
● For Code Correlation Reference Waveforms:

1 L Tc
σ d2 ≈ R 2~ (0 ) , (B.6)
2 (C N 0 )T XX

and the discriminator gain is given by g0 = RX~X (ε ) RX~W (ε ) [ ]′ = RX~X (0) R′X~W (0) .
ε =0

84
Appendix C

Tables of Results

NMP SUB URB1 URB2 URB3 URB4 URB5 URB6

ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2
NELP -0.11 0.44 0.02 0.45 0.20 0.42 1.52 0.45 12.07 2.65 20.43 5.08 20.21 5.21 24.12 9.73

139.2
HRC -0.12 1.14 -0.17 2.86 0.20 2.07 0.29 11.15 0.30 7.30 -0.79 14.92 1.03 11.12 8.44
1

RECT -0.01 0.23 0.14 0.26 0.23 0.25 1.22 0.50 10.66 11.45 19.85 15.43 19.61 20.57 24.70 10.68

W1 0.01 1.20 0.03 1.39 0.10 1.22 0.99 1.37 5.05 5.15 11.46 11.35 10.50 9.01 15.29 9.31

W2 0.04 1.27 0.19 1.19 0.02 1.33 0.76 0.97 5.03 4.93 10.59 10.55 10.35 8.07 14.55 8.03

W3 -0.08 2.81 -0.09 2.51 -0.30 3.00 0.93 2.47 2.54 8.12 6.50 12.28 6.74 12.77 9.28 13.25

W4 -0.16 0.67 0.04 0.65 -0.04 0.71 0.76 0.48 4.93 2.48 8.73 5.40 9.57 8.11 13.74 11.25

TK 0.02 12.59 0.30 14.04 0.43 13.72 3.44 17.21 21.13 43.66 25.97 47.50 27.00 49.73 30.17 49.08

Table C.1: BPSK signals and bandwidth BWTc = 5.

NMP SUB URB1 URB2 URB3 URB4 URB5 URB6

ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2
NELP 0.04 0.13 0.12 0.14 0.12 0.15 1.43 0.26 8.65 1.45 15.20 3.28 15.95 5.20 19.85 7.57

HRC -0.06 0.45 0.24 0.84 0.14 0.75 0.15 2.76 0.30 3.62 1.48 12.34 0.48 5.16 1.01 25.80

RECT -0.02 0.23 -0.01 0.29 0.15 0.31 1.13 0.88 7.00 4.02 14.90 10.85 14.81 12.43 18.43 10.93

W1 -0.02 1.26 -0.05 1.39 0.26 1.00 0.95 1.20 4.83 4.03 10.07 9.38 10.40 9.03 14.45 10.39

W2 0.25 4.30 1.15 7.30 0.30 4.80 0.67 4.58 5.50 14.66 11.41 16.15 12.47 19.17 14.80 19.92

W3 0.05 6.72 -0.99 8.20 -0.37 10.89 0.62 7.14 2.69 13.56 7.53 13.59 6.42 20.78 9.17 15.05

W4 -0.12 2.92 0.05 2.85 0.01 2.92 0.88 4.46 4.16 6.25 9.50 14.06 11.99 18.99 15.43 16.18

W5 -0.10 6.23 0.04 6.84 0.24 6.57 3.28 9.73 15.59 31.80 19.71 34.39 21.04 37.73 23.16 42.28

Table C.2: BOC(1,1) signals and bandwidth BWTc = 5.

85
NMP SUB URB1 URB2 URB3 URB4 URB5 URB6

ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2
NELP 0.08 0.17 -0.07 0.17 0.21 0.16 1.47 0.24 9.20 1.81 15.55 3.19 15.54 4.28 19.82 5.27

HRC -0.05 0.52 0.13 0.91 0.25 0.74 0.38 2.29 0.89 3.93 3.96 42.22 1.03 20.37 1.99 7.95

RECT -0.01 0.26 0.02 0.28 0.07 0.36 1.14 0.34 7.35 5.24 12.72 10.18 14.81 10.73 18.30 15.01

W1 -0.18 1.15 0.09 1.23 0.02 1.35 0.99 1.87 4.86 2.56 9.52 6.22 10.39 8.77 14.75 9.52

W2 -0.21 5.18 0.47 5.30 -0.46 5.14 1.28 6.63 6.29 11.45 10.13 19.15 11.02 20.77 13.81 27.20

W3 -0.26 7.36 0.13 7.11 -0.51 9.44 -0.10 9.31 2.27 10.64 7.37 19.19 6.02 19.15 9.43 18.16

W4 0.06 3.10 0.41 3.15 0.06 2.62 0.64 4.13 4.37 5.77 10.77 16.23 8.90 10.55 13.07 12.16

TK 0.06 7.46 0.25 8.68 0.19 8.62 3.46 13.01 17.54 40.35 20.96 36.24 20.88 39.04 22.89 42.13

Table C.3: CBOC(6,1,1/11) signals and bandwidth BWTc = 5.

NMP SUB URB1 URB2 URB3 URB4 URB5 URB6

ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2
-0.03 0.18 -0.01 0.21 0.12 0.18 1.07 0.20 7.63 1.42 17.10 3.01 17.48 4.57 22.80 5.12
NELP
89.00 0.50 -0.08 1.04 0.01 0.77 0.34 1.79 0.39 4.52 -2.38 15.02 0.84 5.51 3.44 35.62
HRC
-0.02 0.05 -0.02 0.07 0.08 0.06 0.84 0.14 6.03 3.32 16.46 14.73 16.28 14.66 22.74 15.87
RECT
-0.05 0.15 -0.02 0.29 -0.04 0.19 0.37 0.29 1.92 0.60 4.59 2.82 4.81 2.04 7.03 5.82
W1
-0.08 0.17 0.03 0.33 0.01 0.21 0.36 0.25 2.27 0.85 4.57 1.53 4.02 2.51 7.03 4.44
W2
0.01 0.42 0.06 0.55 -0.09 0.46 0.19 0.69 0.70 0.84 2.08 2.54 1.98 1.65 3.18 4.21
W3
0.00 0.13 -0.04 0.13 -0.01 0.13 0.41 0.14 1.72 0.74 3.77 1.81 3.52 2.50 5.90 4.33
W4
-0.05 5.73 0.20 5.63 0.41 5.29 2.01 6.79 18.28 34.45 25.16 36.59 25.71 33.75 29.15 39.34
TK

Table C.4: BPSK signals and bandwidth BWTc = 12.

NMP SUB URB1 URB2 URB3 URB4 URB5 URB6

ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2
NELP -0.05 0.06 0.10 0.05 0.10 0.07 0.83 0.11 5.14 0.65 11.01 1.91 12.16 3.29 16.57 5.33

HRC 0.06 0.16 -0.05 0.35 0.13 0.26 0.18 0.60 -0.15 1.58 0.08 2.45 0.36 6.17 -0.84 6.45

RECT -0.02 0.04 0.01 0.04 0.05 0.05 0.69 0.10 3.77 1.07 9.78 6.27 10.11 7.65 16.81 10.50

W1 -0.04 0.25 0.03 0.18 0.04 0.18 0.21 0.24 1.72 0.70 4.55 3.39 3.95 1.60 8.21 3.03

W2 0.04 0.77 -0.09 0.88 -0.05 0.81 0.35 0.47 1.73 1.79 3.94 2.74 5.94 5.10 7.43 9.47

W3 -0.20 2.03 -0.32 2.45 -0.06 2.59 -0.17 4.17 0.50 4.66 2.72 8.40 1.77 5.07 2.80 4.61

W4 -0.02 0.50 -0.15 0.47 0.21 0.63 0.52 0.73 1.68 1.64 3.40 2.55 3.63 1.74 5.27 3.56

W5 -0.02 2.55 0.02 2.60 0.24 2.79 1.64 3.86 12.82 21.11 18.63 27.52 19.37 33.15 21.94 34.06

Table C.5: BOC(1,1) signals and bandwidth BWTc = 12.

86
NMP SUB URB1 URB2 URB3 URB4 URB5 URB6

ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2 ε ε2
NELP 0.01 0.03 0.09 0.04 0.13 0.05 0.66 0.05 3.18 0.25 7.13 0.90 7.09 1.09 10.95 1.75

HRC 0.00 0.07 -0.06 0.15 0.04 0.13 0.26 0.45 0.20 1.21 -0.18 1.03 1.28 3.32 -0.18 2.52

RECT 0.00 0.05 0.05 0.07 0.11 0.06 0.44 0.11 4.13 1.52 8.64 4.99 9.34 5.97 17.97 6.54

W1 0.04 0.23 0.10 0.26 0.05 0.24 0.35 0.33 1.80 0.67 4.43 1.91 4.29 1.75 6.66 3.64

W2 0.09 0.78 0.34 0.78 -0.10 0.71 0.17 0.79 1.16 1.08 3.77 2.87 3.85 1.84 5.74 5.18

W3 0.10 2.00 -0.19 2.01 -0.11 2.10 0.06 2.70 0.71 3.75 2.81 7.60 1.89 4.84 3.77 7.79

W4 -0.01 0.44 -0.21 0.48 -0.06 0.62 0.29 0.72 0.90 0.71 2.79 1.59 2.48 1.68 4.50 3.34

TK -0.03 0.56 0.07 0.60 0.17 0.61 1.01 0.93 6.41 8.10 12.86 15.51 13.93 18.59 17.90 25.69

Table C.6: CBOC(6,1,1/11) signals and bandwidth BWTc = 12.

87

You might also like