POLITECNICO DI TORINO Design of pilot channel tracking loop

advertisement
POLITECNICO DI TORINO
SCUOLA INTERPOLITECNICA DI
DOTTORATO
Doctoral Program in Electronics and Communications
Engineering
Final Dissertation
Design of pilot channel tracking
loop systems for high sensitivity
Galileo receivers
Nazelie Kassabian
Tutor
prof. Letizia Lo Presti
Co-ordinator of the Research Doctorate Course
prof. Ivo Montrosset
February 2014
PhD thesis reviewers:
1. Mark Petovello
Email: mark.petovello@ucalgary.ca
www.ucalgary.ca/petovello/
2. Yu Morton
Email: mortonyt@miamioh.edu
www.users.muohio.edu/mortonyt/
Members of examining board:
1. Prof. Renato De Mori
Email: renato.demori@univ-avignon.fr
http://www.cs.mcgill.ca/people/faculty/profile?uid=renato
2. Prof. Mario Gerla
Email: gerla@cs.ucla.edu
http://www.cs.ucla.edu/ gerla/
3. Prof.ssa Anna RICHELLI
Email: anna.richelli@ing.unibs.it
http://www.ing.unibs.it/ richelli/
Day of the defense: February 27, 2014
Abstract
Global Navigation Satellite Systems (GNSS) have been in the center stage
of the recent technological upheaval that has been initiated by the rise of
smartphones in the last decade. This is clearly reflected in the development
of many applications based on GNSS technology as well as the emergence
of multi-constellation GNSS with the launch of the first Galileo satellites at
the end of the year 2011. GNSS does not only guarantee global positioning,
navigation and timing services but also extends to applications in banking,
agriculture, mapping, surveying, archaeology, seismology, commerce, ionosphere scintillation monitoring, remote sensing (soil moisture, ocean salinity,
type of surface), wind speed monitoring, ocean surface monitoring, altimetry and many others. In the last decade, Location Based Services (LBS)
have increased significant market demand where GNSS has been coupled
with technologies based on terrestrial communication links in order to meet
strict positioning accuracy requirements. In these conditions, relying on
GNSS technology alone, raises a few challenges for signal synchronization
even before positioning attempts and are mainly due to a considerable signal
attenuation as it propagates through construction material and into indoor
environments. Ionosphere scintillation induces a similar challenge where in
addition to amplitude fading, the carrier phase and frequency suffer from
indeterministic fluctuations.
This research activity is devoted to explore and design the elements constituting pilot channel scalar tracking loop systems, specifically tailored to
Galileo signals. It is expected that running such systems with extended integration intervals offers robust synchronization of the incoming signal which
is heavily affected by external indeterministic fluctuations. In some conditions, it is desired to follow these fluctuations as in ionosphere scintillation
monitoring while in other instances it is mainly desired to filter them out
as noise to guarantee positioning capabilities. This is the objective of this
research study which applies for both indoor environments and ionosphere
scintillation affected signals. Towards this endeavor, a comprehensive theoretical study of the carrier and code tracking loops elements is undertaken,
and particular attention is directed to the following aspects:
• carrier frequency and phase discriminators and the relative optimum
integration time
• Galileo specific code discriminators and code tracking architecture especially tailored to Composite Binary Offset Carrier (CBOC) modulated signals
• optimum loop filters designed in the digital domain for different types
of phase input signals
• local signal generation using a numerically controlled oscillator and
loop filter estimates
• front-end filter bandlimiting effects on the tracking performance
This design is further tested with simulated Galileo signals with and without ionosphere scintillation as well as raw Galileo signals in an equatorial
region during March 2013. Tracking performance comparison is carried out
between the customized Galileo receiver developed in this research activity
and an ionosphere scintillation dedicated professional GNSS receiver, the
R
Septentrio PolaRxS PRO receiver.
To all the great people I met throughout my life
“We demand rigidly defined areas of doubt and uncertainty!”
Douglas Adams, The Hitchhiker’s Guide to the Galaxy
Acknowledgements
I would like to acknowledge the many diverse people I had the honor and
fortune to know and work with during my PhD research activity. You have
added something special in this work. Some people were working behind
the scenes and believed in me, even if I didn’t know them personally. Thank
you all:
• Politecnico di Torino, the Scuola Interpolitecnica di Dottorato (SIPD)
and the Italian Ministry of Education which have constantly offered
me their financial support through a generous scholarship and an opportunity to conduct research abroad as well as take part in many
conferences and seminars nationally and internationally.
• My supervisor in Politecnico di Torino, Prof. Letizia Lo Presti who
believed in my potential right from the start. Thank you for your
kind support and sympathy. Your open attitude to discuss many aspects of this research study have been enlightening for my professional
development.
• My supervisor in Miami University, Prof. Jade Morton for your infi-
nite kindness, useful advices and availibility despite your busy schedule. Thank you for making my stay very productive and incredibly
pleasant at Miami University. Your great attitude, immense sense of
cooperation and warm hospitality is forever engrained in my mind.
• My parents without whom I would have never reached this point. Your
unconditional love, endless support and infinite dedication have transmitted to me the way to be in touch with life’s inmost secret. Thank
you for letting me fly towards Earth’s calling dream.
• My Italian family who has been a generous and endless support throughout my stay in Italy. Thank you for your hospitality and your efforts to
make me feel at home. Learning Italian would have never been so easy
without the stimulating and interesting conversations we had together
dear Mariella.
• Mario, for your kindness, unending friendship, and constant encouragement towards life-building experiences. Thank you for opening up
my horizons and bringing joy and spiritual wealth into my life through
your constant suggestions for the most extraordinary music, books, stories, movies, art, photos, sites, gastronomy and even the most exquisite
pastry (our beloved ”cannolo torinese“) that can be found in the world!
• All my friends, old and new, especially Antonio, Sebastiano, Nicoletta,
Sabrina, Shadi, Aaron, Steve, Martina, Maurizio and Mario. I have
had so much fun with you, learned from you and was inspired by you,
thank you for your invaluable friendship.
• All the researchers in the Navsas group of Politecnico di Torino and
ISMB, thank you for your collaboration, advices, pleasant conversations, lunches and laughs we shared. I also learned a lot from you.
• All the students I interacted with during my PhD study abroad period in Miami University. A special and warm thank you goes to my
friend Steve whose integrity, cooperation and enlightening conversations I deeply valued. Your endless support, divine patience, warm
company and the magic walks in and around Miami Campus hiking
trails together with Aaron have been inspiring to me during some difficult moments.
• A very special thank you goes to you Martina Narineh, you have been
an invisible supportive friend (and much more) across the Atlantic
despite your busy schedule, constantly pushing me towards my next
achievement through your simple and wise inputs. My personal growth
rate has been quadrupled if not more ! I am forever grateful for your
presence in my life.
Contents
List of Figures
xvii
List of Tables
xxvii
Glossary
xxix
1 Introduction
1
1.1
Background and Motivation . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
Literature Review and Limitations of Previous Work . . . . . . . . . . .
4
1.3
Research Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.4
Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2 GNSS, signals and receivers
2.1
2.2
2.3
11
Satellite Navigation Systems . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.1.1
GNSS concept . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
2.1.2
Frequency plans . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
Galileo OS signal structure . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.2.1
Galileo E1 OS signal . . . . . . . . . . . . . . . . . . . . . . . . .
16
2.2.2
Galileo E5 OS signal . . . . . . . . . . . . . . . . . . . . . . . . .
21
Simulation/estimation of Galileo signals/CNR and ionosphere scintillation signals/indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
2.3.1
GNSS signal definition . . . . . . . . . . . . . . . . . . . . . . . .
24
2.3.2
GNSS signal recovery: correlations . . . . . . . . . . . . . . . . .
25
2.3.3
Carrier phase and code delay lock indicators
. . . . . . . . . . .
26
2.3.4
Galileo OS signal simulation . . . . . . . . . . . . . . . . . . . . .
28
2.3.5
Ionosphere scintillation simulation . . . . . . . . . . . . . . . . .
33
xi
CONTENTS
2.3.6
2.4
Ionosphere scintillation indices estimation . . . . . . . . . . . . .
33
Receiver blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
2.4.1
Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
2.4.1.1
Galileo acquisition . . . . . . . . . . . . . . . . . . . . .
39
Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
2.4.2
3 GNSS pilot channel tracking
43
3.1
FLL/PLL/DLL structure . . . . . . . . . . . . . . . . . . . . . . . . . .
43
3.2
CU and DU loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
3.3
NCO modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
3.3.1
Phase rate only NCO . . . . . . . . . . . . . . . . . . . . . . . .
50
3.3.2
Phase and rate NCO . . . . . . . . . . . . . . . . . . . . . . . . .
51
3.3.3
Analog version of phase and rate NCO . . . . . . . . . . . . . . .
52
Discriminators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
3.4.1
55
3.4
DFLL discriminators . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1.1
time . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
DFLL CP discriminator . . . . . . . . . . . . . . . . . .
65
DPLL discriminators . . . . . . . . . . . . . . . . . . . . . . . . .
68
3.4.1.2
3.4.2
DFLL ATAN2 discriminator and optimum integration
3.4.2.1
DPLL ATAN2 discriminator and optimum integration
time . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
DPLL COH discriminator . . . . . . . . . . . . . . . . .
72
3.4.3
DFLL-assisted DPLL discriminators . . . . . . . . . . . . . . . .
74
3.4.4
DDLL discriminators . . . . . . . . . . . . . . . . . . . . . . . . .
74
3.4.4.1
Types of DDLL discriminators . . . . . . . . . . . . . .
76
3.4.4.2
Galileo E1 DDLL auto-correlation and error functions .
78
3.4.4.3
Galileo E1 DDLL discriminators . . . . . . . . . . . . .
80
3.4.4.4
Four taps VEMLE discriminator . . . . . . . . . . . . .
81
3.4.4.5
Galileo E5a/b DDLL discriminators . . . . . . . . . . .
83
Galileo E1 DE discriminators . . . . . . . . . . . . . . . . . . . .
86
3.4.2.2
3.4.5
3.4.5.1
3.4.5.2
Ideal DSLL and DDLL auto-correlation and cross-correlation
functions . . . . . . . . . . . . . . . . . . . . . . . . . .
89
DSLL and DDLL discriminators . . . . . . . . . . . . .
90
xii
CONTENTS
3.5
Loop filter design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
3.5.1
Classical mapped digital loop filters . . . . . . . . . . . . . . . .
96
3.5.1.1
Zero order loop filter
. . . . . . . . . . . . . . . . . . .
97
3.5.1.2
First order loop filter . . . . . . . . . . . . . . . . . . .
97
3.5.1.3
Second order loop filter . . . . . . . . . . . . . . . . . .
99
3.5.2
3.5.3
3.6
Optimum digital loop filters . . . . . . . . . . . . . . . . . . . . . 100
3.5.2.1
Design criteria . . . . . . . . . . . . . . . . . . . . . . . 100
3.5.2.2
Phase step input . . . . . . . . . . . . . . . . . . . . . . 103
3.5.2.3
Frequency step input . . . . . . . . . . . . . . . . . . . 106
3.5.2.4
Frequency ramp input . . . . . . . . . . . . . . . . . . . 113
Performance comparison . . . . . . . . . . . . . . . . . . . . . . . 124
3.5.3.1
Root locus . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.5.3.2
Bode plots . . . . . . . . . . . . . . . . . . . . . . . . . 133
3.5.3.3
Carrier tracking . . . . . . . . . . . . . . . . . . . . . . 138
3.5.3.4
Code tracking . . . . . . . . . . . . . . . . . . . . . . . 145
3.5.3.5
Carrier and code tracking . . . . . . . . . . . . . . . . . 153
Bandlimiting effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
3.6.1
Correlation loss . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
3.6.2
Impact on PLL tracking threshold . . . . . . . . . . . . . . . . . 174
3.6.3
3.6.2.1
Galileo E1 OS signal . . . . . . . . . . . . . . . . . . . . 176
3.6.2.2
Galileo E5a/b OS signal . . . . . . . . . . . . . . . . . . 180
Impact on DLL tracking threshold . . . . . . . . . . . . . . . . . 182
3.6.3.1
Galileo E1 OS signal . . . . . . . . . . . . . . . . . . . . 183
3.6.3.2
Galileo E5a/b OS signal . . . . . . . . . . . . . . . . . . 187
4 Applications
4.1
191
Ionosphere scintillated signals tracking . . . . . . . . . . . . . . . . . . . 192
4.1.1
Tracking methodology of customized Galileo software receiver . . 192
4.1.2
Tracking outputs of Galileo simulated signals . . . . . . . . . . . 193
4.1.3
Tracking of simulated ionosphere scintillation on Galileo E1 and
E5a OS signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
4.1.4
Tracking of real ionosphere scintillation affected Galileo E1 and
E5a OS signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
xiii
CONTENTS
4.1.5
4.2
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Carrier phase measurements in dynamic conditions . . . . . . . . . . . . 202
4.2.1
Experiment description and considerations
. . . . . . . . . . . . 204
4.2.2
Surface characterization results . . . . . . . . . . . . . . . . . . . 206
4.2.3
Altimetry estimation results . . . . . . . . . . . . . . . . . . . . . 207
4.2.4
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
5 Summary and conclusions
211
A Technique for MAT analysis using serial search and performance assessment of P2P acquisition engines
213
A.1 Acquisition and probabilities . . . . . . . . . . . . . . . . . . . . . . . . 214
A.1.1 Acquisition systems . . . . . . . . . . . . . . . . . . . . . . . . . 214
A.1.2 Cell and system probabilities . . . . . . . . . . . . . . . . . . . . 215
A.1.2.1
Cell probabilities . . . . . . . . . . . . . . . . . . . . . . 215
A.1.2.2
System probabilities . . . . . . . . . . . . . . . . . . . . 216
A.2 Analysis of the MAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
A.2.1 Standard acquisition engines . . . . . . . . . . . . . . . . . . . . 218
A.2.1.1
Probability generating functions . . . . . . . . . . . . . 218
A.2.1.2
Mean acquisition time diagrams . . . . . . . . . . . . . 219
A.2.1.3
Deriving the MAT . . . . . . . . . . . . . . . . . . . . . 221
A.2.2 P2P acquisition engines . . . . . . . . . . . . . . . . . . . . . . . 224
A.2.2.1
L candidate cells with uniform and worst-case search
order . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
A.2.2.2
L candidate cells with Gaussian probability distribution
order . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
A.3 Conclusion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
B Mean acquisition time of GNSS peer-to-peer networks
235
B.1 Acquisition and probabilities . . . . . . . . . . . . . . . . . . . . . . . . 236
B.1.1 Acquisition systems . . . . . . . . . . . . . . . . . . . . . . . . . 236
B.1.2 Cell and system probabilities . . . . . . . . . . . . . . . . . . . . 237
B.1.2.1
Cell probabilities . . . . . . . . . . . . . . . . . . . . . . 237
B.1.2.2
System probabilities . . . . . . . . . . . . . . . . . . . . 237
xiv
CONTENTS
B.2 MAT analysis using different search strategies . . . . . . . . . . . . . . . 239
B.2.1 Serial search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
B.2.2 MAX search
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
B.2.3 MAX/TC search . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
B.3 Performance comparison of standard and P2P acquisition engines . . . . 244
B.3.1 Standard MAX search vs P2P serial search . . . . . . . . . . . . 245
B.3.2 Standard MAX search vs CNR aided P2P serial search . . . . . . 248
B.4 Conclusion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
References
251
xv
CONTENTS
xvi
List of Figures
2.1
GNSS frequency plan and modulations for the GPS, GLONASS, Galileo
and Beidou (Compass) systems . . . . . . . . . . . . . . . . . . . . . . .
15
2.2
GPS and Galileo frequency plan
. . . . . . . . . . . . . . . . . . . . . .
16
2.3
Galileo E1 OS modulation scheme . . . . . . . . . . . . . . . . . . . . .
17
2.4
Galileo E1 spreading sequence and subcarrier . . . . . . . . . . . . . . .
19
2.5
Galileo E1 total code auto-correlation function . . . . . . . . . . . . . .
19
2.6
GPS L1 CA code and auto-correlation function . . . . . . . . . . . . . .
20
2.7
Galileo E1 tiered code auto-correlation function . . . . . . . . . . . . . .
21
2.8
Galileo E5a OS modulation scheme . . . . . . . . . . . . . . . . . . . . .
22
2.9
Galileo E5a total code auto-correlation function . . . . . . . . . . . . . .
23
2.10 Galileo E5a tiered code auto-correlation function . . . . . . . . . . . . .
24
2.11 Galileo signal simulation scheme including scintillation signal . . . . . .
29
2.12 Galileo tiered code signal generation . . . . . . . . . . . . . . . . . . . .
31
2.13 Noiseless Galileo E1 OS PSD . . . . . . . . . . . . . . . . . . . . . . . .
31
2.14 Noiseless Galileo E5a OS PSD . . . . . . . . . . . . . . . . . . . . . . . .
32
2.15 Simulated scintillation signal amplitude and phase . . . . . . . . . . . .
34
2.16 A general scheme depicting GNSS receiver blocks . . . . . . . . . . . . .
37
2.17 A general view of the fine estimation process . . . . . . . . . . . . . . .
38
3.1
General scheme of a discrete phase tracking loop . . . . . . . . . . . . .
44
3.2
Global scheme of an FLL/PLL/DLL . . . . . . . . . . . . . . . . . . . .
45
3.3
Linearized digital phase locked loop
47
3.4
General scheme of a carrier tracking loop using an analog version NCO
53
3.5
Mean ATAN2 DFLL discriminator output with TI = 4 ms . . . . . . . .
60
3.6
Mean ATAN2 discriminator output with TI = 40 ms . . . . . . . . . . .
60
xvii
. . . . . . . . . . . . . . . . . . . .
LIST OF FIGURES
3.7
Whole region optimum integration time and corresponding frequency
pull-in range
3.8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
Singular point optimum integration time and corresponding frequency
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
Mean CP discriminator output with TI = 4 ms . . . . . . . . . . . . . .
66
3.10 Mean BCP discriminator output with TI = 4 ms . . . . . . . . . . . . .
67
3.11 Mean DPLL ATAN2 discriminator output with TI = 4 ms . . . . . . . .
70
3.12 Mean DPLL ATAN2 discriminator output with TI = 40 ms . . . . . . .
71
3.13 Mean DPLL ATAN2 discriminator output with TI = 100 ms . . . . . . .
73
3.14 Mean DPLL COH discriminator output with TI = 4 ms . . . . . . . . .
75
pull-in range
3.9
3.15 Comparison of BOC(1,1) and CBOC(6,1,1/11) auto-correlation functions 78
3.16 Comparison of CBOC(6,1,1/11) auto-correlation function for different
front-end bandwidths . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
3.17 Comparison of traditional DDLL discriminators using Galileo CBOC(6,1,1/11)
and BOC(1,1) with no normalization . . . . . . . . . . . . . . . . . . . .
80
3.18 Different normalization strategies for the VEMLE discriminator . . . . .
82
3.19 VEMLE discriminator performance during coarse tracking for different
bandwidths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
3.20 VEMLE discriminator performance during fine tracking for different
bandwidths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
3.21 Comparison of BOC(1,1) and Galileo E5a BPSK auto-correlation functions 85
3.22 Comparison of Galileo E5a code auto-correlation function for different
front-end bandwidths . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
3.23 Comparison of traditional DDLL discriminators applied on Galileo E5a
BPSK signals and theoretical BOC(1,1) signals . . . . . . . . . . . . . .
87
3.24 The CBOC(6,1,1/11) subcarrier auto-correlation function . . . . . . . .
89
3.25 A comparison of BOC(1,1) and CBOC(6,1,1/11) subcarrier auto-correlation
function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
3.26 The Galileo E1 spreading sequence cross-correlation function . . . . . .
91
3.27 Comparison of DSLL discriminators after wiping off the spreading code
92
3.28 Normalized EML discriminator used in DSLL dealing with CBOC(6,1,1/11)
subcarrier with infinite bandwidth . . . . . . . . . . . . . . . . . . . . .
xviii
92
LIST OF FIGURES
3.29 Normalized EML discriminator used in DSLL dealing with CBOC(6,1,1/11)
subcarrier with different bandwidths . . . . . . . . . . . . . . . . . . . .
93
3.30 Comparison of DDLL discriminators in a DE dealing with CBOC(6,1,1/11)
signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
93
3.31 Normalized EML discriminator used in a dual estimator DDLL with
infinite bandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
94
3.32 Normalized EML discriminator used in a dual estimator DDLL with
different bandwidths . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
94
3.33 The zero order optimum loop filter gain . . . . . . . . . . . . . . . . . . 105
3.34 Comparison between true and estimated loop filter gain A1 . . . . . . . 107
3.35 The zero order optimum loop filter normalized noise equivalent bandwidth versus the α parameter . . . . . . . . . . . . . . . . . . . . . . . . 108
3.36 Closed loop system pole vs desired normalized noise equivalent bandwidth corresponding to the optimum zero order loop filter . . . . . . . . 108
3.37 The first order optimum loop filter zero location . . . . . . . . . . . . . 112
3.38 The first order optimum loop filter normalized noise equivalent bandwidth versus the α parameter . . . . . . . . . . . . . . . . . . . . . . . . 112
3.39 Comparison between true and estimated loop filter coefficient A1 . . . . 113
3.40 Comparison between true and estimated loop filter coefficient A2 . . . . 114
3.41 Closed loop system poles vs desired normalized noise equivalent bandwidth corresponding to the optimum first order loop filter . . . . . . . . 115
3.42 Second order filter zeros location of the optimum loop filter . . . . . . . 119
3.43 Second order filter noise equivalent bandwidth versus the α parameter . 121
3.44 Comparison between true and estimated loop filter coefficient A1 . . . . 122
3.45 Comparison between true and estimated loop filter coefficient A2 . . . . 122
3.46 Comparison between true and estimated loop filter coefficient A3 . . . . 123
3.47 Closed loop system poles vs desired normalized noise equivalent bandwidth corresponding to the optimum second order loop . . . . . . . . . . 124
3.48 Root locus using method 1 for a range of BL values
. . . . . . . . . . . 126
3.49 Root locus using method 2 for a range of BL values
. . . . . . . . . . . 127
3.50 Root locus using method 3 for a range of BL values
. . . . . . . . . . . 127
3.51 Root locus using method 4 for a range of BL values
. . . . . . . . . . . 128
3.52 System poles as a function of loop gain . . . . . . . . . . . . . . . . . . . 129
xix
LIST OF FIGURES
3.53 Methods 1 and 3 closed loop system zero pole location for a range of BL
values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
3.54 Methods 2 and 4 closed loop system zero pole location for a range of BL
values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3.55 Bode plot as a function of BL for method 1 . . . . . . . . . . . . . . . . 133
3.56 Bode plot as a function of BL for method 2 . . . . . . . . . . . . . . . . 134
3.57 Bode plot as a function of BL for method 3 . . . . . . . . . . . . . . . . 135
3.58 Bode plot as a function of BL for method 4 . . . . . . . . . . . . . . . . 136
3.59 PD estimated error with constant carrier frequency estimation . . . . . 139
3.60 PLI with constant carrier frequency estimation . . . . . . . . . . . . . . 140
3.61 Loop filter outputs with constant carrier frequency estimation . . . . . . 141
3.62 PD estimated error with a ramp carrier frequency estimation . . . . . . 142
3.63 PLI with a ramp carrier frequency estimation . . . . . . . . . . . . . . . 143
3.64 Loop filter outputs with a ramp carrier frequency estimation . . . . . . 144
3.65 Four taps VEMLE PD output in chips with a constant code rate input
on Galileo E1 band . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
3.66 Loop filter constant code rate estimation on Galileo E1 band . . . . . . 148
3.67 CNR estimate in dB-Hz with a constant code rate input on Galileo E1
band . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
3.68 Four taps VEMLE PD output in chips with a ramp code rate input on
Galileo E1 band . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
3.69 Loop filter ramp code rate estimation on Galileo E1 band . . . . . . . . 151
3.70 CNR estimate in dB-Hz with a ramp code rate input on Galileo E1 band 152
3.71 EMLE PD output in chips with a constant code rate input on Galileo
E5a band . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
3.72 Loop filter constant code rate estimation on Galileo E5a band . . . . . . 155
3.73 CNR estimate in dB-Hz with a constant code rate input on Galileo E5a
band . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
3.74 EMLE PD output in chips with a ramp code rate input on Galileo E5a
band . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
3.75 Loop filter ramp code rate estimation on Galileo E5a band
. . . . . . . 158
3.76 CNR estimate in dB-Hz with a ramp code rate input on Galileo E5a band159
xx
LIST OF FIGURES
3.77 PLL PD estimated error with a ramp carrier frequency input signal
modulated by a Galileo E1 OS signal . . . . . . . . . . . . . . . . . . . . 160
3.78 PLI with a ramp carrier frequency input signal modulated by a Galileo
E1 OS signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
3.79 PLL Loop filter outputs with a ramp carrier frequency input signal modulated by a Galileo E1 OS signal . . . . . . . . . . . . . . . . . . . . . . 162
3.80 PLL PD estimated error with a ramp carrier frequency input signal
modulated by a Galileo E5a OS signal . . . . . . . . . . . . . . . . . . . 164
3.81 PLI with a ramp carrier frequency input signal modulated by a Galileo
E5a OS signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
3.82 PLL Loop filter outputs with a ramp carrier frequency input signal modulated by a Galileo E5a OS signal . . . . . . . . . . . . . . . . . . . . . . 166
3.83 DLL Four taps EMLE PD output in chips with a ramp carrier frequency
input signal modulated by a Galileo E1 OS signal . . . . . . . . . . . . . 167
3.84 DLL Loop filter outputs with a ramp carrier frequency input signal modulated by a Galileo E1 OS signal . . . . . . . . . . . . . . . . . . . . . . 168
3.85 CNR estimate in dB-Hz with a ramp carrier frequency input signal modulated by a Galileo E1 OS signal . . . . . . . . . . . . . . . . . . . . . . 169
3.86 DLL Four taps VEMLE PD output in chips with a ramp carrier frequency input signal modulated by a Galileo E5a OS signal . . . . . . . . 170
3.87 DLL Loop filter outputs with a ramp carrier frequency input signal modulated by a Galileo E5a OS signal . . . . . . . . . . . . . . . . . . . . . . 171
3.88 CNR estimate in dB-Hz with a ramp carrier frequency input signal modulated by a Galileo E5a OS signal . . . . . . . . . . . . . . . . . . . . . . 172
3.89 Theoretical PSD of the Galileo E1 and E5a/b OS signals . . . . . . . . . 174
3.90 Correlation loss due to bandlimiting . . . . . . . . . . . . . . . . . . . . 175
3.91 Galileo E1 Tracking jitter at PLL output using an ATAN2 discriminator
for a range of CNR values . . . . . . . . . . . . . . . . . . . . . . . . . . 177
3.92 Galileo E1 Tracking jitter at PLL output using a COH discriminator for
a range of CNR values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
3.93 E1 weak signal PLL tracking jitter as a function of FE bandwidth using
an integration time of 20 ms . . . . . . . . . . . . . . . . . . . . . . . . . 179
xxi
LIST OF FIGURES
3.94 E1 weak signal PLL tracking jitter as a function of FE bandwidth using
an integration time of 80 ms . . . . . . . . . . . . . . . . . . . . . . . . . 179
3.95 Galileo E5a Tracking jitter at PLL output using an ATAN2 discriminator
for a range of CNR values . . . . . . . . . . . . . . . . . . . . . . . . . . 180
3.96 Galileo E5a Tracking jitter at PLL output using a COH discriminator
for a range of CNR values . . . . . . . . . . . . . . . . . . . . . . . . . . 181
3.97 E5a weak signal PLL tracking jitter as a function of FE bandwidth using
an integration time of 20 ms . . . . . . . . . . . . . . . . . . . . . . . . . 181
3.98 E5a weak signal PLL tracking jitter as a function of FE bandwidth using
an integration time of 80 ms . . . . . . . . . . . . . . . . . . . . . . . . . 182
3.99 Comparison of Galileo E1 DLL tracking jitter performance as a function
of CNR with different PD . . . . . . . . . . . . . . . . . . . . . . . . . . 184
3.100Comparison of Galileo E1 DLL tracking jitter performance as a function
of CNR using coherent EML discriminator . . . . . . . . . . . . . . . . . 184
3.101Comparison of Galileo E1 DLL tracking jitter performance as a function
of CNR using noncoherent EMLP discriminator . . . . . . . . . . . . . . 185
3.102E1 weak signal DLL tracking jitter as a function of FE bandwidth using
an integration time of 20 ms . . . . . . . . . . . . . . . . . . . . . . . . . 186
3.103E1 weak signal DLL tracking jitter as a function of FE bandwidth using
an integration time of 80 ms . . . . . . . . . . . . . . . . . . . . . . . . . 186
3.104Comparison of Galileo E5a DLL tracking jitter performance as a function
of CNR with different PD . . . . . . . . . . . . . . . . . . . . . . . . . . 187
3.105Comparison of Galileo E5a DLL tracking jitter performance as a function
of CNR using coherent EML discriminator . . . . . . . . . . . . . . . . . 188
3.106Comparison of Galileo E5a DLL tracking jitter performance as a function
of CNR using noncoherent EMLP discriminator . . . . . . . . . . . . . . 188
3.107E5a weak signal DLL tracking jitter as a function of FE bandwidth using
an integration time of 20 ms . . . . . . . . . . . . . . . . . . . . . . . . . 189
3.108E5a weak signal DLL tracking jitter as a function of FE bandwidth using
an integration time of 80 ms . . . . . . . . . . . . . . . . . . . . . . . . . 190
4.1
Tracking performance of simulated Galileo E1 OS signal . . . . . . . . . 194
4.2
Tracking performance of simulated Galileo E5a OS signal . . . . . . . . 195
xxii
LIST OF FIGURES
4.3
Estimated scintillation indices of a simulated scintillation signal . . . . . 197
4.4
Estimated scintillation indices and CNR of real Galileo E1 and E5a frequency bands for PRN 19 . . . . . . . . . . . . . . . . . . . . . . . . . . 199
4.5
Comparison of estimated scintillation indices on two Galileo frequency
bands and three Galileo satellites . . . . . . . . . . . . . . . . . . . . . . 200
4.6
Ascension Island skyplot of Galileo satellites showing amplitude scintillation index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
4.7
Ascension Island skyplot of Galileo satellites showing phase scintillation
index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
4.8
Data collection setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
4.9
Flight route specular reflection points for two satellites. . . . . . . . . . 207
4.10 Water surface identification looking at the estimated CNR during acquisition of two GPS satellites, PRN 5 and 10. . . . . . . . . . . . . . . . . 208
4.11 Comparison of aircraft altitude estimation over 9 seconds either using
single differenced code phase, carrier phase or moving average undifferenced code phase measurements. . . . . . . . . . . . . . . . . . . . . . . 209
A.1 Cell and system probabilities vs acquisition threshold B for a C/N0 equal
to 40 dB-Hz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
A.2 Acquisition flow graph or state diagram of a standard serial approach. . 219
A.3 Acquisition time diagram showing the time necessary to move from one
cell to another across all possible paths. . . . . . . . . . . . . . . . . . . 220
A.4 Block scheme of a serial detector over two successive H0 cells showing
the false alarm and penalty time contribution to T0 . . . . . . . . . . . . 220
A.5 Mean acquisition time diagram or probability-weighted acquisition time
diagram weighting the possible paths by the corresponding probabilities,
mainly Pd and Pmd = 1 − Pd . . . . . . . . . . . . . . . . . . . . . . . . . 222
A.6 MAT and PD vs acquisition threshold for a P2P acquisition engine using
a serial search in both cases of uniform probability and worst case search
order with a C/N0 of 40 dB-Hz. . . . . . . . . . . . . . . . . . . . . . . . 227
A.7 MAT and PD vs acquisition threshold for a P2P acquisition engine using
a serial search in both cases of uniform probability and worst case search
order with a C/N0 of 30 dB-Hz. . . . . . . . . . . . . . . . . . . . . . . . 227
xxiii
LIST OF FIGURES
A.8 Comparison of a standard serial acquisition engine to a P2P engine in
terms of MAT vs acquisition threshold, with a reduced search space of
L = 12 candidate cells in case of P2P aiding and a C/N0 of 40 dB-Hz. . 228
A.9 Comparison of a standard serial acquisition engine to a P2P engine in
terms of MAT vs acquisition threshold, with a reduced search space of
L = 12 candidate cells in case of P2P aiding and a C/N0 of 30 dB-Hz. . 228
A.10 Comparison of a uniform, worst-case and a Gaussian probability search
orders in terms of MAT and PD vs acquisition threshold for a P2P serial
acquisition engine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
A.11 Comparison of the constant component in the MAT to the sum S components (uniform and Gaussian) vs acquisition threshold for a P2P acquisition engine with a C/N0 of 30 dB-Hz.
. . . . . . . . . . . . . . . . 233
A.12 Ratio of the uniform and Gaussian sum components as well as their
corresponding pMAT with a C/N0 of 30 dB-Hz. . . . . . . . . . . . . . . 233
B.1 Cell and system probabilities vs ACQ threshold B for various search
strategies and a C/N0 equal to 40 dB-Hz
. . . . . . . . . . . . . . . . . 238
B.2 MAT vs ACQ threshold indicating the range of the ACQ threshold for
which a verification procedure is justified. . . . . . . . . . . . . . . . . . 241
B.3 MAX/TC single-dwell time acquisition flow graph. . . . . . . . . . . . . 243
B.4 MAX/TC double-dwell time acquisition flow graph. . . . . . . . . . . . 243
B.5 Performance comparison of all three search strategies using a standard
ACQ engine and a single-dwell time detector with a C/N0 = 40 dB-Hz
and a Ti = 1 ms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
B.6 MAT and system PD performance of a P2P engine using a serial search
with a C/N0 = 40 dB-Hz and a Ti = 1 ms. . . . . . . . . . . . . . . . . . 246
B.7 Performance of a P2P ACQ engine using a serial search compared to a
standard ACQ engine using a MAX search with a C/N0 = 40 dB-Hz
and a Ti = 1 ms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
B.8 Performance of a P2P ACQ engine using a serial search compared to a
standard ACQ engine using a MAX/TC search with a C/N0 = 40 dB-Hz
and a Ti = 1 ms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
xxiv
LIST OF FIGURES
B.9 Performance of a P2P serial ACQ engine in both cases: Ti = 1 ms and
an integration time set according to the P2P C/N0 aiding, i.e. Ti = 25
ms with a C/N0 = 20 dB-Hz. . . . . . . . . . . . . . . . . . . . . . . . . 249
xxv
LIST OF FIGURES
xxvi
List of Tables
3.1
Loop filter design parameter piece-wise linear approximation as a function of normalized noise equivalent bandwidth for a phase step input . . 107
3.2
Loop filter design parameters piece-wise linear approximation as a function of normalized noise equivalent bandwidth for a frequency step input 114
3.3
Loop filter design parameters piece-wise linear approximation as a function of normalized noise equivalent bandwidth for a frequency ramp input123
3.4
Loop gain overdamped response thresholds . . . . . . . . . . . . . . . . 126
3.5
Loop gain instability thresholds . . . . . . . . . . . . . . . . . . . . . . . 130
3.6
Loop gain margins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.7
Loop phase margins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.8
Galileo E1 and E5a/b correlation loss due to bandlimiting . . . . . . . . 175
3.9
PLL tracking jitter thresholds . . . . . . . . . . . . . . . . . . . . . . . . 177
A.1 MAT for serial and maximum approaches . . . . . . . . . . . . . . . . . 223
A.2 Search space resolution and dimensions for a 40 dB-Hz signal. . . . . . . 225
A.3 Search space resolution and dimensions for a 30 dB-Hz signal. . . . . . . 225
A.4 P2P search order considerations showing the number of scans pj of an
H0 cell as a function of the cell number ij . . . . . . . . . . . . . . . . . . 230
A.5 P2P pj of a simple case where cell aiding has a PDF centered around
the true cell.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
B.1 MAT of serial search strategies . . . . . . . . . . . . . . . . . . . . . . . 242
B.2 MAT of MAX and MAX/TC search strategies
xxvii
. . . . . . . . . . . . . . 244
GLOSSARY
xxviii
Glossary
Roman Symbols
fˆ[k]
estimated NCO frequency at epoch k
fˆ0
estimated frequency output from acquisition engine or FLL
A1
zero delay or constant loop filter coefficient
A2
single delay loop filter coefficient
A3
double delay loop filter coefficient
AD
Doppler rate
BL
normalized noise equivalent bandwidth
BN
noise equivalent bandwidth
c
speed of light
C/N0
Carrier-to-noise ratio at RF front-end output
CE [n]
early version of spreading code
CL [n]
late version of spreading code
CP [n]
prompt version of spreading code
cs [n]
locally generated PRN code
C2φm
ratio of the NBD and NBP measurements at epoch m
D
inherent delay inside locked loop
xxix
GLOSSARY
D(z)
phase detector transfer function in z domain
d[n]
binary data sequence holding navigation message
ds
early minus late code spacing in chips
dsc
early minus late subcarrier spacing in chips
ef [k]
estimated frequency by frequency discriminator
ep [k]
estimated phase by phase discriminator
eu [k]
estimated phase by unambiguous frequency aided discriminator
F (z)
loop filter transfer function in z domain
f0
incoming signal true carrier frequency
fc
spreading code chip rate
fD
Doppler frequency
FL
loop sampling frequency
FS
signal sampling frequency
fφ
phase detector function
FIF
Intermediate Frequency
fsc
subcarrier frequency
G1 (f )
PSD of BOC(1,1) signal
G6 (f )
PSD of BOC(6,1) signal
Gs (f )
PSD of MBOC(6,1,1/11) signal
h
receiver height over reflecting surface
H(z)
closed locked loop system transfer function
He (z)
closed locked loop system error transfer function
xxx
GLOSSARY
I
Ionosphere error in code and carrier phase measurements
I[k]
in-phase correlation value at epoch k
IE
early in-phase point correlator
IL
late in-phase point correlator
IP
prompt in-phase point correlator
ICE
early spreading code in-phase point correlator
ICL
late spreading code in-phase point correlator
ICP
prompt spreading code in-phase point correlator
ISE
early subcarrier in-phase point correlator
ISL
late subcarrier in-phase point correlator
IV E
very early in-phase point correlator
IV L
very late in-phase point correlator
K
number of integration intervals over which the CNR is estimated
KB
Boltzmann constant
KD
phase detector gain
Lc
correlation loss due to front-end bandlimiting
Lφ
two-sided PD linear tracking region
M
number of integration intervals over which the NBP and WBP are estimated
N
integer number of cycles between satellite and user receiver
N (z)
NCO transfer function in z domain
N0
PSD value of AWGN on incoming signal
nA [n]
instantaneous AWGN on incoming signal
xxxi
GLOSSARY
Ni
PSD of input phase noise component
nI [k]
instantaneous noise on in-phase correlator value
nQ [k]
instantaneous noise on quadra-phase correlator value
NW (z)
apparent additive noise term in the phase detector in z domain
nW [k]
apparent additive noise term in the phase detector in time domain
NF (z)
frequency NCO transfer function
NP R (z)
phase and rate NCO transfer function
NRO (z)
rate only NCO transfer function
NV EM LE normalization value of the code delay discriminator
N BDm
Narrowband difference of in-phase and quadra-phase correlator outputs at
time tm
N BPm
Narrowband power measurement at time tm
N Pm
ratio of the NBP and WBP measurements
P
incoming signal total received power
Q[k]
quadra-phase correlation value at epoch k
QE
early quadra-phase point correlator
QL
late quadra-phase point correlator
QP
prompt quadra-phase point correlator
QCE
early spreading code quadra-phase point correlator
QCL
late spreading code quadra-phase point correlator
QCP
prompt spreading code quadra-phase point correlator
Qopt
functional on which optimum loop filter is based upon
QSE
early subcarrier quadra-phase point correlator
xxxii
GLOSSARY
QSL
late subcarrier quadra-phase point correlator
QV E
very early quadra-phase point correlator
QV L
very late quadra-phase point correlator
r
true range in meters between satellite and local user receiver
R(.)
correlation function between the incoming and the locally generated PRN
signals
S
code phase discriminator function
s[n]
incoming received signal
S4
Scintillation amplitude index
sc [n]
subcarrier signal
SE [n]
early version of subcarrier
SI
Signal intensity
SL [n]
late version of subcarrier
SP [n]
prompt version of subcarrier
S4N0
Scintillation amplitude index due to ambient noise
SN RC
post-correlation signal to noise ratio
T
Troposphere error in code and carrier phase measurements
Tc
spreading code period
Tg
Signal simulation time
TI
pre-detection integration interval
TL
loop sample interval
TS
analog to digital sampling period
Tef f
Effective RF front-end temperature
xxxiii
GLOSSARY
Tsc
subcarrier subchip period
wn
loop filter natural frequency
W BPm
Wideband power measurement at time tm
ZE
complex early correlator
ZL
complex late correlator
ZP
complex prompt correlator
G(z)
open loop transfer function in z domain
HN (z)
locked loop system noise transfer function
HeN (z)
locked loop system error noise transfer function
Greek Symbols
α
generalized parameter that accounts for phase input and ξ
β
double-sided complex bandwidth
ˆ
∆φ̇[k]
estimated NCO phase rate correction
δω
true error in estimated discrete frequency
δωmax
maximum frequency range satisfying linearity
δφ
true phase error between incoming and estimated phase
δts
satellite clock bias
δtu
user receiver clock bias
ǫφ
multipath and receiver noise error in code phase measurements
ǫρ
multipath and receiver noise error in code phase measurements
ˆ
φ̇[k]
estimated NCO phase rate
φ̂(z)
estimated NCO phase in z domain
xxxiv
GLOSSARY
φ̂[n]
estimated NCO phase in time domain
φ̂k
estimated NCO total phase at kth epoch mid-interval
φ̂k [n]
estimated NCO instantaneous total phase during epoch k
φ̂ek
estimated NCO total phase at end of kth interval
φ̂re
k
estimated NCO total phase at end of kth interval updated with the most
recent phase rate value
τ̂c
estimated spreading code delay
τ̂sc
estimated subcarrier delay
ϕ̂
estimated NCO partial phase
λ
signal wavelength
φ
carrier phase range measurement
φ(z)
true carrier phase in z domain
φ[n]
true carrier phase in time domain
ψ
satellite elevation angle
ρ
code phase range measurement
2
σN
output phase noise variance due to input noise only
σφ
square root of the tracking jitter at the output of a PLL
στ
square root of the tracking jitter at the output of a DLL/SLL
τ
spreading code delay
θe
receiver dynamic stress error
ϕ[n]
instantaneous incoming signal true partial phase
ξ
parameter to adjust tradeoff between noise power and transient energy
ζ
loop filter damping ratio
xxxv
GLOSSARY
δφk
true error in estimated phase at kth epoch mid-interval
µN P
average ratio of the NBP and WBP measurements
φk
true phase value at kth epoch mid-interval
σ∆φ
Scintillation phase index
Acronyms
A-GNSS Assisted-GNSS
A-GPS Assisted-GPS
ACQ
Acquisition
ADC
Analog to Digital Converter
ADR
Accumulated Doppler Range
AltBOC Alternative Binary Offset Carrier
ARNS
Aeronautical Radio Navigation Services
ASIC
Application Specific Integrated Circuits
ASPeCT Autocorrelation side peak cancellation technique
ATAN
Two-quadrant Arctangent
ATAN2 Four-quadrant Arctangent
AWGN Additive White Gaussian Noise
BCP
Basic Cross Product
BJ
Bump Jumping
BOC
Binary Offset Carrier
BPSK
Binary Phase Shift Keying
CAF
Cross-Ambiguity Function
xxxvi
GLOSSARY
CBOC
Composite Binary Offset Carrier
CDMA Code Division Multiple Access
CNR
Carrier-to-Noise Ratio
COH
Coherent
CP
Cross Product
CU
Continuous Update
DATAN Differential Two-quadrant Arctangent
DD
Decision Directed
DDCP
Decision Directed Cross Product
DDDP Decision Directed Dot Product
DDLL
Digital Delay Locked Loop
DE
Double Estimator
DFLL
Digital Frequency Locked Loop
DFT
Discrete Fourier Transform
DLL
Delay Locked Loop
DOIT
satellite receiver Dynamics, receiver Oscillator phase error, Ionosphere and
Troposphere errors
DP
Dot Product
DPLL
Digital Phase Locked Loop
DSLL
Digital Subcarrier Locked Loop
DU
Discrete Update
EGNOS European Geostationary Navigation Overlay System
EML
Early Minus Late
xxxvii
GLOSSARY
EMLE
Early Minus Late Envelope
EMLP
Early Minus Late Power
FDMA Frequency Division Multiple Access
FE
Front-End
FLL
Frequency Locked Loop
FOC
Full Operational Capability
FPGA
Field Programmable Gate Arrays
GAGAN GPS Aided Geo Augmented Navigation
GLONASS GLObalnaya NAvigatsionnaya Sputnikovaya Sistema or Global Navigation Satellite System
GNSS
Global Navigation Satellite Systems
GPS
Global Positioning System
ICD
Interface Control Document
IF
Intermediate Frequency
IIR
Infinite Impulse Response
IRNSS Indian Regional Navigation Satellite System
LBS
Location Based Services
LF
Loop Filter
LHCP
Left Hand Circularly Polarized
LNA
Low Noise Amplifier
LPF
Low Pass Filter
MAT
Mean Acquisition Time
MAX
Maximum
xxxviii
GLOSSARY
MAX/TC Maximum Threshold Crossing
MBOC Modified Binary Offset Carrier
MGD
Multiple Gate Discriminator
MSBAS Multi-functional Satellite Based Augmentation System
NBD
NarrowBand Difference
NBP
NarrowBand Power
NCO
Numerically Controlled Oscillator
NRZ
Non Return to Zero
OS
Open Service
P2P
Peer to Peer
PD
Phase Detector
PDF
Probability Density Function
PDI
Pre Detection Integration Interval
PGF
Probability Generating Function
PI
Proportional Integral
PLI
Phase Lock Indicator
PLL
Phase Locked Loop
PPP
Precise Point Positioning
PRM
Power Ratio Method
PRN
Pseudo-Random Noise
PRS
Public Regulated Service
PSD
Power Spectral Density
xxxix
GLOSSARY
PVT
Position Velocity Time
QPSK
Quadrature Phase Shift Keying
QZSS
Quasi Zenith Satellite Systems
RAT
Ratio
RF
Radio Frequency
RG
Reference Generator
RHCP
Right Hand Circularly Polarized
RMS
Root Mean Square
RNSS
Radio Navigation Satellite Services
SBAS
Satellite Based Augmentation Systems
SCC
SubCarrier Cancellation
SDR
Software Defined Radio
SI
Signal Intensity
SIS
Signal In Space
SLL
Subcarrier Locked Loop
SNR
Signal-to-Noise Ratio
SoL
Safety-of-Life
SSB
Single Side Band
SV
Space Vehicle
TC
Threshold Crossing
TOA
Time Of Arrival
TTC
Telemetry Tracking and Control
xl
GLOSSARY
TTFF
Time To First Fix
UFA
Unambiguous Frequency Aided
UHF
Ultra High Frequency
ULS
Up-Link Station
USRP
Universal Software Radio Peripheral
VEML Very Early Minus Late
VEMLE Very Early Minus Late Envelope
VSM
Variance Summing Method
WAAS Wide Area Augmentation System
WBP
WideBand Power
xli
GLOSSARY
xlii
Chapter 1
Introduction
The discovery of navigation, the process of following a set of directions to travel from
one point to another has been present since ancient times. According to Chinese storytelling, the compass was discovered and used in wars during foggy weather before
recorded history [1]. Navigation entails positioning or localization which is the process
of determing the position, velocity and orientation of an object [2].
In order to navigate, it is necessary to have a reference or a map besides positioning.
Maps have been used through ancient times as well, starting from marking trees, or
leaving traces, such as stone references and mountains. Later in time, pieces of parchment or clay tablets have been used to pass the spatial information of a region from
one person to another. These are now called maps. The first recorded maps date from
the Mesopotamian ancient civilizations 5000 years ago.
We have come a long way ever since, using satellites as a means for navigation but not
only. In particular, satellite based navigation started in early 1970s with the Global
Positioning System (GPS) program after three U.S. projects were explored including
the U.S. Navy Navigation Satellite System also known as Transit, the U.S. Navy’s
Timation (TIMe navigATION) system and the U.S. Air Force project 621B [1]. Each
of these systems experimented separately with the Doppler shift effect on a continuous
wave signal, an atomic clock to predict satellite orbits and reduce ground control update rate and a Pseudo-Random Noise (PRN) signal to modulate the carrier frequency.
In the same years, the Russian initiative was emerging and resulted in GLObalnaya
NAvigatsionnaya Sputnikovaya Sistema (GLONASS). Although the early motivations
and initiatives of such satellite based navigation were strictly coming from the military
1
1. INTRODUCTION
side, there has been a smooth transition towards providing civilian services as well as
Safety-of-Life (SoL) and commercial services. In fact, the recent trend of evermore
decreasing chip size with an increase of processing power as captured by Moore’s law,
has made the Location Based Services (LBS) an attractive and commercially promising
undertaking. As a consequence, indoor navigation has received considerable attention
in these last years.
Moreover, remote sensing is another field where Global Navigation Satellite System
(GNSS) has been rapidly gaining grounds in recent years. The latest trend is focused on the ionosphere scintillation impact not only on the final GNSS positioning
performance, but on the ability of GNSS receivers to maintain synchronization with
the incoming signals in order to solve the navigation equations. In this respect, it is
also possible to assess ionosphere scintillation severity through scintillation indices that
are basically measurements by the GNSS receiver as a product of its synchronization
process. Ionosphere scintillation monitoring by multi-GNSS constellations is a very
interesting subject indeed.
In both of these cases, the challenge is to maintain lock or synchronization with the incoming signal which is oftentimes buried in noise. The signal processing gain through
correlation processes is crucial for this goal, and increasing the coherent integration
interval over which the incoming signal is considered is the only solution for such a
feat. Therefore, the constituent elements of GNSS scalar tracking loops which are a
basic control instrument to maintain carrier phase and code synchronization, have to
be carefully designed to yield the desired estimated response.
1.1
Background and Motivation
GNSS is a highly complex navigation satellite system infrastructure based on three
segments: the space segment, the controlling ground segment and the user segment.
GNSS main function is to provide global (all over planet Earth) positioning and timing
capabilities through Time Of Arrival (TOA) measurements. GNSS does not only guarantee global positioning, navigation and time services but also extends to applications
in banking, agriculture, mapping, surveying, archeology, seismology, commerce, ionosphere scintillation monitoring, remote sensing (soil moisture, ocean salinity, type of
surface), wind speed monitoring, ocean surface monitoring, altimetry and many others.
2
1.1 Background and Motivation
In the last decade, LBS have met significant demand in the market where GNSS has
been coupled with technologies based on terrestrial communication links in order to
meet strict positioning accuracy requirements.
The reason behind this bundle of technology fusion is the shortcomings faced by the
GNSS when operating indoors where the typical signal power falls from -130 dBm to
-150 to -160 dBm which is approximately equivalent to a fall from 44 dB-Hz down to
24 and 14 dB-Hz [3]. In these conditions, a notable coherent gain through an increase
of the coherent integration interval is necessary to perform accurate carrier and code
synchronization also known as tracking. The objective of this kind of synchronization
lies in following or tracking the behavior of the received signal (both in terms of PRN
code and carrier). Tracking is performed by periodically correlating a local signal with
the incoming one and generating a correction to apply on the locally generated signal.
When the Signal-to-Noise Ratio (SNR) is lower than a certain threshold, it is highly
probable that the correction signal due to the correlation process is not reliable. In
this case, the receiver loses lock and a coarse tracking or acquisition of the signal is
needed. Acquisition is a coarse estimation counterpart of tracking and precedes it. A
false acquisition results in a penalty time that is incurred by carrier/code tracking loops
which are unable to lock. The Mean Acquisition Time (MAT) is a receiver acquisition
performance metric which takes into account this penalty time. This metric is an important parameter that defines the receiver performance given the fact that acquisition
can form a bottleneck for the start of the rest of the signal processing blocks that depend on it. The challenges faced by real GNSS signals during the tracking stage are
its amplitude fading (indoor/ionosphere scintillation conditions) as well as its carrier
phase fluctuations.
In conclusion, the motivation of this research activity is the ever-increasing importance
of using GNSS signals in harsh conditions. This importance stems from the growth of
indoor LBS catalyzed by market need and its potential due to the launch of multiple international GNSS. Reliable GNSS services guaranteed by robust tracking can also pave
the way to ionosphere scintillation monitoring from a network of stations distributed
across the Earth with an emphasis around the equatorial and polar regions. Robust
3
1. INTRODUCTION
GNSS tracking would also yield early identification of unexpected and abnormal activity of the Sun affecting the ionosphere. Guided by these motivations, this thesis will
undertake the design and analysis of the components comprising GNSS digital scalar
tracking loops with a focus on the Galileo Open Service (OS) pilot channels. This in
turn aims to provide robust and reliable tracking of weak GNSS signals in unfavorable conditions characterized by low signal power or Carrier-to-Noise Ratio (CNR) and
scintillation phenomena where both the amplitude and phase of the incoming signal
experience indeterministic fluctuations.
1.2
Literature Review and Limitations of Previous Work
The limitations of previous work concentrate on the design of the tracking loop filters
in analog domain and transformation to the digital domain instead of directly designing
in the digital domain. Although very recently the trend has been shifting towards a
design of tracking loops in the digital domain [4]-[5], the design of the phase detector
has been ignored in these studies by assuming it a simple constant gain independent
of the incoming CNR. In fact, it has been shown in [6] that the discriminator gain and
noise propagation through the discriminator can have a radical impact on the overall
performance of tracking loops especially in low CNR conditions. In addition, there is
no closed form solution relating the noise equivalent bandwidth of the loop filter to
the appropriate loop filter parameters. Nonetheless, there has not been any attempt to
bridge this gap by approximating the curve that defines the relationship between the
design specification and loop filter parameters by a linear piece-wise function.
In this thesis, Galileo receivers are the main focus and as such, Galileo specific code
tracking loops and in particular Galileo specific code discriminators or phase detectors
receive special attention. Galileo E1 OS signal features a multipeaked auto-correlation
function given its Composite Binary Offset Carrier (CBOC) nature. In this setting,
ambiguous tracking is a major threat encountered by Galileo E1 receivers inducing
a position error of the order of 150 meters. Previous literature has presented several
methods, each with its set of pros and cons, to tackle this issue. Some methods attempt
to get rid of the complexity brought about by the subcarrier signal, losing out the accuracy that comes with it. The single side lobe or Single Side Band (SSB) technique [2]
4
1.3 Research Objectives
and the SubCarrier Cancellation (SCC) technique [7] are listed in this category. On the
other hand, other methods seek the enhanced code tracking accuracy offered by these
subcarriers. These methods include Binary Offset Carrier (BOC) tracking with multiple gate discriminators Multiple Gate Discriminator (MGD) [8], the bump jumping
algorithm, the Autocorrelation side peak cancellation technique (ASPeCT) algorithm
[9], the Double Estimator (DE) as explained in [2] - [10] and the two-step Galileo CBOC
tracking algorithm [11]. The bump jumping algorithm has the downside of taking too
long to converge while the ASPeCT and dual estimator which has a third tracking loop
dedicated to the subcarrier both yield a more complex loop implementation.
1.3
Research Objectives
The main objective of this thesis is to design GNSS specific scalar carrier/code tracking
loops tailored for pilot channel use and for extended integration intervals. Increasing
the integration interval to several tens of milliseconds is crucial in some applications
such as urban canyons, indoor environments, as well as ionosphere scintillation scenarios characterized by a low signal-to-noise ratio and low phase fluctuations.
In this respect, various carrier frequency/phase discriminators are to be analyzed indepth in order to select an appropriate integration interval to be used together with the
optimum Phase Detector (PD) given a certain scenario and an input SNR. Moreover,
novel Galileo code discriminators are to be designed to exploit the full potential offered
by CBOC modulated signals without adding much complexity. In fact, considering that
both SSB and SCC do not either fully or efficiently exploit the subcarrier presence, and
that Bump Jumping (BJ), ASPeCT and DE are either not efficient or add too much
complexity, the MGD is considered to be a good alternative. The focus will be directed
in the design of a four taps Very Early Minus Late Envelope (VEMLE) discriminator that yields an unambiguous curve by using two pairs of early and late correlators,
i.e. the usual early and late correlators and two additional very early and very late
correlators. In addition, the DE is to be explored designing appropriate discriminator
functions for the delay and subcarrier locked loops.
Another objective is to provide a methodology for loop filter design that minimizes
5
1. INTRODUCTION
both the energy in the transient response of the loop error and the loop output thermal noise power or tracking jitter, taking into account various discriminator models
as mentioned previously. In addition, the derivation of the loop filter expression and
parameters are to be derived following an approximate linear function that relates the
latter with the loop filter design metrics, such as the integration interval and loop filter
noise equivalent bandwidth. The theoretical performance of such loop filters is to be
assessed and compared with classical digital loop filters designed in the analog domain.
The robustness of the design of such GNSS carrier/code tracking loops is in turn to be
verified by Galileo simulated and real signals as well as ionosphere scintillation affected
signals.
1.4
Thesis Outline
An introduction and history of navigation and satellite based navigation systems has
been put forward in this chapter. The current scope of GNSS services targeted for
civilian use and their respective challenges are presented, mainly indoor navigation
and tracking of ionosphere scintillation affected GNSS signals. The motivation and
background surrounding these challenges as well as previous work and its limitations
are explored. Based on these limitations, the research objectives are formulated and
carried out in the next chapters.
Chapter 2 offers a global view of the modern multi-constellation GNSS infrastructure, frequency plan and its diverse applications. A special attention is given to the
European GNSS initiative known as Galileo, where its OS signals and properties are
studied. The basic correlation operation in GNSS receivers is studied and synchronization performance metrics are presented. Ionosphere scintillation indices or scintillation
estimation metrics are also defined.
The main contribution of this chapter is the implementation of a Galileo OS signal and
ionosphere scintillation software simulation tool along with several design parameters
to be specified to control the resulting output signal. Finally, a general overview of
the typical signal processing blocks of a GNSS receiver is presented starting from the
Front-End (FE) down to the tracking stage.
6
1.4 Thesis Outline
Chapter 3 introduces the basic concepts to be considered for robust tracking of GNSS
and specifically Galileo OS signals. The design accounts for weak signals with a low
CNR where long integration intervals is a must for successful tracking in terms of carrier frequency/phase as well as code delay. The main considerations are in terms of the
phase detector (PD), the loop filter and the Numerically Controlled Oscillator (NCO),
all of which are designed in digital domain.
In this respect, various coherent and noncoherent carrier frequency and phase discriminators are analyzed in-depth. A performance comparison is carried out for different
SNR inputs to yield the optimum integration interval for a specific discriminator, taking into account the corresponding frequency/phase range that it is able to estimate
reliably.
In addition, code phase discriminators specific to Galileo CBOC signals are explored.
A MGD structure is considered to be a good alternative considering that other techniques in the literature do not either fully or efficiently exploit the subcarrier presence
or add too much complexity. A two-steps normalized four taps VEMLE discriminator
is presented that yields an unambiguous curve by using two pairs of early and late
correlators, i.e. the usual early and late correlators and two additional very early and
very late correlators.
Moving to the loop filter component of scalar tracking loops, a comprehensive set of
loop filters that are considered in literature are collected. These classical loop filters
are designed in the analog domain and then mapped to the digital domain. Due to the
shortcomings of such filters when coupled with long integration intervals, a detailed
derivation of the optimum loop filters designed in the digital domain is undertaken to
minimize the phase output noise power and transient energy induced by different phase
input signals (phase step, frequency step and frequency ramp). Moreover, a simple line
approximation is performed to yield these optimum loop filters given a set of desired
loop filter specifications and integration intervals.
The theoretical performance of such optimum loop filters is then assessed and compared with classical digital loop filters designed in the analog domain. The stability
degree is tested through Bode plots and root locus plots where the loop gain is chosen
to be the varying parameter. Gain and phase margins are also visited to analyze the
system degree of stability for a range of frequencies. Finally, the performance of all
the aforementioned loop filters is compared through simulation of the designed GNSS
7
1. INTRODUCTION
scalar tracking loops designed all along this chapter.
The last analysis in this chapter concerns the receiver bandlimiting effects on the tracking performance in terms of both carrier and code phase thermal noise tracking jitter
where the main focus is on the CBOC and Binary Phase Shift Keying (BPSK) modulated Galileo E1 and E5a/b OS signals.
Chapter 4 considers two experimental applications of the GNSS pilot channel tracking loop design presented in Chapter 3. It applies the acquired concepts on simulated
Galileo OS signals affected by ionosphere scintillation amplitude and phase fluctuations.
A performance assessment is carried out in terms of frequency and phase tracking error
given that the signals are simulated and the correct frequency and phase values are
known at each integration interval. Furthermore, Galileo real signals collected in the
equatorial region of Ascension Islands are tested with the aforementioned design of
Galileo scalar tracking loop. The second part of the chapter presents results obtained
during a reflectometry experiment where carrier phase measurements are used in order
to perform altimetry measurements of a flying aircraft on top of rivers in the Italian
Piemonte region.
Finally, appendices A and B explore the MAT performance metric in standard and
collaborative Peer to Peer (P2P) networks. An intuitive technique to derive the MAT
is developed for the serial search case where a special algorithm that follows a specific
search order is developed and analyzed. Different search strategies are considered in
appendix B and a comparison of standard versus P2P acquisition engines is performed
after choosing the best search strategy relative to each case.
Moreover, here is a list of publications that are the fruit of my PhD study:
• Technique for MAT analysis and performance assessment of P2P Acquisition
Engines [12] published on IEEE.
• Mean acquisition time of GNSS peer-to-peer networks [13] published on IEEE.
• First Joint GPS/IOV-PFM Galileo PVT estimation using carrier phase measurements [14].
8
1.4 Thesis Outline
• A flight in the Piedmont region for water surface detection and altimetry experimentation [15] published on IEEE.
• Galileo Tracking Performance Under Ionosphere Scintillation [16] won the best
paper award in the Fourth International Colloquium on Scientific and Fundamental Aspects of the Galileo Programme, session 3A: Ionosphere 2.
• Extended Integration Time for Galileo Tracking Robustness Under Ionosphere
Scintillation [17] published on IEEE.
• Assessment of Galileo OS Signals and Tracking Algorithms during Equatorial
Ionosphere Scintillation [18] to be submitted to the IEEE transactions on AES.
9
1. INTRODUCTION
10
Chapter 2
GNSS, signals and receivers
This is an introductory chapter to present a global view of the modern GNSS, its infrastructure both in space and on ground as well as the spectrums used and diverse
applications that stem from GNSS. In addition, the European GNSS initiative known
as Galileo is the main focus of this work and thus Galileo OS signal structure is studied
together with its spectrum and auto-correlation properties. The basic correlation operation that lies behind the successful synchronization of the GNSS signals is explained,
together with standard metrics used to assess the resulting performance. Ionosphere
scintillation indices or scintillation estimation metrics are also presented. A Galileo OS
signal and ionosphere scintillation software simulation tool is implemented with several
design parameters to be specified to control the resulting output signal. In addition, a
general overview of the typical signal processing blocks of a GNSS receiver is presented
starting from the FE down to the Position Velocity Time (PVT) computation block.
2.1
Satellite Navigation Systems
GNSS is a general term to indicate a global navigation satellite system that provides
continuous positioning, navigation, timing and many other capabilities over the entire
terrestrial globe. It encompasses three large segments that define any GNSS system,
mainly the space, ground and user segments.
The space segment comprises a constellation of satellites orbiting the Earth at a certain
altitude and orbital characteristics such as orbital inclination, orbital plane and nominal
revolution period. These satellites are equipped with highly specialized instruments
11
2. GNSS, SIGNALS AND RECEIVERS
including very stable atomic clocks that drive the signals transmission and which form
the core of the satellite navigation concept. The main functions of the space segment
are [19]:
• Constantly generating and transmitting code and carrier phase signals.
• Storing and broadcasting the navigation message uploaded by the control segment.
The space segment is undergoing extensive modernization and in particular the two
current legacy systems. The U.S. GPS system is in constant modernization, and the
Russian GLONASS system is restoring its system to a full 24-satellite constellation with
plans to transmit Code Division Multiple Access (CDMA) instead of Frequency Division Multiple Access (FDMA) signals and considering a new frequency band (L5/G3).
On the other hand, the two new GNSS systems represented by the European Galileo
and the Chinese Compass systems have started launching their satellites in recent years.
It is estimated that in 2020 when all four of these global navigation systems reach their
full deployment, a total of 113 satellites will be present in space [20].
In addition to global navigation satellite systems, there are regional navigation satellite
systems providing regional coverage and designed for general use, such as the Indian
Regional Navigation Satellite System (IRNSS), the Japanese Quasi Zenith Satellite Systems (QZSS), and the Chinese Beidou-1 which will evolve from the regional system into
the global system Beidou-2 or COMPASS. Moreover, aviation-specific regional systems
represented by Satellite Based Augmentation Systems (SBAS) systems such as the European European Geostationary Navigation Overlay System (EGNOS), the U.S. Wide
Area Augmentation System (WAAS), the Japanese Multi-functional Satellite Based
Augmentation System (MSBAS), and the Indian GPS Aided Geo Augmented Navigation (GAGAN) offer extra satellites that offer better signal accuracy, availability and
integrity for civilian aviations users.
The ground segment is the brain of the GNSS system. It has the following functions
[19]:
• Control and maintain the status and orbital configuration of the satellite constellation.
12
2.1 Satellite Navigation Systems
• Predict the ephemeris or satellite position information as well as satellite clock
evolution.
• Keep track of the GNSS time scale.
• Update the navigation message to be uploaded to the satellites.
Each of the aforementioned four GNSS systems has a specific ground segment structure, but let us mention that the Galileo Full Operational Capability (FOC) phase will
involve two redundant ground control centers, five Telemetry Tracking and Control
(TTC) stations, nine Mission Up-Link Stations (ULS) and a world-wide network of
Galileo sensor stations. Further details on the Galileo ground segment as well as the
structure of each of the remaining three GNSS ground segments can be found in [19].
In conclusion, the user segment is comprised of GNSS receivers which process the transmitted signals, compute pseudoranges which are estimates of the distance between the
receiver antenna and the satellite. The next step is to solve the navigation equations
and compute their relative position and very accurate time to finally provide navigation services by the use of appropriate maps. The basic elements of a GNSS receiver
include a dedicated single or multiple frequency antenna, a radio front-end, a baseband
signal processing module, and a human/machine interface. Further details are found
in Section 2.4.
2.1.1
GNSS concept
GNSS satellites transmit code modulated carrier phase signals. Systems based on
CDMA transmission use the same carrier frequency but use a different PRN code sequence to enable the user receiver to distinguish between different satellites signals.
Through various signal synchronization modules including acquisition, tracking and
data demodulation, it is possible to compute the time it takes for the satellite transmitted signal to reach the user receiver. This time interval is converted to a distance
range by assuming a constant signal travel speed equal to the speed of light. In a
three-dimensional world, it is possible to use three such measurements to construct
three spheres and deduce two intersecting points. However, one of the intersecting
points is close to the Earth’s surface while the other is not and the user receiver position can easily be deduced. Moreover, the time that is measured on board of satellites
13
2. GNSS, SIGNALS AND RECEIVERS
is not synchronized to the time that is measured by the user receiver, and thus a fourth
measurement obtained by a fourth satellite is necessary to deduce the user position estimate with an acceptable error. This is possible thanks to the knowledge and tracking
of the satellites position in space.
2.1.2
Frequency plans
As previously mentioned, the GNSS space segment is going through an extensive modernization process. The GPS system which currently occupies the three frequency
bands denoted by L5, L2 and L1 bands as shown in Figure 2.1, launched the new Block
II-R modernized satellites as early as 26 September 2005. These satellites transmit the
new military signal and the more robust civil signal L2C. By 28 May 2010, one of the
GPS Block II-F modernized satellites was launched which was designed to transmit the
third civil signal on the SoL L5 frequency band. The GPS Block III satellites on the
other hand are designed to transmit the fourth civil signal, the L1C signal on the L1
frequency band.
The GLONASS system which currently occupies the three frequency bands L5/G3,
G2 and G1 bands as shown in Figure 2.1, launched the second generation GLONASSM (or Uragan-M) satellites as early as 2001. These satellites started transmission of a
second civil signal on the G2 band. By 26 February 2011, one of the GLONASS-K (or
Uragan-K) third generation satellites were launched which was designed to transmit
CDMA signals for civilian applications on the new L5/G3 band as well as the G2 and
G1 bands which also transmit using the FDMA technique.
Figure 2.2 shows that the Galileo system occupies the three frequency bands denoted
by E5, E6 and E1 bands with different modulation types and covering different services.
The Beidou system also occupies the three frequency bands denoted by B2, B3 and B1
bands as shown in Figure 2.1.
2.2
Galileo OS signal structure
The Galileo OS signals are open source free of charge signals designed to provide competitive position and timing performance for the user community. The Galileo OS
14
2.2 Galileo OS signal structure
Figure 2.1: GNSS frequency plan and modulations for the GPS, GLONASS,
Galileo and Beidou (Compass) systems - showing the legacy and proposed version of
GLONASS as well as Compass versions II and III (Source: Stefan Wallner)
15
2. GNSS, SIGNALS AND RECEIVERS
Figure 2.2: GPS and Galileo frequency plan - with respect to Aeronautical Radio
Navigation Services (ARNS) and Radio Navigation Satellite Services (RNSS) frequency
bands.
mainly consists of three frequency bands, E1 and E5a/b as described in the Galileo
OS Interface Control Document (ICD) [21]. The transmitted power on both of these
frequency bands is divided onto two channels, the data and pilot channels. Due to
plans to extend the integration time to more than one code period, only one of these
channels is considered in this thesis, the pilot channel.
2.2.1
Galileo E1 OS signal
The Galileo E1 frequency band is found in the upper L-Band in the allocated spectrum for RNSS as well as the ARNS [21]. It is centered around 1575.42 MHz, the
same center frequency as that of the GPS L1 frequency band. The signal modulation scheme for Galileo E1 is shown in Figure 2.3 where sE1 (t) is the Galileo E1
OS band-pass signal as transmitted from present and future Galileo satellites. It is
modulated by a spreading code CE1−B (t) and a navigation data message DE1−B (t)
in the data channel and a different spreading code CE1−C (t) which includes the secondary code in the pilot channel, as well as a weighted sum of two subcarrier signals
αscE1−BOC(1,1) (t) ± βscE1−BOC(6,1) (t) (higher weight α = 10/11 to the lower rate subcarrier and lower weight β = 1/11 to the higher rate subcarrier).
The combination of these two subcarriers make up the CBOC modulation CBOC(6,1,1/11)
16
2.2 Galileo OS signal structure
in the time domain. In fact, the data and pilot channel subcarriers are equal to
the weighted sum and difference between the narrowband and the wideband signals
BOC(1,1) and BOC(6,1) respectively [21]. As a consequence, a certain orthogonality
exists to separate the data channel from the pilot channel. The subcarrier and spreading
code are perfectly time aligned so that a rising edge in the spreading code corresponds
to a possible rising edge in the subcarrier signal, and in any case to a different subchip.
This is the cornerstone of tracking the delay of the spreading code and subcarrier signal
product considering it a single unique variable for both of the signals. This concept is
further discussed in detail in Section 3.4.4.1.
Figure 2.3: Galileo E1 OS modulation scheme - on both data and pilot channels
down to the pass-band signal as generated on board Galileo satellites.
In the frequency domain, it is known as the modified binary offset carrier MBOC(6,1,1/11)
and its power spectral density Power Spectral Density (PSD) is defined as:
Gs (f ) =
10
1
G1 (f ) + G6 (f )
11
11
(2.1)
where G1 (f ) and G6 (f ) are the PSD of the binary offset carrier BOC(1,1) and BOC(6,1)
signals. This is the total PSD of the Galileo E1 in-phase channel. In fact, the E1 signal
allocates data/pilot channels on the same in-phase I channel while the quadra-phase Q
channel is reserved for the Public Regulated Service (PRS) which has a wider frequency
17
2. GNSS, SIGNALS AND RECEIVERS
bandwidth as shown in Figure 2.1. The Galileo OS E1 reference bandwidth is specified
to be β = 24.552 MHz as compared to the GPS L1, L5 and Galileo E5a/b reference
bandwidths of 20.46 MHz. However, correlation losses due to bandlimiting is discussed
in Section 3.6 where it is shown that a two-sided bandwidth of 14.322 MHz is enough
to guarantee the improved accuracy brought about by the design of the Galileo E1
ranging code including its data and pilot channel subcarriers.
The Galileo E1 differs from the GPS L1 signal modulation scheme in that it has an
additional subcarrier defined in the time domain as CBOC modulation, more specifically CBOC(6,1,1/11). Figure 2.4 shows 5 sampled chips of Galileo E1 signal’s pure
spreading code relative to PRN 1 in the top, and then the product of that spreading
code with the pilot channel subcarrier using a sampling frequency of 16.3676 MHz.
As a consequence of the CBOC subcarrier, and the BOC subcarrier in general, the
code auto-correlation function R(τ ) exhibits two side peaks around zero code phase as
seen in Figure 2.5. Moreover, it is shown that the Galileo E1 pilot channel exhibits a
sharper peak than the corresponding data channel. This is due to the orthogonal pilot
channel subcarrier that is in anti-phase with respect to the data channel.
The GPS L1 signal on the other hand, is a CDMA signal as well but is characterized
by a triangular shape normalized auto-correlation function as seen in Figure 2.6(b).
Figure 2.6 shows the sampled and non-sampled versions of a portion of the GPS CDMA
spreading signal relative to PRN 1. In Figure 2.6(a), the first 50 chips are plotted and
the relative auto-correlation values for the range of lags between ±50 chips from the
true code delay.
The Galileo E1 OS signal ranging codes are built of primary and secondary codes by
using a tiered code construction [21]. The primary code chip rate is 1.023 Mcps, similar
to the GPS L1 C/A and GPS L1C signals. The primary code length is 4 ms and its
length is 4092 chips. The primary codes of the data/pilot channels are long pseudorandom noise PRN optimized memory codes and are published in the Galileo OS ICD [21].
The secondary code on the pilot channel is unique for all satellites. The data channel
is deprived of a secondary code but instead is multiplied by the navigation data, while
the pilot channel is deprived of the navigation data and multiplied by a secondary code
of length 25 chips and duration 100 ms.
18
2.2 Galileo OS signal structure
Galileo E1 pilot channel with PRN = 1
1
CA code
0.5
0
−0.5
CA code and subcarrier
−1
0
0.5
1
1.5
2
2.5
3
3.5
chips
Galileo E1 pilot channel with PRN = 1
0.5
1
1.5
2
4
4.5
5
4
4.5
5
2
1
0
−1
−2
0
2.5
chips
3
3.5
Figure 2.4: Galileo E1 spreading sequence and subcarrier - the CBOC(6,1,1/11)
modulation for PRN 1 using a sampling frequency of 16.3676 MHz.
Sampling frequency 16.367 MHz
Normalized auto−correlation
1
E1 data channel CBOC(6,1,1/11)
BOC(1,1)
E1 pilot channel CBOC(6,1,1/11)
0.5
0
−0.5
−1.5
−1
−0.5
0
Lags in chips
0.5
1
1.5
Figure 2.5: Galileo E1 total code auto-correlation function - of PRN 1 showing a
few chips around the true code delay and using a sampling frequency of 16.3676 MHz.
19
2. GNSS, SIGNALS AND RECEIVERS
GPS L1 PRN = 1
CA code value
1
0.5
0
−0.5
Auto−correlation value
−1
0
5
10
15
20
25
chips
30
35
40
45
50
−40
−30
−20
−10
0
chips
10
20
30
40
50
1000
500
0
−500
−50
(a) GPS L1 CA code and auto-correlation function for the first chips
GPS L1 PRN = 1
CA code value
1
0.5
0
−0.5
Normalized Auto−correlation
−1
0
100
200
−600
−400
300
400
500
Samples
Sampling frequency 16.367 MHz
600
700
800
−200
400
600
800
1
0.5
0
−0.5
−800
0
Samples
200
(b) GPS L1 CA code and auto-correlation function for the first samples
Figure 2.6: GPS L1 CA code and auto-correlation function - GPS L1 CA code
for PRN 1 and auto-correlation function in terms of chips and samples
20
2.2 Galileo OS signal structure
Due to the overlaying secondary code on the primary code, the auto-correlation function of the Galileo E1 pilot channel signal considered over several code periods, presents
several side peaks at the boundaries of the secondary code chips as shown in Figure
2.7. The data channel on the other hand shows a periodic nature due to absence of
secondary code chips.
Figure 2.7: Galileo E1 tiered code auto-correlation function - on both data and
pilot channels with a sampling rate of 16.3676 MHz.
2.2.2
Galileo E5 OS signal
The Galileo E5a frequency band is found in the lower L-Band and is centered around
1176.45 MHz, the same center frequency as that of the GPS L5 frequency band as can
be seen in Figure 2.1. Similarly, it can be seen that the Galileo E5b frequency band is
also found in the lower L-Band and is centered around 1207.14 MHz. Both frequency
bands have a bandwidth of 20.46 MHz and are situated in the allocated spectrum for
RNSS as well as the ARNS used by civil aviation users [21].
If the entire E5 wideband signal is considered as in an Alternative Binary Offset Carrier
AltBOC(15,10) modulation, then the existence of subcarriers is imperative. However,
the E5a/b signals, when considered as separate frequency bands, are Quadrature Phase
21
2. GNSS, SIGNALS AND RECEIVERS
Shift Keying (QPSK) signals, or even BPSK(10) signals when one of the data/pilot orthogonal channels is taken into account. The value 10 is present in BPSK(10) and
AltBOC(15,10) because the E5a/b chipping rate is 10.23 MHz. The signal modulation
scheme of Galileo E5a signal is shown in Figure 2.8 where sE5a (t) is the Galileo E5a
OS band-pass signal as transmitted from present and future Galileo satellites.
Figure 2.8: Galileo E5a OS modulation scheme - on both data and pilot channels
down to the pass-band signal as generated on board Galileo satellites.
The E5a signal is modulated by a spreading code CE5a−I (t) and a navigation data
message DE5a−I (t) in the data channel and a different spreading code CE5a−Q (t) in the
pilot channel. Both data and pilot channel spreading codes include the secondary code
and each of the channels is multiplied by cosine and sine of the center frequency of
the E5a band. Due to a chipping rate of 10.23 MHz, the minimum sampling frequency
that satisfies the Nyquist sampling theorem at baseband is 20.46 MHz. Moreover, unlike the Galileo E1 OS channels, the E5a/b data/pilot channels are characterized by
orthogonality.
Both of these channels primary PRN codes can be generated using linear feedback
shift registers and last 1ms while the secondary codes are published in hexadecimal
format in [21]. The data channel offers a unique secondary code for all satellites (20
22
2.3 Simulation/estimation of Galileo signals/CNR and ionosphere
scintillation signals/indices
ms for E5a data channel and 4 ms for E5b data channel) while a different secondary
code of 100 ms is used for every satellite on the pilot channel.
The auto-correlation function of a single code period of the E5a/b Galileo signals shown
in Figure 2.9 is the typical BPSK auto-correlation function (similar to that of GPS L1
C/A code) where a single peak is present at zero phase lag. Due to the overlaying secondary code on the primary code, the auto-correlation function of the Galileo E5a/E5b
pilot channel signal considered on several code periods, presents several side peaks at
the boundaries of the secondary code chips as shown in Figure 2.10. The Galileo E5a
data channel on the other hand shows a periodic nature due to the lower number of
secondary code chips with respect to the pilot channel (20 instead of 100) such that
the unity peak is repeated 5 times at different code delay values.
Sampling frequency 20.46 MHz
1
0.9
E5a data channel
E5a pilot channel
Normalized auto−correlation
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
−1.5
−1
−0.5
0
Lags in chips
0.5
1
1.5
Figure 2.9: Galileo E5a total code auto-correlation function - relative to PRN 1
showing a few chips around the true code delay and using a sampling frequency of 20.46
MHz.
2.3
Simulation/estimation of Galileo signals/CNR and ionosphere scintillation signals/indices
Simulation of Galileo signals follows the same basic scheme used to simulate GNSS
signals with some peculiarities mainly the primary/secondary codes specific to Galileo
23
2. GNSS, SIGNALS AND RECEIVERS
Figure 2.10: Galileo E5a tiered code auto-correlation function - on both data and
pilot channels with a sampling rate of 20.46 MHz.
with the corresponding chip rate and code period as well as the characteristic modulation scheme, including the subcarriers, the data/pilot channels and the navigation
data bits specified in the Galileo ICD [21]. It is widely known that it is possible to estimate the CNR of the signal at the output of a GNSS receiver antenna, by considering
the in-phase and quadra-phase correlator outputs using two techniques Power Ratio
Method (PRM) and Variance Summing Method (VSM) widely used in the literature.
Ionosphere scintillation signals are simulated in terms of multiplicative amplitude time
histories and additive phase time histories using the Cornell model [22]. The scintillation severity is assessed by two scintillation indices S4 and σ∆φ which make use of
the in-phase and quadra-phase correlator outputs as well as incoming carrier frequency
and phase estimates.
2.3.1
GNSS signal definition
The received or Intermediate Frequency (IF) signal from a single Space Vehicle (SV) or
satellite at the input of a GNSS receiver is denoted as s[n] and is generically expressed
as:
s[n] =
√
P cs [n − τ ]ej(2πf0 nTS +ϕ[n]) + nA [n]
24
(2.2)
2.3 Simulation/estimation of Galileo signals/CNR and ionosphere
scintillation signals/indices
where P is the total received signal power, cs [n − τ ] is the spreading code delayed by
τ expressed in samples (and which includes a synchronized subcarrier signal sc [n − τ ]
in the case of BOC modulated signals, i.e. Galileo), f0 is the incoming signal true
carrier frequency including the front-end intermediate frequency as well as the Doppler
frequency, TS is the analog to digital sampling period, φ[n] is the instantaneous carrier
partial phase and nA [n] is an additive Gaussian complex noise term which represents
thermal noise and is assumed to be white with a single sided PSD of N0 Watts/Hz. It
is worth mentioning that the binary data sequence holding the navigation message d[n]
is present on the data channel or the in-phase part of the signal but has been omitted
in this representation for simplicity.
2.3.2
GNSS signal recovery: correlations
In a typical GNSS receiver, the received signal is correlated with a locally generated
signal with appropriate code, carrier frequency and carrier phase delay τ̂ , ω̂ and φ̂
respectively. As mentioned earlier, the resulting in-phase and quadra-phase correlations
are used to measure the SNR as well as to estimate the carrier Phase Lock Indicator
(PLI) and CNR, which is a code delay lock indicator. It is worth noting that the
SNR is a GNSS receiver estimate by definition and mainly depends on the integration
time while the CNR is intrinsic to the input signal power and the Radio Frequency
(RF) front-end thermal noise. The in-phase and quadra-phase correlations at each
integration interval or epoch k yield [6]:
I[k] =
√
Q[k] =
√
P d[k]R(τ [k])sinc
P d[k]R(τ [k])sinc
δω[k]TI
2
cos(δφ[k]) + nI [k]
(2.3)
δω[k]TI
2
sin(δφ[k]) + nQ [k]
(2.4)
where R(.) is the correlation function between the incoming and the locally generated
PRN signals, δφ = φ − φ̂ and δω = ω − ω̂ are respectively the estimated phase and
frequency error at a given epoch k and nI [k] and nQ [k] are the instantaneous noise on
in-phase and quadra-phase correlations.
It is stated in [23] that the CNR estimates are considered in code phase lock detectors
while PLI are used by carrier phase lock detectors. Moreover, [23] states that PLI are
normalized estimates of the cosine of twice the carrier phase error and hence the closer
25
2. GNSS, SIGNALS AND RECEIVERS
the error is to zero, the closer the PLI is to unity. In fact, it is proven in [24] that
phase lock requires that input and output signals or voltages be in quadrature, that is,
manually shifted by π/2 inducing a zero carrier phase error estimate.
2.3.3
Carrier phase and code delay lock indicators
A common metric used in the GNSS literature to express the incoming signal power with
respect to noise present in the measurement or processing GNSS receiver is the CNR.
It gives an idea of the difficulty and likelihood of successfully using the received signal
with acceptable positioning accuracy. Unlike the signal to noise ratio which uses GNSS
receiver correlator outputs, discussed shortly after, the CNR is not a measurement by
the receiver but rather an expected value given the receiver hardware architecture as
well as the antenna incident signal power. The CNR refers to the output of a GNSS
receiver’s RF front-end and is defined as:
C
= 10log10 P − 10log10 N0
N0
(2.5)
where P , as previously mentioned, is the power of the received signal or signal strength
and N0 expressed in W/Hz depends on the effective RF front-end temperature which
includes the antenna temperature and the RF front-end temperature and consequently
noise figure in the following manner [3]:
N0 = KB Tef f
(2.6)
Although the CNR is strictly dependent on the receiver and signal characteristics, it
is possible to obtain CNR estimates by using correlator outputs to measure the signal
power in narrow and wide bandwidths. In fact, there are at least two methods to
estimate the CNR [25], the PRM and the VSM both of which are widely used in
literature. The PRM uses wideband and narrowband power measurements while the
VSM method only makes use of raw power measurements at a rate corresponding
to the integration intervals. NarrowBand power (NBP) measurements are obtained by
integrating the raw correlator output measurements and squaring at the next step, while
the WideBand Power (WBP) measurements consist in integrating the squared values
of the correlator outputs. The expressions of N BPm and W BPm at time tm = m.M.TI
26
2.3 Simulation/estimation of Galileo signals/CNR and ionosphere
scintillation signals/indices
with m = 1, 2, ... where M is the number of integration intervals over which they are
estimated [23]:
N BPm =
M
X
I[k]
k=1
W BPm =
M
X
!2
M
X
+
Q[k]
k=1
I 2 [k] + Q2 [k]
k=1
!2
(2.7)
(2.8)
It should be noted that the NBP measurements rely on the integration of raw correlator
outputs and as such have to be stripped of any modulation including the navigation
data bits and secondary code chips. In this thesis, the pilot channel is considered so
that data bits are of no concern and the secondary code chips present at each primary
code period are wiped off after computing the secondary code delay in the acquisition
engine. Integration intervals TI have to be chosen to be a multiple of the primary code
period, i.e. 4 ms and 1 ms for Galileo E1 and E5a/b signals respectively.
The CNR estimate is derived using the ratio of these power measurements N Pm and
its corresponding average µN P in the following manner:
Ĉ 1 µN P − 1
= 10 log10
N0 TI M − µ N P
(2.9)
P RM
where
µN P =
h
1 X
N Pm
h
(2.10)
m=1
is the average noise power over h = K/M values, K being a multiple of M representing
the number of integration intervals over which the CNR is estimated and the estimated
noise power is :
N Pm =
N BPm
W BPm
(2.11)
The VSM method on the other hand only uses the mean P̄ and variance σP of the raw
power estimates Px [k] = I 2 [k] + Q2 [k] without any accumulation and the CNR estimate
is:
where
Ĉ N0 = 10 log10
V SM
µP =
1 µP
2TI µN
p
P̄ 2 − σP
27
(2.12)
(2.13)
2. GNSS, SIGNALS AND RECEIVERS
and
1
µN = (P̄ − µP )
2
(2.14)
As previously mentioned the CNR estimate is a code delay lock indicator used inside a
code lock detector. Carrier lock detectors on the other hand use PLI which estimates the
cosine of twice the carrier phase error by using two variables, the NBP as previously
defined and NarrowBand Difference NBD measurements defined as the narrowband
power difference of in-phase and quadra-phase correlator outputs at time tm :
N BDm =
M
X
I[k]
k=1
!2
−
M
X
k=1
Q[k]
!2
(2.15)
The carrier PLI is then given at time tm by the ratio of these two variables:
C2φm =
2.3.4
N BDm
N BPm
(2.16)
Galileo OS signal simulation
Galileo E1 and E5a/b OS signal (data and pilot channels) simulation routine is developed and written in Matlab language. Taking into consideration the generic expression
of the received signal at the input of a GNSS receiver in Equation 2.2, a set of parameters can be specified to generate the desired simulated signals. These parameters
include:
• the frequency band to be generated specified by band,
• the intermediate frequency FIF ,
• the sampling frequency FS ,
• the Doppler frequency fD ,
• the Doppler rate AD ,
• the PRN or SV number,
• the spreading code phase or code delay τ ,
• the CNR C/N0 ,
• the signal bandwidth,
28
2.3 Simulation/estimation of Galileo signals/CNR and ionosphere
scintillation signals/indices
• the data type (bit4, int, double),
• the time duration over which the signal is to be simulated Tg .
There is also the option to exclude any of the code, carrier and noise signals giving
the opportunity to test and analyze the mechanisms at the heart of carrier phase and
code delay tracking. Given the aforementioned two-sided reference bandwidth values
of 24.552 and 20.46 MHz of the Galileo E1 and E5a/b OS signals, the intermediate
frequency should be carefully chosen so as to be greater than the single sided reference
bandwidth values 12.276 MHz and 10.23 MHz respectively so as to avoid aliasing with
the negative side of the spectrum. The sampling frequency should then be chosen so
as to satisfy the Nyquist sampling theorem (twice the bandwidth). The methodology
followed in generating the simulated signals is a structured approach where modular
functions perform unique duties as shown in Figure 2.11:
Figure 2.11: Galileo signal simulation scheme including scintillation signal where the sampling of the tiered code is performed periodically to take into account the
Doppler effect, the carrier signal takes into account the scintillation amplitude and phase
time histories, goes into a Low Pass Filter (LPF), and an Analog to Digital Converter
(ADC) after adding Additive White Gaussian Noise (AWGN).
the first block further shown in detail in Figure 2.12 generates the baseband code in
terms of chips over the period of a secondary code which is 100 ms for both E1 and
E5a/b pilot channels; the data channel is generated by repeating the primary code
29
2. GNSS, SIGNALS AND RECEIVERS
until the same length is reached. Basically, this step involves the multiplication of the
primary and secondary codes following a tiered code structure. A Non Return to Zero
(NRZ) signal is generated by mapping the logical binary values 0 and 1 to +1 and
-1 respectively. The next step for the E1 OS signal is to multiply each chip by the
12 sub-chips of the corresponding CBOC subcarrier. The E5a/b signals skip this step
because there is no subcarrier. After that step, it is necessary to shift the code by
the complement of the desired code phase, and then to sample with the desired FS
taking into account the desired Doppler frequency and rate by introducing a new time
vector. The reason for introducing the code phase shift in terms of chips rather than
samples and hence the process of shifting before sampling, is because with a nonzero
Doppler frequency, the effective code phase in samples changes at every block of signal
simulation, i.e. 100 ms in our case. Finally the data message is generated using the
random function and with the specified data rate in the Galileo ICD [21]. Moreover,
the front-end is simulated by multiplying the real and imaginary part of the baseband
signal by the cosine and sine of the appropriate carrier frequency (including the Doppler
frequency and rate) as in Equation 2.2, setting the frequency as:
f0 = FIF + fD + AD nTS
(2.17)
The last steps involve passing the resulting signal through a Low Pass Filter LPF,
adding an AWGN and applying an ADC to limit the signal resolution to a few bits.
This procedure is repeated until the time variable reaches the signal simulation period
Tg .
In the following, the intermediate frequency is set to 0 Hz and the sampling frequency
is chosen to be 25 Msamples/s. A sample noiseless Galileo E1 OS signal is generated
setting the input parameters to some arbitrary values, i.e. fD = 2 kHz, AD = -0.2
Hz/s, a code delay of 20560 chips (5 secondary chips and 100 primary chips), and a
time duration Tg = 2 seconds. Since there is no noise in this signal, it is possible to
verify the shape of the MBOC(6,1,1/11) signal spectrum as shown in Figure 2.13. A
sample noiseless Galileo E5a signal with similar parameters is generated to verify the
E5a PSD in Figure 2.14.
30
2.3 Simulation/estimation of Galileo signals/CNR and ionosphere
scintillation signals/indices
Figure 2.12: Galileo tiered code signal generation - mapping it to a NRZ signal,
multiplying by any subcarrier, shifting by any code delay and finally sampling it with a
new time vector that includes the Doppler frequency and rate effect.
E1 IF PSD
30
25
Mag [dB]
20
15
10
5
0
−5
−15
−10
−5
0
Freq [MHz]
5
10
15
Figure 2.13: Noiseless Galileo E1 OS PSD - over the ICD specified reference bandwidth of 24.552 MHz.
31
2. GNSS, SIGNALS AND RECEIVERS
E5a IF PSD
26
24
Mag [dB]
22
20
18
16
14
12
−15
−10
−5
0
5
Freq [MHz]
10
15
Figure 2.14: Noiseless Galileo E5a OS PSD - over the ICD specified reference bandwidth of 20.46 MHz.
32
2.3 Simulation/estimation of Galileo signals/CNR and ionosphere
scintillation signals/indices
2.3.5
Ionosphere scintillation simulation
The ionosphere scintillation is simulated in addition to the Galileo OS signals, taking
into account the impact over the amplitude and phase of the original Galileo signal.
The ionosphere scintillation model described in [22] is used to simulate ionosphere
scintillation where two inputs, the standard scintillation amplitude index S4 and the
channel decorrelation time τ0 , determine the amplitude and phase disturbance over the
ultra high frequency Ultra High Frequency (UHF) L-band signals. These two parameter
inputs indicate the severity and speed of the scintillation in terms of amplitude and
phase fluctuations. A possible improvement to this model would be to control the speed
of the fluctuations in the amplitude and phase time history separately. The model in
[22] is used in this work and is deemed realistic as it draws on an extensive set of
equatorial scintillation data to approximate the signal propagation channel, namely
by estimating both the scintillation amplitude distribution as well as the spectrum of
the complex scintillation signal. A relatively medium scintillation characterized by a
large S4 index value of 0.6 and a low τ0 value of 0.8 seconds is simulated where the
corresponding amplitude and phase of the scintillation signal are shown in Figure 2.15.
2.3.6
Ionosphere scintillation indices estimation
As was previously shown, the I and Q prompt correlator measurements are crucial in
the estimation of the CNR of the received signal. Similarly the S4 index estimation is
based on the signal intensity (SI) which is equal to the difference of narrowband and
wideband power estimates [26] as expressed in Section 2.3.3.
S4 =
s
< SI 2 > − < SI >2
< SI >2
(2.18)
where < . > is the expected value. In fact, S4 is a normalized standard deviation of
signal intensity and is normally computed on 60 second intervals. Typically narrowband and wideband power values are computed every 20 ms using multiple I and Q
correlator values following Equations 2.7 and 2.8, i.e. M=5 for Galileo E1 OS and 20
for Galileo E5a/b signals. This is due to the different accumulation intervals used on
the two frequency bands respectively which is determined by their code periods, i.e. 4
ms for Galileo E1 OS and 1 ms for Galileo E5a/b. However, this does not prevent a fair
33
2. GNSS, SIGNALS AND RECEIVERS
Scintillation signal amplitude
Scintillation Amplitude time history
2
1.5
1
0.5
0
0
50
100
150
200
Time [s]
250
300
(a) Scintillation amplitude
Scintillation Phase time history
Scintillation signal phase [degrees]
200
150
100
50
0
−50
−100
−150
−200
0
50
100
150
200
Time [s]
250
300
(b) Scintillation phase
Figure 2.15: Simulated scintillation signal amplitude and phase - using an S4 = 0.6
and a τ0 = 0.8 to be multiplied and added respectively to the raw Galileo simulated signal.
34
2.3 Simulation/estimation of Galileo signals/CNR and ionosphere
scintillation signals/indices
comparison between the two signals as it has been proved in [27] that using the normalization in the S4 computation, removes any dependence of S4 on the accumulation
interval TI . Finally, the need for detrending arises due to the dependence of the signal
intensity measurements on the satellite receiver Dynamics, the receiver Oscillator phase
error, the Ionosphere and Troposphere errors, collectively known as the (DOIT) terms.
For that end, a 6th order Butterworth low pass filter is used with a cutoff frequency
of 0.05 Hz instead of the traditional 0.1 Hz [27]. The detrended signal intensity is
obtained by dividing the raw signal intensity by the low pass filter output adjusted by
the filter group delay:
SI =
N BP − W BP
(N BP − W BP )LP F
(2.19)
Moreover, the S4 due to ambient noise has to be removed from the squared value of
the raw S4 index:
S4N0 =
100
Ĉ/N0
1+
500
19Ĉ/N0
!
(2.20)
where Ĉ/N0 estimates are derived using either the PRM or the VSM expressions as
desribed in the previous subsections.
On the other hand, the traditional phase scintillation index σ∆φ is the standard deviation of the Accumulated Doppler Range (ADR) which is the accumulation of the
estimated phase by the Phase Locked Loop (PLL) during the kth integration interval
and the carrier discriminator estimated phase error ep [k]:
σ∆φ = std(
X
2π fˆ[k]TI + ep [k])
(2.21)
k
However, before computing the standard deviation, the carrier phase measurements
as the signal intensity measurements, should be detrended as well to ward off DOIT
trends. The detrending is applied at post-processing through a 6th order Butterworth
high pass filter with a cutoff frequency of 0.05 Hz [27]. Consequently, the standard
deviation of the detrended carrier phase measurements is computed every 30 seconds.
35
2. GNSS, SIGNALS AND RECEIVERS
2.4
Receiver blocks
GNSS receivers architecture has gone through significant change over the last few
decades, especially with the advance of Field Programmable Gate Arrays (FPGA)
technology and subsequently with the speed of software processing. In fact, convential GNSS receivers which were once built according to Application Specific Integrated
Circuits (ASIC) and FPGA technology relying mostly on hard-wired platforms, are
more often pushing towards a Software Defined Radio (SDR) based technology. This is
quite helpful for signal processing engineers nowadays, as it releases the full potential of
post-processing in order to analyze a range of acquisition/tracking/demodulation and
position techniques and algorithms tailored for specific applications and signal structures [2].
Throughout this dissertation, GNSS SDR technology is considered where the software
capability is moved as close as possible to the antenna. Nonetheless, the FE separates
the software defined baseband signal processing blocks from the antenna where the
Signal In Space (SIS) is captured. Indeed, the front-end is a hardware module which
comes after the antenna, and includes any Low Noise Amplifier (LNA), mixers/filters
designed to down-convert the RF signal into an IF signal, ADC and baseband conversion. Figure 2.16 presents the IF baseband signal processing scheme which can be fully
implemented in software. It encompasses several key stages of a GNSS receiver, including acquisition, tracking, bit synchronization, data demodulation and PVT estimation.
A bundle of signals as a result of the transmission of several satellites are summed
up at the input of the receiver. One such signal denoted s[n] is the result of a single
satellite contribution. The acquisition engine is responsible of delivering rough estimates of the incoming signal carrier frequency fˆ0 and spreading/ranging code phase τ̂0
relative to a single satellite. This can be achieved thanks to the CDMA nature of most
of GNSS signals. The tracking engine further refines these estimates, and prepares for
the bit synchronization and data demodulation stages in order to set up the parameters
for solving the position/velocity/time of the user receiver. Figure 2.17 further shows
the two tracking loops PLL and Delay Locked Loop (DLL) that work in parallel to
estimate the carrier frequency/phase and ranging code delay.
36
2.4 Receiver blocks
Figure 2.16: A general scheme depicting GNSS receiver blocks - starting from
the input digital signal down to the position solution estimation.
37
2. GNSS, SIGNALS AND RECEIVERS
Figure 2.17: A general view of the fine estimation process - also known as tracking.
38
2.4 Receiver blocks
2.4.1
Acquisition
The acquisition block is the first block in a GNSS receiver signal processing chain as
shown in Figure 2.16. It performs a rough estimation of the received signals parameters,
mainly the spreading code delay and Doppler frequency. It then passes it on to a more
refined estimation block, the tracking block in view of demodulation and positioning
capabilities. As such, the acquisition engine is an important block to analyze as it
can represent a bottleneck for the start of the rest of the blocks in the overall GNSS
receiver. In fact, the Mean Acquisition Time (MAT) is a performance metric very often used in the literature to indicate together with the Time To First Fix (TTFF) the
performance of a GNSS receiver. It is often relative to a single satellite signal rather
than a minimum number of signals needed for positioning capibilities, and is studied
as such in the following.
Almost all literature on the computation of the MAT is either focused on the standard serial search Threshold Crossing (TC) criterion [28], [29], a Maximum Threshold
Crossing (MAX/TC) criterion [30] or a hybrid MAX/TC criterion [31], with no particular interest in the potential aidings received by a network of peers. Appendix A
focuses on the serial TC criterion in light of the P2P context and an analysis of the
MAT is performed under weak and strong signal conditions. Appendix B on the other
hand, considers all search strategies and conducts a performance comparison between
standard and P2P acquisition engines in light of the corresponding most appropriate
search strategy. Moreover, a verification procedure is included together with a CNR
aiding as a P2P network aiding information.
2.4.1.1
Galileo acquisition
Due to the Galileo signal structure which includes a secondary code, special care must
be taken if signal acquisition is to be performed through coherent integration on several
code periods. In fact, each code period is multiplied by a secondary code chip for both
E1 and E5a Galileo OS signals except for the E1 data channel. The secondary code
ensures good cross-correlation properties by extending the length of ranging/spreading
codes. During coherent integration over several code periods, the presence of the secondary code modulation results in a destruction of the energy peak built in one code
39
2. GNSS, SIGNALS AND RECEIVERS
period by other code periods. Therefore, it is essential to identify the delay or phase
of the secondary code in addition to the primary code, in order to wipe it off when
performing coherent integration over extended code periods.
It is worth noting that the coherent integration is of special use when dealing with
weak signal conditions. In fact, it increases the post-correlation signal to noise ratio
without a concurrent increase of the noise floor as is evident in case of noncoherent accumulations. Several techniques exist to solve for the secondary code phase, including
the exhaustive approach by testing all possible secondary code phase positions after
having solved for the primary code phase. Another technique considers the characteristic length approach [32] which identifies the minimum length of a sequence needed
to solve for the chip position or phase. The minimum characteristic length is then
evaluated for both Galileo E1 and E5 OS signals with 7 being the characteristic length
of the 25 chips long secondary code present on the E1 pilot channel. On the other
hand, the Galileo E5a/b pilot channels exhibit a different secondary code for each PRN
and thus also yield a different characteristic length ranging from 9 to 18 but always
less than 20 as shown in [32]. This approach is tailored to save memory and decrease
power requirements as well as to deliver faster response by minimizing the number of
operations needed to solve for the secondary code phase.
In conclusion, in order to perform coherent integration over several code periods (over
1 and 4 ms for Galileo E5a/b and E1 signals respectively), it is necessary to identify the
secondary code phase. Consequently, a minimum integration time TI ≥ 7 · 4 ms equiv-
alent to 28 ms is to be used while performing acquisition of Galileo E1 pilot channel
signals. Conversely, an integration time TI ≥ 20 · 1 ms or 20 ms during pilot channel
acquisition, guarantees identification of the secondary code phase for all PRNs on the
Galileo E5a/b frequency band.
2.4.2
Tracking
As mentioned in the previous section, tracking is the fine counterpart of acquisition.
It uses the output raw parameters estimated by the acquisition engine, and performs
a fine estimation of the same parameters, i.e. the spreading code delay and Doppler
40
2.4 Receiver blocks
frequency. This is crucial to synchronize the incoming signal to the locally generated reference signal and perform navigation message demodulation and position/velocity/time
computation in a reliable way.
The tracking stage paradox has always been center to a compromise between dynamic
stress tolerance, and accuracy provided by the tracking loops. To accommodate for
dynamic stress tolerance, the Pre Detection Integration Interval (PDI) denoted by TI
should be small, and a Frequency Locked Loop (FLL) discriminator should be used
with a wide loop filter bandwidth. On the contrary, to increase accuracy and sensitivity, larger PDI should be used, possibly with a PLL discriminator and a narrow
loop filter bandwidth. It has been shown by Ward [33] that the best solution for this
dilemma, is to use FLL in the beginning and then FLL assisted PLL carrier tracking
mode with a transition criteria involving a carrier-to-noise ratio meter and a phase lock
detector.
A head to head comparison between FLLs and PLLs yields no particular winner but
some characteristics are worth mentioning.
• An FLL discriminator makes use of current and previous phase values to estimate
absolute phase difference between two epochs while a PLL discriminator makes
use of current phase value only to estimate absolute phase in a single epoch.
Consequently, in case the navigation message duration is 20 ms, the maximum
PDI for an FLL is 10 ms compared to 20 ms for a PLL, in order not to straddle
with data transition bits. However, the navigation message is absent in pilot
channels, and therefore the maximum PDI can be increased irrespectively of the
use of an FLL or a PLL without taking care of data bit transitions.
• The FLL is more robust compared to a PLL in terms of noise rejection. It has been
shown in [34] that FLLs are able to track signals lower than 17 dB-Hz in static
conditions, the limit at which PLLs loose lock. In dynamic conditions, FLLs
track signals as low as 15 dB-Hz compared to 23 dB-Hz for PLLs in unaided
conditions. With Doppler aiding, that figure goes down as low as 10 dB-Hz
compared to 19 dB-Hz for PLLs, that is of course after accommodating the loop
equivalent bandwidth. All these threshold values are derived in a statistical sense.
41
2. GNSS, SIGNALS AND RECEIVERS
• The PLL is more accurate in the sense that it provides up to 2 orders of magnitude
smaller delta range measurement errors than the FLL. Unlike the FLL, the PLL
also provides a precise carrier phase solution.
• The FLL is less sensitive to colored noise (satellite clock, receiver clock phase
jitter which is high with small BN values, vibration, propagation delay due to
ionosphere).
• The FLL’s minimum achievable noise bandwidth BN is smaller when dynamic
stress effect is mitigated by Doppler aiding while it requires a noncoherent code
tracking loop to maintain code synchronization.
• The recovery of navigation data bits inside the FLL is complicated if not impossible.
Chapter 3 presents the basic blocks inside a tracking control loop and analyzes the
design of each of these blocks with respect to a pilot channel tracking scheme in view
of processing Galileo OS E1 and E5a/b signals.
42
Chapter 3
GNSS pilot channel tracking
This chapter introduces the basic concepts to be considered for robust tracking of GNSS
and specifically Galileo OS signals. The design accounts for weak signals with a low
CNR where long integration time is a must for a successful tracking of these signals in
terms of carrier frequency/phase as well as code delay. The main considerations are in
terms of the phase detector (PD), the loop filter and the NCO, all of which are designed
in digital domain. An analysis of the bandlimiting effects on the tracking performance
in terms of thermal noise tracking jitter is presented where the main focus is on the
CBOC and BPSK modulated Galileo E1 and E5a/b OS signals.
3.1
FLL/PLL/DLL structure
A standard frequency/phase/delay locked loop is a feedback control loop designed to
track either carrier frequency and phase or code delay using a control signal which is an
estimate of the tracking or estimation error. Its task is to maintain coherence between
the input signal frequency/phase and the estimated output frequency/phase using phase
comparison [24]. It consists of a pair of in-phase and quadra-phase correlators which
process the product of the incoming signal and the output of the Reference Generator
(RG), a PD or discriminator, a loop filter and a NCO. In this sense, a digital PLL
(DPLL) is a proportional integral (PI) control loop which tracks the carrier phase of the
input signal such that it maintains a zero steady state phase error. A digital frequency
locked loop (DFLL) and a delay locked loop (DDLL) are the frequency and spreading
code phase counterpart. GNSS carrier tracking loops typically use a second/third order
43
3. GNSS PILOT CHANNEL TRACKING
DPLL while the code tracking loop can be either a first order carrier aided DDLL or a
second order unaided DDLL. A generic scheme of a GNSS FLL/PLL digital tracking
loop is shown in Figure 3.1 and features the aforementioned three basic blocks:
• RG that is the NCO
• PD or discriminator
• Loop filter
Figure 3.1: General scheme of a discrete phase tracking loop - is applicable for
both FLL and PLL.
The incoming received signal s[n] is first correlated with a locally generated PRN code
cs [n − τ̂ ] that tries to mimic the behavior of the incoming PRN code (with an estimated
code delay and code frequency which can vary depending on the Doppler frequency).
These two parameters, code delay and code frequency are the by-products of the DLL.
Subsequently, the integrators correlate the resulting signal from the product s[n]cs [n−τ̂ ]
with the in-phase and quadra-phase of the carrier signal, and the result is summed over
the total samples in an integration interval TI . The resulting I[k] and Q[k] correlation
values are then fed into the PD to estimate the phase error. The loop filter estimates
ˆ
the phase rate φ̇[k] at which the NCO has to function in order to generate a phase
φ̂k [n] which minimizes the phase error between the received and local signals.
It should be noted that the same scheme shown in Figure 3.1 can represent a DLL
44
3.1 FLL/PLL/DLL structure
where the NCO outputs are replaced by early, prompt and late local PRN code replicas. The locally generated code cs [n] should also be replaced by the in-phase and
quadrature phase carrier signal with the correct phase and frequency returned by the
FLL/PLL. The DLL would then output an estimated code delay and code frequency.
Figure 3.2 shows a global general scheme of a FLL/PLL/DLL mutually working to
minimize the phase error and achieve lock.
It is more efficient and convenient to analyze the digital locked loop presented in 3.1
in its linear form in the frequency domain as can be seen in Figure 3.3. This linear
version is applicable when the phase error between the reference and output signal is
relatively low, that is when the loop is already locked.
Figure 3.2: Global scheme of an FLL/PLL/DLL - Different discriminators and
different NCOs are used.
The discriminator is expressed in terms of its z-transform D(z) in ideal conditions,
a multiplicative gain KD and an additive noise term NW (z), both of which are function of the reference or incoming signal SNR [6]. The loop filter and NCO are expressed
in the z-domain as F (z) and N (z). The next block z −D expresses any delay in the loop
45
3. GNSS PILOT CHANNEL TRACKING
coming from the integration process to evaluate the phase error, where D indicates
the number of delay units in terms of loop sample interval TL . If the non-unity PD
multiplicative gain KD is compensated by some estimation mechanism like CNR estimation, and assuming a minimum delay of D = 1, the open loop transfer function can
be expressed as:
G(z) = D(z)F (z)N (z)
(3.1)
which is used to determine the system transfer function H(z) [35] and [24] as well as
the system noise transfer function HN (z) by taking into account the noise effect in the
expression of the estimated phase:
φ̂(z) = (φ(z) − φ̂(z))G(z) + NW (z)G(z)/D(z)
φ̂(z)(1 + G(z)) = φ(z)G(z) + NW (z)G(z)/D(z)
φ̂(z) = H(z)φ(z) + HN (z)NW (z)
(3.2)
where H(z) is the system transfer function describing in the z-domain the estimated
output phase given the input phase:
H(z) =
φ̂(z)
G(z)
=
φ(z)
1 + G(z)
(3.3)
and HN (z) is the system noise transfer function yielding the contribution of the input
additive noise term NW (z) to the estimated output phase:
HN (z) =
G(z)/D(z)
φ̂(z)
=
NW (z)
1 + G(z)
(3.4)
noting that
H(z) = D(z)HN (z)
(3.5)
Similarly, the system error function He (z) and the system error noise transfer function HeN (z) can be derived substituting Equation 3.2 into the definition of the estimation error:
φ(z) − φ̂(z) = φ(z) − H(z)φ(z) − HN (z)NW (z)
φ(z) − φ̂(z) = φ(z)(1 − H(z)) − HN (z)NW (z)
φ(z) − φ̂(z) = He (z)φ(z) + HeN (z)NW (z)
46
(3.6)
3.2 CU and DU loops
where He (z) is the system error transfer function describing in the z-domain the estimated output phase error given the input phase:
He (z) =
φ(z) − φ̂(z)
1
= 1 − H(z) =
φ(z)
1 + G(z)
(3.7)
and HeN (z) is the system error noise transfer function yielding the contribution of the
input additive noise term NW (z) to the estimated output phase error:
HeN (z) =
φ(z) − φ̂(z)
G(z)/D(z)
= −HN (z) = −
NW (z)
1 + G(z)
(3.8)
The linearity condition of the system is assumed to be satisfied, that is the system
is assumed to be already in a locked condition. In the following sections, the transfer
function of each individual block is defined and derived to satisfy a number of conditions.
Figure 3.3: Linearized digital phase locked loop - in terms of transfer functions in
z-domain and variable gain KD and noise term NW (z) depending on input signal-to-noise
ratio.
3.2
CU and DU loops
It is informative noting that the PLL/FLL scheme shown in Figure 3.1 works on two
different sampling rates. The signal sampling rate FS = 1/TS and the loop sampling
rate FL = 1/TL . At this point, it is important to draw distinctions between generic
47
3. GNSS PILOT CHANNEL TRACKING
phase tracking loops and PRN spread-spectrum systems specific tracking loops. In
part, it is this distinction that raises two kinds of update loops, Continuous Update
(CU) and Discrete Update (DU) loops. CU loops work at the signal sampling frequency
rate, that is the frequency the raw analog signal is sampled to obtain a digital signal.
CU loops are highly theoretical for GNSS applications and require a high degree of
complexity. DU loops on the other hand, work at the loop sampling rate FL which is
a relatively low multiple of the signal sampling rate (kHz instead of MHz).
The difference stems from the fact that PRN spread-spectrum systems hence GNSS
tracking loops (unlike generic loops which have a direct way of measuring the estimation error) have to generate the estimation error by correlating the received signal with
a locally generated one over an integration interval TI . The correlation or integration
and dump process is initiated every TL seconds, which is the loop update interval or
the loop sampling interval TL .
The locally generated signal in turn, needs the parameters estimated by these tracking loops. However, the total phase estimated at a rate of FL < FS by either a
FLL/PLL/DLL PD is a sort of averaged phase at half the integration time TI /2 instead of the signal sampling interval TS . Therefore, GNSS tracking loops and more
specifically the digital NCO has to estimate two variables, the phase and phase rate
or frequency of the incoming signal. This code/carrier frequency is the rate of change
in a specific integration interval that is instrumental in generating a phase for each
sample within the correlation or integration interval (more on this in Section 3.3). The
locally generated signal is thus constructed using the code/carrier phase and phase rate
for each sample in the integration interval TI . Correlating this local signal with the
received one, results in turn in a new phase estimation error which is how the loop
keeps working at subsequent epochs (separated by TL ). It should be noted that the
loop update interval is usually set to be equal to the integration interval TI because
the reaction of the loop is a consequence of the phase estimated at half the integration
interval, as well as to simplify the operation of the digital locked loop.
It is true that the distinction between CU and DU loops is evident when it comes
to the operation mode of the loops, however, it has long been a tradition to study
48
3.2 CU and DU loops
DU loops based on CU loops in terms of analog domain transfer functions, using the
s-transform. More specifically, although these DU loops are very frequently used in
digital tracking loops, it is not necessarily true that they are designed so that the loop
filter parameters take account of the inherent distinction between CU and DU loops.
In fact, a CU approximation is performed where the normalized loop noise equivalent
bandwidth BL = BN TI → 0, and the CU approximation yields loop roots which coincide with the original design requirements, i.e. the damping factor and the noise
equivalent bandwidth BN . However, as the normalized bandwidth BL = BN TI exceeds
a certain value, the loop starts diverging from the required design yielding a higher
noise equivalent bandwidth [36]. This is the case because of the shortcomings of the
transformation used to jump from analog to digital domain. It is shown in [5] that
using a bilinear transformation, a one-to-one frequency mapping from analog to digital
is guaranteed as long as the product of the discrete frequency error by the loop sample
interval is much less than 1, i.e. satisfiying δωTL << 1 which explains the condition
on the normalized loop bandwidth. A DU formulation of the problem needs to be
elaborated as shown in [36]. The only caveat in [36] (also found in [37]) is that the
loop filter is assumed to have a specific structure mainly composed of pure integrators
1/s in series such that the loop filter transfer function can only have poles at zero in
continuous time and depending on the transformation method (bilinear, backward or
forward Euler integration), poles at unity in discrete time. This can considerably limit
the maximum integration time the loop can sustain for a specific loop bandwidth as
shown in [5]. The best option would be to design the loop filter with no such constraints. One possible criteria to design the loop is based on minimizing the transient
energy and the thermal noise tracking jitter as shown in [4, 5, 38].
49
3. GNSS PILOT CHANNEL TRACKING
3.3
NCO modeling
The incoming signal has a sampling rate of FS = 1/TS and its discrete time domain is
defined in terms of the variable n = 1, 2, · · · , TI FS . The PLL/FLL scheme output has a
loop sampling rate of 1/TL which is usually equivalent to 1/TI . Its discrete time domain
is defined in terms of the variable k = 0, 1, 2, ... which corresponds to n = TL /2 + kTL .
ˆ
Therefore the NCO phase rate φ̇[k] (rad/s) is defined and constant during each epoch
k while the total phase φ̂k [n] (rad) has to be generated for every sampling instant n
during epoch k. The relationship between the phase rate and the generated total phase
at each sampling interval TS characterizes different NCO types, from the most often
used, phase-continuity preserving, rate only NCO to the less famous phase and rate
NCO which does not guarantee phase-continuity.
Linear analysis of the digital phase locked loop assuming a constant frequency during each integration interval, entails the use of a single phase value for every loop
sampling interval or epoch k in order to estimate the phase error. This single phase
value φ̂k is taken at mid-integration interval, as it is an intuitive mean or average of
the generated phase in the integration interval. For very low loop update rates, which
usually correspond to long integration intervals, this assumption does not hold true because the phase rate or frequency of the signal is more likely to change and not remain
constant. This is why the average generated phase does not necessarily coincide with
the phase at mid-integration interval. For the sake of linear analysis, it is assumed,
unless otherwise noted, that a phase register holding the phase φ̂k at mid-integration
interval is constantly updated at the loop sampling rate 1/TL .
3.3.1
Phase rate only NCO
ˆ
The phase rate only NCO feedbacks the phase rate value φ̇[k + 1] estimated by the loop
filter at time k + 1 to estimate the total average phase at the k + 1th mid-interval φ̂k+1
such that:
φ̂k+1 = φ̂ek +
TI ˆ
φ̇[k + 1]
2
(3.9)
where φ̂ek is the total phase at the end of the interval k given by:
φ̂ek = φ̂k [TI FS ] = φ̂k +
50
TI ˆ
φ̇[k]
2
(3.10)
3.3 NCO modeling
Initially, the average estimated phase at mid-integration interval for k = 0 is set using
the frequency fˆ0 estimated by the acquisition engine or alternatively the FLL as:
TI
ˆ TI
φ̂0 = φ̇0
= 2π fˆ0
2
2
(3.11)
Moreover, there is an inherent delay, D units of TL which is the loop update interval,
because the estimated phase rate at the current epoch can only be applied in the next
epoch. Incorporating this delay in the phase rates, the resulting average phase at epoch
k + 1 becomes:
TI ˆ
ˆ
φ̇[k − D] + φ̇[k + 1 − D]
(3.12)
2
Taking the Z-transform of Equation 3.9, the corresponding rate only NCO transfer
φ̂k+1 = φ̂k +
function can be obtained:
NRO (z) =
TI (z 1−D + z −D )
TI (z + 1)
= D
2(z − 1)
2z (z − 1)
(3.13)
On the other hand, the instantaneous phase φ̂k+1 [n] generated for each sampling interval TS during the (k + 1)th epoch, can be expressed as:
ˆ
φ̂k+1 [n] = φ̂ek + φ̇[k − D]nTS
(3.14)
Looking into the phase values generated using Equation 3.14 at the end and beginning
ˆ
of two successive epochs φ̂k [TI ] = φ̂ek and φ̂k+1 [1] = φ̂ek + φ̇[k − D]TS , it can be seen that
the estimated phase value at the end of epoch k almost coincides with the estimated
phase value at the beginning of epoch k + 1 which explains why the rate only NCO
maintains phase continuity.
3.3.2
Phase and rate NCO
The phase and rate NCO feedbacks the phase and phase rate value estimated by the
loop filter at time k and k + 1 respectively to estimate the total phase at mid-interval
k + 1 such that:
φ̂k+1 = φ̂re
k +
TI ˆ
φ̇[k + 1]
2
(3.15)
where
TI ˆ
φ̇[k + 1]
(3.16)
2
which means that the most recent estimated phase rate is being used to correct the
φ̂re
k = φ̂k +
phase estimated at the end of previous epoch k. This is why it can be expected that
51
3. GNSS PILOT CHANNEL TRACKING
the phase and rate NCO yields a better phase tracking performance. Considering the
inherent delay D between generating the phase rate and the corresponding phase at
the subsequent epoch, the resulting average phase at epoch k + 1 is:
ˆ
φ̂k+1 = φ̂k + TI φ̇[k + 1 − D]
(3.17)
and the corresponding NCO transfer function can be expressed as:
NP R (z) =
TI z 1−D
z−1
(3.18)
On the other hand, the instantaneous phase φ̂k+1 [n] generated for each sampling interval TS at the k + 1th epoch, can be expressed as:
ˆ
φ̂k+1 [n] = φ̂re
k + φ̇[k + 1 − D]nTS
(3.19)
Comparing Equations 3.19 and 3.14 it becomes evident why the phase and rate feedback
NCO should outperform the rate only feedback NCO. Moreover, it can be shown that
phase continuity is not preserved by the phase and rate NCO using Equation 3.19 to
compute the phase at the beginning and end of two successive epochs. For example,
assuming that the computation delay D = 1, it can be shown that:
φ̂k+1 [1] ≈ φ̂k +
TI ˆ
φ̇[k]
2
(3.20)
and
3TI ˆ
TI ˆ
φ̇[k − 1] = φ̂k + φ̇[k − 1]
(3.21)
2
2
It can be easily seen that these two phase values do not guarantee phase continuity
φ̂k [TI ] ≈ φ̂k−1 +
unless the phase rate remains constant over successive epochs which means that the
loop is already in steady-state.
3.3.3
Analog version of phase and rate NCO
The analog version of phase and rate NCO does not use a phase register to accumulate
the phases at mid-intervals. Instead, it uses a phase rate or frequency register fˆ which
gets updated every TL . Taking the aforementioned inherent delay D due to phase rate
correction computation, the estimated frequency or phase rate during each epoch k is
expressed as:
ˆ
∆φ̇[k − D]
fˆ[k] = fˆ0 +
2π
52
(3.22)
3.3 NCO modeling
ˆ
where ∆φ̇ is the phase rate correction estimated by the loop filter at each epoch k as
shown in Figure 3.4. Moreover, a partial phase less than 2π is usually generated based
on the remaining partial phase from the previous interval:
ϕ̂[k] = mod(2π fˆ[k]TI + ϕ̂[k − 1], 2π)
(3.23)
where mod is the modulo operator.
Figure 3.4: General scheme of a carrier tracking loop using an analog version
NCO - The NCO updates a frequency register instead of a phase register.
The impact of this frequency and partial phase registers update in terms of estimated
average total phase φ̂k at mid-intervals can be assessed by noticing that it is sufficient
that a partial phase (modulo 2π) be taken into account given that:
• cosine and sine functions are periodic with period 2π
• the frequency or phase rate is already set from the loop filter output as in Equation
3.22
The total phase at mid-integration interval can be expressed as:
TI
φ̂k = 2π fˆ[k] + ϕ̂[k]
2
(3.24)
and substituting Equation 3.22 and 3.23 into 3.24, the total phase at mid integration
interval can be derived at epoch k and k − 1 assuming a delay D = 1:
TI
TI
ˆ
ˆ
+ ∆φ̇[k − 1] + mod(2π fˆ0 TI + ∆φ̇[k − 1]TI + ϕ̂[k − 1], 2π)
2
2
TI
TI
ˆ
ˆ
+ ∆φ̇[k − 2] + mod(2π fˆ0 TI + ∆φ̇[k − 2]TI + ϕ̂[k − 2], 2π)
= 2π fˆ0
2
2
φ̂k = 2π fˆ0
φ̂k−1
53
3. GNSS PILOT CHANNEL TRACKING
It can be noticed that the partial phase at epoch k − 1 can be expressed in terms of
ϕ̂[k − 2]:
ˆ
ϕ̂[k − 1] = mod(2π fˆ0 TI + ∆φ̇[k − 2]TI + ϕ̂[k − 2], 2π)
(3.25)
Moreover, since the modulo operation is distributive and mod(mod(.)) = mod(.), it can
be derived that:
TI
TI
ˆ
ˆ
ˆ
φ̂k = φ̂k−1 + mod(2π fˆ0 TI + ∆φ̇[k − 1]TI , 2π) − ∆φ̇[k − 2] + ∆φ̇[k − 1]
2
2
(3.26)
Assuming that the phase rate correction is almost equal between two consecutive epochs
and taking the modulo 2π operation, it can be concluded that:
ˆ
mod(φ̂k , 2π) ≈ mod(φ̂k−1 , 2π) + mod(φ̇[k]TI , 2π)
(3.27)
ˆ
after noticing that φ̇[k] = 2π fˆ[k]. Considering the modulo 2π phase values, it can
be seen that this is a similar version to the expression characterizing phase and rate
feedback NCOs as in Equation 3.17. In conclusion, the analog version or frequency
NCO yields a similar version of the phase and rate NCO transfer function:
NF (z) = NP R (z) =
TI z 1−D
z−1
(3.28)
On the other hand, the instantaneous phase φ̂k+1 [n] generated for each sampling interval TS at the (k + 1)th epoch, can be expressed as:
φ̂k+1 [n] = 2π fˆ[k]nTS + ϕ̂[k]
(3.29)
In fact, it is thanks to this instantaneous phase generation that the correlation operation
is possible in order to maintain carrier/code synchronization.
54
3.4 Discriminators
3.4
Discriminators
As explained in the beginning of this chapter and in Section 3.2, and as shown in Figure 3.1, in-phase I and quadradure phase Q correlators are used by the discriminator
to generate the estimation error between the incoming phase signal and the locally
generated one. Looking into the expressions of I and Q correlators, various functions
fφ (I, Q) called discriminators or PD have been designed in literature [37] to accurately
estimate the phase error, but this has proven to be an arduous task in low CNR conditions.
The ideal behavior of the PD output is a straight line of unity slope which passes
through the origin at zero phase error δφ = 0 or frequency error δω = 0 in case of
FLL PD. However, the PD inputs are noisy signals and the discriminator functions
usually yield a nonlinear function mainly a sine function of the phase error. For very
small phase errors, sin(x) ≈ x is a good approximation, however, depending on the
discriminator, a high level of noise power can distort the ideal line, decreasing the slope
at the origin and introducing nonlinearities at the edges of the PD output. Other discriminators do not depend on the noise but are characterized by a narrow error range
and call for a normalization factor which depends on the received signal power.
3.4.1
DFLL discriminators
A typical frequency discriminator estimates the frequency difference or error between
the incoming signal and the local reference signal. Various frequency discriminators
are present in the literature, and are divided into two main categories: coherent discriminators as Cross Product (CP) and four-quadrant arctangent (ATAN2), and noncoherent discriminators as Decision Directed Cross Product (DDCP) and Differential
Two-quadrant Arctangent (DATAN) which are considered in [6] and described in [37].
Noncoherent discriminators are essential when dealing with data channels because they
are insensitive to half cycle changes while coherent discriminators are sensitive to these
changes and are mainly used with pilot channels.
A typical frequency discriminator can be derived by considering a typical phase discriminator and applying the definition of angular frequency with respect to phase. In
fact, the two-quadrant Arctangent (ATAN) noncoherent DPLL phase discriminator is
55
3. GNSS PILOT CHANNEL TRACKING
the maximum likelihood estimator [39]. It estimates a noncoherent phase error at the
kth epoch mid-interval δφk in the following manner:
ep [k] = arctan(Q[k]/I[k]) ≈ [δφk ]π
(3.30)
where the notation [x]π means that the variable x is limited over the range [−π/2, π/2]
by adding or subtracting π. Assuming that the estimated phase error at various epochs
can be approximated by a continuous signal, the estimated angular frequency error can
be expressed as:
ef [k] =
ep [k] − ep [k − 1]
dep [k]
≈
TI
dt
(3.31)
This is the intuition behind differentiating the phase with respect to time in order to
obtain a frequency discriminator. In the following, an abuse of notation is tolerated
for simplicity, replacing ep [k] by ek . So let us first differentiate tan ek = Q[k]/I[k] with
respect to the phase:
d
tan(ek ) =
dek
=
d sin ek
dek cos ek
1
cos2 ek + sin2 ek
=
2
cos ek
cos2 ek
(3.32)
Due to the definition of the phase with respect to the correlation values I[k] and Q[k]
at epoch k, tan ek = Q[k]/I[k] and looking at it in a geometrical sense, ek is the angle
of a triangle rectangle or a right triangle with legs I[k] and Q[k] and the hypothenuse
q
expressed as I[k]2 + Q[k]2 applying the Pythagorean theorem. Therefore, it can be
written that:
I[k]
cos ek = q
I[k]2 + Q[k]2
56
(3.33)
3.4 Discriminators
Now, together with this identity, the Chain rule can be applied to obtain the derivative
of ek with respect to time:
d
tan ek =
dt
d Q[k]
dt I[k]
′
′
′
′
′
′
=
Q[k] I[k] − Q[k]I[k]
I[k]2
1 dek
cos2 ek dt
=
Q[k] I[k] − Q[k]I[k]
I[k]2
dek
dt
=
dek
d
tan ek
dek
dt
ef [k] =
Q[k] I[k] − Q[k]I[k]
I 2 [k] + Q2 [k]
1 Q[k]I[k − 1] − I[k]Q[k − 1]
TI
I 2 [k] + Q2 [k]
(3.34)
′
Q[k] − Q[k − 1]
I[k] − I[k − 1]
and I[k] =
. Taking the mean value of
TI
TI
such a discriminator function for a given frequency and phase error δω[k] and δφ[k]
′
where Q[k] =
respectively, and assuming that the code phase estimate is accurate enough to yield a
unity spreading code correlation value, it can be shown that:
E[ef [k]TI ] ≈
I
) sin(δφ[k] − δφ[k − 1])
P d[k]d[k − 1]sinc2 ( δω[k]T
2
I
)
P sinc2 ( δω[k]T
2
E[ef [k]TI ] ≈ d[k]d[k − 1] sin(δφ[k] − δφ[k − 1])
(3.35)
Assuming that the data bits can be demodulated correctly or considering pilot channel
tracking, the first two terms can be treated as unity and the frequency error estimate
ef [k] at epoch k depends on the coherent phase error and thus is a coherent DFLL
discriminator. Its corresponding PD transfer function is written as:
D(z) =
e(z)
1 − z −1
=
δφ(z)
TI
(3.36)
The discriminator defined by Equation 3.34 will be named Basic Cross Product (BCP)
discriminator in this dissertation. It will be seen in the following that it is one form of
several discriminators often mentioned in literature, that is the CP DFLL discriminator
but with a different normalization. In fact, the CP DFLL discriminator uses a normalization by the signal power at the antenna input which is more accurate than signal
power estimation using correlation. Another digital discriminator, called the DATAN
57
3. GNSS PILOT CHANNEL TRACKING
in this paper, can be derived if the optimum phase discriminator is applied directly to
Equation 3.31, thus yielding [23]:
ef [k] =
1
[arctan(Q[k], I[k]) − arctan(Q[k − 1], I[k − 1])]
TI
(3.37)
This frequency discriminator yields an output frequency error, which is an approximation of the difference between two consecutive noncoherent phase error values, averaged
by the integration interval:
ef [k] ≈
[δφk ]π − [δφk−1 ]π
= δω[k]
TI
(3.38)
It is worth mentioning that the BCP, CP and DDCP discriminators yield a sinusoidal
approximation of the true frequency error δω, while the DATAN and ATAN2 discriminators yield an exact linear output as shown in [37]. In fact, the DATAN discriminator
has a similar response compared to the ATAN2 discriminator because both of these PD
yield a linear approximation of δω as demonstrated in Equation 3.38. The distinction
of two important regions in the analysis of digital PD, the stability range and the linear
range, stems from the previous considerations regarding the coherence/noncoherence
and the linear/nonlinear output nature.
• The stability range is the range of input frequency or phase error which results in
an output frequency or phase error estimate of the same sign as that of the input,
that is a discriminator output that reacts in the same direction as the input error.
• The linear range is the range of input frequency or phase error which results in a
proportial output frequency or phase error estimate.
Therefore, noncoherent frequency discriminators are defined on a stability range of
±π/(2TI ) radians/s while coherent frequency discriminators offer a range of ±π/TI
radians/s. The resulting maximum pull-in frequency corresponding to the PD is thus
±π/TI rad/s or ±1/(2TI ) Hz. Note that this is completely determined by TI the
integration interval and not the update interval. Indeed, increasing the update interval
does not bring any improvement whatsoever in increasing the pull-in frequency range
through the discriminator. Since we are dealing with pilot channel tracking, we will
focus on coherent discriminators in the following. Let us list the main differences
between the ATAN2 and CP coherent discriminators:
58
3.4 Discriminators
• ATAN2 relies heavily on the input CNR while CP is independent of it.
• CP should be normalized by the received signal power while ATAN2 is already
normalized by itself.
• In ideal conditions, ATAN2 has a wider single-sided frequency pull-in range
1/(2TI ) compared to 1/(8TI ) for the CP discriminator.
To better understand these differences, it is appropriate to present some results of these
two discriminators in different conditions of CNR and integration time.
3.4.1.1
DFLL ATAN2 discriminator and optimum integration time
The coherent DFLL ATAN2 discriminator input-output characteristic can be defined in
terms of the in-phase and quadrature phase correlator values of two successive epochs
I[k], I[k − 1], Q[k], Q[k − 1] as in [37]:
ef [k] =
1
atan2(Dot, Cross)
TI
(3.39)
where
Dot = I[k]I[k − 1] + Q[k]Q[k − 1]
Cross = Q[k]I[k − 1] − I[k]Q[k − 1]
(3.40)
Figures 3.5 and 3.6 show the output frequency error in terms of input frequency error
for a specific integration time TI = 4 ms and TI = 40 ms and various CNR. It is worth
noting some points here:
• The stability range is equal to the inverse of the integration time and is usually
greater than the linear range.
• The linear range shrinks as the CNR decreases and for relatively low CNR almost
becomes absent.
• The PD slope at the origin decreases as the CNR decreases and for relatively low
CNR almost yields a flat output.
• For low CNR value, increasing the integration time may either increase the slope
of the straight line output or yield a linear range, even if it is relatively narrow.
59
3. GNSS PILOT CHANNEL TRACKING
Integration time Tint = 4 ms
FLL ATAN2 Mean discriminator output [Hz]
150
100
50
y=x
15 dB−Hz
20 dB−Hz
25 dB−Hz
30 dB−Hz
35 dB−Hz
40 dB−Hz
45 dB−Hz
0
−50
−100
−150
−150
−100
−50
0
50
True Input Frequency error [Hz]
100
150
Figure 3.5: Mean ATAN2 DFLL discriminator output with TI = 4 ms - Mean
ATAN2 discriminator output for varying CNR and TI = 4 ms demonstrating the absence
of linear range for the 15 dB-Hz curve.
Integration time Tint = 40 ms
FLL ATAN2 Mean discriminator output [Hz]
15
10
5
y=x
15 dB−Hz
20 dB−Hz
25 dB−Hz
30 dB−Hz
35 dB−Hz
40 dB−Hz
45 dB−Hz
Tangent 15 dB−Hz
0
−5
−10
−15
−15
−10
−5
0
5
True Input Frequency error [Hz]
10
15
Figure 3.6: Mean ATAN2 discriminator output with TI = 40 ms - Mean ATAN2
discriminator output for varying CNR showing a relatively small linear frequency range for
C/N0 = 15 dB-Hz.
60
3.4 Discriminators
Based on these observations, an intuitive solution for choosing the optimum integration
time that guarantees a wide linear range with a unity slope, would be to choose the
minimum allowable integration time and to rotate the PD output curves relative to
low CNR in Figure 3.5. These curves have slopes at the origin lower than one but
introducing a PD gain would compensate the low CNR effect, such that the slopes
eventually become equal to one. However, for relatively low integration time and CNR
values, the output line can be flat (for 15 dB-Hz in Figure 3.5) and so there would be
no linear range and no gain can do any compensation. Increasing the integration time
for the same CNR yields a linear range even if the frequency error range is as small as
±5 Hz as seen in Figure 3.6 where a straight line is plotted which passes through the
origin with identical slope relative to the output due to a 15 dB-Hz. Thus, the choice
of the integration time should be a trade-off between assuring a linear response from
the PD and specifying a relatively wide frequency range for the PD. The aim of this
section is to determine that optimum integration time.
Phase detector gain
The idea developed in [6] is an intuitive solution that com-
pensates for the PD gain. However, it does not address the issue of optimum choice of
the integration time that corresponds to a certain input frequency error tolerance or a
frequency pull-in range. It introduces a PD gain KD , i.e. the slope, together with a
noise term nW [k] as shown in Figure 3.3 to compensate for the low PD performance
in low CNR signals. Indeed, this approach should be applied very carefully because it
assumes that the tracking takes place in the linear range. Whenever the linear range
is exceeded, the tracking loop incurs cycle slips and could go out of lock as a result.
For this reason, given that the linear range or the range of frequency errors that the
FLL is able to track reliably is determined by the integration time, it is of utmost importance to compensate with the PD gain only when an appropriate integration time
TI is determined as a function of the maximum expected input frequency error or input frequency pull-in range. The maximum input frequency error can be an estimate
coming from both the expected dynamics of the receiver as well as the quality of the
earlier acquisition process.
First, some basic variables are introduced that are instrumental towards the endeavor
61
3. GNSS PILOT CHANNEL TRACKING
of deriving the optimum integration time. As expected, the PD gain KD depends on
the CNR, and indeed, a signal quality metric SNRC is defined in [6] such that:
SNRC =
2P TI
= 2TI C/N0
N0
(3.41)
The PD gain is then defined for a specific discriminator as a function of SNRC by using
the probability distribution function p(θ) of an apparent phase θ induced by thermal
noise due to nW [k]. Indeed, the gain for an ATAN2 PD is given by [6]:
Z π
p(θ)p(θ − π)dθ
KD = 1 − 4π
(3.42)
0
where the probability distribution of the phase error is given by [40]:
r
−SNRC
√
!
1
e 2
πSNRC
SNR
cos(θ)
2 (θ)
C
SNR
cos
C
√
1 + erf
p(θ) =
1+
cos(θ)e 2
2π
2
2
(3.43)
with −π ≤ θ ≤ π and erf(x) the Gaussian error function.
Optimum DFLL ATAN2 integration time
To determine the optimum integra-
tion time, two conditions have to be satisfied:
• A linear range should be present, i.e. the mean frequency estimate has to be
equal or very close to the input frequency error possibly after applying the PD
gain KD .
• The integration time should yield the widest linear range.
Assuming a frequency error δω which is constant over the integration time, the mean
output or frequency estimate of the ATAN2 discriminator is defined in [6] :
Z πZ π
1
f (δωTI + θ2 − θ1 )p(θ1 )p(θ2 )dθ1 dθ2
µe =
TI −π −π
(3.44)
where f (x) is the noise-free or ideal frequency discriminator input-output characteristic
which is a straight line passing through the origin with unity slope:
f (x) = x (u(x + π) − u(x − π))
(3.45)
where u(x) is the Heaviside step function. Satisfying the first condition for optimum
integration time yields:
µe
KD − δω < ǫ
62
(3.46)
3.4 Discriminators
where ǫ is the error tolerance in frequency estimation, arbitrarily set to 10% of the
ideal value δω rad/s. Satisfying the second condition entails solving for the maximum
frequency range δω that satisfies condition 3.46, in other words:
δωmax = max δω
(3.47)
µe
K −δω <ǫ
D
Optimum integration time and frequency pull−in range
Optimum integration time
Single−sided frequency pull−in range
100
90
16
T
50
8
[Hz]
max
60
δf
70
12
Iopt
[ms]
80
40
30
4
20
10
0
15
20
25
30
35
Carrier to noise ratio [dB−Hz]
40
0
45
Figure 3.7: Whole region optimum integration time and corresponding frequency pull-in range - assuming an error tolerance of 10% for every point in the linear
range.
Solving for δωmax will result in the optimum integration time TI . The optimal integration time and the corresponding frequency pull-in range as shown in Figures 3.7 and 3.8
are obtained here by numerical integration due to the complexity of the problem. The
former figure is the result of checking condition 3.46 is satisfied for the whole range,
while the latter figure is the result of checking just one frequency error point at the
boundary of the linear range. It is worth noting that due to the very low CNR at 15
63
3. GNSS PILOT CHANNEL TRACKING
Optimum integration time and frequency pull−in range
Optimum integration time
Single−sided frequency pull−in range
100
90
16
T
50
8
[Hz]
40
30
4
20
10
0
15
20
25
30
35
Carrier to noise ratio [dB−Hz]
40
0
45
Figure 3.8: Singular point optimum integration time and corresponding frequency pull-in range - assuming an error tolerance of 10% and considering the boundary
point in the linear range.
64
max
60
δf
70
12
Iopt
[ms]
80
3.4 Discriminators
and 20 dB-Hz the optimum integration time and the corresponding frequency pull-in
range derived in both of these figures are inconsistent between various simulation runs
and hence unreliable. The reason is that the noise floor is much higher than the signal,
such that the discriminator response is more determined by noise than the signal, and
an error tolerance of 10% yields inconsistent results instead of declaring unreliable or
false tracking. Indeed, condition 3.46 is no longer satisfied when the error tolerance is
lowered to 1% and the result is infinite integration time together with a zero frequency
pull-in range.
Another way to look at this problem, is to set the sub-optimal integration time, given
the maximum frequency error that is expected to sustain. In other words,
µe
− δω ǫmin = min δω=δωmax KD
(3.48)
Checking that ǫmin ≤ ǫ is satisfied, will yield a solution of an acceptable integration
time for the expected input frequency error δωmax .
3.4.1.2
DFLL CP discriminator
As previously mentioned in Section 3.4.1, the CP DFLL discriminator is another form
of the BCP discriminator defined by Equation 3.34 which is derived on the basis of the
optimum DPLL discriminator. The only difference is the choice of input signal power
normalization instead of correlation power normalization. The coherent DFLL CP
discriminator input-output characteristic can thus be defined in terms of the in-phase
and quadrature phase of two successive correlator values:
ef [k] = √
1
(Q[k]I[k − 1] − I[k]Q[k − 1])
P TI
(3.49)
and where unlike the ATAN2, the coherent CP discriminator is then normalized by the
√
input signal power P . If the receiver estimates the incoming signal power, the CP
discriminator is characterized by a CNR independent input-output response with a corresponding PD gain KD equal to one as seen in Figure 3.9. However, if the BCP PD is
used with a correlation power normalization as in Equation 3.34, then the input-output
characteristic depends on the CNR as shown in Figure 3.10 and the corresponding PD
gain decreases as in the case of the ATAN2 discriminator.
65
3. GNSS PILOT CHANNEL TRACKING
Moreover, the CP PD has a relatively narrow input single-sided frequency pull-in range
π/(8TI ) as compared to the ATAN2 discriminator. The integration time can be set to
the minimum value in this case whatever low is the input CNR. This is in contrast with
the 2π/TI tolerance for the ATAN2 discriminator, where the integration time should be
increased with very low CNR as discussed previously in setting the optimum integration time. In conclusion, it has been shown in [6] that in weak signal conditions, a more
robust response in terms of lower phase tracking jitter is expected to be gained from
CP discriminators. Consequently, the coherent CP discriminator can be switched to
operate instead of the ATAN2 discriminator, whenever the CNR indicator goes below
a threshold value of the SN RC .
Integration time Tint = 4 ms
FLL CP Mean discriminator output [Hz]
150
100
50
0
y=x
15 dB−Hz
20 dB−Hz
25 dB−Hz
30 dB−Hz
35 dB−Hz
40 dB−Hz
45 dB−Hz
−50
−100
−150
−150
−100
−50
0
50
True Input Frequency error [Hz]
100
150
Figure 3.9: Mean CP discriminator output with TI = 4 ms - Mean CP discriminator
output does not depend on CNR nor integration time.
66
3.4 Discriminators
Integration time Tint = 4 ms
FLL BCP Mean discriminator output [Hz]
150
100
50
0
y=x
15 dB−Hz
20 dB−Hz
25 dB−Hz
30 dB−Hz
35 dB−Hz
40 dB−Hz
45 dB−Hz
−50
−100
−150
−150
−100
−50
0
50
True Input Frequency error [Hz]
100
150
Figure 3.10: Mean BCP discriminator output with TI = 4 ms - depends on CNR
as it is normalized by the correlation power.
67
3. GNSS PILOT CHANNEL TRACKING
3.4.2
DPLL discriminators
Similarly to frequency discriminators, there are different phase discriminators described
in literature, which are divided into two main categories: coherent and noncoherent.
Each discriminator has a series of characteristics favoring it over another:
• Data channels require the phase discriminator to be insensitive to the inherent
phase jumps due to data bits. In this case, Costas or noncoherent PD like the
Dot Product (DP) [9], Decision Directed Dot Product (DDDP), Ratio RAT and
ATAN discriminators, the latter of which is the optimal phase discriminator are
favored over others [37]. Moreover, the maximum coherent integration time is
limited to the duration of the data bit, i.e. 1 or 4 ms for Galileo signals and 20
ms for GPS signals.
• Pilot channels are not modulated by data bits, and so can extend their integration
time to much higher values without losing lock depending on the quality and dynamics of the received signal. In this case, the Coherent (COH) and the extended
arctan or ATAN2 discriminators [37] are a better option, because of their wider
linear range.
In other words, noncoherent phase discriminators have a stability range limited to ±π/2
radians while coherent phase discriminators stability range is defined over the whole
circle ±π radians. These phase discriminators attempt to directly estimate the input
phase error δφ. It is worth mentioning that only the ATAN and ATAN2 discriminators
yield a linear output estimate of the input phase error while it is expected a sinusoidal
input phase estimate from the remaining discriminators. Therefore, given the approximation ep [k] ≈ δφk for both cases in low phase error conditions, the ATAN and ATAN2
discriminators are characterized by a unity transfer function for high CNR:
D(z) =
e(z)
=1
δφ(z)
(3.50)
Furthermore, the COH discriminator needs to be normalized by the average power of
the signal in order to provide insensitivity to high and low CNR. Since we are dealing
with pilot channels, we will focus on coherent phase discriminators in the following.
Similarly to the differences between the coherent DFLL discriminators, let us list the
main differences between the coherent DPLL discriminators:
68
3.4 Discriminators
• ATAN2 input-output response relies heavily on the input CNR while CP is independent of it.
• COH should be normalized by the received signal power while ATAN2 is already
normalized by itself.
• In ideal conditions, ATAN2 has a wider linear tracking phase range ±π compared
to ±π/4 for the COH discriminator.
To better understand these differences, it is appropriate to present some results of these
two discriminators in different conditions of CNR and integration time.
3.4.2.1
DPLL ATAN2 discriminator and optimum integration time
The DPLL ATAN2 discriminator is a coherent variant of the noncoherent ATAN optimum DPLL discriminator. Its input-output characteristic can be defined in terms of
the in-phase and quadrature phase correlator values at a given epoch k [37]:
ep [k] = atan2(Q[k], I[k])
(3.51)
Figures 3.11 and 3.12 show the output phase error in terms of input phase error for
a specific integration time TI = 4 ms and TI = 40 ms and various CNR. It is worth
noting some points here:
• The stability range is equal to ±π and is usually wider than the linear range.
• The linear range shrinks as the CNR decreases and for relatively low CNR almost
becomes absent.
• The PD slope at the origin decreases as the CNR decreases and for relatively low
CNR almost yields a flat output.
• For low CNR value, increasing the integration time may increase the slope of the
straight line output or yield a linear range, even if it is relatively narrow.
Indeed, it can be seen in Figure 3.12 that a relatively large integration time of 40 ms
applied on an input signal characterized by a CNR of 15 dB-Hz, yields a limited linear
range of around ±π/2 using an ATAN2 DPLL PD. Any phase variation at the input
signal of amplitude larger than ±π/2 would result in cycle slips and may also lead to loss
69
3. GNSS PILOT CHANNEL TRACKING
of lock depending on the duration and size of the phase variations. In some applications
where these phase variations are quite frequent and large (ionospheric scintillation), it
is desired that the linear range covers the whole possible range, that is ±π.
Integration time Tint = 4 ms
PLL ATAN2 mean discriminator output [rad]
4
3
2
1
0
y=x
15 dB−Hz
20 dB−Hz
25 dB−Hz
30 dB−Hz
35 dB−Hz
40 dB−Hz
45 dB−Hz
−1
−2
−3
−4
−4
−3
−2
−1
0
1
True input phase error [rad]
2
3
4
Figure 3.11: Mean DPLL ATAN2 discriminator output with TI = 4 ms - and
varying CNR demonstrating the absence of linear range for the 15 dB-Hz curve.
Optimum integration time
It can be seen that increasing the integration time im-
proves the output of the DPLL PD, however the integration time inside the DPLL is
limited by the desired noise equivalent bandwidth which is an estimate of the amount
of noise at the input of the DPLL. In the classical DPLL of a GNSS receiver, the loop
update rate is the inverse of the chosen integration interval TI . Therefore, as the integration time increases, the loop sampling rate or update rate decreases. To satisfy the
70
3.4 Discriminators
Integration time Tint = 40 ms
PLL ATAN2 mean discriminator output [rad]
4
3
2
1
0
y=x
15 dB−Hz
20 dB−Hz
25 dB−Hz
30 dB−Hz
35 dB−Hz
40 dB−Hz
45 dB−Hz
−1
−2
−3
−4
−4
−3
−2
−1
0
1
True input phase error [rad]
2
3
Figure 3.12: Mean DPLL ATAN2 discriminator output with TI = 40 ms restoring a certain linear range for the 15 dB-Hz curve.
71
4
3. GNSS PILOT CHANNEL TRACKING
Nyquist sampling frequency theorem, the noise equivalent bandwidth BN can not go
beyond 1/(2TI ) or conversely TI < 1/(2BN ). Knowing that a specific noise threshold
exists, the design value of the noise equivalent bandwidth to be passed to the DPLL
can not go below 5 Hz for example and consequently the integration time can not go
beyond 100 ms in this case. However, the linear range should be as wide as ±π radians
to account for any large phase variations that is possible to encounter at the input
signal. Looking into Figure 3.13, it can be seen that the minimum CNR yielding this
wide ±π linear range is 35 dB-Hz, or even down to 20 dB-Hz if a slightly higher tolerance of the linear range is considered ±0.86π. Taking the noise equivalent bandwidth
threshold into account, this study can help identify the minimum CNR of a signal that
is possible to track without incurring cycle slips and using the DPLL discriminator
mainly the ATAN2 PD which has a slope that is highly dependent on both the CNR
and integration time.
Alternatively, the loop update or sampling rate FL can be increased with respect to
the inverse of the integration interval TI such that:
FL = m/TI
(3.52)
and thus the noise equivalent bandwidth can not go beyond FL /2 = m/(2TI ). Considering the same noise equivalent bandwidth threshold of 5 Hz, it results that TI < m/10,
or that TI can be extended m times more with respect to its value using the classical
approach, that is setting the loop update rate as the inverse of the integration interval.
3.4.2.2
DPLL COH discriminator
The COH DPLL discriminator is defined as the imaginary part of the correlator output or the quadra-phase component [37]-[6]. It does not depend on the CNR or the
integration time as long as it is normalized by the input signal power P:
Q[k]
ep [k] = √
P
(3.53)
This is shown in Figure 3.14 where the COH PD output is simulated for different values
of the input signal CNR and yields the same output. Moreover, the COH PD has a relatively narrow linear range ±π/3 as compared to that of the ATAN2 discriminator ±π.
The integration time can be set to the minimum value in this case whatever low is the
72
3.4 Discriminators
Integration time Tint = 100 ms
PLL ATAN2 mean discriminator output [rad]
4
3
2
1
y=x
15 dB−Hz
20 dB−Hz
25 dB−Hz
30 dB−Hz
35 dB−Hz
40 dB−Hz
45 dB−Hz
0
−1
−2
−3
−4
−4
−3
−2
−1
0
1
True input phase error [rad]
2
3
Figure 3.13: Mean DPLL ATAN2 discriminator output with TI = 100 ms showing the minimum CNR of 35 dB-Hz that yields a linear range over the whole ±π
radians.
73
4
3. GNSS PILOT CHANNEL TRACKING
input CNR. This is in contrast with the ATAN2 discriminator, where the integration
time should be increased with very low CNR as to restore or widen the linear range. In
conclusion, it has been shown in [6] that in moderately weak to strong signal conditions,
the choice of PD is not straightforward and depends on the application at hand, trying
to reach a compromise between transient and steady state response. On the other hand,
in weak signal conditions, a more robust response in terms of lower phase tracking jitter
is expected to be gained from the COH discriminator. Consequently, in general conditions, the best approach seems to switch on the COH discriminator to operate instead
of the ATAN2 discriminator, whenever the CNR indicator goes below a threshold value
of the SN RC for the same integration time. It is also worth noting that increasing
the integration time results in choosing the ATAN2 PD instead, just because it has a
wider linear range. In this sense, it is also worth noting the importance of choosing an
optimum integration time. However, the choice of the discriminator between ATAN2
and COH depends on the specific application, and for ionospheric scintillation cases,
it is better to employ an ATAN2 PD with an optimum integration time in order to
absorb large phase variations.
3.4.3
DFLL-assisted DPLL discriminators
There are also DFLL-assisted DPLL discriminators, as the Unambiguous Frequency
Aided (UFA) discriminator [4]. The UFA is a DPLL PD with the difference of having
an accumulator which counts phase jumps from one epoch to another, something that
a normal DPLL PD would otherwise not be able to detect. This is done by correcting
the usual PD output in the following manner [4]:
eu [k] = ep [k] − Iπ (ep [k] − eu [k − 1])
(3.54)
where Iπ (x) = x − [x]2π and the operator [.]2π keeps the x value inside the interval
[−π, π] when dealing with pilot channels.
3.4.4
DDLL discriminators
The DDLL discriminator’s function is to estimate the code phase τ of the received
signal’s spreading code. To understand the methodology widely followed in literature,
it is useful to consider the spreading code separately, assuming a perfect wipe-off of
74
3.4 Discriminators
Integration time Tint = 4 ms
PLL coherent mean discriminator output [rad]
4
3
2
1
0
y=x
15 dB−Hz
20 dB−Hz
25 dB−Hz
30 dB−Hz
35 dB−Hz
40 dB−Hz
45 dB−Hz
−1
−2
−3
−4
−4
−3
−2
−1
0
1
True input phase error [rad]
2
3
Figure 3.14: Mean DPLL COH discriminator output with TI = 4 ms - showing
the dependence of the input-output characteristic from the CNR.
75
4
3. GNSS PILOT CHANNEL TRACKING
the carrier signal, which is seldom the case in a GNSS receiver. Moreover, in order to
acquire or track the signal, consider the correlation of the input signal by the spreading
code shifted by an appropriate τ to obtain a correlation value.
Clearly the auto-correlation function as seen in Figures 2.6(a) 2.6(b) is even since
the CA code is real, and there is only one point or one chip which corresponds to the
unity peak. This means that only one code phase τ in terms of chips can yield the
maximum correlation value. However, looking into the auto-correlation in terms of
samples, R(τ ) is significantly higher than non-zero for a number of points or samples
depending on the sampling frequency of the digital signal. It is thus crucial to select
the correct sample which corresponds to the peak yielding the best synchronization and
positioning accuracy.
Due to the shape of R(τ ) as explained above, and given that the acquisition engine provides a good estimate of the code phase in the range of the peak of the auto-correlation
function (less than a chip), the most natural way to accomplish this is to use several
correlators, typically three complex point correlators, early ZE = IE + jQE prompt ZP
and late ZL which are separated by an early minus late spacing ds defined in terms of a
fraction of a chip. The prompt correlator uses the PD code phase estimate to compute
IP and QP while the early and late correlators are obtained by using shifted versions
of the local PRN code by ±ds /2 chips.
3.4.4.1
Types of DDLL discriminators
There are several DDLL discriminators documented in the literature, some of them
use only the early and late correlators while others use all three correlators. The first
category of these PD comprises early minus late discriminators while the second category, DP discriminators. Discriminators are typically normalized to yield an unbiased
code phase, that is approximately equal to the true code phase. No normalization is
applied if it is desired to conduct adaptive processing where the discriminators output
reflects changes in the input signal’s parameters such as amplitude, correlator integration time, correlator spacing, code chip width, noise power... These correlators hold
complex numbers, where the absolute
operation applied on the complex early correlaq
tor output |ZE | is equivalent to IE2 + Q2E . Indeed, the in-phase and quadrature early
76
3.4 Discriminators
point correlators of the DDLL relative to a BOC signal can be written as:
IE [k] =
kX
· TI
n=(k−1)TI
QE [k] =
kX
· TI
n=(k−1)TI
CE [n] · SE [n] · Im((cos φ̂k [n] − j sin φ̂k [n]) · s[n])
(3.55)
CE [n] · SE [n] · Re((cos φ̂k [n] − j sin φ̂k [n]) · s[n])
(3.56)
where both the spreading code and subcarrier are shifted by ds /2 chips. In a similar
way, the expressions of the prompt and late correlators can be derived. Typical DDLL
discriminators’ expressions [37] [2] are listed herein:
• SEMLP = |ZE |2 − |ZL |2 characterizes the noncoherent Early Minus Late Power
(EMLP) discriminator without normalization.
|ZE |2 − |ZL |2
characterizes the noncoherent (EMLP) discriminator
|ZE |2 + |ZL |2
with early and late correlators normalization.
• SEMLPn =
|ZE | − |ZL |
for the noncoherent Early Minus Late Envelope (EMLE)
|ZE | + |ZL |
discriminator with early and late correlators normalization.
• SEMLEn =
|ZE | − |ZL |
for the noncoherent EMLE discriminator with prompt
|ZP |
correlator normalization.
• SEMLEnp =
• SDP = (IE − IL )Ip + (QE − QL )Qp for the noncoherent DP discriminator with no
normalization.
I E − I L QE − QL
+
for the noncoherent DP discriminator with normalIp
Qp
ization by the prompt correlators IP2 and Q2P respectively.
• SDPn =
• SDDDP = (IE − IL )sign(Ip ) + (QE − QL )sign(Qp ) for the Decision Directed (DD)
coherent DP discriminator with no normalization.
• SEMLc = IE −IL +QE −QL for the coherent Early Minus Late (EML) discriminator
with no normalization.
• SDPc = (IE − IL )Ip for the coherent DP discriminator with no normalization.
• SDDDPc = (IE − IL )sign(Ip ) for the DD coherent DP discriminator with no normalization.
77
3. GNSS PILOT CHANNEL TRACKING
Noncoherent discriminators are insensitive to carrier phase errors and use the sum of
the squared value of both in-phase and quadrature correlators I 2 + Q2 or the product
of two in-phase correlators. On the other hand, coherent discriminators only use the
sum or difference of I and Q correlators as they are.
3.4.4.2
Galileo E1 DDLL auto-correlation and error functions
The Galileo E1 signal with its unique CBOC(6,1,1/11) subcarrier exhibits a multipeaked auto-correlation function as seen in Figure 2.5, which is typical of BOC signals
in general. Figure 3.15 highlights the difference in shape between a BOC(1,1) signal
and a CBOC(6,1,1/11), which is mainly a higher slope around the auto-correlation peak
coupled with multiple piecewise linear functions characterized by very small slopes.
Auto−correlation function with infinite bandwidth
1
Normalized auto−correlation
0.8
CBOC(6,1,1/11)
BOC(1,1)
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−1.5
−1
−0.5
0
Code delay (chips)
0.5
1
1.5
Figure 3.15: Comparison of BOC(1,1) and CBOC(6,1,1/11) auto-correlation
functions - a higher slope for the CBOC(6,1,1/11) pilot channel subcarrier, assuming
infinite bandwidth.
To assess the consequence of the existence of multiple peaks, it is useful to write the
expression of the discriminators or error functions in terms of the auto-correlation
function and examine their shape. The expression of the unnormalized typical DDLL
discriminators, EMLP EMLE and DP are considered herein. Substituting equations
78
3.4 Discriminators
Auto−correlation of pilot channel CBOC(6,1,1/11)
1.2
Normalized Auto−correlation
1
0.8
0.6
Infinite Bandwidth
6 MHz bandwidth
18 MHz bandwidth
25 MHz bandwidth
0.4
0.2
0
−0.2
−0.4
−0.6
−2
−1.5
−1
−0.5
0
0.5
Code delay (chips)
1
1.5
2
Figure 3.16: Comparison of CBOC(6,1,1/11) auto-correlation function for different front-end bandwidths - the sharp slope of the main peak of the pilot channel
disappears for a low bandwidth of 6 MHz.
2.3-2.4 into the EMLP discriminator expression without normalization, results in:
SEMLP = P ∗ (R2 (τE ) − R2 (τL ))
(3.57)
Similarly, the EMLE discriminator yields:
SEMLE =
√
P ∗ (R(τE ) − R(τL ))
(3.58)
And finally the noncoherent DP discriminator without normalization:
SDP = P ∗ (R(τE ) − R(τL )) ∗ R(τP )
(3.59)
Assuming an infinite front-end bandwidth, Figure 3.17 plots all these three discriminators. A sampling frequency much greater than the chip rate is assumed. It can be
seen that all three error functions corresponding to CBOC(6,1,1/11) display two false
lock points (zero-crossing points with a positive slope) at around ±0.5 chips error, in
addition to the one corresponding to zero code delay error, and this is true for both
types of subcarriers BOC(1,1) and CBOC(6,1,1/11). This is the general impact of the
BOC signals. Note that the ultimate goal of a DDLL discriminator is to lock into a
79
3. GNSS PILOT CHANNEL TRACKING
Comparison of different discriminators with 0.2 early late chip spacing
1
0.8
Error function E2(τ)
0.6
0.4
CBOC(6,1,1/11) EMLE
CBOC(6,1,1/11) DP
CBOC(6,1,1/11) EMLP
BOC(1,1) EMLP
y=x
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
Code delay (chips)
0.4
0.6
0.8
1
Figure 3.17: Comparison of traditional DDLL discriminators using Galileo
CBOC(6,1,1/11) and BOC(1,1) with no normalization - using EMLE, DP, EMLP
for CBOC(6,1,1/11) and EMLP for BOC(1,1) subcarriers, assuming an infinite (50 MHz)
bandwidth and an early-late spacing of 0.2 chips.
zero-crossing point because it is much easier than find the maximum of a function.
Obviously, the zero-crossing point should be unique in the discriminator function to
avoid false lock points.
3.4.4.3
Galileo E1 DDLL discriminators
The multiple peaks problem was expected as it is clearly shown in Figure 2.5 that
there are two side peaks at ±0.5 chips. These false lock points exist for both types of
error functions, EML as well as DP and pose a major threat for a false lock, as well
as biased or ambiguous tracking, and ultimately a position error of the order of 150
meters (= 0.5 chips · 3 · 108 m/s /1.023 Mcps). In order to circumvent the problem of
the multiple false lock points and biased tracking, many techniques have been proposed
in the literature each with its set of pros and cons.
The single side lobe or SSB technique treats each BOC side lobe as a single BPSK
signal, but needs additional hardware [2]. In addition, it suffers a 3dB loss if only
80
3.4 Discriminators
one lobe is tracked, and faces a challenging task of securing sharp roll-off filters for
narrow-spaced signals (in terms of bandwidth) when trying to combine both lobes noncoherently. This is the case for BOC(1,1) as well as CBOC(6,1,1/11) signals. Another
technique stems from the simple idea of multiplying the received signal by a combination of both in-phase and quadra-phase subcarriers. This technique is termed the
SCC technique, it creates a correlation function in terms of steps and a single correlation peak, and is shown to have equal performance with the SSB technique [7]. Other
techniques include BOC tracking with multiple gate discriminators MGD [8], the bump
jumping algorithm, the ASPeCT algorithm [9], the DE as explained in [2] - [10] and the
two-step Galileo CBOC tracking algorithm [11]. The bump jumping algorithm has the
downside of taking too long to converge while the ASPeCT and dual estimator which
has a third tracking loop dedicated to the subcarrier both yield a more complex loop
implementation.
Considering that both SSB and SCC do not either fully or efficiently exploit the subcarrier presence, and that BJ, ASPeCT and DE are either not efficient or add too much
complexity, the MGD seems a good alternative. For that reason, in the following, the
VEMLE discriminator will be examined which is a MGD showing an unambiguous
curve by using two pairs of early and late correlators, i.e. the usual early and late
correlators and two additional very early and very late correlators.
3.4.4.4
Four taps VEMLE discriminator
The basic idea of the simple four taps VEMLE discriminator is to use four points of the
Galileo CBOC(6,1,1/11) code auto-correlation function in order to suppress the side
peaks at ±0.5 chips as seen in Figure 3.17. Different versions of this main idea can
be implemented, as each sample of the auto-correlation function can be weighted by
different values [41]. The simple VEMLE discriminator expression can be defined as:
q
q
SV EM LE = IE2 + Q2E + IV2 E + Q2V E − IL2 + Q2L + IV2 L + Q2V L
(3.60)
The corresponding discriminator or error function using an early minus late spacing of
0.5 chips and a very early minus very late chip spacing of 1 chip is shown in Figure 3.18.
For the discriminator to yield unbiased code phase error estimates, a normalization
process is applied, that is typically:
q
q
NV EM LE = IE2 + Q2E + IV2 E + Q2V E + IL2 + Q2L + IV2 L + Q2V L
81
(3.61)
3. GNSS PILOT CHANNEL TRACKING
Pilot channel CBOC(6,1,1/11) VEMLE with 0.5 early−late and 1 very early−late chip spacing
1.5
No norm
Coarse tracking norm
Fine tracking norm
y=x
Error function E4(τ)
1
0.5
0
−0.5
−1
−1.5
−1.5
−1
−0.5
0
Code delay (chips)
0.5
1
1.5
Figure 3.18: Different normalization strategies for the VEMLE discriminator
- no normalization, normalization for coarse tracking, and normalization for fine tracking
around zero code delay error.
This normalization is performed using the (very early, early, late, very late) correlators, ideally spaced at (-0.5, -0.25, 0.25, 0.5) chips from the true code delay. In
addition, a normalization factor is needed such that the piece-wise linear discriminator
function has a unity slope for a specific piece in consideration. In fact, the idea of
coarse and fine tracking as mentioned in [11] stems from the fact that the discriminator function can be approximated by a collection of several piece-wise linear functions
which have different slopes. This is due to the CBOC(6,1,1/11) auto-correlation shape
as shown in Figure 3.15. Due to this CBOC shape, namely the quasi zero slope of
the auto-correlation function main peak around ±0.1 chips, there is an inherent risk of
confining to sub-optimal code tracking, incurring a position error of the order of 150
meters as previously noted.
For this reason, coarse and fine tracking need to be carried out in a special setting.
Coarse tracking ensures a wide linear range between ±0.5 chips albeit with some un-
dulations and partially between ±1 chips, as shown in Figure 3.18. In the same figure,
it can be seen that fine tracking, on the other hand, ensures a narrow linear range but
specifically concentrated around zero code delay error. This yields fine estimates of
82
3.4 Discriminators
the code phase error. Coarse tracking is initiated and a test is performed to assess the
feasibility of moving to fine tracking. In other words, this needs checking the range
of code delay values where the tracking is being performed, which can be easily done
by monitoring the outputs of the VEMLE discriminator during tracking. A simple
arbitrary monitoring test consists of looking back over the last second of tracking, and
moving to fine tracking if 90% of the code delay values are less than ds /4 = 0.125 chips.
On the other hand, another condition has to be satisfied to remain in fine tracking, that
is checking that 50% of the code delay values in the last 100 ms are less than 0.125 chips.
The normalization factors depend on the slope of the code auto-correlation function
main peak as well as the early minus late chip spacing. Analytical expressions of these
normalization factors can be found in [11] where an additional multiplicative factor of
2 is used for coarse tracking, and 0.8333 for fine tracking. Figure 3.18 shows all three
versions, without normalization, normalization for coarse and fine tracking. Moreover,
it is essential not to underestimate the role of the front-end bandwidth in the discriminator’s shape. In fact, it has been seen in Figure 3.16 that the sharp slope of the
auto-correlation peak exhibited by the CBOC subcarrier is reduced to the value of the
BOC(1,1) when a 6 MHz bandwidth is chosen. As can be seen in Figure 3.19, in case
of coarse tracking, the discriminators relative to 18 MHz and 25 MHz bandwidth are
very close to the infinite bandwidth case and closely follow a piece-wise unity slope
line. These ondulations cause a longer transient time than the usual BPSK signal case.
The error function relative to the 6 MHz bandwidth front-end is more problematic as
it does not fit closely to the unity slope piece-wise linear function. In fine tracking
mode however, the difference between 18 and 25 MHz bandwidth performance is much
clearer as shown in Figure 3.20, and it can be said that a 25 MHz bandwidth is enough
to capture and harness the CBOC auto-correlation shape.
3.4.4.5
Galileo E5a/b DDLL discriminators
The Galileo E5a or E5b spreading code signals are basically BPSK signals when considered separately instead of the whole Galileo E5 AltBOC signal. After wiping off the
carrier, the Galileo E5a or E5b code which is a PRN sequence is characterized by an
auto-correlation function with a single peak at zero time lag as can be seen in Figure
2.9. Figure 3.21 shows a comparison between the BOC(1,1) and Galileo E5a BPSK
83
3. GNSS PILOT CHANNEL TRACKING
VEMLE with 0.5 early−late and 1 very early−late chip spacing
1.5
Infinite Bandwidth
6 MHz bandwidth
18 MHz bandwidth
25 MHz bandwidth
y=x
Error function E4(τ)
1
0.5
0
−0.5
−1
−1.5
−1.5
−1
−0.5
0
Code delay (chips)
0.5
1
1.5
Figure 3.19: VEMLE discriminator performance during coarse tracking for
different bandwidths - 6 MHz, 18 MHz, 25 MHz and a theoretical infinite bandwidth of
50 MHz.
VEMLE with 0.5 early−late and 1 very early−late chip spacing
0.5
0.4
Infinite Bandwidth
6 MHz bandwidth
18 MHz bandwidth
25 MHz bandwidth
y=x
Error function E4(τ)
0.3
0.2
0.1
0
−0.1
−0.2
−0.3
−0.4
−0.5
−0.4
−0.3
−0.2
−0.1
0
0.1
Code delay (chips)
0.2
0.3
0.4
0.5
Figure 3.20: VEMLE discriminator performance during fine tracking for different bandwidths - 6 MHz, 18 MHz, 25 MHz and a theoretical infinite bandwidth of 50
MHz.
84
3.4 Discriminators
auto-correlation function using a large bandwidth. On the other hand, Figure 3.22
compares the auto-correlation function for different bandwidth values.
Auto−correlation function with infinite bandwidth
Normalized auto−correlation
1
BPSK
BOC(1,1)
0.5
0
−0.5
−2
−1
0
Code delay (chips)
1
2
Figure 3.21: Comparison of BOC(1,1) and Galileo E5a BPSK auto-correlation
functions - using a large bandwidth, a higher slope for the BOC(1,1) with respect to the
BPSK E5a spreading code.
Given the expression of the unnormalized discriminators or error functions in Equations
3.57 - 3.59 in terms of the corresponding auto-correlation functions seen in Figures
2.9 and 2.10, it is possible to examine the discriminator shape by simulation. The
unnormalized expressions of the typical DDLL discriminators presented earlier, EMLP
EMLE and DP are considered herein.
Assuming an infinite or relatively large front-end bandwidth of 100 MHz, Figure 3.23
shows a plot of all these three discriminators. A sampling frequency much greater than
the chip rate is assumed. As expected, the linear tracking region extends over half the
85
3. GNSS PILOT CHANNEL TRACKING
Auto−correlation of Galileo E5a pilot channel
1.2
Infinite bandw.
10.23 MHz bandw.
20.46 MHz bandw.
30.69 MHz bandw.
Normalized Auto−correlation
1
0.8
0.6
0.4
0.2
0
−0.2
−2
−1.5
−1
−0.5
0
0.5
Code delay (chips)
1
1.5
2
Figure 3.22: Comparison of Galileo E5a code auto-correlation function for
different front-end bandwidths - 20.46 MHz is the minimum bandwidth.
early late chip spacing which is 0.5 chip, hence around ±0.25 chip error. This is true for
the EMLE and EMLP discriminators whereas the DP discriminator has a very narrow
linear range around ±1/10 chip error.
3.4.5
Galileo E1 DE discriminators
As stated in section 3.4.4.3, numerous approaches have been presented in literature, to
deal with the ambiguous code tracking due to the BOC signal. The DE in particular,
introduces an additional locked loop, the Subcarrier Locked Loop (SLL) that tracks
the subcarrier in unison with the PLL and DLL. It is clear that both the subcarrier
and spreading code are perfectly aligned or synchronized as explained in section 2.2.1,
however, it is also possible to separate those signals in tracking, in order to get rid of
the ambiguity in the correlation function. Tracking the spreading code and subcarrier
separately in a dual estimator DE fashion means adding a Digital Subcarrier Locked
Loop (DSLL) in addition to the DDLL [10]. This is possible due to the periodic nature
of the subcarrier over the spreading code chips. Given that the period of the spreading
code Tc is a multiple of the CBOC(6,1,1/11) subcarrier subchip counterpart Tc = 12Tsc ,
it is possible to adjust the estimated spreading code delay τ̂c by the estimated subcarrier
code delay τ̂sc which offers higher resolution and lower tracking Root Mean Square
86
3.4 Discriminators
Comparison of discriminators with 0.5 early−late chip spacing
1.5
Error function E2(τ)
1
0.5
0
−0.5
BPSK EMLE
BPSK DP
BPSK EMLP
BOC(1,1) EMLP
y=x
−1
−1.5
−1.5
−1
−0.5
0
0.5
Code delay (chips)
1
1.5
Figure 3.23: Comparison of traditional DDLL discriminators applied on Galileo
E5a BPSK signals and theoretical BOC(1,1) signals - with a constant normalization
of 1/2, an early minus late chip spacing of 0.5 chips and EMLE, DP, EMLP discriminators
applied on BPSK signals and only EMLP on BOC(1,1) signals, assuming an infinite (100
MHz) bandwidth.
87
3. GNSS PILOT CHANNEL TRACKING
(RMS) jitter (because of the faster subcarrier modulation):
τ̂c − τ̂sc
+
Tsc
τ̂c = τ̂sc + round
Tsc
(3.62)
The DSLL discriminator would thus use a prompt version of the spreading code (estimated by the DDLL) and an early and late version of the subcarrier. In other words,
the in-phase and quadrature early correlator of the DSLL can be written as:
kX
· TI
CP [n] · SE [n] · Im((cos φ̂k [n] − j sin φ̂k [n]) · s[n])
ISE [k] =
(3.63)
CP [n] · SE [n] · Re((cos φ̂k [n] − j sin φ̂k [n]) · s[n])
(3.64)
n=(k−1)TI
QSE [k] =
kX
· TI
n=(k−1)TI
Similarly, the in-phase and quadrature late correlator of the DSLL are expressed as:
kX
· TI
CP [n] · SL [n] · imag((cos(φ̂k [n]) − j sin(φ̂k [n])) · s[n])(3.65)
ISL [k] =
n=(k−1) · TI
kX
· TI
QSL [k] =
CP [n] · SL [n] · real((cos(φ̂k [n]) − j sin(φ̂k [n])) · s[n]) (3.66)
n=(k−1) · TI
where CP is the prompt spreading code, which corresponds to the true estimated code
phase and SE SL are the early and late versions of the subcarrier signal which correspond to the true estimated subcarrier phase shifted by the early late subcarrier chip
spacing dsc .
On the other hand, the DDLL uses the prompt version of the subcarrier SP (estimated
by the DSLL) and an early and late version of the spreading code CE CL . Therefore,
the in-phase and quadrature early correlators of the DDLL in the DE are expressed as:
kX
· TI
SP [n] · CE [n] · imag((cos(φ̂k [n]) − j sin(φ̂k [n])) · s[n])(3.67)
ICE [k] =
n=(k−1) · TI
kX
· TI
QCE [k] =
SP [n] · CE [n] · real((cos(φ̂k [n]) − j sin(φ̂k [n])) · s[n]) (3.68)
n=(k−1) · TI
Similarly, the in-phase and quadrature late correlators of the DDLL are expressed as:
kX
· TI
SP [n] · CL [n] · imag((cos(φ̂k [n]) − j sin(φ̂k [n])) · s[n])(3.69)
ICL [k] =
n=(k−1) · TI
kX
· TI
QCL [k] =
SP [n] · CL [n] · real((cos(φ̂k [n]) − j sin(φ̂k [n])) · s[n]) (3.70)
n=(k−1) · TI
88
3.4 Discriminators
The prompt correlator is just the product of a prompt version of all three signals, i.e.
subcarrier, spreading code and carrier.
kX
· TI
ICP [k] =
n=(k−1) · TI
kX
· TI
QCP [k] =
n=(k−1) · TI
3.4.5.1
SP [n] · CP [n] · imag((cos(φ̂k [n]) − j sin(φ̂k [n])) · s[n])(3.71)
SP [n] · CP [n] · real((cos(φ̂k [n]) − j sin(φ̂k [n])) · s[n]) (3.72)
Ideal DSLL and DDLL auto-correlation and cross-correlation functions
Along the lines of section 3.4.4, it is useful to assume that a perfect estimation of the
spreading code delay is performed which results in a perfect wipe-off of the spreading
code. This is because the spreading code values are typically ±1. In these conditions, the auto-correlation function of the Galileo E1 CBOC signal reduces to the autocorrelation function of its subcarrier as shown in Figure 3.24 where different front-end
bandwidth values are compared. Assuming near infinite bandwidth, Figure 3.25 compares the BOC(1,1) to the CBOC(6,1,1/11) subcarrier auto-correlation functions.
CBOC(6,1,1/11) subcarrier auto−correlation function with different bandwidths
1
Infinite bandwidth
6 MHz bandwidth
18 MHz bandwidth
25 MHz bandwidth
0.8
Normalized auto−correlation
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
−2
−1.5
−1
−0.5
0
0.5
Subcarrier delay (chips)
1
1.5
2
Figure 3.24: The CBOC(6,1,1/11) subcarrier auto-correlation function - for
different front-end bandwidths.
However, assuming a perfect estimation of the subcarrier phase does not result in a
perfect wipe-off of the subcarrier as it takes on values of ±(α ± β). Therefore, the
89
3. GNSS PILOT CHANNEL TRACKING
Subcarrier auto−correlation function with infinite bandwidth
1
0.8
CBOC(6,1,1/11)
BOC(1,1)
Normalized auto−correlation
0.6
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
−2
−1.5
−1
−0.5
0
0.5
Subcarrier delay (chips)
1
1.5
2
Figure 3.25: A comparison of BOC(1,1) and CBOC(6,1,1/11) subcarrier autocorrelation function - using infinite bandwidth.
auto-correlation function of the Galileo E1 CBOC(6,1,1/11) signal reduces to a crosscorrelation between a modified version of the spreading code and the local spreading
code which is a BPSK signal. Figure 3.26 shows indeed that some ondulations exist
around the resulting cross-correlation function which is comparable to the well-noted
triangular function of BPSK signals. In fact, in case of a BOC(1,1) subcarrier which
takes on ±1 values, it is expected to obtain an auto-correlation function of the spreading
code characteristic of a triangular function of BPSK signals.
3.4.5.2
DSLL and DDLL discriminators
Comparison of different versions of EML and DP discriminators as listed in Subsection
3.4.4.1 inside the DSLL is shown in Figure 3.27. It can be seen several false locks at
multiples of ±0.5 chips which induce 150 meters of positioning error as pointed out
earlier in Section 3.4.4.3. For this reason, a pure coherent EML discriminator with no
normalization is used in the DSLL, defined as:
SEM L = ISE − ISL + QSE − QSL
(3.73)
It is further normalized by a normalization factor of 1/8 to yield a unity slope line,
with unbiased subcarrier delay estimates as shown in Figure 3.28 where an infinite
90
3.4 Discriminators
Spreading code cross−correlation function with infinite bandwidth
1
0.9
Normalized cross−correlation
0.8
CBOC(6,1,1/11)
BOC(1,1)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
−2
−1.5
−1
−0.5
0
0.5
Code delay (chips)
1
1.5
2
Figure 3.26: The Galileo E1 spreading sequence cross-correlation function after multiplying by the subcarrier, either BOC(1,1) and CBOC(6,1,1/11) and assuming
infinite bandwidth.
bandwidth is assumed. The DSLL pure EML discriminator is further shown in Figure
3.29 considering a set of bandwidth values 6, 18, and 25 MHz. The linear tracking
region is shown to become narrower with respect to the infinite bandwidth case, going
as low as half of the early minus late chip spacing 0.5/2=0.25 chips.
On the other hand, the DDLL EML code PD used in the DE, does not have the false
locking issue as shown in Figure 3.30. A comparison of different discriminators with
an early late chip spacing of 0.25 chips shows that unbiased code phase estimates are
obtained if a normalization factor of 1/2 is applied for all except the power discriminators where the normalization is 1/3 factor. Figures 3.31 shows the EML DDLL
used in a dual estimator in the case of infinite bandwidth (comparing CBOC(6,1,1/11)
with BOC(1,1)). Figure 3.32 on the other hand, shows the same discriminator function
considering the CBOC signal only and assuming a set of bandwidth values. Similar to
the DSLL, the linear tracking region of the DDLL is shown to become narrower with
respect to the infinite bandwidth case, going as low as half of the early minus late chip
spacing 0.5/2=0.25 chips.
The code and subcarrier delay errors are then filtered by the first order loop filter which
estimates the spreading code frequency or chip rate fc and the subcarrier frequency fsc .
91
3. GNSS PILOT CHANNEL TRACKING
Comparison of different discriminators with no normalization and 0.2 early late chip spacing
1.5
Error function E2(τ)
1
CBOC(6,1,1/11) EMLE
CBOC(6,1,1/11) DP
CBOC(6,1,1/11) EMLP
BOC(1,1) EMLP
y=x
0.5
0
−0.5
−1
−1.5
−1.5
−1
−0.5
0
Code delay (chips)
0.5
1
1.5
Figure 3.27: Comparison of DSLL discriminators after wiping off the spreading
code - using EMLE, DP, EMLP for CBOC(6,1,1/11) and EMLP for BOC(1,1) subcarriers,
assuming an infinite (50 MHz) bandwidth and an early-late spacing of 0.2 chips without
any normalization.
EML SLL discriminator with 0.25 early late chip spacing
0.5
0.4
Error function E2(τ)
0.3
CBOC(6,1,1/11) pilot channel
BOC(1,1)
y=x
0.2
0.1
0
−0.1
−0.2
−0.3
−0.4
−0.5
−2
−1.5
−1
−0.5
0
0.5
Subcarrier delay (chips)
1
1.5
2
Figure 3.28: Normalized EML discriminator used in DSLL dealing with
CBOC(6,1,1/11) subcarrier with infinite bandwidth - and an early late chip spacing
of 0.25 chips and a constant normalization factor of 1/8.
92
3.4 Discriminators
EML SLL discriminator with 0.25 early late chip spacing
0.5
0.4
Error function E2(τ)
0.3
0.2
Infinite Bandwidth
6 MHz bandwidth
18 MHz bandwidth
25 MHz bandwidth
y=x
0.1
0
−0.1
−0.2
−0.3
−0.4
−0.5
−2
−1.5
−1
−0.5
0
0.5
Subcarrier delay (chips)
1
1.5
2
Figure 3.29: Normalized EML discriminator used in DSLL dealing with
CBOC(6,1,1/11) subcarrier with different bandwidths - and an early late chip
spacing of 0.25 chips and a constant normalization factor of 1/8.
Comparison of different discriminators with constant normalization and 0.25 early late chip spacing
0.5
0.4
Error function E2(τ)
0.3
0.2
0.1
CBOC(6,1,1/11) EMLE
CBOC(6,1,1/11) DP
CBOC(6,1,1/11) EMLP
CBOC(6,1,1/11) EML
BOC(1,1) EMLP
y=x
0
−0.1
−0.2
−0.3
−0.4
−0.5
−2
−1.5
−1
−0.5
0
0.5
Code delay (chips)
1
1.5
2
Figure 3.30: Comparison of DDLL discriminators in a DE dealing with
CBOC(6,1,1/11) signals - using an early late chip spacing of 0.25 chips, a constant
normalization and infinite bandwidth.
93
3. GNSS PILOT CHANNEL TRACKING
EML DLL discriminator with 0.25 early late chip spacing
0.5
0.4
CBOC(6,1,1/11) pilot channel
BOC(1,1)
y=x
Error function E2(τ)
0.3
0.2
0.1
0
−0.1
−0.2
−0.3
−0.4
−0.5
−2
−1.5
−1
−0.5
0
0.5
Code delay (chips)
1
1.5
2
Figure 3.31: Normalized EML discriminator used in a dual estimator DDLL
with infinite bandwidth - and an early late chip spacing of 0.25 chips and a constant
normalization factor of 1/2.
EML DLL discriminator with 0.25 early late chip spacing
0.5
0.4
Infinite bandwidth
6 MHz bandwidth
18 MHz bandwidth
25 MHz bandwidth
y=x
Error function E2(τ)
0.3
0.2
0.1
0
−0.1
−0.2
−0.3
−0.4
−0.5
−2
−1.5
−1
−0.5
0
0.5
Code delay (chips)
1
1.5
2
Figure 3.32: Normalized EML discriminator used in a dual estimator DDLL
with different bandwidths - and an early late chip spacing of 0.25 chips and a constant
normalization factor of 1/2.
94
3.4 Discriminators
These frequency estimates include the carrier Doppler frequency effect and are used to
generate a precise code frequency at every integration interval. The expression of the
estimated spreading code / subcarrier delay in terms of code/subcarrier frequency is:
τ̂c = τ̂co − (fˆc − 12fc )TI Fs /(12fc )
τ̂sc = τ̂co − (fˆsc − 12fc )TI Fs /(12fc )
(3.74)
(3.75)
where the additional subscript o designates the original code/subcarrier phase estimate
returned by the acquisition engine. Substituting Equations 3.74 and 3.75 into 3.62
yields the aforementioned precise code frequency estimate:
fˆc+ = fˆsc −
1
round[(fˆsc − fˆc )TI FS ]
TI FS
(3.76)
Based on this frequency, the NCO generates both subcarrier and spreading code reference signals to pass it on to the inputs of the DSLL and DDLL respectively.
95
3. GNSS PILOT CHANNEL TRACKING
3.5
Loop filter design
In the GNSS literature dealing with phase locked loops, loop filters are often chosen
to be Infinite Impulse Response (IIR) filters and designed in the analog domain. The
main function of the loop filter is to smooth the PD output and filter out the AWGN by
averaging previous and current PD outputs or loop filter inputs. Digital locked loops
of first, second and third order are able to track with zero steady state error, a phase
step, a phase ramp and a frequency ramp inputs respectively. In case the computation
delay D is zero, the number of poles of the loop transfer function determines the order
of the FLL/PLL/DLL. The type of the loop on the other hand is defined as the number
of integrators used in the loop [35].
Numerous loop filters are considered in the GNSS literature [37] [42], without taking
care of the consequences of the approximation or transformation of the optimum loop
filter from analog to digital domain as previously mentioned in Section 3.2 [36]. Indeed,
it has been common place in literature to use loop filters designed in the analog domain
and resort to methods which transform these filters into digital ones, i.e. box-car
mapping or impulse invariance and bilinear transformation, instead of designing digital
loop filters from scratch. A frequent criteria used to design these analog loop filters [38]
is to minimize both phase output noise power and transient energy. Another criteria
could be to only minimize the transient energy or the output noise power separately. In
the following, those loop filters adopted in the literature are visited and a derivation of
the optimum digital loop filters for a phase step, phase ramp and frequency ramp inputs
is presented showing the zeros and poles locations as well as a performance comparison
between loop filters designed in the analog vs digital domain.
3.5.1
Classical mapped digital loop filters
Zero, first, and second order loop filter characteristics used in the first commercial GPS
receiver design are reported in [37] whereas only first order loop filters (usually resulting
in second order loops) are considered in [42]. However, these loop filters are designed in
the analog domain and in order to obtain a discrete transfer function, that is a digital
implementation, it is necessary to apply analog to digital mapping, either the boxcar
digital mapping (impulse invariance) or the bilinear mapping [37]. It is shown in [5]
that the boxcar digital mapping results in the mapping of the left hand S plane into a
96
3.5 Loop filter design
small circle in the right hand side of the unit circle whereas the bilinear mapping maps
the entire left hand S plane into the unit circle. It is also shown that the percentage
increase in desired bandwidth due to digital mapping is greater for a boxcar mapping
as compared to a bilinear mapping [5]. For that reason, in the following, a derivation
of the digital implementation is presented using a bilinear mapping:
s=
3.5.1.1
2 1 − z −1
TI 1 + z −1
(3.77)
Zero order loop filter
A zero order filter is represented by a constant coefficient and as reported in [37], this
constant is equal to the natural frequency wn related to the noise equivalent bandwidth
BN = wn /4. Setting BN is equivalent do define the zero order loop filter coefficient as:
F0 (z) = 4BN
(3.78)
which, in time domain, is equivalent to the output:
y0 [k] = 4BN x0 [k]
3.5.1.2
(3.79)
First order loop filter
The first order loop filter in the analog domain is defined in [37]:
F1 (s) =
wn 2
w n 2 + a2 w n s
+ a2 wn =
s
s
(3.80)
Applying the bilinear transformation directly on this analog loop filter by substituting
Equation 3.77 into F1 (s):
F1 (s)
1−z −1
I 1+z −1
s= T2
7−→
F1 (z)
yields the digital loop filter transfer function:
TI (1 + z −1 )
2a2 wn 1 − z −1
2
F1 (z) =
wn +
2(1 − z −1 )
TI 1 + z −1
TI wn 2 (1 + z −1 ) + 2a2 wn (1 − z −1 )
=
2(1 − z −1 )
A1 + A2 z −1
=
1 − z −1
97
(3.81)
(3.82)
3. GNSS PILOT CHANNEL TRACKING
which, in the time domain, is equivalent to the output:
y1 [k] = y1 [k − 1] + A1 x1 [k] + A2 x1 [k − 1]
and where a2 =
√
(3.83)
2 and the loop filter coefficients are given by:
A1 =
TI w n 2
+ a2 w n ;
2
A2 =
TI w n 2
− a2 w n
2
(3.84)
The natural frequency on the other hand, is determined by the choice of the noise
equivalent bandwidth BN :
4a2 BN
1 + a2 2
wn =
(3.85)
The loop filter parameters obtained as such will be referenced by method 1 in the
following section where a performance comparison is carried out between various first
order loop filters.
A different analog first order loop filter is proposed in [35] and [42]:
1 τ2 s + 1
s τ1
F1 (s) =
(3.86)
and where the digital domain loop filter is derived after performing bilinear mapping
on the resulting system analog transfer function H1 (s) :
H1 (s)
1−z −1
I 1+z −1
s= T2
7−→
H1 (z)
(3.87)
which yields a loop filter transfer function:
F1 (z) =
C1 + C2 − C1 z −1
1 − z −1
(3.88)
where
C1 =
C2 =
8ζwn TI
1
,
KD 4 + 4ζwn TI + (wn TI )2
1
4(wn TI )2
KD 4 + 4ζwn TI + (wn TI )2
(3.89)
(3.90)
and KD is the loop gain, ζ is the damping ratio often found in control theory and the
natural frequency wn defined by:
wn =
8ζBN
4ζ 2 + 1
98
(3.91)
3.5 Loop filter design
Indeed, the second order PLL is widely known to be characterized by those two parameters, damping factor or ratio and the natural frequency. In the time domain, this
loop filter is equivalent to the output:
y1 [k] = y1 [k − 1] + (C1 + C2 )x1 [k] − C1 x1 [k − 1]
(3.92)
The loop filter parameters obtained as such will be referenced by method 2 in the
following section where a performance comparison is carried out between various first
order loop filters.
On the other hand, impulse invariance mapping on the loop filter transfer function:
F1 (s)
s= 1−z
T
−1
I
7−→
F1 (z)
(3.93)
yields a different digital first order loop filter:
F1 (z) =
=
TI τ2 (1 − z −1 ) + TI
1 − z −1
τ 1 TI
−1
A1 + A2 z
1 − z −1
(3.94)
where
A1 =
τ 2 + TI
;
τ1
A2 = −
τ2
τ1
(3.95)
or in terms of the damping ratio and natural frequency:
A1 =
2ζwn + TI wn 2
;
KD
A2 = −
2ζwn
KD
(3.96)
The loop filter parameters obtained as such will be referenced by method 3 in the
following section where a performance comparison is carried out between various first
order loop filters.
3.5.1.3
Second order loop filter
A second order loop filter in the analog domain is defined in [37]:
F2 (s) =
=
wn 3
2 1
+ a3 w n
+ b3 w n
s
s
w n 3 + a 3 w n 2 s + b3 w n s 2
s2
99
(3.97)
3. GNSS PILOT CHANNEL TRACKING
Substituting Equation 3.77 into F2 (s) yields the digital loop filter transfer function:
F2 (z) =
=
=
TI 2 (1 + z −1 )2
4(1 − z −1 )2
2a3 wn 2 (1 − z −1 ) 4b3 wn (1 − z −1 )2
wn 3 +
+
(3.98)
TI (1 + z −1 )
TI 2 (1 + z −1 )2
TI 2 wn 3 (1 + z −1 )2 + 2a3 TI wn 2 (1 − z −1 )(1 + z −1 ) + 4b3 wn (1 − z −1 )2
4(1 − z −1 )2
A1 + A2 z −1 + A3 z −2
1 − 2z −1 + z −2
where a3 = 1.1, b3 = 2.4 and the loop filter coefficients are given by:
T I 2 w n 3 a 3 TI w n 2
+
+b3 wn ;
4
2
A1 =
A2 =
TI 2 w n 3
−2b3 wn ;
2
A3 =
TI 2 w n 3 a 3 T I w n 2
−
+b3 wn
4
2
(3.99)
and where the natural frequency is determined by the choice of the noise equivalent
bandwidth BN :
wn =
4BN (a3 b3 − 1)
a3 b3 2 + a3 2 − b3
(3.100)
The expression of this loop filter in the time domain is equivalent to the output:
y2 [k] = 2y2 [k − 1] − y2 [k − 2] + A1 x2 [k] + A2 x2 [k − 1] + A3 x2 [k − 2]
3.5.2
(3.101)
Optimum digital loop filters
The optimum loop filter which minimizes both phase output noise power and transient
energy has been first considered in [38] in the analog domain, and then revisited in [4]
and [5].
3.5.2.1
Design criteria
The main goal is to minimize the following functional:
2
Qopt = σN
+ξ
∞
X
δφ0 2 [k]
(3.102)
k=0
2 is the output or estimated phase noise variance due to input noise only and
where σN
δφ0 [k] is the error between the incoming and estimated phase in the absence of noise
at the k-th integration interval. The parameter ξ controls the tradeoff between how
much transient energy vs noise power is minimized. Qopt is a functional which means
that it is a function which depends on another function. The variance of the output
100
3.5 Loop filter design
phase noise component is expressed as a function of the system noise transfer function
and the PSD Ni of the input phase noise component which is assumed to be white:
I
Ni
2
σN =
HN (z)HN (z −1 )z −1 dz
(3.103)
j2π
while the transient error energy can be expressed as a function of the system error
transfer function in the absence of noise (derived in Section 3.1) and the input phase
PSD after applying Parseval’s theorem:
∞
X
2
δφ0 [k] =
k=0
=
=
1
j2π
I
δφ0 (z)δφ0 (z −1 )z −1 dz
I
1
He (z)He (z −1 )φ(z)φ(z −1 )z −1 dz
j2π
I
1
(1 − H(z))(1 − H(z −1 ))φ(z)φ(z −1 )z −1 dz
j2π
(3.104)
Minimizing Qopt consists in finding a function H(z) (not a variable) among all possible
functions which minimizes the expression of Qopt . Since the NCO transfer function is
arbitrary and given the expression of H(z) in Equation 3.3, it is intuitive to define a
new transfer function W (z) as:
H(z)
N (z)
W (z) =
(3.105)
and solve the minimization problem in terms of W (z). The optimum loop filter will
then be a function of the optimum solution W0 (z):
F (z) =
W0 (z)
1 − W0 (z)N (z)
(3.106)
after substituting Equation 3.105 into Equation 3.3 and solving for F (z). Minimizing
Qopt is indeed a problem of variational calculus, and when the functional is an integral,
it can be solved by applying the Euler Lagrange theorem. However, the Euler Lagrange
theorem is quite complex to be applied in a direct way. A better approach is to use
the same steps adopted in the demonstration of the Euler Lagrange theorem to the
functional Qopt . These calculus operations are quite complex but they are extremely
useful to have an insight on the loop design criterion. The optimum solution for W (z)
[38] - [5] is found to be:
W0 (z) =
zX(z)
ψ(z)
101
(3.107)
3. GNSS PILOT CHANNEL TRACKING
where ψ(z) and ψ(z −1 ) can be found from:
ψ(z)ψ(z −1 ) = [Ni + ξφ(z)φ(z −1 )]N (z)N (z −1 )
(3.108)
and
ξN (z −1 )φ(z)φ(z −1 )
X(z) =
zψ(z −1 )
(3.109)
+
Note that the [ ]+ operator takes the part which poles are inside the unit disc. In the
following, the optimum loop filter for a phase step input, a frequency step input and
a frequency ramp input will be derived. It is assumed that a single unit delay of loop
sampling interval D = 1 is present between the computation of the phase estimate and
the generation of the local phase signal. This is of utmost importance because a single
delay can change the location of the poles and the structure of the optimum loop filter,
adding or substracting a pole in the transfer function of F (z). It should be noted that
similar derivation has already been shown in [4] and later in [5] but the former only
considers a delay D = 2, and does not set the NCO transfer function as an arbitrary
block that can be customized as it is desired. The latter on the other hand, solves
even for a higher or third order phase input known as phase jerk, however, it has to
solve for a set of nonlinear equations which consists in initializating several parameters
that will determine the poles and zeros of the system transfer function. The search
for the optimum loop transfer function can thus be artificial in the sense that all the
derivations are computed with respect to these parameters.
It is worth mentioning that in all these derivations, it is assumed that the PD has a
unity gain transfer function. However, if the PD is characterized by a non-unity gain
KD 6= 1 then the optimum loop filter F (z) has to account for it. The reason for this can
be clearly seen after incorporating KD into the expression of the NCO transfer function
N (z) (since N (z) is always multiplied by D(z) in Equation 3.3). It is then possible
to conclude that ψ(z) and ψ(z −1 ) are proportional to KD , while X(z) is independent
of it and W0 (z) and F (z) are inversely proportional to it. In conclusion, if the PD
gain is KD 6= 1, then the optimum loop filter F (z) has to account for it in terms of an
additional gain of 1/KD .
102
3.5 Loop filter design
3.5.2.2
Phase step input
A phase step input in the time domain is transformed into the z domain as :
φ[n] = ru[n] → φ(z) =
r
−rz
=
−1
1−z
1−z
(3.110)
with a region of convergence |z| > 1. Assuming a delay D of 1 unit of loop sampling
interval in the locked loop, and considering the phase and rate NCO transfer function
NP R (z) as in Equation 3.18, it can be concluded that in this case:
N (z) =
TI
z−1
N (z −1 ) =
−zTI
z−1
(3.111)
Substituting the phase step input together with the considered NCO transfer function
into Equation 3.108, it can be derived that:
−1
ψ(z)ψ(z ) =
Ni −
=
=
ξr2 z
N (z)N (z −1 )
(1 − z)2
(z − 1)2 − αz −Ni zTI 2
·
(z − 1)2
(z − 1)2
−Ni TI 2 z(z − z1 )(z − z2 )
(z − 1)4
(3.112)
ξr2
and z1 and z2 are the zeros of (z − 1)2 − αz = 0. These zeros can be
Ni
derived noticing that the expression will equal to ψ(z)ψ(z −1 ) and so they will be the
where α =
inverse of each other. Hence the zeros of the second order equation can be derived from
√
α + 2 ± α2 + 4α
z1,2 =
(3.113)
2
From Equation 3.112 ψ(z) and ψ(z −1 ) can be derived as,
√
Ni TI z(z − z1 )
ψ(z) =
(z − 1)2
and
ψ(z
−1
) =
=
=
=
√
− Ni TI (z − z2 )
(z − 1)2
√
− Ni TI (z −1 )2 (z − z1 −1 )
(z −1 − 1)2
√
− Ni TI (z −1 )2 (z1 z − 1))
z1 (z −1 − 1)2
√
Ni TI z −1 (z −1 − z1 )
z1 (z −1 − 1)2
103
(3.114)
3. GNSS PILOT CHANNEL TRACKING
However, in order to have an exact symmetric expression of ψ(z) and its inverse,
we rewrite
ψ(z) =
ψ(z
−1
√
√
)=
N0 TI z(z − z1 )
√
z1 (z − 1)2
Ni TI z −1 (z −1 − z1 )
√
z1 (z −1 − 1)2
(3.115)
(3.116)
Moreover, substituting ψ(z −1 ) and the expressions of the phase input and NCO transfer
function into Equation 3.109, it can be derived that:


zTI r 2 z √
−1 − 1)2
z
(z
ξ z−1
1
(z−1)2

X(z) =  √
−1
z Ni TI z (z −1 − z1 )
+
2√
ξr z1
z
√
=
N0 (z − 1)(1 − z1 z) +
√
2
ξr z1
1
√
=
Ni (z − 1)(1 − z1 )
(3.117)
Substituting X(z) into Equation 3.107 the expression of the optimum W0 (z) can be
derived as:
αz1 (z − 1)
A1 (z − 1)
=
(3.118)
TI (1 − z1 )(z − z1 )
TI (z − z1 )
where A1 is the optimum loop filter parameter as will be shown next and is defined as:
W0 (z) =
A1 =
αz1
1 − z1
(3.119)
Using this definition and the fact that z1 is a root of (z − 1)2 − αz = 0 yields:
z1 + A1 =
−z1 2 + αz1 + z1
=1
1 − z1
(3.120)
Finally the optimum loop filter transfer function is a zero order filter and is obtained
after substituting W0 (z) into Equation 3.106:
F0 (z) =
=
=
A1 (z − 1)
TI [(z − z1 ) − A1 ]
A1 (z − 1)
TI (z − 1)
A1
TI
(3.121)
which is equivalent to the output:
y0 [k] =
A1
x0 [k]
TI
104
(3.122)
3.5 Loop filter design
in the time domain. Thus, the optimum loop filter F0 (z) consists of a constant which
varies as a function of the desired normalized noise equivalent bandwidth as shown in
To determine the optimum loop filter parameter A1 , the first step is to
Optimum loop filter gain A
1
Figure 3.33.
1
0.8
0.6
0.4
0.2
0 −6
−5
−4
−3
−2
−1
0
10 10 10 10 10 10 10
B T
N
I
Figure 3.33: The zero order optimum loop filter gain - for a phase step input.
solve for z1 . And this is where the designer specifications come into play, that is ξ and
more generally α in the form of the noise equivalent bandwidth BN . In fact, BN is a
theoretical bandwidth of an ideal box-car unity filter which results in the same output
power as that due to the real practical filter H(z), and can be expressed as:
I
1
2BN TI =
H(z)H(z −1 )z −1 dz
j2π
(3.123)
The contour integral can be evaluated using the Cauchy Residue Method where:
2BN TI =
2
X
σN
=
lim (z − zi )H(z)H(z −1 )z −1
z→zi
Ni
(3.124)
i
where H(z) is easily determined by recalling Equation 3.105,
H(z) =
A1
z − z1
(3.125)
and zi are the poles of H(z) inside the unit circle, in this case z1 . But in order to
compute those residues, it is imperative to have an expression of H(z) and F (z), which
105
3. GNSS PILOT CHANNEL TRACKING
means also the optimum loop filter parameters. This is why the standard approach is to
scan all possible values of α, derive the corresponding values of z1 and z2 and therefore
the loop filter parameters and it is only in the last step that the noise equivalent
bandwidth is computed. Only after this analysis, it will be possible to pick a desired
noise equivalent bandwidth and immediately obtain the loop filter parameter values.
This is because there is no closed form solution yielding the loop filter parameters in
terms of the desired noise equivalent bandwidth. In fact, A1 can only be expressed in
terms of α which includes ξ as well. For these reasons, it is necessary to approximate
the piece-wise linear function as shown in Figure 3.35 which relates the BN TI and the
α parameter in the log scale. This can be written as:
log10 (BN TI ) = ai log10 α + bi
(3.126)
where ai and bi are the slope and intercept values of each piece-wise linear function
region denoted by i and which is identified by a range of BN TI values. In fact, dividing
the aforementioned curve into 10 piece-wise linear functions defined on BN TI ranges,
yields the slopes and intercepts as listed in Table 3.1. Setting a desired normalized
noise equivalent bandwidth BN TI and substituting those slope and intercept values
in Equation 3.126 yields the parameter α value. Subsequently, substituting this value
into Equations 3.113 and 3.119 yields the optimum loop filter parameters, in this case
the loop filter gain A1 . Figure 3.34 shows the loop filter gain estimation quality after
interpolation or approximation following the aforementioned procedure.
Furthermore, Figure 3.36 shows the location of the closed loop transfer function H(z)
pole as a function of the desired normalized noise equivalent bandwidth. Stability is
verified given that the pole is inside the unit disc.
3.5.2.3
Frequency step input
A frequency step input translates into a phase ramp input where the time domain and
z transform expressions are:
φ[n] = rnu[n] → φ(z) =
rz −1
rz
=
= φ(z −1 )
−1
2
(1 − z )
(z − 1)2
(3.127)
with a region of convergence |z| > 1. Assuming a delay D of 1 unit of loop sam-
pling interval in the locked loop, the phase and rate NCO transfer function NP R (z) is
106
3.5 Loop filter design
Loop filter gain A
1
True
Interpolated
0.8
0.6
0.4
0.2
0
0
0.2
0.4
0.6
BN TI
0.8
1
Figure 3.34: Comparison between true and estimated loop filter gain A1 - after
the log function approximation procedure and assuming a phase step input.
5×
BN TI range i
ai
bi
10−6
0.5
-0.3010
0.5
-0.3011
0.5
-0.3008
to 2.32 ×
10−5
2.32 × 10−5 to 1.07 × 10−4
1.07 × 10−4 to 5 × 10−4
5×
10−4
2.32 ×
1.08 ×
to 2.32 ×
0.4999
-0.3019
10−2
0.5005
-0.2987
10−2
0.4978
-0.3078
0.5035
-0.2965
0.23 to 0.79
0.3973
-0.3673
0.79 to 1.02
0.0827
-0.1575
10−3
10−2
4.98 ×
10−3
to 1.08 ×
to 4.98 ×
10−2
to 0.23
Table 3.1: Slope ai and intercept bi of the piece-wise linear approximation of the function relating the loop filter normalized noise equivalent bandwidth to the parameter α
corresponding to the optimum loop filter designed according to a phase step input.
107
3. GNSS PILOT CHANNEL TRACKING
−1
10
N
B T
I
−2
10
−3
10
−4
10
−5
10
−10
10
−8
10
−6
−4
−2
10 10 10
α parameter
0
10
2
10
Optimum pole location
Figure 3.35: The zero order optimum loop filter normalized noise equivalent
bandwidth versus the α parameter - for a phase step input.
1
0.8
0.6
0.4
0.2
0 −6
−5
−4
−3
−2
−1
0
10 10 10 10 10 10
10
BN TI
Figure 3.36: Closed loop system pole vs desired normalized noise equivalent
bandwidth corresponding to the optimum zero order loop filter - and a phase
step input.
108
3.5 Loop filter design
considered as in Equation 3.18. Substituting the phase ramp input together with the
considered NCO transfer function into Equation 3.108, it can be derived that:
ξr2 z 2
Ni +
N (z)N (z −1 )
(1 − z)4
(z − 1)4 + αz 2 −Ni zTI 2
·
=
(z − 1)4
(z − 1)2
−Ni TI 2 z(z − z1 )(z − z2 )(z − z3 )(z − z4 )
=
(z − 1)6
ψ(z)ψ(z −1 ) =
(3.128)
ξr2
and z1 and z2 are the zeros of (z − 1)4 + αz 2 = 0 and are inside the unit
Ni
disc while z3 = z1 −1 and z4 = z2 −1 are the zeros outside the unit disc. These zeros
where α =
can be derived noticing that the expression will equal to ψ(z)ψ(z −1 ) and so two zeros
will be the inverse of each other. Hence the zeros of the second order equation can be
derived from
(z − 1)2 =
√
−αz
√
= j αz
(z − 1)2
√
z 2 − (2 + j α)z + 1 = 0
√
√
∆ = (2 + j α)2 − 4 = −α + j4 α
√
q
√
α 1
±
z1,3 = 1 + j
−α + j4 α
2
2
(3.129)
and
√
(z − 1)2 = − −αz
√
(z − 1)2 = −j αz
√
z 2 − (2 − j α)z + 1 = 0
√
√
∆ = (2 − j α)2 − 4 = −α − j4 α
√
q
√
α 1
z2,4 = 1 − j
−α − j4 α
±
2
2
From Equation 3.128 ψ(z) and ψ(z −1 ) can be derived as,
ψ(z) =
√
Ni TI z(z − z1 )(z − z2 )
(z − 1)3
109
(3.130)
3. GNSS PILOT CHANNEL TRACKING
and
ψ(z
−1
) =
=
=
=
√
− Ni TI (z − z3 )(z − z4 )
(z − 1)3
√
Ni TI (z −1 )3 (z − z1 −1 )(z − z2 −1 )
(z −1 − 1)3
√
−1
Ni TI z (1 − z1 −1 z −1 )(1 − z2 −1 z −1 )
(z −1 − 1)3
√
Ni TI z −1 (z −1 − z1 )(z −1 − z2 )
z1 z2 (z −1 − 1)3
(3.131)
However, in order to have an exact symmetric expression of ψ(z) and its inverse, we
rewrite
ψ(z) =
ψ(z
−1
)=
√
√
Ni TI z(z − z1 )(z − z2 )
√
z1 z2 (z − 1)3
Ni TI z −1 (z −1 − z1 )(z −1 − z2 )
√
z1 z2 (z −1 − 1)3
(3.132)
(3.133)
Moreover, substituting ψ(z −1 ) and the expressions of the phase input and NCO transfer
function into Equation 3.109, it can be derived that:


zTI r 2 z 2 √
−1 − 1)3
z
z
(z
−ξ z−1
1
2
(z−1)4

X(z) =  √
z Ni TI z −1 (z −1 − z1 )(z −1 − z2 )
+
2
2 √z z
z
ξr
1 2
√
(3.134)
=
N0 (1 − z1 z)(1 − z2 z)(z − 1)2 +
√
ξr2 z1 z2
1
(z1 + z2 − 2)
√
=
−
(z − 1)2 (z1 − 1)(z2 − 1) (z − 1)(z1 − 1)2 (z2 − 1)2
Ni
Substituting X(z) into Equation 3.107 the expression of the optimum W0 (z) can be
derived as:
W0 (z) =
αzp (z − 1)(A1 z + A2 )
(z − 1)(A1 z + A2 )
=
(z1 − 1)2 (z2 − 1)2 TI (z1 − z)(z2 − z)
TI (z1 − z)(z2 − z)
(3.135)
where A1 and A2 are the optimum loop filter parameters as will be shown next and are
defined as:
A1 = 2 − zs
A2 = zp − 1
(3.136)
where zp = z1 z2 , zs = z1 + z2 and it can be verified numerically that:
αzp
=1
(z1 − 1)2 (z2 − 1)2
110
(3.137)
3.5 Loop filter design
Finally the optimum loop filter transfer function is a first order filter and is obtained
after substituting W0 (z) into Equation 3.106:
F1 (z) =
=
=
(z − 1)(A1 z + A2 )
TI [(z1 − z)(z2 − z) − (A1 z + A2 )]
(z − 1)(A1 z + A2 )
TI (z − 1)2
A1 z + A2
TI (z − 1)
(3.138)
due to
(z1 − z)(z2 − z) − (A1 z + A2 ) = zp − zs z + z 2 − (2z − zs z + zp − 1)
= z 2 − 2z + 1
= (z − 1)2
(3.139)
and where the zero location of the optimum loop filter F1 (z) varies as a function of the
desired noise equivalent bandwidth as shown in Figure 3.37. The expression of F1 (z)
yields in the time domain:
y1 [k] = y1 [k − 1] +
A2
A1
x1 [k] +
x1 [k − 1]
TI
TI
(3.140)
The loop filter parameters obtained as such will be referenced by method 4 in the
following section where a performance comparison is carried out between various first
order loop filters.
As previously shown, to determine the optimum loop filter parameters A1 and A2 , the
first step is to consider a range of values for α, solve for z1 and z2 in terms of α and
compute the noise equivalent bandwidth BN . To compute BN , a contour integral must
be evaluated as in Equation 3.124 where zi are the poles of H(z) inside the unit circle,
in this case z1 and z2 . It is good to recall Equation 3.105 to express the system transfer
function in this case as:
H(z) =
A1 z + A2
(z1 − z)(z2 − z)
(3.141)
Figure 3.38 shows the range of values of BN TI as a function of the parameter α. From
this curve, one can move in the opposite direction, moving from a desired normalized
noise equivalent bandwidth to the corresponding α parameter, to the two zeros of
ψ(z), that is z1 and z2 , and finally to the optimum loop filter parameters A1 and A2 .
In fact, dividing the aforementioned curve into 10 piece-wise linear functions defined
111
Optimum zero location
3. GNSS PILOT CHANNEL TRACKING
1
0.9
0.8
0.7
0.6
0.5 −3
10
−2
10
−1
10
B T
N
0
10
1
10
I
Figure 3.37: The first order optimum loop filter zero location - for a frequency
step input.
1
10
0
N
B T
I
10
−1
10
−2
10
−3
10 −8
−6
−4
−2
0
10
10
10
10
10
α parameter
2
10
Figure 3.38: The first order optimum loop filter normalized noise equivalent
bandwidth versus the α parameter - for a frequency step input.
112
3.5 Loop filter design
on α ranges, yields the slopes and intercepts as listed in Table 3.2. Setting a desired
normalized noise equivalent bandwidth BN TI and substituting those slope and intercept
values in Equation 3.126 yields the parameter α value. Subsequently, substituting this
value into Equations 3.129 and 3.136 yields the optimum loop filter parameters, in
this case the loop filter coefficients A1 and A2 . Figures 3.39 and 3.40 show the loop
filter coefficients estimation quality after interpolation or approximation following the
aforementioned procedure.
LF coefficient A
1
2
1.5
True
Interpolated
1
0.5
0
0
0.5
1
1.5
B T
N
2
I
Figure 3.39: Comparison between true and estimated loop filter coefficient A1
- after the log function approximation procedure and assuming a frequency step input.
Furthermore, Figure 3.41 shows the location of the closed loop transfer function H(z)
two poles as a function of the desired normalized noise equivalent bandwidth. Stability
is verified given that all poles are inside the unit disc.
3.5.2.4
Frequency ramp input
A frequency ramp input translates into a second order polynomial phase input or phase
acceleration where the time domain and z transform expressions are:
φ[n] =
∆wTI 2 z(z + 1)
∆w 2
n u[n] → φ(z) =
2
2(z − 1)3
113
(3.142)
3. GNSS PILOT CHANNEL TRACKING
LF coefficient A
2
0
True
Interpolated
−0.2
−0.4
−0.6
−0.8
−1
0
0.5
1
1.5
BN TI
2
Figure 3.40: Comparison between true and estimated loop filter coefficient A2
- after the log function approximation procedure and assuming a frequency step input.
BN TI range i
ai
bi
to 1.01 ×
10−2
0.2516
-0.2606
1.01 × 10−2 to 1.94 × 10−2
0.2530
-0.2509
to 3.73 ×
10−2
0.2558
-0.2351
10−2
0.2609
-0.2112
0.2708
-0.1759
0.145 to 0.304
0.2887
-0.1322
0.304 to 0.692
0.3215
-0.0884
0.692 to 1.631
0.3352
-0.0853
1.631 to 2.47
0.1623
0.0683
5.32 ×
10−3
1.94 ×
10−2
3.73 ×
10−2
7.26 ×
to 7.26 ×
10−2
to 0.145
Table 3.2: Slope ai and intercept bi of the piece-wise linear approximation of the function relating the loop filter normalized noise equivalent bandwidth to the parameter α
corresponding to the optimum loop filter designed according to a frequency step input.
114
Optimum poles location
3.5 Loop filter design
1
0.8
0.6
Real(Poles)
0.4
Imag(Pole 1)
0.2
Imag(Pole 2)
0
−0.2
−0.4 −3
−2
−1
10
10
10
B T
N
0
10
1
10
I
Figure 3.41: Closed loop system poles vs desired normalized noise equivalent
bandwidth corresponding to the optimum first order loop filter - and a phase
ramp or a frequency step input.
with a region of convergence |z| > 1. Similarly,
φ(z
−1
∆w 2 −1 −1
∆w 2 −1 −1
TI z (z + 1)
TI z (z + 1)(−z 3 )
2
2
)=
=
(z −1 − 1)3
(z − 1)3
(3.143)
Assuming a delay D of 1 unit of loop sampling interval in the locked loop, the phase and
rate NCO transfer function NP R (z) is considered as in Equation 3.111. Substituting
the frequency ramp input together with the considered NCO transfer function into
Equation 3.108, it can be derived that:
ξ∆w2 TI 4 (z + 1)(z −1 + 1)(−z 3 )
−1
ψ(z)ψ(z ) =
Ni +
N (z)N (z −1 )
4(z − 1)6
(z − 1)6 − αz 2 (z + 1)2 −Ni zTI 2
·
(3.144)
=
(z − 1)6
(z − 1)2
−Ni TI 2 z(z − z1 )(z − z2 )(z − z3 )(z − z4 )(z − z5 )(z − z6 )
=
(z − 1)8
ξ∆w2 TI 4
and z1 , z2 and z3 are the zeros of (z − 1)6 − αz 2 (z + 1)2 = 0 and
4Ni
are inside the unit disc while z4 = z1 −1 z5 = z2 −1 and z6 = z3 −1 are the zeros outside
where α =
the unit disc. These zeros can be derived noticing that the expression will equal to
115
3. GNSS PILOT CHANNEL TRACKING
ψ(z)ψ(z −1 ) and so three zeros will be the inverse of each other. Hence the zeros of the
third order equation can be derived from
(z − 1)6 = αz 2 (z + 1)2
√
(z − 1)3 =
αz(z + 1)
√
√
z 3 − (3 + α)z 2 + (3 − α)z − 1 = 0
(3.145)
where z1 , z2 and z3 can be derived using the cubic equation solution first discovered by
Scipione dal Ferro (1465-1526) professor of mathematics in the University of Bologna
and then Nicolo Fontana Tartaglia of Brescia (1499-1557) and finally first published by
Girolamo Cardano (1501-1576), i.e.
∆0
b + uk C +
(3.146)
uk C
√
√
where a = 1, b = −3 − α, c = 3 − α and d = −1 are the third order polynomial
−1
zk =
3a
coefficients and ∆0 , uk and C are defined as in [43]. The same can be applied to
√
(z − 1)3 = − αz(z + 1)
√
√
z 3 − (3 − α)z 2 + (3 + α)z − 1 = 0
(3.147)
and z4 , z5 and z6 can be derived accordingly. From Equation 3.144 ψ(z) and ψ(z −1 )
can be derived as,
ψ(z) =
√
and
ψ(z
−1
) =
=
=
=
Ni TI z(z − z1 )(z − z2 )(z − z3 )
(z − 1)4
√
− Ni TI (z − z4 )(z − z5 )(z − z6 )
(z − 1)4
√
− Ni TI (z −1 )4 (z − z1 −1 )(z − z2 −1 )(z − z3 −1 )
(z −1 − 1)4
√
− Ni TI z −1 (1 − z1 −1 z −1 )(1 − z2 −1 z −1 )(1 − z3 −1 z −1 )
(z −1 − 1)4
√
Ni TI z −1 (z −1 − z1 )(z −1 − z2 )(z −1 − z3 )
z1 z2 z3 (z −1 − 1)4
However, in order to have an exact symmetric expression of ψ(z) and its inverse, we
rewrite
ψ(z) =
√
Ni TI z(z − z1 )(z − z2 )(z − z3 )
√
z1 z2 z3 (z − 1)4
116
(3.148)
3.5 Loop filter design
ψ(z
−1
)=
√
Ni TI z −1 (z −1 − z1 )(z −1 − z2 )(z −1 − z3 )
√
z1 z2 z3 (z −1 − 1)4
(3.149)
Moreover, substituting ψ(z −1 ) and the expressions of the phase input and NCO transfer
function into Equation 3.109, it can be derived that:


zTI ∆w2 TI 4 (z + 1)(z −1 + 1)(−z 3 ) √
−1
4
z1 z2 z3 (z − 1) 
 −ξ z − 1
4(z − 1)6


√
X(z) = 

z Ni TI z −1 (z −1 − z1 )(z −1 − z2 )(z −1 − z3 )
√
z 2 (z + 1)2 z1 z2 z3
ξ∆w2 TI4
√
4 Ni (1 − z1 z)(1 − z2 z)(1 − z3 z)(z − 1)3 +
√
ξ∆w2 TI4 z1 z2 z3
α11
α12
α13
√
+
+
(z − 1) (z − 1)2 (z − 1)3
4 Ni
+
=
=
(3.150)
where the partial fraction decomposition has been applied for the multiple root z = 1
inside the unit disc and the constants α11 , α12 and α11 are derived using the generic
expression in [44]:
α11 =
α12 =
α13 =
2
1
z 2 (z + 1)2
d
(3 − 1)! dz 2 (1 − z1 z)(1 − z2 z)(1 − z3 z) z=1
1
z 2 (z + 1)2
d
(3 − 2)! dz (1 − z1 z)(1 − z2 z)(1 − z3 z) z=1
1
z 2 (z + 1)2
(3 − 3)! (1 − z1 z)(1 − z2 z)(1 − z3 z) z=1
More explicitly
α11 = −
zp 2 + 2z1 z2 2 z3 2 + z2 2 z3 2 + 2z1 2 z2 z3 2 − 8z1 z2 z3 2 − 2z2 z3 2
(3.151)
(z1 − 1)3 (z2 − 1)3 (z3 − 1)3
z1 2 z3 2 − 2z1 z3 2 + 5z3 2 + 2z1 2 z2 2 z3 − 8z1 z2 2 z3 − 2z2 2 z3 − 8z1 2 z2 z3
= −
(z1 − 1)3 (z2 − 1)3 (z3 − 1)3
16z1 z2 z3 + 8z2 z3 − 2z1 2 z3 + 8z1 z3 − 14z3 + z1 2 z2 2 − 2z1 z2 2
= −
(z1 − 1)3 (z2 − 1)3 (z3 − 1)3
5z2 2 − 2z1 2 z2 + 8z1 z2 − 14z2 + 5z1 2 − 14z1 + 13
= −
(z1 − 1)3 (z2 − 1)3 (z3 − 1)3
α12 =
4 (zd − 2zs + 3)
(z1 − 1)2 (z2 − 1)2 (z3 − 1)2
(3.152)
4
(z1 − 1) (z2 − 1) (z3 − 1)
(3.153)
α13 = −
117
3. GNSS PILOT CHANNEL TRACKING
where zp = z1 z2 z3 , zs = z1 + z2 + z3 and zd = z1 z2 + z1 z3 + z2 z3 . Substituting X(z)
into Equation 3.107 the expression of the optimum W0 (z) can be derived as:
W0 (z) =
α1 (z − 1)3 + α2 (z − 1)2 + α3 (z − 1)
TI (z − z1 )(z − z2 )(z − z3 )
(3.154)
where α1 , α2 and α3 are defined as α1 = αzp α11 , α2 = αzp α12 , α3 = αzp α13 . Moreover,
it can be shown that:
(z1 −
4αz1 z2 z3
≈1
2
2
2 − 1) (z3 − 1)
1)2 (z
(3.155)
Finally the optimum loop filter transfer function is obtained after substituting W0 (z)
into Equation 3.106:
F2 (z) =
α1 (z − 1)3 + α2 (z − 1)2 + α3 (z − 1)
N3 (z)
=
(3.156)
D3 (z)
TI [(z − z1 )(z − z2 )(z − z3 ) − α1 (z − 1)2 − α2 (z − 1) − α3 ]
where the zeros and poles of this optimum loop filter can be obtained by factoring out,
the third order polynomials N3 (z) and D3 (z):
N3 (z) = α1 (z − 1)3 + α2 (z − 1)2 + α3 (z − 1)
= (z − 1)(α1 z 2 + (α2 − 2α1 )z + α1 − α2 + α3 )
= (z − 1)(A1 z 2 + A2 z + A3 )
= (z − 1)(z − zz1 )(z − zz2 )
where
A1 = α1
and
zz1,z2
A2 = α2 − 2α1
A3 = α1 − α2 + α3
p
2A1 − A2 ± A22 − 4A1 A3
=
2A1
(3.157)
(3.158)
Figure 3.42 shows the location of these zeros for a range of possible α values. On the
other hand, the denominator D3 (z) determines the poles of F2 (z):
D3 (z) = (z − z1 )(z − z2 )(z − z3 ) − α1 (z − 1)2 − α2 (z − 1) − α3
= z 3 − (α1 + zs )z 2 + (zd + 2α1 − α2 )z − α1 + α2 − α3 − zp
= (z − zp1 )(z − zp2 )(z − zp3 )
where zp1 , zp2 and zp3 can be obtained using Equation 3.146 yielding the third order
polynomial roots, with polynomial coefficients a = 1, b = −α1 − zs , c = zd + 2α1 − α2
118
3.5 Loop filter design
1
real part
imaginary part
0.9
Optimum zero locations
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
−1
10
0
10
Noise equivalent bandwidth
1
10
Figure 3.42: Second order filter zeros location of the optimum loop filter - for
a frequency ramp input.
119
3. GNSS PILOT CHANNEL TRACKING
and d = −α1 + α2 − α3 − zp . However, by noticing that for all the considered values of
α, these coefficients reduce to a = 1, b = −3, c = 3, d = −1, it is concluded that D3 (z)
has a triple root at z = 1 and thus the optimum loop filter is a second order filter F2 (z):
F2 (z) =
(z − zz1 )(z − zz2 )
A1 z 2 + A2 z + A3
=
TI (z − 1)2
TI (z 2 − 2z + 1)
(3.159)
where A1 , A2 , and A3 are the optimum loop filter parameters. The expression of this
loop filter in the time domain is equivalent to the output:
y2 [k] = 2y2 [k − 1] − y2 [k − 2] +
A1
A2
A3
x2 [k] +
x2 [k − 1] +
x2 [k − 2]
TI
TI
TI
(3.160)
As previously shown, to determine the optimum loop filter parameters A1 , A2 and A3 ,
the first step is to consider a range of values for α, solve for z1 , z2 , and z3 in terms of α
and compute the noise equivalent bandwidth BN . To compute BN , a contour integral
must be evaluated as in Equation 3.124 where zi are the poles of H(z) inside the unit
circle, in this case z1 , z2 , and z3 . It is good to recall Equation 3.105 to express the
system transfer function in this case as:
H(z) =
A1 z 2 + A2 z + A3
(z − zz1 )(z − zz2 )
=
(z − z1 )(z − z2 )(z − z3 )
(z − z1 )(z − z2 )(z − z3 )
(3.161)
This yields Figure 3.43. From this plot, one can move in the opposite direction, moving
from a desired noise equivalent bandwidth to the corresponding α parameter, to the
three zeros of ψ(z), that is z1 , z2 and z3 , to the intermediate parameters α1 , α2 and α3
and then finally to the optimum loop filter parameters A1 , A2 and A3 .
In fact, dividing the aforementioned curve into 10 piece-wise linear functions defined
on α ranges, yields the slopes and intercepts as listed in Table 3.3. Setting a desired
normalized noise equivalent bandwidth BN TI and substituting those slope and intercept
values in Equation 3.126 yields the parameter α value. Subsequently, substituting this
value into Equations 3.146 and 3.157 yields the optimum loop filter parameters, in this
case the loop filter coefficients A1 A2 and A3 . Figures 3.44 3.45 and 3.46 show the loop
filter coefficients estimation quality after interpolation or approximation following the
aforementioned procedure.
Furthermore, Figure 3.47 shows the location of the closed loop transfer function H(z)
three poles as a function of the desired normalized noise equivalent bandwidth. Stability
is verified given that all poles are inside the unit disc.
120
3.5 Loop filter design
Noise equivalent bandwidth vs α for a frequency ramp input
1
10
N
B T
I
0
10
−1
10
−10
10
−5
10
α parameter
0
10
Figure 3.43: Second order filter noise equivalent bandwidth versus the α parameter - for a frequency ramp input.
121
LF coefficient A
1
3. GNSS PILOT CHANNEL TRACKING
True
Interpolated
2
1.5
1
0.5
0
0
0.5
1
1.5 2
BN TI
2.5
3
Figure 3.44: Comparison between true and estimated loop filter coefficient A1
- after the log function approximation procedure and assuming a frequency ramp input.
LF coefficient A
2
0
True
Interpolated
−0.5
−1
−1.5
−2
−2.5
0
0.5
1
1.5 2
B T
N
2.5
3
I
Figure 3.45: Comparison between true and estimated loop filter coefficient A2
- after the log function approximation procedure and assuming a frequency ramp input.
122
3.5 Loop filter design
LF coefficient A
3
1
0.8
0.6
0.4
0.2
0
0
0.5
1
1.5
BN TI
True
Interpolated
2 2.5 3
Figure 3.46: Comparison between true and estimated loop filter coefficient A3
- after the log function approximation procedure and assuming a frequency ramp input.
BN TI range i
ai
bi
10−2
0.1713
0.0771
3.91 × 10−2 to 6.68 × 10−2
0.1745
0.1042
0.1798
0.1431
0.12 to 0.21
0.1888
0.1971
0.21 to 0.39
0.2042
0.2689
0.39 to 0.79
0.2308
0.3578
0.79 to 1.84
0.2763
0.4488
1.84 to 5.4
0.3509
0.4985
20.67 to 5.4
0.4376
0.4407
2.31 ×
10−2
6.68 ×
to 3.91 ×
10−2
to 0.12
Table 3.3: Slope ai and intercept bi of the piece-wise linear approximation of the function relating the loop filter normalized noise equivalent bandwidth to the parameter α
corresponding to the optimum loop filter designed according to a frequency ramp input.
123
3. GNSS PILOT CHANNEL TRACKING
Pole of system transfer function
1
real part of both poles
3rd pole is real
imaginary part of 1st pole
imaginary part of 2nd pole
0.5
0
−0.5 −2
10
−1
10
0
1
10
10
Noise equivalent bandwidth
2
10
Figure 3.47: Closed loop system poles vs desired normalized noise equivalent
bandwidth corresponding to the optimum second order loop - and a frequency
ramp input.
3.5.3
Performance comparison
To assess the theoretical performance in terms of stability of such an optimized loop
filter with respect to other loop filters, Bode plots are plotted together with root locus
plots in z domain and a simple 2D plot of root values versus loop gain. Gain and
phase margins are visited to have an understanding of the system degree of stability
for a range of frequencies. To verify these expectations, simulated Galileo signals as
described in Section 2.3.4 are also employed where the carrier signal is chosen to either
be a phase ramp signal (frequency step) or a frequency ramp signal and the spreading
code rate to be affected by a Doppler frequency step or a Doppler frequency ramp. It
is useful nonetheless, to analyze the carrier and code tracking loops separately at first,
and then move to the combined code and carrier tracking loop. Phase detector outputs,
loop filter outputs, code rate and Doppler frequency estimates together with CNR and
PLI metrics are plotted all along. As mentioned earlier, the various loop filters that
are tested here are referenced by the number of the method:
• 1 for direct bilinear transformation of the optimum analog loop filter
• 2 for bilinear transformation of the system transfer function
124
3.5 Loop filter design
• 3 for impulse invariance transformation of the system transfer function
• 4 for the input signal corresponding optimum loop filter
3.5.3.1
Root locus
The stability of the closed loop system transfer function is analyzed using root locus
plots. In the following, it is assumed a linear model of the discriminator, yielding a
unity transfer function D(z) = 1 although this condition is not always true especially for
very low input signal CNR and high frequency or phase error between the incoming and
reference signals. Depending on the situation, the gain of the loop is either decreased or
increased, in which case a root locus plot becomes a perfect tool to show the trajectory
of the closed loop poles with the loop gain KD varying from 0 to infinity. Using
Equation 3.1, the open loop transfer function can thus be rewritten as:
G(z) = F (z)N (z)
(3.162)
where N (z) is substituted by the phase and rate NCO transfer function NP R (z) from
Equation 3.18 with a delay of D = 1, such that N (z) = TI /(z − 1) and F(z) by the
different analytical expressions of the first order loop filter F1 (z) designed according to
methods 1, 2, 3, and 4. It is thus possible to make use of the built-in Matlab function
rlocus to plot the root locus plots considering a range of loop gain KD values varying from 0 to infinity. The first order F(z) yields a second order closed loop system
and the resulting two poles set of locations or “root locus” is shown in Figures 3.48-3.51.
The root locus is plotted on the same figure for a set of normalized noise equivalent bandwidth BL = BN TI values together with an informative label showing the loop
gain threshold beyond which an underdamped system becomes an overdamped system.
These loop gain thresholds are further listed in Table 3.4 where it can be concluded
that method 2 and 4 offer the highest gain thresholds while method 3 has the worst
performance, unable to deal with BL > 0.4 if not with a loop gain reduction. The
superiority of methods 2 and 4 is further supported by looking at the percentage decrease of the overdamped loop gain threshold moving from the lowest to the highest BL .
Furthermore, Figure 3.52 is plotted to have a grasp of the direction of these roots
125
3. GNSS PILOT CHANNEL TRACKING
Loop filter
BL = 0.16
0.2
0.4
0.48
0.48
0.5
% decrease
method 1
1.63
1.56
1.25
1.15
1.15
1.12
31
method 2
1.68
1.62
1.43
1.37
1.37
1.36
19
method 3
1.36
1.25
0.85
0.74
0.74
0.72
47
method 4
1.69
1.63
1.44
1.39
1.39
1.37
19
Table 3.4: Loop gain thresholds beyond which the loop response switches to become an
overdamped system for a set of normalized noise equivalent bandwidths.
with the increase of the loop gain. It can be seen that for low values of KD , the two
poles of the closed loop system are complex conjugate pairs (underdamped loop response) and then become two unequal real roots, one pole that converges to an open
loop zero inside the unit disc and the other pole drives the system unstable by moving
outside the unit disc.
Root Locus plot using method 1
1
0.8
0.6
Imaginary part
0.4
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
System: 80 ms, 6 Hz
Gain: 1.15
Pole: 0.0298 + 9.21e−09i
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 8.78e+07
0.2
0
System: 40 ms, 10 Hz
Gain: 1.25
Pole: 0.157
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 4.62e+07
System: 100 ms, 5 Hz
Gain: 1.12
Pole: −0.000467
Damping: 0.925
Overshoot (%): 0.0467
Frequency (rad/s): 2.07e+08
−0.2
System: 16 ms, 10 Hz
Gain: 1.63
Pole: 0.614
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 1.22e+07
System: 20 ms, 10 Hz
Gain: 1.56
Pole: 0.529
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 1.59e+07
−0.4
−0.6
−0.8
−1
−1
−0.8
−0.6
−0.4
−0.2
0
Real part
0.2
0.4
0.6
0.8
Figure 3.48: Root locus using method 1 for a range of BL values - for various
normalized noise equivalent bandwidth values showing the loop gain threshold beyond
which the system switches to an overdamped system
Increasing BL has a different impact on each of the closed loop systems derived using
126
1
3.5 Loop filter design
Root Locus plot using method 2
1
0.8
0.6
Imaginary part
0.4
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
System: 80 ms, 6 Hz
Gain: 1.37
Pole: 0.219
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 3.79e+07
0.2
0
System: 100 ms, 5 Hz
Gain: 1.36
Pole: 0.2
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 4.03e+07
−0.2
System: 20 ms, 10 Hz
Gain: 1.62
Pole: 0.579 + 1.14e−08i
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 1.37e+07
System: 16 ms, 10 Hz
Gain: 1.68
Pole: 0.648
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 1.08e+07
System: 40 ms, 10 Hz
Gain: 1.43
Pole: 0.304
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 2.98e+07
−0.4
−0.6
−0.8
−1
−1
−0.8
−0.6
−0.4
−0.2
0
Real part
0.2
0.4
0.6
0.8
1
Figure 3.49: Root locus using method 2 for a range of BL values - for various
normalized noise equivalent bandwidth values showing the loop gain threshold beyond
which the system switches to an overdamped system
Root Locus plot using method 3
1
0.8
0.6
Imaginary part
0.4
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
System: 80 ms, 6 Hz
Gain: 0.743
Pole: 0.219 + 9.59e−09i
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 3.79e+07
0.2
0
System: 40 ms, 10 Hz
Gain: 0.85
Pole: 0.304 + 4.15e−09i
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 2.98e+07
System: 100 ms, 5 Hz
Gain: 0.72
Pole: 0.2 + 8.6e−09i
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 4.03e+07
−0.2
System: 16 ms, 10 Hz
Gain: 1.36
Pole: 0.648
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 1.08e+07
System: 20 ms, 10 Hz
Gain: 1.25
Pole: 0.579
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 1.37e+07
−0.4
−0.6
−0.8
−1
−1
−0.8
−0.6
−0.4
−0.2
0
Real part
0.2
0.4
0.6
Figure 3.50: Root locus using method 3 for a range of BL values - for various
normalized noise equivalent bandwidth values showing the loop gain threshold beyond
which system switches to an overdamped system
127
0.8
1
3. GNSS PILOT CHANNEL TRACKING
Root Locus plot using method 4
1
0.8
0.6
Imaginary part
0.4
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
System: 80 ms, 6 Hz
Gain: 1.39
Pole: 0.386
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 2.38e+07
0.2
0
System: 20 ms, 10 Hz
Gain: 1.63
Pole: 0.632
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 1.15e+07
System: 100 ms, 5 Hz
Gain: 1.37
Pole: 0.374 − 8.06e−09i
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 2.46e+07
−0.2
System: 16 ms, 10 Hz
Gain: 1.69
Pole: 0.686
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 9.44e+06
System: 40 ms, 10 Hz
Gain: 1.44
Pole: 0.439
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 2.06e+07
−0.4
−0.6
−0.8
−1
−1
−0.8
−0.6
−0.4
−0.2
0
Real part
0.2
0.4
0.6
0.8
Figure 3.51: Root locus using method 4 for a range of BL values - for various
normalized noise equivalent bandwidth values showing the loop gain threshold beyond
which system switches to an overdamped system
the four different methods. After examining Figures 3.48-3.51, the 1st order loop filter
designed with method 1 yields roots which move toward the imaginary axis to become
two pure complex conjugate poles that will ultimately never drive the transient to zero.
The system designed with method 3 on the other hand, although sustaining a lower
impact in that sense (the ellipses do not get much near to the imaginary axis), is noted
by the change of nature of the designed loop response. In fact, the system designed
with method 3 is characterized by an overdamped response for BL > 0.4. The systems
designed with method 2 and 4 are less vulnerable to the increase of BL as they preserve the desired underdamped nature of the loop response for gain values as high as
1.36 and 1.37 respectively. However, method 4 yields a more stable system as its roots
are further away from the imaginary axis (ellipses expand less as BL is increased) as
compared to method 2. This is shown better in the following where the poles location
for a unity loop gain is plotted in the unit disc.
It is worth noticing that the closed loop system is conditionally stable as the closed loop
poles move outside the unit disc after a certain loop gain threshold is reached. This
threshold varies according to the designed loop filter methods as well as the normalized
128
1
3.5 Loop filter design
Root Locus for BeqT = 0.5 using method 4
1
Poles location inside unit disc
0.5
0
−0.5
Real(pole1)
Imag(pole1)
Real(pole2)
Imag(pole2)
−1
−1.5
−2
0
2
4
6
Loop gain values K
8
10
Figure 3.52: System poles as a function of loop gain - using method 4 and a
high normalized noise equivalent bandwidth of 0.5 characterized by a 100 ms integration
interval.
129
3. GNSS PILOT CHANNEL TRACKING
Loop filter
BL = 0.16
0.2
0.4
0.48
0.48
0.5
% decrease
method 1
4.7
3.8
1.8
1.6
1.6
1.5
68
method 2
5.2
4.3
2.5
2.2
2.2
2.1
59
method 3
4.2
3.3
1.5
1.2
1.2
1.15
72
method 4
5.9
4.9
3
2.7
2.7
2.6
56
Table 3.5: Loop gain thresholds in terms of loop instability for a set of normalized noise
equivalent bandwidths.
noise equivalent bandwidth BL as shown in Table 3.5. Again method 3 results in the
worst loop stability performance while methods 2 and 4 show a fairly high loop stability
gain margin. The superiority of methods 2 and 4 is further supported by looking at the
percentage decrease of the corresponding loop gain threshold moving from the lowest
to the highest BL .
Moving the analysis of the closed loop system from a range of loop gain values to a
single unity loop gain, it is instructive as well to examine the zeros (depicted by o
markers) and poles (depicted by x markers) of the closed loop system transfer function
H(z) for different BL values as shown in Figures 3.53 and 3.54.
Figure 3.53 (b) shows that as BL varies, the path of the poles of the closed loop system
transfer function corresponding to F1 (z) designed according to method 3, changes the
system from being underdamped (poles are complex conjugates and the transient is
oscillatory) to overdamped (poles are real and no oscillations in transient response).
This was expected as was seen previously in Table 3.4 where the overdamped loop gain
threshold was less than 1 for BL > 0.4. Moreover, the path of the corresponding poles
with the design method 1 as shown in Figure 3.53 (a), move the poles towards a critically damped system where the poles go closer and closer towards a 0 damping ratio
(two pure imaginary complex conjugate poles and a transient that never dies out). This
happens after a certain threshold value of the normalized noise equivalent bandwidth
BL is crossed due to the fact that beyond such a threshold, continuous to discrete time
approximations do not hold and yield a higher BN as discussed in Section 3.2. On the
other hand, the paths of the corresponding poles due to the design of F1 (z) according
to method 2 and 4 in Figure 3.54 (a) and (b), demonstrate that the system is under-
130
3.5 Loop filter design
H(z) zero/pole location with method 1
1
0.8
0.6
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
Imaginary part
0.4
0.2
2
0
−0.2
−0.4
−0.6
−0.8
−1
−1
−0.5
0
Real part
0.5
1
(a)
H(z) zero/pole location with method 3
1
0.8
0.6
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
Imaginary part
0.4
0.2
2
0
−0.2
−0.4
−0.6
−0.8
−1
−1
−0.5
0
Real part
0.5
1
(b)
Figure 3.53: Methods 1 and 3 closed loop system zero pole location for a range
of BL values - using a 1st order loop filter where x markers depict poles and o markers
depict zeros.
131
3. GNSS PILOT CHANNEL TRACKING
H(z) zero/pole location with method 2
1
0.8
0.6
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
Imaginary part
0.4
0.2
2
0
−0.2
−0.4
−0.6
−0.8
−1
−1
−0.5
0
Real part
0.5
1
(a)
H(z) zero/pole location with method 4
1
0.8
0.6
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
Imaginary part
0.4
0.2
2
0
−0.2
−0.4
−0.6
−0.8
−1
−1
−0.5
0
Real part
0.5
1
(b)
Figure 3.54: Methods 2 and 4 closed loop system zero pole location for a range
of BL values - using a 1st order loop filter where x markers depict poles and o markers
depict zeros.
132
3.5 Loop filter design
damped for all of the considered normalized noise equivalent bandwidth BL values for
a loop gain of unity.
3.5.3.2
Bode plots
The steady state frequency response of the closed loop system transfer function is
analyzed using Bode plots. It is useful to look at the Bode plots to gain a deeper insight
into the degree of stability which is characterized by the gain and phase margins of the
system [45]. A minimum 6 dB gain margin and somewhere between 30 and 60 degrees
phase margin is suggested for the design of systems in general. Figures 3.55 - 3.58 show
the frequency response in terms of magnitude and phase of the system transfer function
designed with the different four methods presented earlier.
Bode Diagram
10
Magnitude (dB)
5
0
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
−5
−10
−15
−3
10
−2
10
−1
10
0
10
1
10
0
Phase (deg)
−50
−100
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
−150
−200
−3
10
−2
10
−1
10
Normalized frequency w (rad/s)
0
10
Figure 3.55: Bode plot as a function of BL for method 1 - showing low pass filter
becoming a high pass filter.
133
1
10
3. GNSS PILOT CHANNEL TRACKING
Bode Diagram
Magnitude (dB)
5
0
−5
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
−10
−15
−3
10
−2
10
−1
10
0
10
1
10
0
Phase (deg)
−50
−100
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
−150
−200
−3
10
−2
10
−1
10
Normalized frequency w (rad/s)
0
10
Figure 3.56: Bode plot as a function of BL for method 2 - showing low pass filter
moving its cutoff frequency to higher frequencies.
134
1
10
3.5 Loop filter design
Bode Diagram
20
Magnitude (dB)
15
10
5
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
0
−5
−10
−15
−3
10
−2
10
−1
10
0
10
1
10
0
Phase (deg)
−50
−100
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
−150
−200
−3
10
−2
10
−1
10
Normalized frequency w (rad/s)
0
10
Figure 3.57: Bode plot as a function of BL for method 3 - showing low pass filter
becoming a high pass filter.
135
1
10
3. GNSS PILOT CHANNEL TRACKING
Bode Diagram
Magnitude (dB)
5
0
−5
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
−10
−15
−3
10
−2
10
−1
10
0
10
1
10
0
Phase (deg)
−50
−100
16 ms, 10 Hz
20 ms, 10 Hz
40 ms, 10 Hz
60 ms, 8 Hz
80 ms, 6 Hz
100 ms, 5 Hz
−150
−200
−3
10
−2
10
−1
10
Normalized frequency w (rad/s)
0
10
Figure 3.58: Bode plot as a function of BL for method 4 - showing low pass filter
moving its cutoff frequency to higher frequencies but relatively lower than method 2.
136
1
10
3.5 Loop filter design
Loop filter
BL = 0.16
0.2
0.4
0.48
0.48
0.5
% decrease
method 1
dB
3.68
11.33
2.75
8.78
0.87
-1.17
0.56
-5.01
0.56
-5.01
0.50
-6.04
86.41
method 2
dB
4.23
12.53
3.31
10.39
1.48
3.40
1.18
1.46
1.18
1.46
1.12
1.02
73.52
method 3
dB
3.23
10.19
2.31
7.26
0.48
-6.39
0.18
-14.76
0.18
-14.76
0.12
-18.12
96.28
method 4
dB
4.82
13.65
3.88
11.79
1.98
5.95
1.66
4.43
1.66
4.43
1.60
4.09
66.8
Table 3.6: Loop gain margins for a set of normalized noise equivalent bandwidths.
Loop filter
BL = 0.16
0.2
0.4
0.48
0.48
0.5
% decrease
method 1
107.20
99.6458
NA
NA
NA
NA
NA
method 2
109.69
104.23
68.36
46.15
46.15
38.73
64.69
method 3
111.01
103.01
NA
NA
NA
NA
NA
method 4
112.48
108.51
88.51
79.51
79.51
77.08
31.47
Table 3.7: Loop phase margins for a set of normalized noise equivalent bandwidths.
It is worth noting that for method 1 and 3, the low pass filter characteristics change into
all pass filter characteristics for BL > 0.4 with a higher magnitude for high frequencies.
The low pass filter characteristics remain for methods 2 and 4, however, the cutoff
frequency is pronouncedly increased especially for method 2, where the high frequencies
are only affected by a maximum of -1 dB vs -4 dB for method 4 which offers only a
small margin of attenuation. These plots in turn help in identifying the gain and
phase margins of the system, i.e. the maximum loop gain and phase fluctuation the
system is able to sustain before going to instability. The margins are listed in Tables
3.6 and 3.7 where the gain margin is also expressed in dB and the corresponding
percentage decrease in terms of gain/phase margin is computed between the minimum
and maximum considered BL values. It is worth noting that these gain margin values
perfectly agree with the loop gain threshold values listed in Table 3.4 with a difference
of 1 between the two sets of values indicating the multiplicative gain margin.
Moreover, looking at the gain margin values in dB, it can be concluded that method
4 performs considerably better than method 2 and guarantees the 6 dB gain margin
137
3. GNSS PILOT CHANNEL TRACKING
mentioned earlier for BL ≤ 0.4 while at least 4 dB gain margin is guaranteed for BL ≤
0.5. On the other hand, method 2 guarantees the 6 dB gain margin for BL = 0.16 − 0.2
and only 1 dB gain margin for BL = 0.5. Similarly, methods 1 and 3 satisfy the 6 dB
gain margin requirement for BL = 0.16 − 0.2 and suffer from a negative gain margin in
dB for higher values. Looking at the phase margin values, it is not surprising to note
that they are not existent for methods 1 and 3 and BL ≥ 0.4 since the corresponding
Bode plots show that the system becomes all pass filter for these cases with a gain
greater than 0 dB. The phase margins for the remaining cases show that the 30 to 60
degree phase margin requirement is satisfied. It is expected that methods 1 and 3 will
not be able to provide stable tracking for BL ≥ 0.4 from the considered values while
methods 2 and 4 promise relatively good tracking stability.
3.5.3.3
Carrier tracking
Following the scheme of signal simulation described in Section 2.3.4 and after skipping
the block implementing the Galileo tiered code signal generation, a pure carrier signal
with no Galileo code is generated over 5 seconds with a CNR of 30 dB-Hz and either:
• a constant Doppler frequency of 2 kHz,
• a ramp Doppler frequency of -0.8 Hz/s rate and an initial value of 2 kHz.
Subsequently, the simulated signal is fed into the carrier tracking loop composed of an
ATAN2 PD, one of the aforementioned first order loop filters and a frequency NCO
which is equivalent to a phase and rate NCO. No loop gain compensation is implemented. An initial frequency error of 3 Hz is set for the range of considered BL values.
Figures 3.59 to 3.64 look into the PD outputs, phase lock indicators and loop filter carrier frequency estimates showing that for the loop normalized noise equivalent
bandwidth BL values less than 0.2, all four loop filters exhibit similar phase and frequency tracking performance. On the other hand, higher BL values yield false or loss
of tracking for methods 1 and 3, while method 2 and 4 show stable tracking for a BL as
high as 0.5. The results agree with the theoretical analysis performed earlier where the
Bode plots have shown that for methods 1 and 3, the closed loop system becomes an
all pass filter for BL > 0.2 while the low pass filter characteristics remain for methods
138
3.5 Loop filter design
PD output with Tint = 16ms and B = 10Hz
PD output with Tint = 20ms and B = 10Hz
N
0.2
1
2
3
N
0.2
4
0.1
0.1
0
0
−0.1
−0.1
−0.2
0
1
2
3
Time [s]
−0.2
0
4
1
1
(a)
4
5
N
0.5
1
2
3
1
4
2
3
4
0
0
1
2
3
Time [s]
4
−0.5
0
5
1
(c)
2
3
Time [s]
4
(d)
PD output with Tint = 80ms and BN = 6Hz
0.5
1
2
3
PD output with Tint = 100ms and B = 5Hz
N
0.5
4
0
−0.5
0
4
PD output with Tint = 60ms and B = 8Hz
N
−0.5
0
2
3
Time [s]
3
(b)
PD output with Tint = 40ms and B = 10Hz
0.5
2
1
2
3
4
0
1
2
3
Time [s]
4
−0.5
0
(e)
1
2
3
Time [s]
4
5
(f)
Figure 3.59: PD estimated error with constant carrier frequency estimation testing different loop filters while tracking a constant 2 kHz Doppler frequency of a signal
with a CNR of 30 dB-Hz and using different BN and PDI values yielding a range of BL
values a) TI = 16 ms and BL = 0.16 b) TI = 20 ms and BL = 0.2 c) TI = 40 ms and BL
= 0.4 d) TI = 60 ms and BL = 0.48 e) TI = 80 ms and BL = 0.48 f) TI = 100 ms and BL
= 0.5.
139
3. GNSS PILOT CHANNEL TRACKING
PLI with Tint = 20ms and BN = 10Hz
PLI with Tint = 16ms and BN = 10Hz
1
0.95
2
3
1
1
4
2
3
4
0.9
0.9
0.85
0.8
0.8
0.7
0.75
0.7
0.6
0.65
0
1
2
3
Time [s]
4
5
0.5
0
1
2
3
Time [s]
(a)
1
2
3
PLI with Tint = 60ms and BN = 8Hz
1
4
0.5
0.5
0
0
−0.5
−0.5
−1
0
1
2
3
Time [s]
−1
0
4
1
1
(c)
1
4
4
2
3
N
4
0.5
0
0
−0.5
−0.5
2
Time [s]
2
3
Time [s]
1
0.5
1
3
PLI with Tint = 100ms and B = 5Hz
N
−1
0
2
(d)
PLI with Tint = 80ms and B = 6Hz
1
5
(b)
PLI with Tint = 40ms and BN = 10Hz
1
4
3
−1
0
4
(e)
1
1
2
Time [s]
2
3
3
4
4
(f)
Figure 3.60: PLI with constant carrier frequency estimation - testing different
loop filters to track a constant 2 kHz Doppler frequency of a signal with a CNR of 30
dB-Hz and using different BN and PDI values yielding a range of BL values a) TI = 16
ms and BL = 0.16 b) TI = 20 ms and BL = 0.2 c) TI = 40 ms and BL = 0.4 d) TI = 60
ms and BL = 0.48 e) TI = 80 ms and BL = 0.48 f) TI = 100 ms and BL = 0.5.
140
3.5 Loop filter design
LF output with Tint = 16ms and BN = 10Hz
2004
True
1
2
3
LF output with Tint = 20ms and BN = 10Hz
2004
4
2002
2002
2000
2000
1998
1998
1996
0
1
2
3
Time [s]
4
True
1996
0
5
1
(a)
1
2
3
2010
2000
2000
1990
1990
1
2
3
Time [s]
4
True
4
2010
1980
0
1980
0
5
1
(c)
True
1
2
3
4
2010
2000
2000
1990
1990
1
4
5
1
2
2
3
Time [s]
3
4
4
LF output with Tint = 100ms and BN = 5Hz
2020
2010
1980
0
4
(d)
LF output with Tint = 80ms and BN = 6Hz
2020
2
3
Time [s]
3
LF output with Tint = 60ms and BN = 8Hz
2020
True
2
(b)
LF output with Tint = 40ms and BN = 10Hz
2020
1
2
3
Time [s]
4
1980
0
(e)
True
1
1
2
3
Time [s]
2
3
4
4
5
(f)
Figure 3.61: Loop filter outputs with constant carrier frequency estimation testing different loop filters to track a constant 2 kHz Doppler frequency of a signal with a
CNR of 30 dB-Hz and using different BN and PDI values yielding a range of BL values a)
TI = 16 ms and BL = 0.16 b) TI = 20 ms and BL = 0.2 c) TI = 40 ms and BL = 0.4 d)
TI = 60 ms and BL = 0.48 e) TI = 80 ms and BL = 0.48 f) TI = 100 ms and BL = 0.5.
141
3. GNSS PILOT CHANNEL TRACKING
PD output with Tint = 16ms and B = 10Hz
PD output with Tint = 20ms and B = 10Hz
N
0.2
1
2
3
N
0.2
4
0.1
0.1
0
0
−0.1
−0.1
−0.2
0
1
2
3
Time [s]
4
−0.2
0
5
1
1
(a)
4
5
N
0.5
1
2
3
1
4
2
3
4
0
0
1
2
3
Time [s]
4
−0.5
0
5
1
(c)
2
3
Time [s]
4
(d)
PD output with Tint = 80ms and BN = 6Hz
0.5
1
2
3
PD output with Tint = 100ms and B = 5Hz
N
0.5
4
0
−0.5
0
4
PD output with Tint = 60ms and B = 8Hz
N
−0.5
0
2
3
Time [s]
3
(b)
PD output with Tint = 40ms and B = 10Hz
0.5
2
1
2
3
4
0
1
2
3
Time [s]
4
−0.5
0
(e)
1
2
3
Time [s]
4
5
(f)
Figure 3.62: PD estimated error with a ramp carrier frequency estimation testing different loop filters while tracking a variable Doppler frequency of a signal with
an initial value of 2 kHz and a Doppler rate of -0.8 Hz/s, a CNR of 30 dB-Hz and using
different BN and PDI values yielding a range of BL values a) TI = 16 ms and BL = 0.16
b) TI = 20 ms and BL = 0.2 c) TI = 40 ms and BL = 0.4 d) TI = 60 ms and BL = 0.48
e) TI = 80 ms and BL = 0.48 f) TI = 100 ms and BL = 0.5.
142
3.5 Loop filter design
PLI with Tint = 16ms and BN = 10Hz
1
0.95
2
3
PLI with Tint = 20ms and BN = 10Hz
4
0.9
0.9
0.85
0.85
0.8
0.8
0.75
0.75
0.7
0.7
0.65
0.65
0
1
2
3
Time [s]
4
1
0.95
5
0
1
2
3
Time [s]
(a)
1
2
3
4
0.5
0
0
−0.5
−0.5
2
3
Time [s]
−1
0
4
1
1
(c)
1
2
3
4
0
0
−0.5
−0.5
2
Time [s]
3
4
4
PLI with Tint = 100ms and BN = 5Hz
0.5
1
2
2
3
Time [s]
1
0.5
−1
0
5
(d)
PLI with Tint = 80ms and BN = 6Hz
1
4
N
1
0.5
1
4
PLI with Tint = 60ms and B = 8Hz
N
−1
0
3
(b)
PLI with Tint = 40ms and B = 10Hz
1
2
3
−1
0
4
(e)
1
1
2
Time [s]
2
3
3
4
4
(f)
Figure 3.63: PLI with a ramp carrier frequency estimation - testing different loop
filters while tracking a variable Doppler frequency of a signal with an initial value of 2
kHz and a Doppler rate of -0.8 Hz/s, a CNR of 30 dB-Hz and using different BN and PDI
values yielding a range of BL values a) TI = 16 ms and BL = 0.16 b) TI = 20 ms and BL
= 0.2 c) TI = 40 ms and BL = 0.4 d) TI = 60 ms and BL = 0.48 e) TI = 80 ms and BL
= 0.48 f) TI = 100 ms and BL = 0.5.
143
3. GNSS PILOT CHANNEL TRACKING
LF output with Tint = 16ms and BN = 10Hz
2005
True
1
2
3
LF output with Tint = 20ms and BN = 10Hz
2005
4
2000
2000
1995
1995
1990
1990
1985
0
1
2
3
Time [s]
4
True
1985
0
5
1
(a)
1
2
3
2010
2000
2000
1990
1990
1
2
3
Time [s]
4
True
4
2010
1980
0
1980
0
5
1
(c)
True
1
2
3
4
2010
2000
2000
1990
1990
1
4
5
1
2
2
3
Time [s]
3
4
4
LF output with Tint = 100ms and BN = 5Hz
2020
2010
1980
0
4
(d)
LF output with Tint = 80ms and BN = 6Hz
2020
2
3
Time [s]
3
LF output with Tint = 60ms and BN = 8Hz
2020
True
2
(b)
LF output with Tint = 40ms and BN = 10Hz
2020
1
2
3
Time [s]
4
1980
0
(e)
True
1
1
2
3
Time [s]
2
3
4
4
5
(f)
Figure 3.64: Loop filter outputs with a ramp carrier frequency estimation testing different loop filters while tracking a variable Doppler frequency of a signal with
an initial value of 2 kHz and a Doppler rate of -0.8 Hz/s, a CNR of 30 dB-Hz and using
different BN and PDI values yielding a range of BL values a) TI = 16 ms and BL = 0.16
b) TI = 20 ms and BL = 0.2 c) TI = 40 ms and BL = 0.4 d) TI = 60 ms and BL = 0.48
e) TI = 80 ms and BL = 0.48 f) TI = 100 ms and BL = 0.5.
144
3.5 Loop filter design
2 and 4. Root locus plots on the other hand have shown the progress of the nature of
the loop response where the initially designed underdamped response moves towards
critically damped and overdamped for methods 1 and 3 respectively, while complex
conjugate poles characteristic of an underdamped response hold for high BL values
using methods 2 and 4.
It is worth mentioning that, following the Nyquist sampling bound BN < 1/(2TI ) as
explained in Section 3.4.2.1, the noise equivalent bandwidth design parameter has been
bounded with the increase of the integration interval, such that BN = 10 Hz is chosen
for integration intervals less than 40 ms. On the other hand, PDI values of 60 80 and
100 ms were used with a BN = 8, 6 and 5 Hz.
3.5.3.4
Code tracking
Following the scheme of signal simulation described in Section 2.3.4 and after skipping
the blocks implementing the carrier signal generation, the band-pass modulation and
LPF, pure Galileo E1 and E5a spreading code signals with no carrier are generated
over 5 seconds with a CNR of 45 dB-Hz and either the effect of:
• a constant Doppler frequency carrier of 2 kHz on the raw code rate,
• a ramp Doppler frequency of -0.8 Hz/s rate and an initial value of 2 kHz on the
raw code rate.
Subsequently, the simulated signal is fed into the code tracking loop made up by a code
PD, all of the aforementioned first order loop filters and a frequency NCO which is
equivalent to a phase and rate NCO. The PD is selected as either the standard EMLE
PD for Galileo E5a or the 4 taps VEMLE PD as described in Section 3.4.4.4 for the
Galileo E1 signal.
Moreover, an initial code phase error of a few samples and an almost zero initial code
rate error is applied while testing all PDI values. The reason behind this choice is
because the Doppler frequency is scaled by the signal carrier frequency and hence results in a very low contribution in the spreading code rate as compared to the Doppler
frequency contribution in the carrier frequency. Similarly to the carrier tracking case,
the code tracking loop is governed by the Nyquist sampling bound BN < 1/(2TI ) as
145
3. GNSS PILOT CHANNEL TRACKING
explained in Section 3.4.2.1. Subsequently, the noise equivalent bandwidth design parameter has been set to BN = 5 Hz in general, with the exception of TI = 60 ms case
where BN = 3.33 Hz to yield BL = 0.2 one of the considered values in the theoretical
analysis put forth in Sections 3.5.3.1 and 3.5.3.2.
Figures 3.65 to 3.70 are the result of tracking the aforementioned simulated Galileo
E1 signals and look into PD outputs, code lock indicators represented by the CNR
and incremental loop filter code rate estimates. The incremental code rate means the
additional code rate value on top of the nominal Galileo E1/E5 code rate values. These
results show that for BL values less than 0.2, all four loop filters exhibit similar code
rate tracking performance. On the other hand, higher BL values of 0.4 and 0.5 yield
false or loss of tracking for methods 1 and 3, while method 2 and 4 show stable tracking
for a BL as high as 0.5. The results agree with the theoretical analysis performed earlier
where the Bode plots have shown that for methods 1 and 3, the closed loop system
becomes an all pass filter for BL > 0.2 while the low pass filter characteristics remain
for methods 2 and 4. Root locus plots on the other hand have shown the progress
of the nature of the loop response where the initially designed underdamped response
moves towards critically damped and overdamped for methods 1 and 3 respectively.
However, complex conjugate poles which characterize an underdamped response still
hold for high BL values using methods 2 and 4.
Similarly, Figures 3.71 to 3.76 are the result of tracking the aforementioned simulated
Galileo E5a signals. The same conclusions can be drawn for methods 1 and 3 as
before while method 2 loses lock as soon as BL > 0.2 and method 4 loses lock for
BL ≥ 0.5. As mentioned before, method 2 and 4 yield a stable closed loop system
with an underdamped response for BL values as high as 0.5, however their frequency
response curve is characterized by low attenuation of high frequencies and is therefore
vulnerable to high frequency noise. It is interesting to notice that Galileo E1 and E5a
signal tracking performance is different in this case where E1 tracking is possible for
a BL value as high as 0.5 while E5a tracking is limited by BL value of 0.2 and 0.5 for
methods 2 and 4 respectively. However, although the Loop Filter (LF) and NCO used
in the tracking of each of these frequencies are identical, the PD is quite different due to
the inherent nature of Galileo E1 and E5a/b signals. For Galileo E5a/b signals, a two
146
3.5 Loop filter design
PD output Tint = 16ms and BN = 5Hz
1.5
1
2
3
PD output Tint = 20ms and BN = 5Hz
1.5
4
1
1
0.5
0.5
0
0
−0.5
−0.5
−1
−1
−1.5
0
2
4
Time [s]
6
1
−1.5
0
2
(a)
1
2
3
4
0.5
0.5
0
0
−0.5
−0.5
−1
−1
4
Time [s]
6
−1.5
0
1
2
(c)
1
2
3
0.5
0.5
0
0
−0.5
−0.5
−1
−1
Time [s]
4
4
Time [s]
1.5
4
1
2
3
6
PD output Tint = 100ms and BN = 5Hz
1
−1.5
0
2
(d)
PD output Tint = 80ms and BN = 5Hz
1.5
6
PD output Tint = 60ms and BN = 3.33Hz
1
2
4
4
Time [s]
1.5
1
−1.5
0
3
(b)
PD output Tint = 40ms and BN = 5Hz
1.5
2
4
6
−1.5
0
(e)
1
2
Time [s]
2
4
3
4
6
(f)
Figure 3.65: Four taps VEMLE PD output in chips with a constant code rate
input on Galileo E1 band - testing different loop filters to track the effect of a constant
2 kHz Doppler frequency on the Galileo E1 code rate with a CNR of 45 dB-Hz and using
different BN and PDI values yielding a range of BL values a) TI = 16 ms and BL = 0.08
b) TI = 20 ms and BL = 0.1 c) TI = 40 ms and BL = 0.2 d) TI = 60 ms and BL = 0.2
e) TI = 80 ms and BL = 0.4 f) TI = 100 ms and BL = 0.5.
147
3. GNSS PILOT CHANNEL TRACKING
LF output increment Tint = 16ms and B = 5Hz
LF output increment Tint = 20ms and B = 5Hz
30
30
N
True
1
2
3
4
N
25
25
20
20
15
15
10
10
5
0
1
2
3
Time [s]
True
5
0
4
1
(a)
2
3
Time [s]
3
4
4
5
LF output increment Tint = 60ms and B = 3.33Hz
N
True
1
2
3
4
30
25
True
1
2
3
4
25
20
20
15
15
10
10
5
0
2
(b)
LF output increment Tint = 40ms and BN = 5Hz
30
1
1
2
3
Time [s]
4
5
0
5
1
(c)
N
True
4
(d)
LF output increment Tint = 80ms and B = 5Hz
40
2
3
Time [s]
1
2
3
LF output increment Tint = 100ms and BN = 5Hz
60
4
True
1
2
3
4
30
40
20
10
20
0
0
−10
−20
0
1
2
3
Time [s]
4
5
−20
0
(e)
1
2
3
Time [s]
4
5
(f)
Figure 3.66: Loop filter constant code rate estimation on Galileo E1 band testing different loop filters to track the effect of a constant 2 kHz Doppler frequency on
the Galileo E1 code rate with a CNR of 45 dB-Hz and using different BN and PDI values
yielding a range of BL values a) TI = 16 ms and BL = 0.08 b) TI = 20 ms and BL = 0.1
c) TI = 40 ms and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80 ms and BL = 0.4 f)
TI = 100 ms and BL = 0.5.
148
3.5 Loop filter design
C/N0 estimate Tint = 16ms and BN = 5Hz
41
1
2
3
C/N0 estimate Tint = 20ms and BN = 5Hz
40.5
4
40.5
40
40
39.5
39.5
39
39
38.5
38.5
1.5
2
2.5
3
Time [s]
3.5
1
38
1.5
4
2
(a)
2.5
3
Time [s]
3
4
3.5
4
(b)
C/N0 estimate Tint = 40ms and B = 5Hz
C/N0 estimate Tint = 60ms and BN = 3.33Hz
N
42
2
1
2
3
40
4
1
2
3
4
40
35
38
30
36
25
34
32
1.5
2
2.5
3
Time [s]
3.5
4
20
1.5
2
(c)
1
2
3
4
35
30
30
25
25
2
4
C/N0 estimate Tint = 100ms and BN = 5Hz
40
35
20
1.5
3.5
(d)
C/N0 estimate Tint = 80ms and BN = 5Hz
40
2.5
3
Time [s]
2.5
3
Time [s]
3.5
4
20
1.5
(e)
1
2
2.5
3
Time [s]
2
3
3.5
4
4
(f)
Figure 3.67: CNR estimate in dB-Hz with a constant code rate input on Galileo
E1 band - testing different loop filters to track the effect of a constant 2 kHz Doppler
frequency on the Galileo E1 code rate with a CNR of 45 dB-Hz and using different BN
and PDI values yielding a range of BL values a) TI = 16 ms and BL = 0.08 b) TI = 20
ms and BL = 0.1 c) TI = 40 ms and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80
ms and BL = 0.4 f) TI = 100 ms and BL = 0.5.
149
3. GNSS PILOT CHANNEL TRACKING
PD output Tint = 16ms and BN = 5Hz
1.5
1
2
3
PD output Tint = 20ms and BN = 5Hz
1.5
4
1
1
0.5
0.5
0
0
−0.5
−0.5
−1
−1
−1.5
0
2
4
Time [s]
6
1
−1.5
0
2
(a)
1
2
3
4
0.5
0.5
0
0
−0.5
−0.5
−1
−1
4
Time [s]
6
−1.5
0
1
2
(c)
1
2
3
0.5
0.5
0
0
−0.5
−0.5
−1
−1
Time [s]
4
4
Time [s]
1.5
4
1
2
3
6
PD output Tint = 100ms and BN = 5Hz
1
−1.5
0
2
(d)
PD output Tint = 80ms and BN = 5Hz
1.5
6
PD output Tint = 60ms and BN = 3.33Hz
1
2
4
4
Time [s]
1.5
1
−1.5
0
3
(b)
PD output Tint = 40ms and BN = 5Hz
1.5
2
4
6
−1.5
0
(e)
1
2
Time [s]
2
4
3
4
6
(f)
Figure 3.68: Four taps VEMLE PD output in chips with a ramp code rate
input on Galileo E1 band - testing different loop filters to track the effect of a variable
Doppler frequency on the Galileo E1 code rate with a CNR of 45 dB-Hz and using different
BN and PDI values yielding a range of BL values a) TI = 16 ms and BL = 0.08 b) TI =
20 ms and BL = 0.1 c) TI = 40 ms and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80
ms and BL = 0.4 f) TI = 100 ms and BL = 0.5.
150
3.5 Loop filter design
LF output increment Tint = 16ms and B = 5Hz
LF output increment Tint = 20ms and B = 5Hz
30
30
N
True
1
2
3
4
N
25
25
20
20
15
15
10
10
5
0
1
2
3
Time [s]
True
5
0
4
1
(a)
1
2
3
4
4
5
LF output increment Tint = 60ms and B = 3.33Hz
4
30
True
1
2
3
4
25
20
20
15
15
10
10
1
2
3
Time [s]
4
5
0
5
1
(c)
N
60
True
4
1
2
3
LF output increment Tint = 100ms and BN = 5Hz
60
4
40
40
20
20
0
0
1
2
3
Time [s]
(d)
LF output increment Tint = 80ms and B = 5Hz
−20
0
2
3
Time [s]
3
N
True
25
5
0
2
(b)
LF output increment Tint = 40ms and BN = 5Hz
30
1
2
3
Time [s]
4
5
−20
0
(e)
True
1
1
2
3
Time [s]
2
3
4
4
5
(f)
Figure 3.69: Loop filter ramp code rate estimation on Galileo E1 band - testing
different loop filters to track the effect of a variable Doppler frequency on the Galileo E1
code rate with a CNR of 45 dB-Hz and using different BN and PDI values yielding a range
of BL values a) TI = 16 ms and BL = 0.08 b) TI = 20 ms and BL = 0.1 c) TI = 40 ms
and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80 ms and BL = 0.4 f) TI = 100 ms
and BL = 0.5.
151
3. GNSS PILOT CHANNEL TRACKING
C/N0 estimate Tint = 16ms and BN = 5Hz
41
1
2
3
C/N0 estimate Tint = 20ms and BN = 5Hz
40.5
4
40.5
40
40
39.5
39.5
39
39
1.5
2
2.5
3
Time [s]
3.5
4
1
38.5
1.5
2
(a)
2.5
3
Time [s]
3
4
3.5
4
(b)
C/N0 estimate Tint = 40ms and B = 5Hz
C/N0 estimate Tint = 60ms and BN = 3.33Hz
N
39
2
1
2
3
45
4
1
38
2
3
4
40
37
36
35
35
30
34
33
1.5
2
2.5
3
Time [s]
3.5
4
25
1.5
2
(c)
3.5
4
(d)
C/N0 estimate Tint = 80ms and BN = 5Hz
36
2.5
3
Time [s]
1
2
3
C/N0 estimate Tint = 100ms and BN = 5Hz
35
4
1
2
3
4
34
32
30
30
28
25
26
24
1.5
2
2.5
3
Time [s]
3.5
4
20
1.5
(e)
2
2.5
3
Time [s]
3.5
4
(f)
Figure 3.70: CNR estimate in dB-Hz with a ramp code rate input on Galileo
E1 band - testing different loop filters to track the effect of a variable Doppler frequency
on the Galileo E1 code rate with a CNR of 45 dB-Hz and and using different BN and PDI
values yielding a range of BL values a) TI = 16 ms and BL = 0.08 b) TI = 20 ms and BL
= 0.1 c) TI = 40 ms and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80 ms and BL =
0.4 f) TI = 100 ms and BL = 0.5.
152
3.5 Loop filter design
taps EMLE detector with an EML chip spacing of 1 is an adequate PD as presented in
Section 3.4.4.5, whereas a four taps VEMLE detector with an EML chip spacing of 0.5
and a Very Early Minus Late (VEML) chip spacing of 1 is used for Galileo E1 signals.
As discussed in Section 3.4.4.4, the linear range of the 4 taps VEMLE discriminator
using an early minus late chip spacing of 0.5 extends over +/ − 0.5 chips albeit with
some undulations while the linear range of a simple EMLE discriminator using an early
minus late chip spacing of unity extends over +/ − 0.5 chips.
3.5.3.5
Carrier and code tracking
Following the scheme of signal simulation described in Section 2.3.4, a carrier signal
modulated by Galileo E1 and E5a OS signals is generated over 5 seconds with a CNR of
30 dB-Hz and a ramp Doppler frequency of -0.8 Hz/s rate and an initial value of 2 kHz.
Subsequently, the simulated signal is fed into the carrier and code tracking loops made
up by an ATAN2 carrier PD and an appropriate code PD, one of the aforementioned
first order loop filters and a frequency NCO which is equivalent to a phase and rate
NCO. The code PD is selected as either the standard EMLE PD for Galileo E5a or the
4 taps VEMLE PD as described in Section 3.4.4.4 for the Galileo E1 signal. No loop
gain compensation is implemented.
As for the individual carrier tracking case, an initial frequency error of 3 Hz is set
for the range of considered BL values. Similarly, an initial code phase error of a few
samples and an almost zero initial code rate error is applied while testing all PDI values. Again, the carrier and code tracking loops are governed by the Nyquist sampling
bound BN < 1/(2TI ) as explained in Section 3.4.2.1. Subsequently, the noise equivalent
bandwidth design parameter in the code tracking loop has been set to BN = 5 Hz in
general, with the exception of TI = 60 ms case where BN = 3.33 Hz to yield BL = 0.2
one of the considered values in the theoretical analysis put forth in Sections 3.5.3.1 and
3.5.3.2. Conversely, the noise equivalent bandwidth design parameter in the carrier
tracking loop has been bounded with the increase of the integration interval, such that
BN = 10 Hz is chosen for integration intervals less than 40 ms. On the other hand,
PDI values of 60 80 and 100 ms were used with a BN = 8, 6 and 5 Hz.
153
3. GNSS PILOT CHANNEL TRACKING
PD output Tint = 16ms and BN = 5Hz
0.8
1
2
3
PD output Tint = 20ms and BN = 5Hz
1
4
1
2
3
4
0.6
0.5
0.4
0.2
0
0
−0.2
0
1
2
3
Time [s]
4
5
−0.5
0
1
2
3
Time [s]
(a)
1
2
3
PD output Tint = 60ms and BN = 3.33Hz
1.5
4
1
1
0.5
0.5
0
0
−0.5
−0.5
−1
−1
−1.5
0
2
4
Time [s]
6
1
−1.5
0
2
(c)
1
2
3
4
4
Time [s]
1
4
0.5
0
0
−0.5
−0.5
1
3
6
PD output Tint = 100ms and BN = 5Hz
0.5
−1
0
2
(d)
PD output Tint = 80ms and BN = 5Hz
1
5
(b)
PD output Tint = 40ms and BN = 5Hz
1.5
4
2
3
Time [s]
4
5
(e)
−1
0
1
1
2
3
Time [s]
2
3
4
4
5
(f)
Figure 3.71: EMLE PD output in chips with a constant code rate input on
Galileo E5a band - testing different loop filters to track the effect of a constant 2 kHz
Doppler frequency on the Galileo E5a code rate with a CNR of 45 dB-Hz and using different
BN and PDI values yielding a range of BL values a) TI = 16 ms and BL = 0.08 b) TI =
20 ms and BL = 0.1 c) TI = 40 ms and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80
ms and BL = 0.4 f) TI = 100 ms and BL = 0.5.
154
3.5 Loop filter design
LF output increment Tint = 16ms and BN = 5Hz
17.5
True
1
2
3
LF output increment Tint = 20ms and BN = 5Hz
17.5
4
17.45
17.45
17.4
17.4
17.35
17.35
17.3
0
1
2
3
Time [s]
True
17.3
0
4
1
(a)
True
1
2
3
17.5
4
17.45
17.4
17.4
17.35
17.35
1
2
3
Time [s]
4
17.3
0
5
True
1
(c)
N
True
1
2
3
60
4
40
20
20
10
0
1
4
5
1
2
2
3
Time [s]
3
4
4
LF output increment Tint = 100ms and BN = 5Hz
30
0
0
4
(d)
LF output increment Tint = 80ms and B = 5Hz
40
2
3
Time [s]
3
LF output increment Tint = 60ms and BN = 3.33Hz
17.45
17.3
0
2
(b)
LF output increment Tint = 40ms and BN = 5Hz
17.5
1
2
3
Time [s]
4
5
−20
0
(e)
True
1
1
2
3
Time [s]
2
3
4
4
5
(f)
Figure 3.72: Loop filter constant code rate estimation on Galileo E5a band testing different loop filters to track the effect of a constant 2 kHz Doppler frequency on
the Galileo E5a code rate with a CNR of 45 dB-Hz and using different BN and PDI values
yielding a range of BL values a) TI = 16 ms and BL = 0.08 b) TI = 20 ms and BL = 0.1
c) TI = 40 ms and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80 ms and BL = 0.4 f)
TI = 100 ms and BL = 0.5.
155
3. GNSS PILOT CHANNEL TRACKING
C/N0 estimate Tint = 16ms and B = 5Hz
C/N0 estimate Tint = 20ms and B = 5Hz
N
75
1
2
3
N
80
4
1
2
3
4
70
70
65
60
60
55
50
50
45
1.5
2
2.5
3
Time [s]
3.5
4
40
1.5
2
(a)
1
2
3
80
4
70
70
60
60
50
50
40
40
2
2.5
3
Time [s]
3.5
4
1
30
1.5
2
(c)
N
1
2
3
4
20
30
10
20
0
2
3
3.5
4
4
C/N0 estimate Tint = 100ms and BN = 5Hz
30
40
10
1.5
2.5
3
Time [s]
2
(d)
C/N0 estimate Tint = 80ms and B = 5Hz
50
4
C/N0 estimate Tint = 60ms and BN = 3.33Hz
N
30
1.5
3.5
(b)
C/N0 estimate Tint = 40ms and B = 5Hz
80
2.5
3
Time [s]
2.5
3
Time [s]
3.5
4
−10
1.5
(e)
1
2
2.5
3
Time [s]
2
3
3.5
4
4
(f)
Figure 3.73: CNR estimate in dB-Hz with a constant code rate input on Galileo
E5a band - testing different loop filters to track the effect of a constant 2 kHz Doppler
frequency on the Galileo E5a code rate with a CNR of 45 dB-Hz and using different BN
and PDI values yielding a range of BL values a) TI = 16 ms and BL = 0.08 b) TI = 20
ms and BL = 0.1 c) TI = 40 ms and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80
ms and BL = 0.4 f) TI = 100 ms and BL = 0.5.
156
3.5 Loop filter design
PD output Tint = 16ms and BN = 5Hz
1.5
1
2
3
PD output Tint = 20ms and BN = 5Hz
1.5
4
1
1
0.5
0.5
0
0
−0.5
−0.5
−1
−1
−1.5
0
2
4
Time [s]
6
1
−1.5
0
2
(a)
1
2
3
4
0.5
0.5
0
0
−0.5
−0.5
−1
−1
4
Time [s]
6
−1.5
0
1
2
(c)
1
2
3
0.5
0.5
0
0
−0.5
−0.5
−1
−1
Time [s]
4
4
Time [s]
1.5
4
1
2
3
6
PD output Tint = 100ms and BN = 5Hz
1
−1.5
0
2
(d)
PD output Tint = 80ms and BN = 5Hz
1.5
6
PD output Tint = 60ms and BN = 3.33Hz
1
2
4
4
Time [s]
1.5
1
−1.5
0
3
(b)
PD output Tint = 40ms and BN = 5Hz
1.5
2
4
6
−1.5
0
(e)
1
2
Time [s]
2
4
3
4
6
(f)
Figure 3.74: EMLE PD output in chips with a ramp code rate input on Galileo
E5a band - testing different loop filters to track the effect of a variable Doppler frequency
on the Galileo E5a code rate with a CNR of 45 dB-Hz and using different BN and PDI
values yielding a range of BL values a) TI = 16 ms and BL = 0.08 b) TI = 20 ms and BL
= 0.1 c) TI = 40 ms and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80 ms and BL =
0.4 f) TI = 100 ms and BL = 0.5.
157
3. GNSS PILOT CHANNEL TRACKING
LF output increment Tint = 16ms and BN = 5Hz
17.5
True
1
2
3
LF output increment Tint = 20ms and BN = 5Hz
17.5
4
17.45
17.45
17.4
17.4
17.35
17.35
17.3
0
1
2
3
Time [s]
True
17.3
0
4
1
(a)
1
2
3
2
3
Time [s]
4
4
5
(b)
LF output increment Tint = 40ms and B = 5Hz
N
30
LF output increment Tint = 60ms and B = 3.33Hz
N
True
1
2
3
4
25
True
25
1
2
3
4
20
20
15
15
10
10
5
0
0
1
2
3
Time [s]
4
5
0
5
1
2
3
Time [s]
4
5
(c)
(d)
LF output increment Tint = 80ms and BN = 5Hz
LF output increment Tint = 100ms and BN = 5Hz
40
True
1
2
3
60
4
30
40
20
20
10
0
0
0
1
2
3
Time [s]
4
5
−20
0
(e)
True
1
1
2
3
Time [s]
2
3
4
4
5
(f)
Figure 3.75: Loop filter ramp code rate estimation on Galileo E5a band - testing
different loop filters to track the effect of a variable Doppler frequency on the Galileo E5a
code rate with a CNR of 45 dB-Hz and using different BN and PDI values yielding a range
of BL values a) TI = 16 ms and BL = 0.08 b) TI = 20 ms and BL = 0.1 c) TI = 40 ms
and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80 ms and BL = 0.4 f) TI = 100 ms
and BL = 0.5.
158
3.5 Loop filter design
C/N0 estimate Tint = 16ms and B = 5Hz
C/N0 estimate Tint = 20ms and B = 5Hz
N
75
1
2
3
N
80
4
1
2
3
4
70
70
65
60
60
55
50
50
45
1.5
2
2.5
3
Time [s]
3.5
4
40
1.5
2
(a)
1
2
3
80
4
70
70
60
60
50
50
40
40
2
2.5
3
Time [s]
3.5
4
30
1.5
1
2
(c)
2.5
3
Time [s]
2
3
3.5
4
4
(d)
C/N0 estimate Tint = 80ms and B = 5Hz
C/N0 estimate Tint = 100ms and B = 5Hz
N
50
4
C/N0 estimate Tint = 60ms and BN = 3.33Hz
N
30
1.5
3.5
(b)
C/N0 estimate Tint = 40ms and B = 5Hz
80
2.5
3
Time [s]
1
2
3
N
30
4
1
2
3
4
25
40
20
30
15
10
20
5
10
1.5
2
2.5
3
Time [s]
3.5
4
(e)
0
1.5
2
2.5
3
Time [s]
3.5
4
(f)
Figure 3.76: CNR estimate in dB-Hz with a ramp code rate input on Galileo
E5a band - testing different loop filters to track the effect of a variable Doppler frequency
on the Galileo E5a code rate with a CNR of 45 dB-Hz and using different BN and PDI
values yielding a range of BL values a) TI = 16 ms and BL = 0.08 b) TI = 20 ms and BL
= 0.1 c) TI = 40 ms and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80 ms and BL =
0.4 f) TI = 100 ms and BL = 0.5.
159
3. GNSS PILOT CHANNEL TRACKING
Carrier PD output with Tint = 16ms and BN = 10Hz
0.2
1
2
3
Carrier PD output with Tint = 20ms and BN = 10Hz
0.2
4
0.1
0.1
0
0
−0.1
−0.1
−0.2
0
1
2
3
Time [s]
−0.2
0
4
1
1
(a)
N
1
2
3
0.5
1
4
4
2
3
4
0
1
2
3
Time [s]
−0.5
0
4
1
(c)
N
0.5
2
3
Time [s]
4
(d)
Carrier PD output with Tint = 80ms and B = 6Hz
1
2
3
Carrier PD output with Tint = 100ms and B = 5Hz
N
0.5
4
0
−0.5
0
4
Carrier PD output with Tint = 60ms and BN = 8Hz
0
−0.5
0
2
3
Time [s]
3
(b)
Carrier PD output with Tint = 40ms and B = 10Hz
0.5
2
1
2
3
4
0
1
2
3
Time [s]
4
−0.5
0
(e)
1
2
3
Time [s]
4
(f)
Figure 3.77: PLL PD estimated error with a ramp carrier frequency input
signal modulated by a Galileo E1 OS signal - a CNR of 30 dB-Hz, testing different
loop filters while using different BN and PDI values yielding a range of BL values a) TI =
16 ms and BL = 0.16 b) TI = 20 ms and BL = 0.2 c) TI = 40 ms and BL = 0.4 d) TI =
60 ms and BL = 0.48 e) TI = 80 ms and BL = 0.48 f) TI = 100 ms and BL = 0.5.
160
3.5 Loop filter design
PLI with Tint = 16ms and BN = 10Hz
1
1
2
3
PLI with Tint = 20ms and BN = 10Hz
1
4
0.5
0.5
0
0
−0.5
0
1
2
3
Time [s]
4
5
−0.5
0
1
1
2
3
Time [s]
(a)
1
2
3
4
0.5
0
0
−0.5
−0.5
1
2
3
Time [s]
−1
0
4
1
1
(c)
1
3
4
4
2
3
N
4
0.5
0
0
−0.5
−0.5
2
Time [s]
2
2
3
Time [s]
1
0.5
1
5
PLI with Tint = 100ms and B = 5Hz
N
−1
0
4
(d)
PLI with Tint = 80ms and B = 6Hz
1
4
PLI with Tint = 60ms and BN = 8Hz
1
0.5
−1
0
3
(b)
PLI with Tint = 40ms and BN = 10Hz
1
2
3
−1
0
4
(e)
1
1
2
Time [s]
2
3
3
4
4
(f)
Figure 3.78: PLI with a ramp carrier frequency input signal modulated by a
Galileo E1 OS signal - a CNR of 30 dB-Hz, testing different loop filters while using
different BN and PDI values yielding a range of BL values a) TI = 16 ms and BL = 0.16
b) TI = 20 ms and BL = 0.2 c) TI = 40 ms and BL = 0.4 d) TI = 60 ms and BL = 0.48
e) TI = 80 ms and BL = 0.48 f) TI = 100 ms and BL = 0.5.
161
3. GNSS PILOT CHANNEL TRACKING
Carrier LF output with Tint = 16ms and BN = 10Hz
Carrier LF output with Tint = 20ms and BN = 10Hz
2005
2005
True
1
2
3
4
2000
2000
1995
1995
1990
1990
1985
1985
1980
0
1
2
3
Time [s]
4
1980
0
5
True
1
(a)
1
2
3
2000
2000
1990
1990
2
3
Time [s]
True
4
2010
1
1980
0
4
1
(c)
N
True
1
2
3
4
2010
2000
2000
1990
1990
1
5
1
2
2
3
Time [s]
3
4
4
Carrier LF output with Tint = 100ms and BN = 5Hz
2020
2010
1980
0
4
(d)
Carrier LF output with Tint = 80ms and B = 6Hz
2020
4
N
2020
2010
1980
0
2
3
Time [s]
3
Carrier LF output with Tint = 60ms and B = 8Hz
N
True
2
(b)
Carrier LF output with Tint = 40ms and B = 10Hz
2020
1
2
3
Time [s]
4
1980
0
(e)
True
1
1
2
3
Time [s]
2
3
4
4
(f)
Figure 3.79: PLL Loop filter outputs with a ramp carrier frequency input signal
modulated by a Galileo E1 OS signal - a CNR of 30 dB-Hz, testing different loop
filters while using different BN and PDI values yielding a range of BL values a) TI = 16
ms and BL = 0.16 b) TI = 20 ms and BL = 0.2 c) TI = 40 ms and BL = 0.4 d) TI = 60
ms and BL = 0.48 e) TI = 80 ms and BL = 0.48 f) TI = 100 ms and BL = 0.5.
162
3.5 Loop filter design
Figures 3.77 to 3.82 look into the Galileo E1, E5a PLL PD outputs, phase lock indicators and loop filter carrier frequency estimates. Figures 3.77 and 3.79 related to
Galileo E1 signals show that for the loop normalized noise equivalent bandwidth BL
values less than 0.2, all four loop filters exhibit similar phase and frequency tracking
performance. On the other hand, higher BL values yield false or loss of tracking for
methods 1 and 3, while method 2 and 4 show stable tracking for a BL as high as 0.5
even though the case where method 2 is used with an integration time of 60 ms seems
initially out of lock, it is able to go in lock after 3 seconds. It is interesting to compare
the PLL tracking performance with Galileo E5a signals to that of Galileo E1 signals.
In fact, methods 2 and 4 seem to endure cycle slips with Galileo E5a signals but eventually approach to lock to the correct frequency. The results agree with the theoretical
analysis performed earlier where the Bode plots have shown that for methods 1 and
3, the closed loop system becomes an all pass filter for BL > 0.2 while the low pass
filter characteristics remain for methods 2 and 4. Root locus plots on the other hand
have shown the progress of the nature of the loop response where the initially designed
underdamped response moves towards critically damped and overdamped for methods
1 and 3 respectively, while complex conjugate poles characteristic of an underdamped
response hold for high BL values using methods 2 and 4.
Similarly, Figures 3.83 to 3.88 are the result of tracking the aforementioned simulated
Galileo E1 and E5a signals and look into the DLL PD outputs, code lock indicators
represented by the CNR and incremental loop filter code rate estimates. The same
conclusions are drawn as before.
163
3. GNSS PILOT CHANNEL TRACKING
Carrier PD output with Tint = 16ms and BN = 10Hz
0.2
1
2
3
Carrier PD output with Tint = 20ms and BN = 10Hz
0.2
4
0.1
0.1
0
0
−0.1
−0.1
−0.2
0
1
2
3
Time [s]
−0.2
0
4
1
1
(a)
N
1
2
3
0.5
1
4
4
2
3
4
0
1
2
3
Time [s]
−0.5
0
4
1
(c)
N
0.5
2
3
Time [s]
4
(d)
Carrier PD output with Tint = 80ms and B = 6Hz
1
2
3
Carrier PD output with Tint = 100ms and B = 5Hz
N
0.5
4
0
−0.5
0
4
Carrier PD output with Tint = 60ms and BN = 8Hz
0
−0.5
0
2
3
Time [s]
3
(b)
Carrier PD output with Tint = 40ms and B = 10Hz
0.5
2
1
2
3
4
0
1
2
3
Time [s]
4
−0.5
0
(e)
1
2
3
Time [s]
4
(f)
Figure 3.80: PLL PD estimated error with a ramp carrier frequency input
signal modulated by a Galileo E5a OS signal - a CNR of 30 dB-Hz, testing different
loop filters while using different BN and PDI values yielding a range of BL values a) TI =
16 ms and BL = 0.16 b) TI = 20 ms and BL = 0.2 c) TI = 40 ms and BL = 0.4 d) TI =
60 ms and BL = 0.48 e) TI = 80 ms and BL = 0.48 f) TI = 100 ms and BL = 0.5.
164
3.5 Loop filter design
PLI with Tint = 16ms and BN = 10Hz
1
1
2
3
PLI with Tint = 20ms and BN = 10Hz
1
4
0.5
0.5
0
0
−0.5
−0.5
−1
0
1
2
3
Time [s]
4
−1
0
5
1
1
2
3
Time [s]
(a)
1
2
3
4
0.5
0
0
−0.5
−0.5
1
2
3
Time [s]
−1
0
4
1
1
(c)
1
3
4
4
2
3
N
4
0.5
0
0
−0.5
−0.5
2
Time [s]
2
2
3
Time [s]
1
0.5
1
5
PLI with Tint = 100ms and B = 5Hz
N
−1
0
4
(d)
PLI with Tint = 80ms and B = 6Hz
1
4
PLI with Tint = 60ms and BN = 8Hz
1
0.5
−1
0
3
(b)
PLI with Tint = 40ms and BN = 10Hz
1
2
3
−1
0
4
(e)
1
1
2
Time [s]
2
3
3
4
4
(f)
Figure 3.81: PLI with a ramp carrier frequency input signal modulated by a
Galileo E5a OS signal - a CNR of 30 dB-Hz, testing different loop filters while using
different BN and PDI values yielding a range of BL values a) TI = 16 ms and BL = 0.16
b) TI = 20 ms and BL = 0.2 c) TI = 40 ms and BL = 0.4 d) TI = 60 ms and BL = 0.48
e) TI = 80 ms and BL = 0.48 f) TI = 100 ms and BL = 0.5.
165
3. GNSS PILOT CHANNEL TRACKING
Carrier LF output with Tint = 16ms and BN = 10Hz
Carrier LF output with Tint = 20ms and BN = 10Hz
2010
2010
True
1
2
3
4
2005
2005
2000
2000
1995
1995
1990
1990
1985
1985
1980
0
1
2
3
Time [s]
4
1980
0
5
True
1
(a)
1
2
3
2000
2000
1990
1990
2
3
Time [s]
True
4
2010
1
1980
0
4
1
(c)
N
True
1
2
3
4
2010
2000
2000
1990
1990
1
5
1
2
2
3
Time [s]
3
4
4
Carrier LF output with Tint = 100ms and BN = 5Hz
2020
2010
1980
0
4
(d)
Carrier LF output with Tint = 80ms and B = 6Hz
2020
4
N
2020
2010
1980
0
2
3
Time [s]
3
Carrier LF output with Tint = 60ms and B = 8Hz
N
True
2
(b)
Carrier LF output with Tint = 40ms and B = 10Hz
2020
1
2
3
Time [s]
4
1980
0
(e)
True
1
1
2
3
Time [s]
2
3
4
4
(f)
Figure 3.82: PLL Loop filter outputs with a ramp carrier frequency input signal
modulated by a Galileo E5a OS signal - a CNR of 30 dB-Hz, testing different loop
filters while using different BN and PDI values yielding a range of BL values a) TI = 16
ms and BL = 0.16 b) TI = 20 ms and BL = 0.2 c) TI = 40 ms and BL = 0.4 d) TI = 60
ms and BL = 0.48 e) TI = 80 ms and BL = 0.48 f) TI = 100 ms and BL = 0.5.
166
3.5 Loop filter design
Code PD output Tint = 16ms and BN = 5Hz
1.5
1
2
3
Code PD output Tint = 20ms and BN = 5Hz
1.5
4
1
1
0.5
0.5
0
0
−0.5
−0.5
−1
−1
−1.5
0
2
4
Time [s]
−1.5
0
6
1
2
(a)
1
2
3
0.5
0.5
0
0
−0.5
−0.5
−1
−1
4
Time [s]
−1.5
0
6
1
2
(c)
1
2
3
4
0.5
0.5
0
0
−0.5
−0.5
−1
−1
Time [s]
3
4
6
Code PD output Tint = 100ms and BN = 5Hz
1
2
2
4
Time [s]
1.5
1
−1.5
0
6
(d)
Code PD output Tint = 80ms and BN = 5Hz
1.5
4
N
1.5
4
1
2
4
Code PD output Tint = 60ms and B = 3.33Hz
1
−1.5
0
3
(b)
Code PD output Tint = 40ms and BN = 5Hz
1.5
Time [s]
2
4
6
−1.5
0
(e)
1
2
Time [s]
2
4
3
4
6
(f)
Figure 3.83: DLL Four taps EMLE PD output in chips with a ramp carrier
frequency input signal modulated by a Galileo E1 OS signal - a CNR of 30 dB-Hz,
testing different loop filters while using different BN and PDI values yielding a range of
BL values a) TI = 16 ms and BL = 0.08 b) TI = 20 ms and BL = 0.1 c) TI = 40 ms and
BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80 ms and BL = 0.4 f) TI = 100 ms and
BL = 0.5.
167
3. GNSS PILOT CHANNEL TRACKING
Incremental code rate Tint = 16ms and B = 5Hz
N
30
True
1
2
3
Incremental code rate Tint = 20ms and B = 5Hz
N
30
4
25
25
20
20
15
15
10
10
5
0
1
2
3
Time [s]
True
5
0
4
1
(a)
N
2
3
Time [s]
3
4
4
Incremental code rate Tint = 60ms and B = 3.33Hz
N
30
True
1
2
3
30
4
25
True
1
2
3
4
25
20
20
15
15
10
10
1
2
3
Time [s]
5
0
4
1
(c)
N
30
True
4
1
2
3
Incremental code rate Tint = 100ms and B = 5Hz
N
30
4
25
25
20
20
15
15
10
10
1
2
3
Time [s]
(d)
Incremental code rate Tint = 80ms and B = 5Hz
5
0
2
(b)
Incremental code rate Tint = 40ms and B = 5Hz
5
0
1
2
3
Time [s]
5
0
4
(e)
True
1
1
2
3
Time [s]
2
3
4
4
(f)
Figure 3.84: DLL Loop filter outputs with a ramp carrier frequency input
signal modulated by a Galileo E1 OS signal - a CNR of 30 dB-Hz, testing different
loop filters while using different BN and PDI values yielding a range of BL values a) TI =
16 ms and BL = 0.08 b) TI = 20 ms and BL = 0.1 c) TI = 40 ms and BL = 0.2 d) TI =
60 ms and BL = 0.2 e) TI = 80 ms and BL = 0.4 f) TI = 100 ms and BL = 0.5.
168
3.5 Loop filter design
C/N0 estimate Tint = 16ms and BN = 5Hz
28
1
2
3
C/N0 estimate Tint = 20ms and BN = 5Hz
29
4
1
2
3
4
28
27
27
26
26
25
25
24
24
1
2
3
Time [s]
4
5
23
1
2
(a)
4
5
(b)
C/N0 estimate Tint = 40ms and BN = 5Hz
30
3
Time [s]
1
2
3
C/N0 estimate Tint = 60ms and BN = 3.33Hz
30
4
1
2
3
4
20
20
10
10
0
0
−10
−10
1
2
3
Time [s]
4
5
−20
1
2
(c)
1
2
3
N
4
20
10
10
0
0
3
5
C/N0 estimate Tint = 100ms and B = 5Hz
30
20
−10
2.5
4
(d)
C/N0 estimate Tint = 80ms and BN = 5Hz
30
3
Time [s]
3.5
4
Time [s]
4.5
5
−10
2.5
(e)
1
3
3.5
4
Time [s]
2
3
4.5
4
5
(f)
Figure 3.85: CNR estimate in dB-Hz with a ramp carrier frequency input
signal modulated by a Galileo E1 OS signal - a CNR of 30 dB-Hz, testing different
loop filters while using different BN and PDI values yielding a range of BL values a) TI =
16 ms and BL = 0.08 b) TI = 20 ms and BL = 0.1 c) TI = 40 ms and BL = 0.2 d) TI =
60 ms and BL = 0.2 e) TI = 80 ms and BL = 0.4 f) TI = 100 ms and BL = 0.5.
169
3. GNSS PILOT CHANNEL TRACKING
Code PD output Tint = 16ms and BN = 5Hz
1.5
1
2
3
Code PD output Tint = 20ms and BN = 5Hz
1.5
4
1
1
0.5
0.5
0
0
−0.5
−0.5
−1
−1
−1.5
0
2
4
Time [s]
−1.5
0
6
1
2
(a)
1
2
3
0.5
0.5
0
0
−0.5
−0.5
−1
−1
4
Time [s]
−1.5
0
6
1
2
(c)
1
2
3
4
0.5
0.5
0
0
−0.5
−0.5
−1
−1
Time [s]
3
4
6
Code PD output Tint = 100ms and BN = 5Hz
1
2
2
4
Time [s]
1.5
1
−1.5
0
6
(d)
Code PD output Tint = 80ms and BN = 5Hz
1.5
4
N
1.5
4
1
2
4
Code PD output Tint = 60ms and B = 3.33Hz
1
−1.5
0
3
(b)
Code PD output Tint = 40ms and BN = 5Hz
1.5
Time [s]
2
4
6
−1.5
0
(e)
1
2
Time [s]
2
4
3
4
6
(f)
Figure 3.86: DLL Four taps VEMLE PD output in chips with a ramp carrier
frequency input signal modulated by a Galileo E5a OS signal - a CNR of 30 dBHz, testing different loop filters while using different BN and PDI values yielding a range
of BL values a) TI = 16 ms and BL = 0.08 b) TI = 20 ms and BL = 0.1 c) TI = 40 ms
and BL = 0.2 d) TI = 60 ms and BL = 0.2 e) TI = 80 ms and BL = 0.4 f) TI = 100 ms
and BL = 0.5.
170
3.5 Loop filter design
Incremental code rate Tint = 16ms and B = 5Hz
N
30
True
1
2
3
Incremental code rate Tint = 20ms and B = 5Hz
N
30
4
25
25
20
20
15
15
10
0
1
2
3
Time [s]
True
10
0
4
1
(a)
N
2
3
Time [s]
3
4
4
Incremental code rate Tint = 60ms and B = 3.33Hz
N
40
True
1
2
3
40
4
35
True
1
2
3
4
35
30
30
25
25
20
20
15
15
10
10
1
2
3
Time [s]
5
0
4
1
(c)
N
40
True
4
1
2
3
Incremental code rate Tint = 100ms and B = 5Hz
N
40
4
35
35
30
30
25
25
20
20
15
15
10
10
1
2
3
Time [s]
(d)
Incremental code rate Tint = 80ms and B = 5Hz
5
0
2
(b)
Incremental code rate Tint = 40ms and B = 5Hz
5
0
1
2
3
Time [s]
5
0
4
(e)
True
1
1
2
3
Time [s]
2
3
4
4
(f)
Figure 3.87: DLL Loop filter outputs with a ramp carrier frequency input
signal modulated by a Galileo E5a OS signal - a CNR of 30 dB-Hz, testing different
loop filters while using different BN and PDI values yielding a range of BL values a) TI =
16 ms and BL = 0.08 b) TI = 20 ms and BL = 0.1 c) TI = 40 ms and BL = 0.2 d) TI =
60 ms and BL = 0.2 e) TI = 80 ms and BL = 0.4 f) TI = 100 ms and BL = 0.5.
171
3. GNSS PILOT CHANNEL TRACKING
C/N0 estimate Tint = 16ms and BN = 5Hz
25.5
1
2
3
C/N0 estimate Tint = 20ms and BN = 5Hz
26
1
4
25
2
3
4
25
24.5
24
24
23
23.5
23
1
2
3
Time [s]
4
5
22
1
2
(a)
3
Time [s]
4
5
(b)
C/N0 estimate Tint = 40ms and B = 5Hz
N
C/N0 estimate Tint = 60ms and B = 3.33Hz
N
25
1
2
3
4
30
1
2
3
4
20
20
15
10
10
0
5
0
1
2
3
Time [s]
4
5
−10
1
2
(c)
1
2
3
20
4
15
15
10
10
5
5
0
0
−5
−5
3
5
C/N0 estimate Tint = 100ms and BN = 5Hz
N
−10
2.5
4
(d)
C/N0 estimate Tint = 80ms and B = 5Hz
20
3
Time [s]
3.5
4
Time [s]
4.5
5
−10
2.5
(e)
1
3
3.5
4
Time [s]
2
3
4.5
4
5
(f)
Figure 3.88: CNR estimate in dB-Hz with a ramp carrier frequency input
signal modulated by a Galileo E5a OS signal - a CNR of 30 dB-Hz, testing different
loop filters while using different BN and PDI values yielding a range of BL values a) TI =
16 ms and BL = 0.08 b) TI = 20 ms and BL = 0.1 c) TI = 40 ms and BL = 0.2 d) TI =
60 ms and BL = 0.2 e) TI = 80 ms and BL = 0.4 f) TI = 100 ms and BL = 0.5.
172
3.6 Bandlimiting effects
3.6
Bandlimiting effects
In practice, the front-end bandwidth is finite and depending on the applications and
receiver limitations, it can be set to arbitrarily low values. For instance, the Galileo E1
OS signal is specified in the Galileo ICD [21] to have a reference bandwidth of 24.552
MHz. However, a theoretical bandwidth of 14.322 MHz = 2 ∗ (6.138 + 1.023) MHz,
that accomodates the two BOC signals, BOC(6,1) and BOC(1,1), may cover a large
percentage of the signal power spectrum. In the following, we will undertake the task
of indicating the losses incurred by limited bandwidth receivers. The normalized PSD
of a baseband signal using a BOC modulation, defined as BOC(m,n) is expressed as
[46]:

sin
Gs (f ) = fc 
πf
2fsc
2
sin πf
fc

πf cos
πf
2fsc
(3.163)
where fsc = m · 1.023 MHz is the subcarrier frequency and fc = n · 1.023 MHz is the
chip rate. The Galileo E1 OS signal is an MBOC(6,1,1/11) modulated signal, having
a PSD Gs (f ) as defined in Section 2.2.1. On the other hand, the normalized PSD of a
baseband signal using a BPSK modulation, defined as BPSK(m) is expressed as:
Gs (f ) = fc
sin( πf
fc )
πf
!2
(3.164)
Using this equation, the PSD of the Galileo E5a/b OS signals which are BPSK(10)
signals can be computed. Figure 3.89 plots the PSD of the aforementioned Galileo
E1 MBOC(6,1,1/11) and E5a/b OS BPSK(10) signals together with the reference
BOC(1,1) and BPSK(1) signals.
3.6.1
Correlation loss
The overall power loss due to bandlimiting, also termed correlation loss [46], can be
computed over a limiting double-sided complex bandwidth β as:
Lc =
Z
β/2
Gs (f )df
(3.165)
−β/2
The reason why Lc is called correlation loss, lies in the definition of the autocorrelation
function which is the inverse Fourier transform of the PSD. Consequently, any change
173
3. GNSS PILOT CHANNEL TRACKING
BOC, MBOC and BPSK Baseband−Signal PSD
Normalized signal PSD [dB]
−100
−200
−300
−400
BOC(1,1)
MBOC(6,1,1/11)
BPSK(1)
BPSK(10)
−500
−600
−20
−10
0
frequency [MHz]
10
20
Figure 3.89: Theoretical PSD of the Galileo E1 and E5a/b OS signals MBOC(6,1,1/11), BPSK(10), and two reference signals BOC(1,1) and BPSK(1)
in the PSD reflects in the shape of the autocorrelation function which is pivotal in
the carrier and code tracking stage. It is thus imperative to assess the correlation
loss in order to choose an appropriate front-end bandwidth. Figure 3.90 shows the
behavior of the correlation loss as given by Equation 3.165 for BOC(1,1), BPSK(10) and
MBOC(6,1,1/11) modulated signals. In case of MBOC signals as defined for the Galileo
E1 OS signal, a correlation loss of 1.7 dB is incurred for using a 4 MHz bandwidth
instead of 14.322 MHz while 1 dB loss corresponds to using 8 MHz bandwidth instead
of 14.322 MHz. Beyond 14.322 MHz, the correlation losses for the MBOC signal are
negligible (less than 0.5 dB). For Galileo E5a/b BPSK(10) signals, the correlation losses
are negligible beyond 20 MHz (less than 1 dB). Table 3.8 summarizes the Galileo E1
and E5a/b OS signals bandlimiting results in terms of correlation loss in dB.
3.6.2
Impact on PLL tracking threshold
It is informative to now look at the impact of the correlation loss on the carrier phase
tracking ability of digital loops. The phase tracking jitter or phase error standard
deviation at the output of the carrier tracking loop or PLL depends on the phase
174
3.6 Bandlimiting effects
FE bandwidth [MHz]
E1 Correlation Loss [dB]
E5a/b Correlation Loss [dB]
4
2.2
8.7
8
1.5
3.7
16
0.5
1.2
20
0.4
1
30
0.3
0.8
∞
0
0
Table 3.8: Galileo E1 MBOC(6,1,1/11) and Galileo E5a/b BPSK(10) correlation loss due
to finite front-end bandwidth
BOC, MBOC and BPSK correlation loss due to bandlimiting
0
Correlation loss [dB]
−0.5
−1
−1.5
−2
−2.5
−3
BOC(1,1)
MBOC(6,1,1/11)
BPSK(10)
5
10
15
20
25
Double−sided front−end bandwidth [MHz]
30
Figure 3.90: Correlation loss due to bandlimiting - of BOC(1,1), MBOC(6,1,1/11)
and BPSK(10) modulated signals as a function of the double-sided complex front-end
bandwidth expressed in dB.
175
3. GNSS PILOT CHANNEL TRACKING
detector or discriminator used in these loops. In case of carrier tracking loops, it is
shown in [9] that the thermal noise tracking jitter at the PLL output using either
ATAN or ATAN2 discriminator is well approximated by that resulting from the use
of a DP discriminator (a noise equivalent loop bandwidth BN of 10 Hz is assumed).
The tracking jitter expression takes into account the bandlimiting effects as well, and
is given by:
2
σφ,DP
=
BN (1 − 0.5BN TI )
Lc C/N0
1+
1
2Lc C/N0 TI
(3.166)
The coherent discriminator for a PLL has a more simplified expression for the tracking
error variance due to the absence of the squaring loss:
2
σφ,Coh
=
BN (1 − 0.5BN TI )
Lc C/N0
(3.167)
It is straightforward to note that the tracking jitter as computed from 3.166 and 3.167
increases with decreasing CNR values but depending on the chosen FE bandwidth, and
for the same CNR this jitter slightly decreases or remains the same as plotted in Figures
3.91 and 3.92. Consequently, the chosen bandwidth may or may not have an impact
on decreasing the probability of losing lock which is normally considered to occur when
the total tracking jitter exceeds 15 degrees [47]. More precisely, the tracking threshold
depends on the two-sided phase discriminator linear tracking region Lφ and the loss of
lock condition entails that [9, 47]:
σφ +
Lφ
θe
≤
3
6
(3.168)
where θe is the dynamic stress error of the receiver. Considering a static receiver, and
using the aforementioned inequality, Table 3.9 summarizes the different tracking jitter
thresholds for different discriminators.
3.6.2.1
Galileo E1 OS signal
Due to the aforementioned considerations, it is possible to plot the thermal noise carrier
phase jitter alone by ignoring the other components of the total tracking jitter σφ .
Figures 3.91 and 3.92 depict the behavior of the thermal noise carrier phase jitter for
Galileo E1 OS signals. It is worth noting that considering a 16 MHz bandwidth instead
of 4 MHz brings an additional margin of 1 dB-Hz weaker signal tracking for CNR lower
176
3.6 Bandlimiting effects
Discriminator
Angular threshold [degrees]
DD
20
DP
15
Rat
10
Atan
30
Coh
30
Atan2
60
Table 3.9: PLL tracking jitter thresholds in angular degrees according to various PLL
discriminators
Performance of atan2 discriminator
60
4.092 MHz bandwidth
8.184 MHz bandwidth
15.345 MHz bandwidth
24.552 MHz bandwidth
50
σφ[deg]
40
30
20
10
0
15
20
25
30
35
40
Carrier to noise ratio [dB−Hz]
45
Figure 3.91: Galileo E1 Tracking jitter at PLL output using an ATAN2 discriminator for a range of CNR values - a loop bandwidth of 10 Hz and an integration
time of 20 ms.
177
3. GNSS PILOT CHANNEL TRACKING
Performance of coherent discriminator
35
4.092 MHz bandwidth
8.184 MHz bandwidth
15.345 MHz bandwidth
24.552 MHz bandwidth
30
σφ[deg]
25
20
15
10
5
0
15
20
25
30
35
40
Carrier to noise ratio [dB−Hz]
45
Figure 3.92: Galileo E1 Tracking jitter at PLL output using a COH discriminator for a range of CNR values - a loop bandwidth of 10 Hz and an integration time
of 20 ms.
than 25 dB-Hz. On the other hand, the choice of 24 MHz bandwidth instead of a 16
MHz bandwidth yields no significant improvement even for low CNR.
Moreover, for a certain CNR value of 25 dB-Hz, the tracking jitter can differ by as high
as a unit degree when choosing a FE bandwidth of 16 MHz instead of 4 MHz as shown
in Figure 3.93. This difference is almost the same for an integration time of either 20
ms or 80 ms as shown in Figure 3.94, but the latter shows an overall lower tracking
jitter due to better noise averaging.
We can conclude by saying that the bandlimiting impact is degrading when the CNR
and the choice of bandwidth are both low. For an overall good performance, a good
choice of the bandwidth for Galileo E1 OS signal, CBOC(6,1,1/11) is greater than 16
MHz. However, if the situation is grasped firmly such that the dynamic stress error
and the oscillator noise do not pose a major threat in terms of high tracking jitter, the
additional 1-5 degrees margin of weak signal tracking can be ignored. In this case only,
the bandlimiting effect does not introduce any loss in terms of tracking performance.
178
3.6 Bandlimiting effects
Phase error standard deviation with C/N 25 dB−Hz
0
14
Atan2 discriminator T = 20 ms
I
13.5
Coherent discriminator T = 20 ms
I
13
φ
σ [deg]
12.5
12
11.5
11
10.5
10
9.5
0
5
10
15
20
Front−end bandwidth [MHz]
25
30
Figure 3.93: E1 weak signal PLL tracking jitter as a function of FE bandwidth
using an integration time of 20 ms - with a C/N0 of 25 dB-Hz, a loop bandwidth of
10 Hz considering ATAN2 and COH discriminators.
Phase error standard deviation with C/N 25 dB−Hz
0
11
Atan2 discriminator T = 80 ms
I
Coherent discriminator T = 80 ms
I
10.5
9.5
φ
σ [deg]
10
9
8.5
8
0
5
10
15
20
Front−end bandwidth [MHz]
25
30
Figure 3.94: E1 weak signal PLL tracking jitter as a function of FE bandwidth
using an integration time of 80 ms - with a C/N0 of 25 dB-Hz, a loop bandwidth of
10 Hz considering ATAN2 and COH discriminators.
179
3. GNSS PILOT CHANNEL TRACKING
3.6.2.2
Galileo E5a/b OS signal
Similarly to the Galileo E1 OS signal case, let us consider the thermal noise jitter alone
by ignoring the other components of the total tracking jitter σφ . Figures 3.95 and 3.96
show that considering the Galileo OS E5a signal and the choice of a 30 MHz bandwidth
instead of 25 or even 20 MHz brings a very small additional margin of 0.1 dB-Hz weaker
signal tracking for CNR lower than 25 dB-Hz.
Performance of atan2 discriminator
60
10.23 MHz bandwidth
20.46 MHz bandwidth
25 MHz bandwidth
30.69 MHz bandwidth
50
σφ[deg]
40
30
20
10
0
15
20
25
30
35
40
Carrier to noise ratio [dB−Hz]
45
Figure 3.95: Galileo E5a Tracking jitter at PLL output using an ATAN2 discriminator for a range of CNR values - a loop bandwidth of 10 Hz and an integration
time of 20 ms.
Moreover, for a certain situation characterized by a CNR of 25 dB-Hz, the tracking
jitter as shown in Figure 3.97 differs by as much as 1 degree when choosing a FE
bandwidth of 10 MHz instead of 20 MHz but lower than 0.2 degree when using 20 MHz
instead of 30 MHz. This difference is almost the same for an integration time of either
20 ms or 80 ms as shown in Figure 3.98, but the latter case shows an overall lower
tracking jitter due to better noise averaging.
We can conclude by saying that the bandlimiting impact is degrading when the CNR
and the choice of bandwidth are both low. For an overall good performance, a good
choice of the bandwidth for Galileo E5a/b OS signal is set greater than 20 MHz.
180
3.6 Bandlimiting effects
Performance of coherent discriminator
40
10.23 MHz bandwidth
20.46 MHz bandwidth
25 MHz bandwidth
30.69 MHz bandwidth
35
σφ[deg]
30
25
20
15
10
5
0
15
20
25
30
35
40
Carrier to noise ratio [dB−Hz]
45
Figure 3.96: Galileo E5a Tracking jitter at PLL output using a COH discriminator for a range of CNR values - a loop bandwidth of 10 Hz and an integration time
of 20 ms.
Phase error standard deviation with C/N0 25 dB−Hz
30
Atan2 discriminator TI = 20 ms
Coherent discriminator TI = 20 ms
σφ[deg]
25
20
15
10
0
5
10
15
20
25
Front−end bandwidth [MHz]
30
Figure 3.97: E5a weak signal PLL tracking jitter as a function of FE bandwidth
using an integration time of 20 ms - with a C/N0 of 25 dB-Hz, a loop bandwidth of
10 Hz considering ATAN2 and COH discriminators.
181
3. GNSS PILOT CHANNEL TRACKING
Phase error standard deviation with C/N0 25 dB−Hz
20
Atan2 discriminator TI = 80 ms
Coherent discriminator TI = 80 ms
18
σφ[deg]
16
14
12
10
8
0
5
10
15
20
25
Front−end bandwidth [MHz]
30
Figure 3.98: E5a weak signal PLL tracking jitter as a function of FE bandwidth
using an integration time of 80 ms - with a C/N0 of 25 dB-Hz, a loop bandwidth of
10 Hz considering ATAN2 and COH discriminators.
3.6.3
Impact on DLL tracking threshold
Switching our attention to the code or subcarrier tracking loop DLL/SLL, it is also
worth noting what is the impact of the correlation loss or in a general sense, bandlimiting effect on the code delay tracking ability of digital loops. The code delay tracking
jitter at the output of the DLL or SLL depends on the PD or discriminator used in the
DLL/SLL loops. Considering the bandlimiting effects, it is shown in [48] that the thermal noise tracking jitter at the DLL/SLL output using a coherent EML discriminator
is:
2
στ,EM
L
R β/2
BN (1 − 0.5BN TI ) −β/2 Gs (f ) sin2 (πf ds )df
=
2
R
β/2
C/N0 −β/2 f Gs (f ) sin(πf ds )df
(3.169)
where ds is the early minus late correlator spacing and BN is the code tracking loop
noise equivalent bandwidth. Similarly, the expression of the thermal noise tracking
jitter at the DLL/SLL output using a noncoherent EMLP discriminator is derived in
[49]. The result is an additional weighting factor which accounts for the squaring loss
182
3.6 Bandlimiting effects
due to the noncoherent processing:

2
στ,EM
LP

2 (πf d )df
G
(f
)
cos
s
s
−β/2
2


= στ,EM
R β/2
L 1+
C/N0 TI −β/2 Gs (f ) cos(πf ds )df
R β/2
(3.170)
On the other hand, the noncoherent DP discriminator yields a different weighting factor
as shown by [9]:

2
2

στ,DP
= στ,EM
L 1+
C/N0 TI
1
R β/2
−β/2 Gs (f )df


(3.171)
As in the PLL, the rule of thumb for DLL/SLL tracking threshold beyond which the
loop is assumed to go out of lock is defined in terms of the 3-sigma of all errors and
the linear region of the discriminator or PD. In theory, the linear region of the PD is
half the early late correlator spacing ±ds /2 and so considering the thermal noise jitter
contribution on its own, the tracking threshold condition is:
3στ ≤
3.6.3.1
ds
2
(3.172)
Galileo E1 OS signal
Due to the aforementioned equations, it is possible to plot the theoretical thermal noise
code delay tracking jitter alone by ignoring the other components of the total tracking
jitter στ . In the following, in both cases of Galileo E1 and E5a/b OS signals, an
integration time of 20 ms has been assumed unless otherwise noted, a correlator spacing
of 0.1 chip together with a code tracking loop noise equivalent bandwidth BN = 5 Hz.
Figure 3.99 depicts the behavior of the Galileo E1 OS signals thermal noise code delay
tracking jitter testing the DP discriminator as well as the coherent and noncoherent
EML and EMLP discriminators. On the other hand, Figures 3.100 and 3.101 show the
tracking performance with the same parameters but for different front-end bandwidths.
It is worth noting that considering a 16 MHz bandwidth instead of 4 MHz brings an
additional margin of 8 dB-Hz weaker signal tracking. On the other hand, the choice of
24 MHz bandwidth instead of a 16 MHz bandwidth yields no significant improvement
even for low CNR.
Looking at the thermal noise code delay tracking jitter as a function of the FE bandwidth for a low CNR value equal to 25 dB-Hz as shown in Figure 3.102, it can be
183
στ Std of code tracking error [chips]
3. GNSS PILOT CHANNEL TRACKING
Code tracking performance for different discriminators
0.02
EML
EMLP
DP
0.015
Code tracking threshold
0.01
0.005
0
25
30
35
40
Carrier to noise ratio [dB−Hz]
45
στ Std of code tracking error [chips]
Figure 3.99: Comparison of Galileo E1 DLL tracking jitter performance as a
function of CNR with different PD - using a correlator spacing of 0.1 chip and a
front-end bandwidth of 24.552 MHz.
Code tracking jitter performance using EML discriminator
0.03
4.092 MHz bandwidth
8.184 MHz bandwidth
0.025
15.345 MHz bandwidth
24.552 MHz bandwidth
Code tracking threshold
0.02
0.015
0.01
0.005
0
25
30
35
40
Carrier to noise ratio [dB−Hz]
45
Figure 3.100: Comparison of Galileo E1 DLL tracking jitter performance as
a function of CNR using coherent EML discriminator - for different front-end
bandwidths.
184
στ Std of code tracking error [chips]
3.6 Bandlimiting effects
Code tracking jitter performance using EMLP discriminator
0.03
4.092 MHz bandwidth
8.184 MHz bandwidth
0.025
15.345 MHz bandwidth
24.552 MHz bandwidth
Code tracking threshold
0.02
0.015
0.01
0.005
0
25
30
35
40
Carrier to noise ratio [dB−Hz]
45
Figure 3.101: Comparison of Galileo E1 DLL tracking jitter performance as a
function of CNR using noncoherent EMLP discriminator - for different front-end
bandwidths.
noticed that using an integration time of 20 ms and selecting a 16 MHz FE bandwidth
instead of 4 MHz brings the standard deviation of the code tracking error down by 0.07
chips or 20 meters. It is also important to note that the usual 4 MHz bandwidth is not
enough to respect the rule of thumb code tracking threshold. Increasing the integration
time to 80 ms as shown in Figure 3.103, results in a lower overall code tracking jitter
and selecting a 16 MHz FE bandwidth vs 4 MHz brings the code tracking error down
by 0.015 chips or 4 meters. Increasing the FE bandwidth beyond 16 MHz does not
bring any significant change.
In conclusion, it has been shown that for Galileo E1 OS signals, selecting a minimum
of 16 MHz bandwidth instead of a 4 MHz bandwidth, provides an additional 8 dB-Hz
weaker signal tracking. Moreover, selecting this wider bandwidth ensures that the rule
of thumb code tracking threshold condition is met for very low CNR signals with an
appropriately selected integration time. In fact, increasing the integration time lowers
the standard deviation of the code tracking error, but does not guarantee tracking
robustness if the FE bandwidth is not wide enough.
185
3. GNSS PILOT CHANNEL TRACKING
Code tracking performance with C/N 25 dB−Hz
0
τ
σ Std of code tracking error [chips]
0.045
EML
EMLP
DP
Code tracking threshold
0.04
0.035
0.03
0.025
0.02
0.015
0.01
0.005
0
5
10
15
20
25
Front−end bandwidth [MHz]
30
Figure 3.102: E1 weak signal DLL tracking jitter as a function of FE bandwidth using an integration time of 20 ms - with a C/N0 of 25 dB-Hz considering a
noncoherent EMLP discriminator.
Code tracking performance with C/N 25 dB−Hz
0
EML
EMLP
DP
Code tracking threshold
0.035
0.03
0.025
0.02
0.015
0.01
τ
σ Std of code tracking error [chips]
0.04
0.005
0
5
10
15
20
25
Front−end bandwidth [MHz]
30
Figure 3.103: E1 weak signal DLL tracking jitter as a function of FE bandwidth using an integration time of 80 ms - with a C/N0 of 25 dB-Hz considering a
noncoherent EMLP discriminator.
186
3.6 Bandlimiting effects
3.6.3.2
Galileo E5a/b OS signal
Similarly to the Galileo E1 OS signal, the thermal noise code delay tracking jitter is
analyzed on its own ignoring the other components of the total tracking jitter στ . Figure
3.104 depicts the behavior of the Galileo E5a/b OS signals thermal noise code delay
tracking jitter testing the DP discriminator as well as the coherent and noncoherent
EML and EMLP discriminators. On the other hand, Figures 3.105 and 3.106 show the
tracking performance with the same parameters but for different front-end bandwidths.
It is worth noting that considering a 20 MHz bandwidth instead of 30 MHz brings an
additional margin of 1 dB-Hz weaker signal tracking. On the other hand, the choice of
25 MHz bandwidth instead of a 20 MHz bandwidth yields no significant improvement
Code tracking performance for different discriminators
0.1
EML
EMLP
DP
0.08
Code tracking threshold
0.06
0.04
0.02
τ
σ Std of code tracking error [chips]
even for low CNR.
0
25
30
35
40
Carrier to noise ratio [dB−Hz]
45
Figure 3.104: Comparison of Galileo E5a DLL tracking jitter performance as
a function of CNR with different PD - using a front-end bandwidth of 24.552 MHz.
Looking at the thermal noise code delay jitter as a function of the FE bandwidth for a
low CNR value equal to 25 dB-Hz as shown in Figure 3.107, it can be noticed that using
an integration time of 20 ms and selecting a FE bandwidth of 20 MHz instead of 25 or
even 30 MHz does not quite improve the standard deviation of the code tracking error.
Increasing the integration time to 80 ms as shown in Figure 3.108, results in a lower
187
στ Std of code tracking error [chips]
3. GNSS PILOT CHANNEL TRACKING
Code tracking jitter performance using EML discriminator
0.1
10.23 MHz bandwidth
20.46 MHz bandwidth
25 MHz bandwidth
0.08
30.69 MHz bandwidth
Code tracking threshold
0.06
0.04
0.02
0
25
30
35
40
Carrier to noise ratio [dB−Hz]
45
Code tracking jitter performance using EMLP discriminator
0.1
10.23 MHz bandwidth
20.46 MHz bandwidth
25 MHz bandwidth
0.08
30.69 MHz bandwidth
Code tracking threshold
0.06
0.04
0.02
τ
σ Std of code tracking error [chips]
Figure 3.105: Comparison of Galileo E5a DLL tracking jitter performance as
a function of CNR using coherent EML discriminator - for different front-end
bandwidths.
0
25
30
35
40
Carrier to noise ratio [dB−Hz]
45
Figure 3.106: Comparison of Galileo E5a DLL tracking jitter performance as a
function of CNR using noncoherent EMLP discriminator - for different front-end
bandwidths.
188
3.6 Bandlimiting effects
overall code tracking jitter but still no significant change between a FE bandwidth of
20 MHz instead of 25 MHz or even 30 MHz.
Code tracking performance with C/N 25 dB−Hz
0
τ
σ Std of code tracking error [chips]
0.13
EML
EMLP
DP
Code tracking threshold
0.12
0.11
0.1
0.09
0.08
0.07
0.06
0.05
5
10
15
20
25
Front−end bandwidth [MHz]
30
Figure 3.107: E5a weak signal DLL tracking jitter as a function of FE bandwidth using an integration time of 20 ms - with a C/N0 of 25 dB-Hz considering a
noncoherent EMLP discriminator.
In conclusion, it has been shown that for Galileo E5a/b OS signals, a minimum bandwidth of 20 MHz does not suffer from bandlimiting effects. Moreover, selecting this
minimum bandwidth wider than 10.23 MHz ensures that the rule of thumb code tracking threshold condition is met for very low CNR signals with an appropriately selected
integration time. In fact, increasing the integration time lowers the standard deviation of the code tracking error, but does not guarantee tracking robustness if the FE
bandwidth is not wide enough.
189
3. GNSS PILOT CHANNEL TRACKING
Code tracking performance with C/N 25 dB−Hz
0
EML
EMLP
DP
Code tracking threshold
0.1
0.09
0.08
0.07
0.06
0.05
τ
σ Std of code tracking error [chips]
0.11
0.04
5
10
15
20
25
Front−end bandwidth [MHz]
30
Figure 3.108: E5a weak signal DLL tracking jitter as a function of FE bandwidth using an integration time of 80 ms - with a C/N0 of 25 dB-Hz considering a
noncoherent EMLP discriminator.
190
Chapter 4
Applications
As more and more awareness is gained in space weather and ionosphere disturbances
impact on our Earth’s technical infrastructure, more interest is shed on studying the underlying physical phenomena related to the Sun’s activity and consequently ionosphere
scintillation. In that respect, there are many goals to be achieved on the ground, mainly
to curb the potentially damaging effects of technical equipment such as electric grids
or even avoid outages of GNSS which the economy and world order is increasingly
dependent upon. Moreover, with the advent of new GNSS systems going towards a
multi-constellation GNSS, such as Galileo and Beidou, the possibility of exploiting the
availability of a big number of satellites for the end of a global ionosphere scintillation
monitoring system is becoming more realistic and very much appealing.
Radio frequency signals undergo amplitude/phase/ frequency scintillation as they pass
through the ionosphere region as a result of solar winds erupted from the Sun characterized by turbulent ionized gases called plasma. These ionized gases are dispersive,
meaning that they have a different impact on different frequencies. Radio signals at
the lower frequencies suffer more from the plasma irregularities. GNSS receivers are
offering an effective tool to monitor the state of these irregularities in the sky as by
recovering signals transmitted on different frequency bands from one or more of its
spacecrafts. This can be achieved by monitoring the power of the recovered signal
after performing carrier/code tracking and examining the resulting detrended carrier
phase fluctuations. The objective of this chapter is to evaluate the performance of the
tracking algorithms described in Chapter 3 using both simulation and real scintillation
191
4. APPLICATIONS
GNSS data.
Tracking GNSS signals is very useful in another application involving scatterometry
and reflectometry. In fact, the underlying passive potential of GNSS signals encompasses water surface identification and aircraft altimetry evaluation. This is possible
thanks to the high reflectivity of L-band frequency GNSS signals on water, ice and
snow covered surfaces. This high reflectivity on certain surfaces compensates for the
otherwise low signal intensity and allows the detection of reflected signal components.
GNSS reflectometry belongs to the class of bistatic radar systems where transmitter
and receiver reside at different locations and signals pass through a reflecting surface.
Code phase and carrier phase based time delay measurements between the direct path
and reflected signals, are used to determine an amateur aircraft’s height with respect to
the reflecting surface and cm level height estimates are obtained. On the other hand,
specular reflection points are computed, and a comparison of the reflected power to the
direct received power is shown to yield a good water surface identification performance.
4.1
Ionosphere scintillated signals tracking
In this section, the objective is to investigate the ionosphere scintillation impact on the
Galileo E1 and E5 OS signals through the comparison of CNR, amplitude and phase
scintillation indices. Galileo signal simulation as well as code acquisition and tracking
routines described in Chapter 2 and 3 are implemented and run in a customized Galileo
R The scintillation indices are
simulation tool and software receiver written in Matlab .
obtained by processing correlator and phase measurement outputs of this customized
R
Galileo software receiver on one side, and a Septentrio PolaRxS PRO receiver
on the
other. The collection of GNSS data is carried out in an equatorial region in Ascension
Islands where ionosphere scintillation is known to be a common event.
4.1.1
Tracking methodology of customized Galileo software receiver
Throughout this work, pilot channels deprived of a navigation message were considered, and thus the PLL makes use of a coherent extended arctangent discriminator
to accept a wider carrier phase error. Due to the threat of ambiguous code tracking
when dealing with BOC modulated signals as in the case of Galileo E1 OS signal, the
192
4.1 Ionosphere scintillated signals tracking
unambiguous VEMLE code phase detector is used in a two-step DLL. Galileo E5a/b
signals are treated like binary phase shift keying BPSK signals when separate frequency
bands are considered, and so typical BPSK DLL tracking is applied. To harness the
superior tracking capability offered by BOC signals, it has been proven in Section 3.6
that a wideband front-end greater than 16 MHz is needed to capture the entire tracking
capability of Galileo E1 signals. To that end, baseband complex signals are simulated
and recorded with an intermediate frequency of 0 Hz and a sampling frequency of 25
Msamples/s. It is expected that Galileo wideband signals exhibit superior tracking
permeability during scintillation events.
After performing acquisition and successfully solving for the secondary code delay as
described in Section 2.4.1, the receiver moves to the tracking stage where an integration time of 4 ms and 1 ms are used for Galileo E1 and E5a OS signals respectively
for the time being. The in-phase and quadra-phase correlator outputs are stored to
estimate the CNR using the power ratio method as described in Section 2.3.3. The amplitude scintillation index is computed over an averaging interval of 60 seconds whereas
the phase scintillation index over 30 seconds following the methodology presented in
Section 2.3.6.
4.1.2
Tracking outputs of Galileo simulated signals
A sample Galileo E1 signal is simulated setting the input parameters to some arbitrary
values, i.e. fD = 2 kHz, AD = -0.2 Hz/s, a code delay of 20560 chips (5 secondary
chips and 100 primary chips), a CNR of 45 dB-Hz over a time duration Tg = 2 seconds.
Applying the tracking scheme described in the previous section yields the results shown
in Figure 4.1, where the true and estimated carrier frequency are shown during each
integration interval. The total phase error is also plotted with the steady state 95
percentile yielding +/- 1.25 degrees. In addition, the DDLL tracking outputs are shown
where the estimated code frequency error 95 percentile lies between +/- 1 degree. The
code phase steady state error 95 percentile lies between +/- 0.1 samples. It is worth
noting that the higher jitter in code phase/frequency estimation error at the beginning
is due to the early coarse tracking algorithm and the transition to fine tracking results
in a much lower tracking jitter. A similar tracking test with E5a/b signals is performed
where carrier/code frequency and phase errors are shown in Figure 4.2.
193
4. APPLICATIONS
Carrier phase error at end of each int. interval
Assessment of carrier frequency
2
Estimated frequency
True Frequency
95 percentile error
2001
Degrees
Frequency [Hz]
2002
2000
1
0
−1
1999
Error
Steady state 95 percentile
−2
1998
0
0.5
1
1.5
Time [seconds]
2
0
(a)
Error
Steady state 95 percentile
0
−1
−2
0.5
1
1.5
Time [seconds]
2
Code phase error [samples]
Frequency [Hz]
Code phase error at end of each integration interval
0.4
Error
Steady state 95 percentile
0.2
1
0
2
(b)
Assessment of Code Frequency
2
0.5
1
1.5
Time [seconds]
(c)
0
−0.2
−0.4
0
0.5
1
1.5
Time [seconds]
2
(d)
Figure 4.1: Tracking performance of simulated Galileo E1 OS signal - a) Assessment of carrier frequency b) Carrier phase error at end of each integration interval c)
Assessment of code frequency d) Code phase error at end of each integration interval
194
4.1 Ionosphere scintillated signals tracking
2000
2
1.5
1
Degrees
Frequency [Hz]
Carrier phase error at end of each integration interval
Assessment of carrier frequency
Estimated frequency
2006
True Frequency
2004
95 percentile error
2002
1998
0.5
0
−0.5
−1
1996
Error
Steady state 95 percentile
−1.5
1994
0
0.5
1
1.5
Time [seconds]
−2
0
2
0.5
(a)
0
−10
−20
0.5
1
1.5
Time [seconds]
2
Code phase error [samples]
Frequency [Hz]
Error
Steady state 95 percentile
10
0
1.5
2
(b)
Assessment of Code Frequency
20
1
Time [seconds]
(c)
Error at end of each integration interval
0.04
0.02
0
−0.02
−0.04
0
Error
Steady state 95 percentile
0.5
1
1.5
2
Time [seconds]
(d)
Figure 4.2: Tracking performance of simulated Galileo E5a OS signal - a) Assessment of carrier frequency b) Carrier phase error at end of each integration interval c)
Assessment of code frequency d) Code phase error at end of each integration interval
195
4. APPLICATIONS
4.1.3
Tracking of simulated ionosphere scintillation on Galileo E1 and
E5a OS signals
In order to assess tracking performance over ionosphere scintillation signals, similar
Galileo E1 and E5a OS signals are generated where the scintillation amplitude and
phase time history is incorporated in the original signal as described in Section 2.3.5.
The S4 index is set to 0.8 and the channel decorrelation time τ0 0.8 seconds. Moreover,
the scintillation indices are derived using the tracking outputs, mainly the correlation
values and the ADR as described in Section 2.3.6.
Figure 4.3 shows that a good estimate of the S4 index (0.55-0.7 compared to 0.8)
is reached at every minute for both frequency bands. An accurate estimate of 0.8 is
not possible because of the statistical nature of the input signal due to both noise and
scintillation history. The impact of the tracking loop itself is also not to be discarded
[50]. The S4 estimate discrepancy between the E1 and E5a frequency bands ranges
between 0.02 and 0.1. On the other hand, a τ0 value of 0.8 results in a σ∆φ estimate in
the range of 0.4 to 1 radians. The theoretical σ∆φ range between 0.4 and 0.7 radians
is computed using the standard deviation of the scintillation phase time history for
every 30 seconds and a good estimate is evaluated on both frequency bands (almost
the same) with an error in the range of 0-0.5 rad. The first two minutes σ∆φ outputs
are discarded due to the ADR detrending filter transient.
4.1.4
Tracking of real ionosphere scintillation affected Galileo E1 and
E5a OS signals
Experimental GNSS data has been collected on the 7th to 10th of March 2013 at Ascension Island which is located in the Equatorial region at a longitude of 14.4 ◦ W and
latitude of 7.9 ◦ S. The data collection has been performed using flexible and reconfigurable Universal Software Radio Peripheral (USRP) devices, the USRP N210 acting as
an RF front-end. A common antenna, the Novatel GPS-703-GGG wideband antenna is
shared among five different USRPs acting on different frequency bands to collect GPS,
Galileo E1 and E5, GLONASS, and Beidou data. In fact, an 8 way splitter delivers
the same data to five USRP N210 and a Septentrio PolaRxS which houses an oven
controlled crystal oscillator (OCXO) characterized by low noise on the phase measurements. The OCXO timing signal is distributed to the various USRPs through an 8
196
4.1 Ionosphere scintillated signals tracking
6th order Butterworth filter
0.68
Galileo L1
Galileo E5a
0.66
S4 estimate
0.64
0.62
0.6
0.58
0.56
0.54
50
100
150
200
Time [seconds]
250
300
(a) Amplitude scintillation index
Phase scintillation index
1
0.9
Galileo L1
theoretical
Galileo E5a
σφ [rad]
0.8
0.7
0.6
0.5
0.4
100
150
200
Time [seconds]
250
300
(b) Phase scintillation index
Figure 4.3: Estimated scintillation indices of a simulated scintillation signal with an S4 intensity of 0.8 and a τ0 value of 0.8 on top of Galileo E1 and E5a OS simulated
signals
197
4. APPLICATIONS
way passive splitter. The USRP N210 sampling frequency is set to 25 Msamples/s and
delivers a complex signal such that the effective sampling frequency is 50 Msamples/s.
The Septentrio tracking outputs (I/Q correlator values and ADR) are saved and used
to generate the S4 and σ∆φ indices as well as the CNR values for a later comparison
with those obtained using the tracking outputs of a customized receiver as designed
and described in the previous chapters.
It is shown in Figure 4.4 that considering the same SV with PRN 19 and processing two Galileo frequency bands E1 and E5a, the comparison between these outputs is
fairly satisfying. It can be seen from Figures 4.4 a) and b) that the amplitude scintillation is stronger on the lower frequency E5a band rather than E1; similarly Figures 4.4
c) and d) show that the phase scintillation is stronger on the E5a band, and Figures
4.4 e) and f) underline the possibility of losing lock after going to very low CNR values.
Similar plots can be obtained for SV with PRN 20, where the scintillation is found
to be of significantly lower intensity. In fact, this can be seen in Figure 4.5 where a
proportional relationship is found between the scintillation indices S4 and σ∆φ on two
frequency bands, the E1 and E5a bands and for different visible satellites.
It is worth mentioning that during the data collection on March 10 2013, SV 19 was
following a path going from west to east with an elevation in the range of 30-40 degrees.
This can be seen in Figure 4.6 and 4.7 where a skyplot of the Galileo SVs is color
coded according to the ionosphere scintillation indices S4 and σ∆φ as detected on the
E1 frequency band. Similarly SV 20 was following a path going from west to east,
passing almost through the same point in space as SV 19 with a delay of 2.5 hours, but
from then on with a steadily decreasing elevation angle from 50 to 15 degrees. These
are the key situations where the scintillation phenomenon can be studied with a time
resolution determined by the GNSS satellites path. Unfortunately, the Galileo SV with
PRN 11 became visible during only a short period of time, with an elevation angle
less than 15 degrees, and so had to be neglected. Finally Galileo SV with PRN 12
had an interesting path starting from an invisible state to an increasing elevation from
the horizon to a maximum of 40 degrees always in the west part of the sky and even
passing almost through the same point in space as SV 19 with a delay of 2 hours. It can
be thus concluded that in the same region of space the scintillation intensity becomes
considerably higher further later in time, after comparing the performance of PRN 19
198
4.1 Ionosphere scintillated signals tracking
Filtered S4 estimation
0.8
Sept
Naz
0.6
S4 index
S4 index
0.8
Filtered S4 estimation
0.4
0.2
Sept
Naz
0.6
0.4
0.2
0
1
2
Time [seconds] x 104
0
(a)
(b)
Phase scintillation index
Phase scintillation index
0.6
Sept
Naz
0.4
Sept
Naz
φ
φ
σ [rad]
σ [rad]
0.6
0.4
1
2
Time [seconds] x 104
0.2
0
0.2
0
5000 10000 15000
Time [seconds]
(c)
5000 10000 15000
Time [seconds]
(d)
Estimated C/N power ratio method
Estimated C/N power ratio method
60
60
40
30
20
0
Sept
Naz
0
50
0
C/N [dB−Hz]
C/N0 [dB−Hz]
0
40
20
0
0
0.5
1
1.5
2
Time [seconds] x 104
(e)
Sept
Naz
0.5
1
1.5
2
Time [seconds] x 104
(f)
Figure 4.4: Estimated scintillation indices and CNR of real Galileo E1 and E5a
frequency bands for PRN 19 - a) Amplitude scintillation index on E1 b) Amplitude
scintillation index on E5a c) Phase scintillation index on E1 d) Phase scintillation index
on E5a e) CNR estimate on E1 f) CNR estimate on E5a.
199
4. APPLICATIONS
S4 on E5a
2
1.5
1
PRN 19
Y=1.55X
PRN 20
PRN 12
0.5
0
0
0.5
S4 on E1
1
σφ on E5a [Degrees]
(a) Amplitude scintillation relationship on two Galileo frequency bands
20
15
10
PRN 19
Y=1.34X
PRN 20
PRN 12
5
0
0
5
σφ on E1 [Degrees]
10
(b) Phase scintillation relationship on two Galileo frequency bands
Figure 4.5: Comparison of estimated scintillation indices on two Galileo frequency bands and three Galileo satellites - on March 7 2013 in Ascension Island
using a customized Galileo receiver.
200
4.1 Ionosphere scintillated signals tracking
vs PRN 12 as can be seen in Figures 4.5 as well as the skyplots shown in Figures 4.6
and 4.7. The black color in these plots indicates instances where tracking has been
interrupted to avoid wrong estimation of scintillatin indices.
Sky View of SV Tracks for 20130310
1
0.8
0.9
0.6
0.8
0.4
0.7
0.2
0.6
0
G19
0.5
−0.2
0.4
−0.4
−0.6
0.3
G20
0.2
G12
−0.8
−1
−1 −0.8 −0.6 −0.4 −0.2
S4 Index
1
0.1
0 0.2 0.4 0.6 0.8
South
1
0
Figure 4.6: Ascension Island skyplot of Galileo satellites showing amplitude
scintillation index - during the night of March 10 2013.
4.1.5
Conclusion
Space weather effects, mainly amplitude and phase scintillation impact has been shown
on recently collected UHF Galileo OS signals tracking as these signals passed through
the ionosphere and reached Ascension Island, an equatorial region. It has been seen that
the recently launched four Galileo satellites add further observability to the existent
block of GNSS satellites in view of a better time resolution in ionosphere scintillation
monitoring. Exploiting the full wide-bandwidth offered by the E1 and E5a Galileo
signals, carrier/code tracking has been tested on simulated signals with and without
amplitude/phase scintillation and performed on real Galileo signals as well. Scintillation
indices on three Galileo visible satellites during data collection have been computed and
compared to the indices generated by the tracking outputs of a professional Septentrio
201
4. APPLICATIONS
Sky View of SV Tracks for 20130310
100
0.8
90
0.6
80
0.4
70
0.2
60
0
G19
50
−0.2
40
−0.4
−0.6
30
G20
20
G12
−0.8
−1
−1 −0.8 −0.6 −0.4 −0.2
σφ(degrees)
1
10
0 0.2 0.4 0.6 0.8
South
1
0
Figure 4.7: Ascension Island skyplot of Galileo satellites showing phase scintillation index - during the night of March 10 2013.
PolaRxS PRO scintillation receiver. Finally, the empirical relationships of the scintillation indices between different frequency bands have been verified with real Galileo
signals on the E1 and E5a bands.
4.2
Carrier phase measurements in dynamic conditions
GNSS (GPS, Galileo, GLONASS) reflectometry belongs to the class of bistatic radar
systems which can be used as a tool for Earth remote sensing purposes. In a bistatic
configuration, transmitter and receiver reside at different locations. The receiver passively uses emitted signals of sources of opportunity. Beside the direct line-of-sight
signals, a GNSS reflectometry receiver can potentially use all GNSS signals that are
reflected from the Earth’s surface. As the GNSS signals are transmitted continuously,
the receiver is allowed to perform continuous measurements of the reflecting surface.
Part of the transmitted GNSS signal is absorbed by the reflecting surface while the
rest is usually scattered in different directions including the receiver’s direction where
signals are captured with a certain power, and phase shift. In fact, the reflected signal
202
4.2 Carrier phase measurements in dynamic conditions
arrives at the receiver with a certain time delay compared to the direct signal.
This time delay herein, is estimated to carry out two purposes: a surface characterization below a flying aircraft and an altimetry study of the aircraft itself. The aircraft
is equipped with two GNSS receivers, a Right Hand Circularly Polarized (RHCP) antenna for direct signal reception and a Left Hand Circularly Polarized (LHCP) antenna
for reflected signal reception. In fact, as the roughness of a reflecting sea surface scatters the energy pattern of the reflected signal, significant surface characterization can
be derived from the temporal waveform development of the received reflected signal.
Observations of this kind belong to the field of GNSS scatterometry [51, 52, 53].
Moreover, the time delay between direct and reflected received signals determines the
height of the receiver with respect to the specular reflection point (the point visited by
the shortest reflected path). This is possible thanks to simple geometric considerations
which yield the receiver height as a function of time delay due to different signal paths
and the satellite elevation angle with respect to the receiver horizontal plane. Observations of this kind belong to the field of GNSS altimetry [54, 55].
The precision of altitude estimation can further be driven down to cm level if GNSS
carrier phase measurements are implemented [56]. To that end, mixed least square
estimation is performed using both code and carrier phase measurements on a single
frequency to compute float type ambiguities inherent in carrier phase measurements.
Integer ambiguities are then estimated using the lambda method [57] and finally the
integer ambiguities are used to compute the fixed height at each instant using exclusively carrier phase measurements. Software receivers are essential tools in this type
of application, because they are able to process GNSS signals in real time. Moreover,
they are able to store in memory the raw samples at the output of the RF front-end
for post mission analysis.
In this work, a bistatic GPS receiver is used to mainly identify inland waters such
as lakes, rivers and rice fields immersed in water, but also to precisely estimate the
altitude of an aircraft flying over these water surfaces. The innovative aspects of this
work reside in the ability of carrying out altimetry measurements in dynamic conditions
203
4. APPLICATIONS
as well as in the usage of a low cost front end to perform the experiment. In fact most
of the altimetry studies reported in the literature have been done in static conditions
and with a very expensive equipment [58, 59].
4.2.1
Experiment description and considerations
The set-up design, shown in Figure 4.8, has a primary task which consists in combining
the RF signal received from a zenith looking RHCP antenna to that received from a
nadir looking LHCP antenna. The combined RF signal is then sent to a low cost, commercial front end, that converts the signal in digital format and downsamples it to an
operating IF. The combiner’s task is to merge into a common stream of samples, both
direct and reflected signals. Traditional set-up approaches (as the one reported in [60]),
on the other hand, use a common clock to sample both the direct and the reflected
signals that are split on separate channels. With this approach, the two signals can be
easily processed separately (without losing synchronization) but it requires a common
clock for the two RF channels and a custom design of the RF part which is expensive.
Instead, adopting the simple approach shown in Fig. 4.8, the design of the RF part
is trivial pushing the challenge to the software receiver side by implementing ad-hoc
algorithms for the detection and analysis of the reflected signals, as they are mixed
with the direct ones.
The low cost front end is carried on board of a small aircraft and a laptop running
a fully GPS software receiver has been used to perform a data collection during the
flight. The flight route was planned to pass over lakes, rivers and rice fields in the
Piedmont region in Italy. An offline post processing analysis has been carried out on
the data stored during the flight. Two different analyses have been conducted. The
first is focused on the detection of water surfaces, while the latter consists in measuring
the aircraft’s altitude.
Given the limited position accuracy offered by code phase measurements, carrier phase
measurements are harnessed in this paper to reach a better position and height accuracy.
In fact, code and carrier phase measurements are typically affected by a noise variance
of the order of m and cm respectively. To that end, the Precise Point Positioning (PPP)
technique is implemented operating on a single receiver’s carrier phase measurements
to obtain centimeter level accuracy height. The challenge for PPP consists in cancelling
204
4.2 Carrier phase measurements in dynamic conditions
RHCPantenna
GPS RF
FrontͲend
Combiner
PC
OUTPUT
USB
USB
INTERFACE
LHCPantenna
I&Q
IFSamples
Clock
Figure 4.8: Data collection setup
out propagation and timing errors without performing double differences as can be done
in relative positioning where normally an additional receiver acts as the reference point.
The basic model of the true range r in meters between satellite and local receiver using
code and carrier phase measurements ρ and φ, is expressed by Equations (4.1) and (4.2),
where errors due to the ionosphere I, troposphere T , receiver clock bias δtu , satellite
clock bias δts and multipath and receiver noise on code and phase measurements ǫρ
and ǫφ are considered [61]:
ρ = r + I + T + c(δtu − δts ) + ǫρ ,
φ = λ−1 [r − I + T ] +
c
(δtu − δts ) + N + ǫφ .
λ
(4.1)
(4.2)
and λ is the signal wavelength whereas c is the speed of light. It can be assumed that
ionospheric, tropospheric, receiver and satellite clock biases are almost fully cancelled
in such a reflectometry experiment where direct and reflected signals go through the
same initial path as they are transmitted from the satellites. Carrying out simple
geometrical analysis, at each instant of time, it is easy to express ∆ρ and ∆φ single
difference measurements between direct and reflected signals in terms of the time delay
∆τ between direct and reflected signals as well as the receiver height over the reflecting
surface as shown in [62].
∆ρ = c∆τ = 2h · sin(ψ) + ǫρ
(4.3)
where ψ is the satellite elevation angle with respect to the horizontal plane at the receiver. The carrier phase measurement, on the other hand, measures the delay between
205
4. APPLICATIONS
the direct and reflected signals up to an integer number of cycles N .
∆φ = 2h · sin(ψ) + N · λ + ǫφ
(4.4)
It is worth mentioning that the time delay is easily computed exploiting the properties of GNSS signals, that is by computing the time delay between the correlation
peaks of direct and reflected signals. In addition, estimating the height using Equations
(4.3) and (4.4) in a least squares sense raises several simplifying assumptions. It is thus
assumed that satellite elevation angle is already estimated with a good quality, that the
receiver noise and multipath propagation error due to many reflection points are not
significant. And finally, that the error introduced by the bias effects in the measured
time delay is not that significant. These biases are due to possibly multiple reflection
points, not just the specular reflection point, especially when the relative height above
the reflection point is very high. After solving the system in the least squares sense, the
height and float carrier ambiguities are estimated. To obtain integer ambiguities, the
lambda method is applied and the carrier ambiguities are then fixed. Using these fixed
values, the system composed of Equations (4.3) and (4.4) is again solved in the least
square sense. However, only carrier phase measurements are incorporated in the system
to estimate the height of the receiver over the reflecting surface at each time instant.
Code phase measurements are excluded in this final step and the height estimation
relies solely on carrier phase measurements.
4.2.2
Surface characterization results
As previously mentioned, the front end makes a collection of combined direct and
reflected signals. It is intuitive therefore that the first task of the acquisition block is
to detect the two peaks corresponding to each one of them. For scattering purposes,
the next step is to track the peak corresponding to the reflected signal only, and then
evaluate the carrier to noise ratio. It is concluded that the aircraft is flying over inland
waters whenever the carrier to noise ratio of the reflected signal is significantly higher
than the usual value when the reflecting surface is ground.
To assess the reliability of this technique, specular reflection points for each satellite in
view are computed in post-processing using the method described in [63]. The specular
reflection points of two satellites in view are then plotted on a map as shown in Fig. 4.9.
Fig. 4.10 shows the reflected signal power as a function of time for these two satellites.
206
4.2 Carrier phase measurements in dynamic conditions
Figure 4.9: Flight route specular reflection points for two satellites.
In this way, water surfaces are identified by looking at the power level. Moreover, the
power magnitude of the reflected signal was superimposed on the reflection points along
the flight route as shown in Fig. 4.9. Significant high reflected power is mapped to
orange/red colors while poor reflections were mapped to yellow. It can be clearly seen
from Fig. 4.9 that red colors indicating the presence of water surfaces conform to the
reality shown on the map. It is worth noting that we were able to identify very narrow
water surfaces like rivers and canals. Moreover, in case of rice crop detection, we were
able to detect the size of the rice field with a precision of less than one meter.
4.2.3
Altimetry estimation results
The second analysis regarding altimetry used both the direct and reflected signals
combined together with the measurement of the delay between the two signals; it is
207
4. APPLICATIONS
Scattered signal acquisition power over the Avigliana lakes
PRN 5
PRN 10
7
Secondlake
Firstlake
6
Wayback
Power (peak1/pea
ak2 )
5
4
3
2
1
0
500
1000
1500
2000
2500
3000
3500
Time (time slot 100 ms)
Landbetweenlakes
Figure 4.10: Water surface identification looking at the estimated CNR during acquisition
of two GPS satellites, PRN 5 and 10.
expected that a better computation of the delay between direct and reflected signals,
yields a more precise estimation of the aircraft’s height above the reflecting surface. For
this purpose, single frequency single difference carrier phase measurements were used
and we were able to have cm level precision in the estimation of the altitude as plotted
in Fig. 4.11. Such measurements were performed only when the reflected signal power
was high enough and the aircraft was moving at a constant speed. This was to ensure
correct tracking, avoiding the presence of cycle slips. Together with the carrier phase
measurements height estimation, Fig. 4.11 also shows height estimates using single
difference code phase measurements and a smoothed version or a moving average of
height estimates using the direct signal code phase measurements. Comparing the latter
to the estimated height using carrier phase measurements, the mean height estimation
discrepancy is less than 2 meters. Moreover, the height standard deviation due to
208
4.2 Carrier phase measurements in dynamic conditions
Using Weighted SVs 5, 8, and 10
556
Estimated height of the receiver [m]
554
Carrier phase estimation
Code phase estimation
Moving average code phase estimation
552
550
548
546
544
542
540
538
0
1000
2000
3000
4000
5000
Time [ms]
6000
7000
8000
9000
Figure 4.11: Comparison of aircraft altitude estimation over 9 seconds either using single
differenced code phase, carrier phase or moving average undifferenced code phase measurements.
carrier phase measurements is less than 50 cm. This can be roughly considered a good
result, however good altimetry reference measurements should be collected to assess
the true nature of the errors incorporated in these height estimates using carrier phase
measurements.
4.2.4
Conclusion
The preliminary results of this reflectometry and scatterometry study show fairly good
performance in terms of water surface detection and aircraft height estimation exploiting direct and reflected signals off a water surface. These results are highly encouraging
given that only single frequency measurements are used without any reference receiver.
Further tests and analysis have to be carried out to accurately assess the system performance as well as improve height estimates using carrier phase measurements.
209
4. APPLICATIONS
210
Chapter 5
Summary and conclusions
This research has focused on the design of pilot channel scalar tracking loop systems
for high sensitivity Galileo receivers. First, an introduction of GNSS systems and the
frequency plan of the multi-constellation GNSS signals is put forward. The motivation
behind this work is unveiled in the need to provide LBS in indoor environments, as well
as to detect ionosphere scintillation and eventually be immune towards this phenomena.
A description of Galileo OS signals is then provided together with an implementation
of a software simulation tool generating Galileo OS signals affected by ionosphere scintillation. Extra features of this tool permit the control of the output signal properties.
The design, performance assessment and implementation of the tracking loops is carried out and tested on simulated and real Galileo signals.
Scalar tracking loops (control loops) are discrete sampling systems which require a
full design in the digital domain. This is crucial in challenging signal conditions where
an inevitable increase of the integration interval results in either pushing the classically
designed closed loop poles towards instability or yielding an undesired type of loop
response. The enhanced tracking performance brought about by optimum loop filters
designed in the digital domain have been verified both theoretically and experimentally
where integration intervals as high as 100 ms have yielded stable tracking performance.
The designed pilot channel scalar tracking loop is tested on simulated Galileo signals
with or without scintillation using short integration intervals as well and the tracking
performance is assessed. A carrier tracking frequency error of around ±1 Hz and ±3
211
5. SUMMARY AND CONCLUSIONS
is reached with Galileo E1 and E5a OS signals respectively, while a carrier tracking
phase error of ±1 degree is accomplished on both frequency bands. The code track-
ing frequency error, on the other hand, ranges between ±1 Hz and ±10 Hz for these
frequency bands due to a ten times larger chipping rate on E5a signals with respect
to E1 signals. Similarly, the code tracking phase error ranges between ±0.2 samples
and ±0.02 samples for E1 and E5a signals respectively. The reason behind the 10 fold
decrease is the same as that presented for the code frequency except that the effect is
inversely proportional.
Including ionosphere scintillation on the simulated signals and applying the developed
pilot channel tracking loop design yields close agreement of estimated scintillation indices with the true values. A tracking performance comparison between the developed
tracking loop engine and a professional receiver is carried out as well, where similar
results are achieved. Complete loss of tracking have not been fully analyzed in our
customized receiver where successful tracking is proceeded even if going through intermittent cycle slips.
Future work will concentrate on testing the designed pilot channel scalar tracking loop
with scintillation affected signals using extended integration intervals. In an effort to
maintain phase lock during severe scintillation events, the afore-mentioned work will
be performed both on simulated and real Galileo signals affected by equatorial scintillation. Moreover, it will be interesting to assess the performance enhancement in
terms of positioning accuracy during scintillation events, due to the special measures
and designs brought forth on the pilot channel tracking loop system.
212
Appendix A
Technique for MAT analysis
using serial search and
performance assessment of P2P
acquisition engines
In this appendix, particular interest is expressed in the potential search space aidings
received by a network of peers. To that end, the focus is on the serial TC criterion
in light of the P2P context and an analysis of the MAT is performed under weak
and strong signal conditions. A similar study is carried out in [13] where additional
search strategies are considered as the MAX/TC criterion and the MAX search, with
or without verification. The P2P paradigm consists in the exploitation of inherent
communication links between nodes or peers equipped with GNSS receivers, to share
and disseminate valuable GNSS information in the context of a cooperative localization.
A new technical tool in the form of acquisition time and MAT diagrams is introduced
which mainly serves in deriving and analyzing the MAT effectively and intuitively. In
addition, an analysis is carried out with the aim of identifying the terms that contribute
to the MAT, realizing that the starting cell from which the search process initiates can
have an impact on the performance of the MAT. In fact, two factors are considered
in the P2P acquisition engine, mainly the reduction of the search space as well as
the search order. In general, the search order is assumed to be following either a
uniform Probability Density Function (PDF) of starting from any cell, or a worst-
213
A. TECHNIQUE FOR MAT ANALYSIS USING SERIAL SEARCH AND
PERFORMANCE ASSESSMENT OF P2P ACQUISITION ENGINES
case PDF where the correct cell is scanned in the last position. A Gaussian probability
distribution order is analyzed herein, taking into account the potential aiding in terms of
Doppler frequency and code delay that synchronized P2P networks are able to provide.
A new zig-zag search order based on P2P aidings is analyzed and an expression of the
MAT contributing term due to the starting cell and zig-zag search strategy is derived.
Furthermore, an example case is studied to compare uniform and Gaussian search
orders with a reduced search space in the P2P context.
A.1
A.1.1
Acquisition and probabilities
Acquisition systems
An acquisition engine is mainly a cross-correlation engine coupled with a decision system. In the cross-correlation engine, the received SIS is multiplied by a locally generated
signal using an estimated code delay τ̂ and Doppler frequency fˆD . The Cross-Ambiguity
Function (CAF) is a two-dimensional function in terms of a combination (τ̂ , fˆD ) and
is equal to the cross-correlation evaluation for every possible cell. The total number of
cells makes up the search space. This search space is reduced in certain conditions, as
in a warm or hot start but even in Assisted-GNSS (A-GNSS) and P2P systems. P2P
networks inherently are equipped with communication and synchronization capabilities that consent in highly accurate aiding in terms of both code delay and Doppler
frequency so as to considerably reduce the search space. The serial acquisition engine
will obtain most of the attention here, as the aiding provided by a P2P network is
usually accurate enough to scan a few cells depending on a number of parameters. In
a serial search, it is assumed that the CAF is evaluated or scanned in a starting cell
and compared to an acquisition threshold (detection process). If the signal is declared
present in the cell, the search process is stopped. If the signal is declared absent in
that cell, the search continues by moving to the next cell, evaluating the CAF on that
cell and applying the detection process cell after cell. The MAT is computed assuming
that the search continues indefinitely until the signal is declared present in a particular
cell. In such a setting, the concept of probability of detection and false alarm is fundamental in evaluating any acquisition time. Cell probabilities of detection and false
alarm are the major players in the expression of the MAT of a serial search strategy,
214
A.1 Acquisition and probabilities
however, system probabilities have a more significant behaviour in terms of the overall
acquisition system.
A.1.2
Cell and system probabilities
In an acquisition system, it is important to distinguish between cell and system probabilities before conducting any study dealing with the MAT. Indeed, according to the
search and detection strategy, system probabilities, cell probabilities or even both are
used in the expression of the MAT. In the following, the probabilities relative to the
whole detection system would be denoted by a subscript in uppercase letters i.e. the
system probability of false alarm PF A , detection PD , missed detection PM D and correct
rejection PCR , whereas those relative to a single cell would be identified by a subscript
in lower case letters.
A.1.2.1
Cell probabilities
In assessing the MAT, as far as probabilities are concerned, the cell probabilities are
exclusively significant in a context of a serial search. In this case, two hypotheses can
be defined over each cell:
• Hypothesis H0 : the chosen cell is a wrong cell named H0 cell or node, i.e. it does
not correspond to the right code delay and Doppler frequency alignment of the
received SIS and so
Pfa + Pcr = 1, | H0 .
(A.1)
• Hypothesis H1 : the chosen cell named H1 cell or node does correspond to the
right code delay and Doppler frequency alignment of the received SIS and so
Pd + Pmd = 1, | H1 .
(A.2)
In case of a coherent integration, and a CAF envelope evaluated as R = I 2 + Q2
(non-normalized summation of the in-phase and quadrature phase signal at the output
of the correlators), the cell probabilities assume the following expressions [64]:
B
Pf a (B) = exp − 2 ,
2σ
215
(A.3)
A. TECHNIQUE FOR MAT ANALYSIS USING SERIAL SEARCH AND
PERFORMANCE ASSESSMENT OF P2P ACQUISITION ENGINES
where B is the acquisition threshold over the search space, and σ 2 is the bandlimited
noise variance given by:
σ2 =
N0 BIF
Hc ,
2
(A.4)
where BIF is the IF bandwidth, N0 /2 is the noise spectral density and Hc is the
number of samples in an integration interval Ti , i.e. Hc = fs Ti where fs is the sampling
frequency. The probability of detection, on the other hand, is expressed as [64]:
√ !
α
B
Pd (B) = Q1
;
,
(A.5)
σ σ
where Q1 ( · , · ) is Marcum’s Q-function and α is a parameter related to C the signal’s
amplitude and is given by:
α=
A.1.2.2
√
2C
Hc .
2
(A.6)
System probabilities
On the other hand, system probabilities are used while assessing the MAT in a context
of maximum or hybrid maximum search. In this case, two hypotheses are defined,
mainly:
• Hypothesis H2 : the PRN code that is being tested is actually present in the
received signal, and so the probability rule is:
PpFA + PMD + PD = 1, | H2 ,
(A.7)
where PFp A is the system probability of false alarm in presence of the PRN code
in question. This probability is also called system probability of error PE and
represents the case where a positive affirmation of the presence of the signal is
declared in a wrong cell.
• Hypothesis H3 : the PRN code that is being tested is absent in the received signal,
and the system probability rule becomes:
PaFA + PCR = 1, | H3 ,
(A.8)
where PFa A is the system probability of false alarm in absence of the PRN code
in question.
216
A.2 Analysis of the MAT
Serial search
−3
x 10
1
1
fa
Pd cell detection probability
0.9001
0.8
P System detection probability
0.8002
D
0.7
0.7003
0.6
0.6004
0.5
0.5005
0.4
0.4006
0.3
0.3007
0.2
0.2008
0.1
0.1009
0
13
12
11
10
9
8
Acquisition Threshold Bthresh
Probability of false alarm Pfa
d
Probabilities of detection P and P
D
P cell false alarm probability
0.9
0.001
6
7
−5
x 10
Figure A.1: Cell and system probabilities vs acquisition threshold B for a C/N0 equal
to 40 dB-Hz
In conclusion, system probabilities are more appropriate to describe the detection
situation in a wider sense and as such the system PD is used in the following analysis
in conjunction with the MAT. In fact, even if the MAT of a serial search depends on
cell probabilities Pf a and Pd , it is the system PD that summarizes the behaviour of
both cell probabilities as can be seen in Figure A.1.
A.2
Analysis of the MAT
In this section, the MAT is introduced considering the serial search TC scheme. A
generic review is undertaken describing the principal method for MAT computation
found in literature which is mainly based on the Probability Generating Function
(PGF). A new intuitive method is devised based on time and probability-weighted acquisition time diagrams also called MAT diagrams in order to derive MAT expressions
for different search orders (uniform probability, worst-case and Gaussian probability
search order). Moreover, new acquisition engines, specially tailored for a P2P architecture are designed taking into considering the P2P aiding which simultaneously reduces
the search space and assigns a scanning order over the cells in consideration.
217
A. TECHNIQUE FOR MAT ANALYSIS USING SERIAL SEARCH AND
PERFORMANCE ASSESSMENT OF P2P ACQUISITION ENGINES
A.2.1
Standard acquisition engines
Standard acquisition engines using standard acquisition algorithms are considered herein.
Standard, in the sense that the whole possible search space is considered with no particular hint on the scanning order of the cells or even the starting cell. Moreover, a
coherent integration is used to compute the search space, and the acquisition threshold
is derived as a function of the desired cell Pf a in order to test if the scanned cell holds
the signal.
A.2.1.1
Probability generating functions
The standard serial single-dwell time search strategy consists in starting from a specific
cell in the search space and serially examining the remaining cells in some arbitrary
direction and order until the H1 cell is found, the cell which contains the right PRN code
with the correct Doppler frequency and code delay. In the literature, the procedure to
determine the MAT for a specific scenario is to draw the decision flow graph as shown
in Figure A.2, define the gain functions that consent the transition from one node to
another, and finally derive the system PGF PACQ (z) [28]. The MAT is then given by
the flow graph technique described in [28] as:
d
.
E[TA ] = PACQ (z)
dz
z=1
(A.9)
The black dots in Figure A.2 called “nodes” hereafter represent the cells of the search
space where there are Nc cells in total. Node (Nc ) or node H1 is designed differently
from other nodes, noting that it holds the H1 state corresponding to the H1 hypothesis.
It can be shown that the PGF corresponding to the flow graph in Figure A.2 is equal
to:
PACQ (z) =
HD (z)
1 − HM (z)H0Nc −1 (z)
Nc
X
πi H0Nc −i (z),
(A.10)
i=1
where the gain functions are defined as HD (z) = Pd · z Tc leading from node H1 to node
Acquisition (ACQ), HM (z) = (1 − Pd ) · z Tc leading from node H1 to an H0 node, and
H0 (z) = (1 − Pf a ) · z Tc + Pf a · z Tc +Tp leading from every H0 node to the successive node
where Tc and Tp are the single cell scanning time and the penalty time respectively.
Moreover, πi is the probability to start the search from cell i. Two alternatives are
218
A.2 Analysis of the MAT
H1
H0
H0
ACQ
HD(z)
(N)
H 0(z)
+
(z)
H N FA
+
ʌ
HN
1
ʌN
F A (z
) +
A (z
HP (
z)
HF
)
H P(z
)
H FA(z
ʌN-1
Ȉ
z)
)
(N-1)
H1
H0 (
(1)
HM(z)
Ȉ
+
(2)
ʌ
2
False-Alarm State
Figure A.2: Acquisition flow graph or state diagram of a standard serial approach.
considered in general, uniform probability where the probability to start from a specific
cell is the same for all cells, i.e. πi = 1/Nc ∀i and worst-case probability, i.e. scanning
the H1 cell in the last position, i.e. πNc = 1 and πi = 0 ∀i [29].
A.2.1.2
Mean acquisition time diagrams
In this section, a new technique to derive the expression of the MAT is described.
This technique is based on acquisition time and mean acquisition time diagrams also
called probability-weighted acquisition time diagrams. The acquisition time diagram
as shown in Figure A.3 describes the time it takes to move from the starting cell N0
to the acquisition state taking into consideration every possible path. Every cell is
represented by a square box with its number inside. The cells are assumed to be
scanned in a clockwise direction with an increasing cell number order, until the Nc cell
or H1 cell is reached. A generic H0 cell with a number i is shown to spend a time
duration T0 to move to the next H0 cell with a number i + 1. A more detailed block
diagram of the phenomenon is shown in Figure A.4 where both a false acquisition and
a correct acquisition (signal is declared absent in an H0 cell) spend Tc seconds. This
219
A. TECHNIQUE FOR MAT ANALYSIS USING SERIAL SEARCH AND
PERFORMANCE ASSESSMENT OF P2P ACQUISITION ENGINES
ACQ
Tc
Tc
Nc
1
ACQ
i
T0
i+1
K(Nc-1)T0+(K+1)Tc
N0
START
(Nc-N0)T0
Figure A.3: Acquisition time diagram showing the time necessary to move from one cell
to another across all possible paths.
T0=Tc+PfaTp
False ACQ
Tc
Track
Tp
Pfa
1-Pfa
i-1
i
Correct ACQ
Tc
i+1
i+2
Figure A.4: Block scheme of a serial detector over two successive H0 cells showing the
false alarm and penalty time contribution to T0 .
220
A.2 Analysis of the MAT
is the time needed to test a single cell and is a function of the integration time Ti .
Moreover, after a false acquisition, the system goes through a penalty time Tp in the
tracking stage which is usually taken to be the tracking transient time (around 500
ms) of a successful tracking operation. In fact, the tracking block, after waiting for Tp
seconds, realizes that it is not able to track the signal and moves to the next cell i + 1.
The transition time of going from an H0 cell to a subsequent cell is T0 seconds:
T0 = Tc + Pf a Tp .
(A.11)
Starting from a specific H0 cell N0 , the time spent to arrive to the H1 cell, is represented
in Figure A.5 by the outer incomplete circle as (Nc − N0 )T0 . Moreover, once the H1 cell
is reached, it is possible to scan the whole search space again (a complete lap) with a
probability 1−Pd . This is represented more generically by the interior concentric circle,
showing the possibility of undergoing K complete laps, i.e. K(Nc − 1)T0 + (K + 1)Tc
seconds before going to the acquisition state.
A.2.1.3
Deriving the MAT
The MAT becomes very intuitive looking into the MAT diagram Figure A.5, as it
is only the summation of all possible paths weighted by their respective probabilities.
Assuming that the start cell number N0 can be anything between 1 · · · Nc with a certain
probability πi , a summation term S is introduced which sums over all the probabilities
of starting from a specific cell:
S=
Nc
X
i=1
πi (Nc − i)T0 .
(A.12)
The MAT for a standard serial detector can thus be written in its general form as:
T¯A = S +
∞
X
k=0
= S+
[k(Nc − 1)T0 + (k + 1)Tc ] (1 − Pd )k Pd
1 − Pd
Tc
(Nc − 1)T0 +
,
Pd
Pd
(A.13)
which is obtained after noticing the presence of a simple and modified power series
∞
∞
X
X
1
x
and
with |x| < 1.
xi =
ixi =
1−x
(1 − x)2
i=0
i=0
221
A. TECHNIQUE FOR MAT ANALYSIS USING SERIAL SEARCH AND
PERFORMANCE ASSESSMENT OF P2P ACQUISITION ENGINES
Figure A.5: Mean acquisition time diagram or probability-weighted acquisition time
diagram weighting the possible paths by the corresponding probabilities, mainly Pd and
Pmd = 1 − Pd .
222
A.2 Analysis of the MAT
Table A.1: MAT for serial search approach
Strategy
MAT
Serial
1
[Tc + (Nc − 1)(Tc + Tp Pf a )]
Pd
Worst-case
Serial
1
Pd
Uniform
Nc − 1
(2 − Pd ) (Tc + Tp Pf a )
Tc +
2
Equation (A.13) holds the summation term S and a constant term (constant with
respect to the starting cell strategy) which is due to full laps undergone by the search
process plus going to the acquisition state “ACQ”. The summation term S, on the
other hand, depends on the starting cell and is fundamental for studying specific starting cell probabilities as will be shown in the following. Obviously, the worst-case start
cell number is 1, and the corresponding MAT can be written in the form of (A.13) with
S:
S = (Nc − 1)T0 .
(A.14)
It is fairly easy to derive the expression of the MAT in Table B.1 corresponding to the
worst-case search order by substituting (A.14) into (A.13). For a uniform probability
search order, the MAT can be rewritten in the same form as in (A.13), replacing πi by
Nc
X
Nc (Nc + 1)
1/Nc in the S factor and using the sum identity
i=
such that:
2
i=1
S=
Nc
Nc − 1
1 X
T0 .
(Nc − i)T0 =
Nc
2
(A.15)
i=1
This is fairly reasonable as the summation term is a function of the mean of the total
number of cells Nc . The expression of the MAT in Table B.1 corresponding to the
uniform probability search order can be obtained after substituting (A.15) in (A.13).
223
A. TECHNIQUE FOR MAT ANALYSIS USING SERIAL SEARCH AND
PERFORMANCE ASSESSMENT OF P2P ACQUISITION ENGINES
A.2.2
P2P acquisition engines
The study of the MAT in P2P acquisition engines involves new acquisition approaches
which exploit the aiding coming from nearby peers. The accuracy of the aiding depends
on the topology and synchronization quality of the P2P network [65]. The benefit
conveyed by P2P acquisition engines, stems from two factors. One is the reduced search
space due to the aiding information in terms of code delay and Doppler frequency and
the second is the specific order with which cells are analyzed i.e. cells most likely
to hold the signal, “candidate cells”, are scanned following a specific order according
to the information made available by aiding peers. In this study, the first factor is
analyzed by testing L ≤ Nc candidate cells until successful acquisition. Similar to the
standalone GNSS acquisition engines, the worst-case and uniform probability search
strategies indicating the cell from which to start the search are considered. Moreover,
the second factor is analyzed by considering a new search order based on a Gaussian
probability of finding the signal in a specific cell.
A.2.2.1
L candidate cells with uniform and worst-case search order
The serial L candidate cells search strategy exploits the reduced search space due to
P2P aiding. Indeed, it is very much like the standard serial search strategy with the
exception that the L candidate cells for the P2P aquisition engine are much less than
the Nc total cells in the standard acquisition engine. In this case, the MAT as defined
in (A.13) becomes:
1 − Pd
Tc
P 2P
T¯A
=S+
(L − 1)T0 +
,
Pd
Pd
where
S=
L
X
i=1
πi (L − i)T0 .
(A.16)
(A.17)
Numerical figures of a possible number of candidate cells in function of the Doppler
step and the code delay step are documented in [65]. It can be seen that for a time
and frequency synchronized network to less than a µs and less than a tenth of Hertz,
the discrepancy between pairs of receivers in the P2P architecture is of the order of a
few µs and a few Hz. This translates into a few chips and most likely a single Doppler
step. The number of candidate cells would then be easily derived assuming a certain
code delay step and a certain Doppler frequency step which defines the resolution of
224
A.2 Analysis of the MAT
Table A.2: Search space resolution and dimensions for a 40 dB-Hz signal.
ACQ
type
∆f
[Hz]
Rf
[Hz]
Nf
∆τ
[µs]
Rτ
[µs]
Nτ
Nc or
L
Standard
667
10 000
15
1/2
1023
2046
30690
P2P
667
20
1
1/2
6
12
12
Table A.3: Search space resolution and dimensions for a 30 dB-Hz signal.
ACQ
type
∆f
[Hz]
Rf
[Hz]
Nf
∆τ
[µs]
Rτ
[µs]
Nτ
Nc or
L
Standard
56
10 000
180
1/2
1023
2046
368280
P2P
56
20
1
1/2
6
12
12
the search space. The code delay step is usually taken to be half a chip whereas the
Doppler frequency step depends on the integration time given by [47]:
∆f = 2/(3Ti ).
(A.18)
The P2P MAT as shown in (A.16) is a very similar expression as that found for the
standard case in (A.13) with a slight difference: L cells are considered in total instead
of Nc . Cell probabilities of detection and false alarm remain exactly the same as they
depend on three parameters, B the acquisition threshold, α the signal amplitude and
σ related to the noise variance, the last two of which are function of Hc , the number
of samples in a single integration interval which remains the same. Consequently, the
expression of the P2P MAT is similar to that introduced in Table B.1, except that
Nc is replaced by a hopefully much smaller L. Nc and L are the result of the chosen
resolution of the search space (A.18), as well as its uncertainty region (Rf in the
frequency domain and Rτ in the code delay domain) as shown in Tables A.2 and A.3.
Moreover, the chosen resolution of the search space is a consequence of the coherent
integration time Ti , which in turn is determined by the C/N0 of the received signal.
The number of considered cells Nc or L is given by the product of the number of code
delay bins Nτ and the number of Doppler frequency bins Nf , that is Nc = Nτ · Nf . For
standard as well as P2P acquisition engines, the C/N0 is taken to be either equal to
30 or 40 dB-Hz. Accordingly, the integration time Ti is set to 12 and 1 ms respectively
such that the maximum system PD is around 0.4 in both cases.
225
A. TECHNIQUE FOR MAT ANALYSIS USING SERIAL SEARCH AND
PERFORMANCE ASSESSMENT OF P2P ACQUISITION ENGINES
The values of Nc and L found in Tables A.2 and A.3 are used in the expressions
found in Table B.1 to obtain the plots in Figures A.6 and A.7. These plots correspond
to 30 and 40 dB-Hz signals, where the system PD is superimposed on the MAT curves
of a P2P aided serial search with uniform or worst-case search order, for all possible
values of the acquisition threshold B (Pf a is a function of B given by (A.3)). Moreover,
Figures A.8 and A.9 superimpose the same curves relative to a standard acquisition
engine, showing the performance increase in terms of MAT, due to the P2P aiding
where L = 12 candidate cells are considered instead of the standard Nc = 30690 or
Nc = 368280 cells of a standard acquisition engine in a cold start. It is interesting
to note that the optimum acquisition threshold satisfying a minimum MAT does not
correspond to the maximum system PD as the latter does not include neither Tc nor Tp
the penalty time. It can be seen that the MAT relative to the P2P acquisition engine
is increased by an order of magnitude going from a strong to weak signal (40 to 30
dB-Hz) while the MAT of a standard acquisition engine is increased by two orders of
magnitude in these conditions. This is assuming that the accuracy of the P2P aiding remains the same for both conditions, which is a valid assumption. In fact, the
P2P aiding does not depend on the aided receiver’s carrier-to-noise ratio, but rather on
the aiding peers positioning accuracy and the overall network synchronization accuracy.
In conclusion, it is shown that the benefit of using a P2P acquisition engine instead
of a standard one, is more clearly seen when operating on a weak signal (30 dB-Hz)
rather than a strong one (40 dB-Hz). This is somehow expected as the search space
size increases together with the coherent integration time which is due to a low carrierto-noise ratio. Consequently, a good reduction of the search space coming from P2P
aiding leaves the number of cells intact even if the coherent integration time increases.
In this case, the performance increase in terms of MAT due to P2P aiding, differs by
an order of magnitude looking at both cases of carrier-to-noise ratio.
A.2.2.2
L candidate cells with Gaussian probability distribution order
Apart from search space reduction, one of the benefits of P2P networks is the search
order information. In fact, the accuracy of aiding can be exploited to determine the
search order by noticing that the suggested cell by the P2P network can be considered
to follow a Gaussian PDF with a mean value equal to ce ∈ {1, 2, ..., Nc } and a standard
226
MAT and PD vs Bthresh
−4
x 10
3.2
0.4
P2P Worst−case
0.36
P2P Uniform
Serial PD
0.32
2.8
0.28
2.4
0.24
Mean acquisition time [s]
3.6
2
0.2
1.6
0.16
1.2
0.12
0.8
0.08
0.4
0.04
0
13
12
11
10
9
8
Acquisition Threshold Bthresh
System Prob of detection
A.2 Analysis of the MAT
0
6
7
−5
x 10
Figure A.6: MAT and PD vs acquisition threshold for a P2P acquisition engine using a
serial search in both cases of uniform probability and worst case search order with a C/N0
of 40 dB-Hz.
MAT and P vs B
x 10
D
thresh
2.7
Mean acquisition time [s]
0.4
P2P Worst−case
P2P Uniform
Serial P
2.4
0.36
0.32
D
2.1
0.28
1.8
0.24
1.5
0.2
1.2
0.16
0.9
0.12
0.6
0.08
0.3
0.04
0
1.6
1.5
1.4
1.3
1.2
1.1
Acquisition Threshold B
1
thresh
0.9
System Prob of detection
−3
3
0
0.7
0.8
−3
x 10
Figure A.7: MAT and PD vs acquisition threshold for a P2P acquisition engine using a
serial search in both cases of uniform probability and worst case search order with a C/N0
of 30 dB-Hz.
227
A. TECHNIQUE FOR MAT ANALYSIS USING SERIAL SEARCH AND
PERFORMANCE ASSESSMENT OF P2P ACQUISITION ENGINES
MAT and P vs B
D
1
thresh
0.4
0.32
0.28
0.6
0.24
0.2
0.4
0.2
0.16
Standard Worst−case
Standard Uniform
P2P Worst−case
P2P Uniform
Serial P
0.12
0.08
0.04
D
0
13
12
System Prob of detection
Mean acquisition time [s]
0.36
0.8
11
10
9
Acquisition Threshold B
8
0
6
7
−5
x 10
thresh
Figure A.8: Comparison of a standard serial acquisition engine to a P2P engine in terms
of MAT vs acquisition threshold, with a reduced search space of L = 12 candidate cells in
case of P2P aiding and a C/N0 of 40 dB-Hz.
MAT and P vs B
Mean acquisition time [s]
thresh
0.4
90
0.36
80
0.32
70
0.28
60
0.24
50
0.2
40
30
20
10
0
1.6
0.16
Standard Worst−case
Standard Uniform
P2P Worst−case
P2P Uniform
Serial P
0.12
0.08
0.04
D
1.5
1.4
System Prob of detection
D
100
1.3
1.2
1.1
1
Acquisition Threshold B
thresh
0.9
0
0.7
0.8
−3
x 10
Figure A.9: Comparison of a standard serial acquisition engine to a P2P engine in terms
of MAT vs acquisition threshold, with a reduced search space of L = 12 candidate cells in
case of P2P aiding and a C/N0 of 30 dB-Hz.
228
A.2 Analysis of the MAT
deviation σc (number of cells to be searched around the mean value ce ). Therefore, the
acquisition strategy assumes a reduced search space of size L candidate cells, scanned
in the order suggested by a truncated discrete normalized Gaussian PDF:
√
πiGj =
√
1
2πσc
1
2πσc
(kj − ce )2
2σc 2
e
−
1 −
=
e
2
M
(c − ce )
c=c
+σ
e
c
X −
2σc 2
e
(kj − ce )2
2σc 2 ,
(A.19)
c=ce −σc
where M is a normalization factor, kj ∈ {ce − σc , · · · , ce + σc } and ij its corresponding
cell number such that ij = kj for kj ≤ Nc and ij = kj − Nc if kj > Nc . The aiding
can be biased inducing that the most likely cell to hold the signal is ce 6= Nc or can be
unbiased ce = Nc . On the other hand, σc is an integer number denoting the quality of
P2P aiding in terms of number of cells to be searched to the left and right of the cell
ce . Both ce and σc are function of the P2P aiding strategy. Moreover, cj is a possible
starting cell number suggested by the P2P aiding, from which the distance dj can be
computed, the number of cells distant from the H1 cell. This distance dj can be either
positive or negative, because the cells to be searched are organized in a circular manner
as seen in Table A.4. The cells in the left have cell numbers Nc − 1, Nc − 2, · · · , Nc /2
and distance values −1, −2, · · · , −Nc /2 while the cells on the right have cell numbers
1, 2, · · · , Nc /2 − 1 and distance values 1, 2, · · · , Nc /2 − 1. In Table A.4, the normal
path cj and an example of a P2P aiding search path are depicted, together with their
corresponding distances dj . The normal path can start from any cell from {1, ..., Nc }
and the search order is in one direction scanning subsequent neighboring cells. These
cells are naturally ordered according to an increasing value of code delay and Doppler
values. The P2P path on the other hand is characterized by a zig-zag search order and
starts from any cj numbered cell and scans cells cj − 1, cj + 1, cj − 2, cj + 2, etc...
In the example shown in the table, it is assumed that the P2P aiding suggests values
of ce = 98 and σc = 2 assuming that Nc = 100 such that cell number ij = 100 is the
H1 cell. It is intuitive to see that the distance dj of a particular cell number ij can be
expressed as:
dj =
(
ij
i j − Nc
if ij < ⌊Nc /2⌋
if ij ≥ ⌊Nc /2⌋.
229
A. TECHNIQUE FOR MAT ANALYSIS USING SERIAL SEARCH AND
PERFORMANCE ASSESSMENT OF P2P ACQUISITION ENGINES
Table A.4: P2P search order considerations showing the number of scans pj of an H0 cell
as a function of the cell number ij .
Standard Path
Index j
···
Nc − 1
Nc
1
-1
0
1
0
1
2
P2P Path cj
98
97
99
···
L−1
P2P cell # ij
96
97
98
99
100
P2P dj
-4
-3
-2
-1
0
P2P pj
8
6
4
2
0
Standard dj
···
P2P Index j
96
···
···
100
In addition, the maximum number of scanned cells is given by L, which is typically
less than Nc , as it is the size of the aiding vector {ce − σc , · · · , ce + σc }. Indeed,
L = 2σc + 1 and is always odd. Moreover, the number of scanned H0 cells (no SIS
present) prior to reaching the H1 cell can be written as a function of dj or even in terms
of the cell number ij :
pj =
(
2dj − 1
−2dj
if dj > 0
if dj ≤ 0,
(
2ij − 1
if ij < ⌊Nc /2⌋
2(Nc − ij )
if ij ≥ ⌊Nc /2⌋.
Obviously, pj is the factor in the summation term (A.17) by which the transition
pj =
time is multiplied. In this case, S is written as a function of the cell index j:
S=
L−1
X
πiGj pij T0 .
(A.20)
j=0
It can be noticed that this factor is expressed as an odd value for cell numbers lying on
the right half-circle with respect to the H1 cell, and as an even number for cell numbers
lying in the left half-circle. The expression of the MAT becomes more intuitive when
we consider that the PDF of the aiding cell is centered around ce = Nc . In fact, Table
A.5 shows that pij = j such that the summation term can be rewritten as:
S=
L−1
X
jπiGj T0 .
j=0
230
(A.21)
A.2 Analysis of the MAT
Table A.5: P2P pj of a simple case where cell aiding has a PDF centered around the true
cell.
P2P Index j
0
1
2
3
4
Simple P2P
Path cj
Nc
Nc − 1
1
Nc − 2
2
P2P cell # ij
Nc
1
2
P2P dj
0
1
Nc − 1
-1
2
P2P pj
0
1
2
3
···
L−1
···
(L − 1)/2
Nc − 2
···
Nc − (L − 1)/2
4
···
L−1
-2
···
(1 − L)/2
If L is replaced by Nc and the probabilities πiGj by 1/Nc in (A.21), a uniform probability search order is simulated for a standard acquisition engine, and the summation
term S equates to:
S=
Nc −1
Nc − 1
1 Nc (Nc − 1)
1 X
T0 =
T0 ,
jT0 =
Nc
Nc
2
2
(A.22)
j=0
which is in accordance with the expression (A.17) for a standard acquisition engine.
Finally, it is worthwile comparing the performance of the different probability search
orders, i.e. uniform probability search order, Gaussian probability search order and
worst-case search order. For the comparison to be fair, it is assumed that the P2P aiding
includes the H1 cell and that the Gaussian probability function is centered around it,
i.e. ce = Nc . Moreover, it is assumed that σc = 6 such that L = 13 candidate cells are
scanned for all three strategies. Figure A.10 shows the performance in terms of MAT
of a P2P serial search with the three possible search orders, assuming a C/N0 of 30
dB-Hz. It is seen that the Gaussian probability distribution order demonstrates the
best performance even if by a slight factor with respect to the uniform order. Moreover,
it is interesting to study the ratio of the MAT relative to a uniform probability order
with respect to a Gaussian search order:
RU G =
=
P 2P
T¯A U
P 2P
T¯A G
1 − Pd
Tc
L−1
T0
(L − 1)T0 +
+
Pd
Pd
2
.
L−1
1 − Pd
Tc X G
jπij T0
(L − 1)T0 +
+
Pd
Pd
j=0
231
(A.23)
A. TECHNIQUE FOR MAT ANALYSIS USING SERIAL SEARCH AND
PERFORMANCE ASSESSMENT OF P2P ACQUISITION ENGINES
Mean acquisition time [s]
MAT and P vs B
x 10
D
thresh
0.4
2.7
0.36
2.4
0.32
2.1
0.28
1.8
0.24
1.5
0.2
1.2
0.9
0.6
0.3
0
1.6
0.16
P2P Worst−case
P2P Uniform
P2P Gaussian
Serial PD
1.5
1.4
0.12
0.08
System Prob of detection
−3
3
0.04
1.3
1.2
1.1
1
Acquisition Threshold B
thresh
0.9
0
0.7
0.8
−3
x 10
Figure A.10: Comparison of a uniform, worst-case and a Gaussian probability search
orders in terms of MAT and PD vs acquisition threshold for a P2P serial acquisition
engine.
In fact, it is shown in FigureA.11 that in general, the constant component in (A.16)
is greater than the S components for both a uniform and a Gaussian probability search
orders. This is not true for a certain range of the acquisition threshold where the acquisition threshold is relatively low. Anyhow, as shown in Figure A.12, even if the ratio of
the sums of both strategies is constant and in favour of the Gaussian probability order
by a slight margin 1.11, the corresponding ratio of pMAT is even lower and approaches
1 for high acquisition threshold values. This is in accordance with Figure A.10 where
the Gaussian probability search order demonstrates a slightly better performance in
terms of MAT than the uniform probability order in a P2P acquisition engine.
A.3
Conclusion
The merit of P2P networks in decreasing the MAT is thoroughly explored in this
appendix. The serial search TC criterion is used to derive the expression of MAT
relative to standard and P2P acquisition engines. To that effect, an innovative tool
is developed in the form of acquisition time and MAT diagrams which help derive,
in an intuitive manner, the expression of the MAT depending on the search strategy.
Furthermore, the terms contributing to the MAT are carefully analyzed and a reduced
232
A.3 Conclusion
−3
1.8
x 10
Constant part of MAT
Uniform Sum S
Gaussian Sum S
MAT components
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
1.6
1.5
1.4
1.3
1.2
1.1
1
Acquisition Threshold B
0.9
0.8
0.7
−3
x 10
thresh
Figure A.11: Comparison of the constant component in the MAT to the sum S components (uniform and Gaussian) vs acquisition threshold for a P2P acquisition engine with a
C/N0 of 30 dB-Hz.
Ratio of MAT and sum S
1.18
Ratio of MAT
Ratio of S
Ratio Uniform/Gaussian
1.16
1.14
1.12
1.1
1.08
1.06
1.04
1.02
1.6
1.4
1.2
1
Acquisition Threshold Bthresh
0.8
0.6
−3
x 10
Figure A.12: Ratio of the uniform and Gaussian sum components as well as their corresponding pMAT with a C/N0 of 30 dB-Hz.
233
A. TECHNIQUE FOR MAT ANALYSIS USING SERIAL SEARCH AND
PERFORMANCE ASSESSMENT OF P2P ACQUISITION ENGINES
search space as well as a new search order is modelled based on a Gaussian probability
distribution of P2P aiding errors.
234
Appendix B
Mean acquisition time of GNSS
peer-to-peer networks
As previously mentioned, the acquisition engine is the most critical block within a
GNSS receiver as all subsequent blocks in the receiver chain depend on it. To that end,
the P2P architecture is studied again in this appendix, where nearby peers share an
additional GNSS aiding information, that is the CNR together with estimates of the
code delay, and Doppler frequency. As previously noted, this results in a reduction of
the search space over which the CAF is evaluated but also helps to initialize the correct
integration time a-priori. The performance improvement in terms of MAT as a result
of the P2P setting is tested against the standard acquisition engine in a comprehensive
way. Indeed, the MAT of a standard acquisition engine is compared to that of a P2P
engine with a thorough investigation of several search strategies including the serial,
MAX and MAX/TC with or without verification. The best strategy yielding the optimum MAT is chosen for each acquisition engine.
The innovative aspect in the MAT study presented in this appendix lies in considering the aforementioned three search strategies in light of the P2P context coupled
with a verification procedure; a double-dwell time detection in the form of an M over
N detector. The impact of this detector declaring the signal present if M out of N tests
are positive is also examined by comparing it to a single-dwell time detector where the
verification process is nonexistent. The use of a verification process is justified according to the penalty time and the optimum acquisition threshold. It is worth mentioning
235
B. MEAN ACQUISITION TIME OF GNSS PEER-TO-PEER
NETWORKS
that at the time of writing this thesis, almost all literature on the computation of the
MAT was either focused on the standard serial search TC criterion [28], [29], a MAX
criterion [30] or a hybrid MAX/TC criterion [31]. All these strategies do not show any
particular interest in the potential aidings received by a P2P network as in [12] where
simulations are performed to assess the MAT using a serial search in the context of a
P2P setting.
In this section, closed form expressions of the MAT relative to the MAX and MAX/TC
criterion with or without verification procedure are derived and used to perform significant comparisons of a standard acquisition engine with respect to various versions of a
P2P acquisition engine. In these comparisons, maximum search strategies are adopted
for a standard acquisition engine with a typically large search space, whereas a serial
search strategy is most appropriate for the P2P acquisition where the search space is
reduced significantly. Moreover, the analysis of the MAT is carried out under weak and
strong signal conditions and the P2P architecture benefits are demonstrated using a
combination of code delay, Doppler frequency aiding and CNR aiding.
B.1
B.1.1
Acquisition and probabilities
Acquisition systems
In the following, a serial P2P ACQ engine is used and compared to a standard acquisition engine which uses maximum search strategies. In a serial search, it is assumed
that the CAF is evaluated or scanned in a starting cell and compared to an ACQ
threshold. If the signal is declared present in the cell, the search process is stopped. If
the signal is declared absent in that cell, the search continues by moving to the next
cell, evaluating the CAF on that cell and applying the detection process cell after cell.
For maximum search strategies, the CAF is evaluated in the whole search space in
parallel and then the decision is made based on the maximum value of the CAF or the
maximum value that passes the ACQ threshold. The MAT for all search strategies is
computed assuming that the search continues indefinitely until the signal is declared
present in a particular cell. In such a setting, the concept of probability of detection
and false alarm is fundamental in evaluating any acquisition time.
236
B.1 Acquisition and probabilities
B.1.2
Cell and system probabilities
Cell and system probabilities are essentially the major cornerstones in the study of
the MAT. Indeed, system probabilities, cell probabilities or even both are used in the
expression of the MAT depending on the search and detection strategy. Cell probabilities are typically used in a serial search but also in a MAX and MAX/TC search
whenever coupled with a double-dwell time detector. While a single-dwell time detector
performs no verification, a double-dwell time detector performs a verification procedure
on a single cell where the received SIS is believed to be present.
B.1.2.1
Cell probabilities
Two hypotheses are defined over each cell, H0 where the chosen cell is called an H0 cell
and does not correspond to the right code delay and Doppler frequency alignment of the
received SIS (Pf a + Pcr = 1) and H1 where the chosen cell is called an H1 cell and does
correspond to the right alignment (Pd +Pmd = 1). Pf a is the cell false alarm probability,
Pcr is the cell probability of correct rejection, Pd is the cell probability of detection
and Pmd is the cell missed detection probability. Coherent integrations are considered
herein, and the CAF envelope is evaluated as R = I 2 + Q2 (non-normalized summation
of the in-phase and quadrature phase signal at the output of the correlators). The cell
and system probabilities expressions can be found in [64]. Moreover, a double-dwell
time detector is considered and represented by an M over N detector. The detection
outcome being the result of a Bernoulli process with probabilities Pd and Pf a , the cell
probabilities of detection and false alarm in verification mode can be written as:
Pd,v
N X
N
Pd m (1 − Pd )N −m
=
m
(B.1)
N X
N
P m (1 − Pf a )N −m
=
m fa
(B.2)
m=M
and
Pf a,v
m=M
B.1.2.2
System probabilities
System probabilities are used when assessing the MAT in the context of a MAX or a
MAX/TC search but also in a serial search whenever coupled with a double-dwell time
detector. In this case, two different hypotheses are defined. Hypothesis H2 applies to
237
B. MEAN ACQUISITION TIME OF GNSS PEER-TO-PEER
NETWORKS
−5
Cell and system probabilities for all search strategies
Cell P
0.7
Cell Pd
0.6
Serial PD
0.5
MAX P
0.4
fa
5
4
D
MAX/TC P
3
D
0.3
2
0.2
1
0.1
0
1.3
Probability of false alarm P
6
0.8
fa
x 10
7
0.9
d
Probabilities of detection P and P
D
1
1.2
1.1
1
0.9
Acquisition Threshold or Maximum value
0
0.8
−4
x 10
Figure B.1: Cell and system probabilities vs ACQ threshold B for various search strategies and a C/N0 equal to 40 dB-Hz
the case where the PRN code that is being tested is actually present in the received
signal, and so the probability rule is PFp A + PM D + PD = 1 where PFp A is the system
probability of false alarm in presence of the PRN code in question. This probability
is also called system probability of error PE . Hypothesis H3 on the other hand, is
defined when the PRN code that is being tested is absent in the received signal, and
the system probability rule becomes PFa A +PCR = 1 where PFa A is the system probability
of false alarm in absence of the PRN code in question. System probabilities summarize
the detection situation in an efficient way and as such the system PD is plotted in
conjunction with the MAT in the following figures. In fact, even if the MAT for a serial
search depends on cell probabilities Pf a and Pd , it is the system PD that summarizes
the behaviour of both cell probabilities. The behaviour in terms of system PD of all
search strategies is summarized in Figure B.1 where all curves are plotted vs the ACQ
threshold except the pure MAX search which is plotted against the possible maximum
value in the CAF. It is intuitive to see that the system PM D and PFa A do not depend
on the search strategy as both entail the search of all cells in any case. However,
PD and PFp A = PE highly depend on the search and detection strategy [64] and are
derived in terms of the acquisition threshold B, the number of cells Nc in the search
space, and the two parameters α and σ relating to signal and noise power. For a
serial as well as MAX/TC search strategy, where the verification is performed over a
238
B.2 MAT analysis using different search strategies
single cell, the overall system probabilities are defined as the product of the system
T ot = P P
and cell probabilities, i.e. overall probability of detection is PD,v
D d,v and overall
T ot = P P
probability of error as PE,v
E f a,v . However, the system probabilities are expressed
differently for a pure MAX search strategy where the maximum is chosen without
comparing it to a threshold. In fact, in this case, the PM D is null (PD + PE = 1), and
the verification process is performed by searching the whole search space all over again
(instead of just a single cell) and verifying that the maximum corresponds to the same
cell in consideration for at least M times:
T ot
PD,v
= PD PD,v = PD
N X
N
P m (1 − PD )N −m
m D
(B.3)
N X
N
P m (1 − PE )N −m .
m E
(B.4)
m=M
and
T ot
PE,v
= PE PE,v = PE
m=M
B.2
MAT analysis using different search strategies
In this section, the MAT is introduced considering different search strategies, from
serial to pure MAX as well as MAX/TC coupled with a double-dwell time detector, i.e.
the M over N detector as a verification process. In the literature, a robust procedure
to compute the MAT is mainly based on the pgf. The whole procedure to derive the
MAT is presented for a MAX/TC with single as well as double-dwell time verification
and all search strategies are confronted amongst themselves. Moreover, MAT curves as
a function of the acquisition threshold are used to justify the presence or absence of a
verification procedure.
B.2.1
Serial search
The serial single-dwell time search strategy consists in evaluating the CAF in a specific
cell and serially moving to the next cells in some specified direction and order until
the H1 cell is found, i.e. the cell which holds the correct PRN code, Doppler frequency
and code delay. A double-dwell time detector on the other hand, applies a further
verification procedure only on the cells where it is believed that the signal is present.
This cell can be both an H0 or an H1 cell. A decision flow graph diagram has long
been adopted in the literature as a procedure to determine the MAT for a serial search
239
B. MEAN ACQUISITION TIME OF GNSS PEER-TO-PEER
NETWORKS
[28]. This method defines the gain functions that govern the transition from one cell to
another, in order derive the system pgf PACQ (z). The MAT is then given by the flow
graph technique described as:
d
E[TA ] = PACQ (z)
dz
.
(B.5)
z=1
The time needed to test a single cell is denoted as Tc seconds, and is a function of
the integration time Ti . Moreover, after a false acquisition, the system goes through a
penalty time Tp in the tracking stage which is usually taken to be the tracking transient
time (around 500 ms) of a successful tracking operation. In general, two options are
considered for setting the starting cell; uniform probability where the probability to
start from a specific cell is the same for all cells, and worst-case probability which
is equivalent to scanning the H1 cell in the last position [29]. A similar analysis is
performed for a double-dwell time detector in [30] and the corresponding MAT is found
in Table B.1 where Tv is the duration of the verification procedure. The expressions in
Table B.1 are used to compute the MAT for a range of ACQ thresholds. The curves in
Figure B.2 are obtained, which yield an interesting comparison of the performance of
a single and double-dwell time detectors in terms of MAT. In fact, examining a singledwell time detector, the behavior of both curves relative to a uniform and worst-case
probability search orders are similar; the MAT decreases with increasing PD , continues
decreasing with decreasing PD and then unexpectedly starts increasing. This is the
point where the term Tp Pf a starts weighing on the system with respect to Tc (see
expression in Table B.1). It is worth mentioning that the curves are plotted assuming
a range of increasing cell Pf a values, to which corresponds a decreasing acquisition
threshold values and consequently an increasing and a decreasing system PD as can
be seen from Figure B.1. In fact, as the acquisition threshold is decreased, a higher
Pf a is expected together with a lower system PD . Consequently, in the absence of a
penalty time due to wrong acquisition, a decreasing MAT is expected corresponding to
an increasing Pd and a decreasing PD and B. Hence, at times where Tp Pf a is relatively
low with respect to Tc , the MAT and PD as well as B are directly proportional. The
opposite is true for relatively high values of Tp Pf a with respect to Tc , corresponding
to PD < 0.1 considered as the inflection point of the curve relative to the uniform
probability search order with Tp = 500 ms. In this portion of the plot, the MAT of
a single-dwell time detector and PD are inversely proportional. This inflection point
240
B.2 MAT analysis using different search strategies
Serial single vs double−dwell time MAT and P vs B
D
thresh
0.4
0.8
0.32
0.6
0.24
0.4
0.16
PD
MAT [s]
1
0.2
0
13
Standard Worst−case
Standard Uniform
Standard Uniform with verification
Serial P
0.08
D
12
11
10
9
8
Acquisition Threshold Bthresh
0
6
7
−5
x 10
Figure B.2: MAT vs ACQ threshold indicating the range of the ACQ threshold for which
a verification procedure is justified.
moves to the left as the penalty time increases. In this way, depending on the penalty
time, the use of a double-dwell time detector can be justified or not over a single dwell
time detector with no verification. In this case, the use of a double-dwell time detector
is not justified for the optimum value of B = Bopt , i.e. the value of B yielding the
minimum MAT. In fact, it can be seen that for B = Bopt the curve with verification
results in a slightly higher MAT value than that corresponding to a single-dwell time.
Conversely, beyond the inflection point, the MAT of a double-dwell time detector and
PD are directly proportional. This is of course due to the fact that when adopting a
verification process, even if the acquisition threshold is not set correctly, it is less likely
that the CAF crosses the threshold over a wrong cell for several consecutive instances,
and so the penalty time is avoided more often and does not weigh on the system for
high Pf a . In fact, looking at Table B.1, the term Tp Pf a becomes Tp Pf a Pf a,v , making
it harder to be relatively bigger than Tc and Tv Pf a .
B.2.2
MAX search
The pure maximum or MAX search strategy is based on the evaluation of the whole
search space and picking the cell which holds the maximum value of the CAF without
comparing it to a threshold. This strategy is particularly useful in a P2P environment
where an indication of the presence of a particular SIS by nearby peers is most likely
241
B. MEAN ACQUISITION TIME OF GNSS PEER-TO-PEER
NETWORKS
Table B.1: MAT of serial search strategies
Strategy
MAT
Serial
Tc
(Nc − 1)
+
(Tc + Tp Pf a )
Pd
Pd
Worst-case
Serial
Tc
+
Pd
Uniform
Nc − 1
2
2 − Pd
Pd
Tc + Tv Pd
+
Pd Pd,v
Serial
uniform with
verification
2 − Pd Pd,v
Pd Pd,v
(Tc + Tp Pf a )
Nc − 1
2
·
(Tc + Tv Pf a + Tp Pf a Pf av )
to be true. In this case, there is no need to compare the maximum CAF value against
a threshold. To derive an expression of the MAT, a similar approach as presented
for the serial search can be followed, drawing a flow graph diagram and deriving the
corresponding pgf [30] to deduce the MAT with (B.5). This is a fairly simple procedure
for a single-dwell time detector, whereas the situation gets more complex for a doubledwell time detector. In fact, as previously mentioned in Section B.1.2.2, the verification
process for a MAX approach consists in computing the whole search space at least N
times, instead of just a single cell. Assuming that Ts is the time spent to evaluate
the whole CAF, the pMAT for a MAX approach are reported in Table B.2 where
PM D,v = 1 − PD (1 − PD,v ). As expected, the double-dwell time detector expression is
simplified to that of the single-dwell detector when PD,v and PE,v are replaced by 1
and Tv = 0 for a single-dwell time detector.
B.2.3
MAX/TC search
Unlike the MAX search, the MAX/TC search picks the cell relative to the maximum
of the CAF and compares its value to the acquisition threshold. In this case, the flow
242
B.2 MAT analysis using different search strategies
ACQ
+
HM(z)
HD(z)
Ȉ
+
Collect N
samples
HFA(z)
HP(z)
Figure B.3: MAX/TC single-dwell time acquisition flow graph.
ACQ
HDV(z)
HMV(z)
HD1(z)
Collect N
samples
+
HM1(z)
+
Ȉ
+
HNFAV(z)
HFA1(z)
HFAV(z)
HP(z)
Figure B.4: MAX/TC double-dwell time acquisition flow graph.
graph diagram includes an additional gain function HM (z) representing the case of an
immediate missed detection as seen in Figure B.3.
The gain functions here are HD (z) = PD z Ts , H0 (z) = HF A (z) Hp (z) = PE z (Ts +Tp ) ,
HM (z) = PM D z Ts and H0M (z) = HM (z) + HF A (z) Hp (z) with a pgf of PACQ (z) =
HD (z)/(1 − H0M (z)). As in the serial search, the verification procedure is applied
when the SIS is declared present, such that the acquisition flow graph for the doubledwell time detector is represented in Figure B.4. In this case, the gain functions are
written as HD (z) = HD1 (z)HDV (z) = PD Pd,v z (Ts +Tv ) , HM (z) = HD1 (z)HM V (z) =
PD (1−Pd,v )z (Ts +Tv ) , and H0M (z) = HM 1 (z)+HF A1 (z)[HN F AV (z)+HF AV (z)Hp (z)] =
PM D z Ts +PE (1−Pf a,v )z (Ts +Tv ) +PE Pf a,v z (Ts +Tv +Tp ) and the pgf is equal to PACQ (z) =
HD (z)/([1 − H0M (z)][1 − HM (z)]). The MAT for the single-dwell time detector as
reported in Table B.2 is obtained after substituting its pgf into (B.5). In a similar way,
243
B. MEAN ACQUISITION TIME OF GNSS PEER-TO-PEER
NETWORKS
Table B.2: MAT of MAX and MAX/TC search strategies
MAX
MAX/TC
MAX with
verification
Ts
+
PD
Ts + Ts
1 − PD
PD
Tp
PM D
PE
+ (Ts + Tp )
PD
PD
PD,v Ts + Tv
1 − PD
+
(Ts + Tv + Tp PE,v )
PM D,v PM D,v
PD
MAX/TC with
verification
(B.6)
the MAT of a double-dwell time detector is obtained:
Pd,v
[Ts PM D + PE (Ts + Tv + Tp Pf a,v )]
PD PM D,v
!
Pd,v
PD Pd,v (1 − Pd,v )
+ (Ts + Tv )
+
2
PM D,v
PM
D,v
T¯A =
(B.6)
Figure B.5 shows the MAT curves vs ACQ threshold relative to all three considered
search strategies with a single-dwell time detector. In summary, for the minimum MAT
values of each strategy, the MAX/TC together with the MAX strategy is the most
performant strategy. The MAT values relative to both maximum search strategies are
less than those of the serial search by almost two orders of magnitude and so maximum
search strategies will be used in the next section as the optimum search strategy for a
standard ACQ engine.
B.3
Performance comparison of standard and P2P acquisition engines
In this section, standard and special P2P acquisition engines are confronted in terms
of MAT. To guarantee a fair comparison, a MAX or MAX/TC approach is selected
for the standard ACQ engine whereas a serial search is opted for the P2P ACQ engine
244
B.3 Performance comparison of standard and P2P acquisition engines
Standard acquisition engine in cold start
1
MAT [s]
0.8
0.6
Serial Uniform
MAX
MAX/TC
0.4
0.2
X: 0.0001204
Y: 0.0152
0
1.3
1.2
1.1
1
Acquisition Threshold B
thresh
0.9
0.8
−4
x 10
Figure B.5: Performance comparison of all three search strategies using a standard ACQ
engine and a single-dwell time detector with a C/N0 = 40 dB-Hz and a Ti = 1 ms.
such that the best possible search is adopted for each case. In fact, a serial search is
usually the best choice for a P2P architecture where the search space is reduced to
a few cells over which the CAF is computed. This is done by providing code delay
and Doppler frequency aiding with a certain accuracy, depending on the topology and
synchronization of the network [65]. Moreover, an innovative acquisition approach,
particularly favorable for weak signal conditions, is explored in a P2P setting where
the coherent integration time is set on the basis of the estimated C/N0 value made
available by the P2P network [65].
B.3.1
Standard MAX search vs P2P serial search
For a time and frequency synchronized network to less than a µs and less than a tenth
of Hertz, the P2P architecture offers an aiding which can reduce the search space to a
few chips and most likely a single Doppler step. The number of these candidate cells
depends on the code delay and Doppler frequency step used in the acquisition engine.
The code delay step is usually half a chip whereas the Doppler frequency step is set
empirically to ∆f = 2/(3Ti ). The MAT of a P2P network is computed using the same
system probabilities as those computed for a standard ACQ engine. This is because
although only L candidate cells are scanned in the P2P case, the remaining cells are
nontheless existent and associated with a certain cell Pf a and Pd . The only difference in
245
B. MEAN ACQUISITION TIME OF GNSS PEER-TO-PEER
NETWORKS
−4
P2P serial MAT
x 10
P2P Uniform MAT
Serial PD
3.2
0.4
0.35
2.2
0.3
PD
MAT [s]
2.7
1.7
1.2
1.3
0.25
1.2
1.1
1
Acquisition Threshold
0.2
0.8
0.9
−4
x 10
Figure B.6: MAT and system PD performance of a P2P engine using a serial search with
a C/N0 = 40 dB-Hz and a Ti = 1 ms.
the MAT is the scanning time, and to account for that, Nc is replaced by L the number
of P2P candidate cells in the serial case, and Ts is replaced by the corresponding P2P
reduced search space scanning time for the MAX and MAX/TC case. Assuming a C/N0
equal to 40 dB-Hz, Figure B.7 compares the performance of a standard ACQ engine
(shown individually in Figure B.6) using a MAX search to that of a P2P ACQ engine
using a serial search. The plot also shows on the right vertical axis, the system PD for
each search strategy. First and foremost, the optimum MAT of a P2P serial search is
one order of magnitude lower than that of a standard MAX search (0.17 ms compared
to 17.5 ms). Moreover, the MAT curve of the MAX search grows exponentially with
decreasing maximum CAF value compared to the decreasing MAT of the P2P serial
search with decreasing acquisition threshold as shown in Figure B.6. In fact, when
the maximum value of the CAF is not so high, the MAT of a MAX search increases
drastically together with a decreasing system PD . This suggests that the MAX search
is not a controllable environment and can yield very bad results. Similarly, Figure
B.8 compares the performance of a standard ACQ engine using a MAX/TC search to
that of a P2P serial search engine. The superior performance conveyed by the P2P
architecture is demonstrated in this figure as well.
246
B.3 Performance comparison of standard and P2P acquisition engines
Standard MAX MAT vs P2P serial MAT
5
1
0.6
D
Serial P
D
3
0.8
Standard MAX MAT
P2P Serial MAT
Maximum P
P
MAT [s]
4
D
2
0.4
1
0.2
0
1.3
1.2
1.1
1
0.9
Acquisition Threshold or Maximum Value
0
0.8
−4
x 10
Figure B.7: Performance of a P2P ACQ engine using a serial search compared to a
standard ACQ engine using a MAX search with a C/N0 = 40 dB-Hz and a Ti = 1 ms.
0.6
Standard MAX/TC MAT vs P2P serial MAT
0.5
0.5
Standard MAX/TC MAT
P2P Serial MAT
MAX/TC P
0.45
0.4
Serial P
0.4
D
0.3
0.35
0.2
0.3
0.1
0.25
0
1.3
1.2
1.1
1
Acquisition Threshold B
thresh
PD
MAT [s]
D
0.2
0.8
0.9
−4
x 10
Figure B.8: Performance of a P2P ACQ engine using a serial search compared to a
standard ACQ engine using a MAX/TC search with a C/N0 = 40 dB-Hz and a Ti = 1 ms.
247
B. MEAN ACQUISITION TIME OF GNSS PEER-TO-PEER
NETWORKS
B.3.2
Standard MAX search vs CNR aided P2P serial search
A new P2P acquisition approach is analyzed herein, based on the C/N0 aiding information shared by nearby peers. This approach consists in setting the integration time
as a function of the weighted P2P CNR, the acquisition metric SNRc , noncoherent
accumulations L, and the receiver bandwidth B with the aim of decreasing the MAT
[65]. Using the equation reported in [65], the coherent integration time with no noncoherent accumulations can be obtained. In fact, Ti = 25 ms for a C/N0 = 20 dB-Hz, an
acquisition metric of 4 dB, an IF bandwidth B of 1.023 MHz and a sampling frequency
of 2.046 MHz. In order to assess the impact of the integration time setting according
to the CNR, it is worth checking the MAT performance in weak signal conditions.
For a CNR of 20 dB-Hz and a typical Ti = 1 ms, the MAT of both strategies, standard
MAX/TC and a P2P serial ACQ engine, significantly increases with a highly unreliable
system PD of the order of 10−5 . Using this motivation, for the same C/N0 = 20 dB-Hz,
Figure B.9 shows the extent by which the CNR aided P2P acquisition is more performant in terms of MAT than the usual P2P engine with no integration time setting.
It is worth noting how this figure summarizes the relationship between the system PD
and the MAT. Indeed, as the system PD relative to the usual P2P acquisition is much
lower than that of the CNR aided P2P acquisition, its corresponding MAT is higher
by an order of magnitude. Both curves show the same decreasing trend, which can be
interpreted, following the same line of thought presented in Section B.2.1, i.e. the fact
that Tp Pf a is relatively small with respect to Tc .
B.4
Conclusion
The MAT of a serial, MAX and MAX/TC search strategies with or without verification
have been analyzed herein, and closed form expressions have been derived using the
acquisition flow graph technique. The performance improvement contributed by a P2P
network in terms of MAT is thoroughly investigated by exploring two types of aiding,
code delay and Doppler frequency aiding from one side and CNR from another. It is
shown that together with the aiding available to reduce the search space, exploiting the
CNR aiding to set an appropriate integration time, further reduces the MAT especially
in weak signal conditions.
248
B.4 Conclusion
−3
2
P2P Serial MAT
P2P Serial C/N aided MAT
x 10
2
0
1.6
1.6
Serial PD
Serial C/N aided P
D
0.8
0.8
0.4
0.4
D
1.2
P
MAT [s]
0
1.2
0
0
1
2
3
4
5
Cell probability of false alarm P
fa
0
7
6
−5
x 10
Figure B.9: Performance of a P2P serial ACQ engine in both cases: Ti = 1 ms and an
integration time set according to the P2P C/N0 aiding, i.e. Ti = 25 ms with a C/N0 = 20
dB-Hz.
249
B. MEAN ACQUISITION TIME OF GNSS PEER-TO-PEER
NETWORKS
250
References
[1] J. Bao and Y. Tsui. Fundamentals of Global Positioning System Receivers. John
Wiley & Sons, Hoboken, New Jersey, second edition, 2005. 1
[2] S. Gleason and D. Gebre-Egziabher. GNSS applications and methods. Artech
House, Boston, Massachussets, 2009. 1, 4, 5, 36, 77, 80, 81
[3] F. Van Diggelen. High Sensitivity: Indoor GPS. In A-GPS: Assisted GPS,
GNSS, and SBAS, pages 133–139. Artech House, 2009. 3, 26
[4] P.A. Roncagliolo and J.G. Garcia. High Dynamics and False Lock
Resistant GNSS Carrier Tracking Loops. In Proceedings of the 20th International Technical Meeting of the Satellite Division of The Institute of Navigation
(ION GNSS 2007), pages 2364 – 2375, Fort Worth, TX, September 2007. 4, 49,
74, 100, 102
[5] P.L. Kazemi. Development of New Filter and Tracking Schemes for Weak GPS
Signal Tracking. PhD thesis, Department of Geomatics Engineering, University of
Calgary, Canada, May 2010. 4, 49, 96, 97, 100, 101, 102
[6] J.T. Curran. Weak Signal Digital GNSS Tracking Algorithms. PhD thesis, Department of Electrical and Electronic Engineering, National University of Ireland,
Cork, Ireland, November 2010. 4, 25, 45, 55, 61, 62, 66, 72, 74
[7] P.W. Ward. A Design Technique to Remove the Correlation Ambiguity
in Binary Offset Carrier (BOC) Spread Spectrum Signals. In Proceedings of the 59th Annual Meeting of The Institute of Navigation and CIGTF 22nd
Guidance Test Symposium, pages 146–155, Albuquerque, NM, June 2003. 5, 81
251
REFERENCES
[8] P.A. Bello and R.L. Fante. Code Tracking Performance for Novel Unambiguous M-Code Time Discriminators. In Proceedings of the 2005 National Technical Meeting of The Institute of Navigation, pages 293 – 298, San
Diego, CA, January 2005. 5, 81
[9] O. Julien. Design of Galileo L1F receiver tracking loops. PhD thesis, Department
of Geomatics Engineering, University of Calgary, Canada, July 2005. 5, 68, 81,
176, 183
[10] M.S. Hodgart, P.D. Blunt, and M. Unwin. Double estimator a new
receiver principle for tracking BOC signals. Inside GNSS, 2008. 5, 81, 86
[11] A. Jovanovic, C. Mongredien, Y. Tawk, C. Botteron, and P.A. Farine.
Two-step Galileo E1 CBOC tracking algorithm: when reliability and
robustness are keys!
International Journal of Navigation and Observation,
12(135401):14, Jan. 2012. 5, 81, 82, 83
[12] N. Kassabian and L. Lo Presti. Technique for MAT Analysis and Performance Assessment of P2P Acquisition Engines. In Position, Location
and Navigation Symposium (PLANS) conference, Myrtle Beach, South California,
US, April 2012. 8, 236
[13] N. Kassabian and L. Lo Presti. Mean acquisition time of GNSS peerto-peer networks. In Localization and GNSS (ICL-GNSS), 2012 International
Conference on, June 2012. 8, 213
[14] G. Falco, N. Kassabian, and L. Lo Presti. First Joint GPS/IOV-PFM
Galileo PVT estimation using carrier phase measurements. In European
Navigation Conference, April 2012. 8
[15] N. Kassabian, G. Falco, and L. Lo Presti. A flight in the Piedmont
region for water surface detection and altimetry experimentation. In
IEEE International Geoscience and Remote Sensing Symposium IGARSS, July
2012. 9
[16] N. Kassabian and Y. Morton. Galileo Tracking Performance Under
Ionosphere Scintillation. In Fourth International Colloquium on Scientific and
Fundamental Aspects of the Galileo Programme, December 2013. 9
252
REFERENCES
[17] N. Kassabian and Y. Morton. Extended Integration Time for Galileo
Tracking Robustness Under Ionosphere Scintillation. In IEEE/ION Position, Location and Navigation Symposium (PLANS) conference, Monterey, California, US, May 2014. 9
[18] N. Kassabian and Y. Morton. Assessment of Galileo OS Signals and
Tracking Algorithms During Equatorial Ionosphere Scintillation. unpublished.
[19] J.M. Juan Zornoza J. Sanz Subirana and M. Hernandez-Pajares. GNSS
data Processing, Vol. I: Fundamentals and Algorithms. ESA Communications,
Noordwijk, the Netherlands, 2013. 12, 13
[20] B.R. Rao, W. Kunysz, R. Fante, and K. McDonald. GPS/GNSS Antennas.
Artech House, Incorporated, 2012. 12
[21] European GNSS (Galileo) Open Service Signal In Space Interface Control Document (SIS ICD). Technical report, Brussels, February 2010. 16, 17,
18, 21, 22, 24, 30, 173
[22] T.E. Humphreys, M.L. Psiaki, J.C. Hinks, B.W. O’Hanlon, and
P.M. Kintner Jr. Simulating Ionosphere-Induced Scintillation for Testing GPS Receiver Phase Tracking Loops. IEEE Journal of Selected Topics
in Signal Processing, 3(4), 2009. 24, 33
[23] A. J. Van Dierendonck.
GPS Receivers.
In W.P. Bradford and
J.J. Spilker Jr., editors, Global positioning systems: Theory and Applications
Volume I, pages 378–394. AIAA, 1996. 25, 27, 58
[24] V.F. Kroupa. Phase Lock Loops and Frequency Synthesis. John Wiley & Sons,
Ltd, Chichester, UK, 2003. 26, 43, 46
[25] M.S. Sharawi, D.N. Aloi, and D.M. Akos. GPS C/N0 estimation in the
presence of interference and limited quantization levels. Aerospace and
Electronic Systems, IEEE Transactions on, 43(1):227–238, January 2007. 26
253
REFERENCES
[26] A. J. Van Dierendonck, J. Klobuchar, and Q. Hua. Ionospheric Scintillation Monitoring Using Commercial Single Frequency C/A Code Receivers. In Proceedings of ION GPS-93, pages 1333 – 1342, Salt Lake City, UT,
September 1993. 33
[27] F. Niu. Performance of GPS Signal Observables Detrending Methods for Ionosphere Scintillation Studies. Master’s thesis, Department of Electrical and Computer Engineering, Miami University, Oxford, Ohio, December 2012. 35
[28] J.K. Holmes. Spread Spectrum Systems For GNSS And Wireless Communications. Artech House, Boston, London, 2007. 39, 218, 236, 240
[29] A. Polydoros and C. Weber. A Unified Approach to Serial Search
Spread-Spectrum Code Acquisition - Part I: General Theory. IEEE
Transactions on communications, 32(5):542–549, May,1984. 39, 219, 236, 240
[30] J.H.J. Iinatti. On the threshold setting principles in code acquisition of
DS-SS signals. IEEE journal on selected areas in communications, 18(1):62–72,
January,2000. 39, 236, 240, 242
[31] G.E. Corazza. On the MAX-TC Criterion for Code Acquisition and Its
Application to DS-SSMA Systems. IEEE Transactions on communications,
44(9):1173–1182, September,1996. 39, 236
[32] A.G. Dempster N.C. Shivaramaiah and C. Rizos. Exploiting the Secondary Codes to Improve Signal Acquisition Performance in Galileo
Receivers. In Proceedings of the 21st International Technical Meeting of the
Satellite Division of The Institute of Navigation (ION GNSS 2008), pages 1497 –
1506, Savannah, GA, September 2008. 40
[33] P.W. Ward. Performance comparisons between FLL, PLL and a novel
FLL-assisted-PLL carrier tracking loop under RF interference conditions. In Proceedings of the 11th International Technical Meeting of the Satellite
Division of The Institute of Navigation (ION GPS 1998), pages 783–795, Nashville,
TN, September 1998. 41
254
REFERENCES
[34] A. Razavi, D. Gebre-Egziabher, and D.M. Akos. Carrier Loop Architectures for Tracking Weak GPS Signals. Aerospace and Electronic Systems,
IEEE Transactions on, 44(2), April, 2008. 41
[35] F.M. Gardner. Phaselock Techniques. John Wiley & Sons, Inc., Hoboken, NJ,
USA, third edition, 2005. 46, 96, 98
[36] S.A. Stephens and J.B. Thomas. Controlled-root formulation for digital
phase-locked loops. Aerospace and Electronic Systems, IEEE Transactions on,
31(1):78–95, Jan. 1995. 49, 96
[37] E.D. Kaplan, editor. Understanding GPS: Principles and Applications. Artech
House, Boston, London, 1996. 49, 55, 58, 59, 68, 69, 72, 77, 96, 97, 99
[38] S.C. Gupta. On optimum digital phase-locked loops. Communication Technology, IEEE Transactions on, 16(2):340–344, April 1968. 49, 96, 100, 101
[39] A.J. Viterbi. Principles of Coherent Communication. MacGraw-Hill, New York,
1966. 56
[40] W. Hagmann and J. Habermann. On the phase error distribution of
an open loop phase estimator. In Communications, 1988. ICC ’88. Digital Technology - Spanning the Universe. Conference Record., IEEE International
Conference on, pages 1031–1037 vol.2, Philadelphia, PA, USA, June 1988. 62
[41] R.L. Fante. Unambiguous Tracker for GPS Binary-Offset-Carrier Signals. In Proceedings of the 59th Annual Meeting of The Institute of Navigation
and CIGTF 22nd Guidance Test Symposium, pages 141–145, Albuquerque, NM,
June 2003. 81
[42] K. Borre, D.M. Akos, N. Bertelsen, P. Rinder, and S.H. Jensen. A
Software-defined GPS and Galileo Receiver. A Single-frequency Approach. Applied
and Numerical Harmonic Analysis. Boston, MA: Birkhuser, 2007. 96, 98
[43] W. Dunham. Journey through genius: the great theorems of mathematics. Wiley,
New York, 1990. 116
255
REFERENCES
[44] A.V. Oppenheim and S.W. Alan with S.H. Nawab. Signals and Systems,
2nd edition. Prentice Hall Inc., New Jersey, 1983. 117
[45] K. Ogata. Modern Control Engineering. Prentice Hall Inc., Upper Saddle River,
New Jersey, third edition, 2003. 133
[46] J.W. Betz. Design and Performance of Code Tracking for the GPS M
Code Signal. In Proceedings of the 13th International Technical Meeting of the
Satellite Division of The Institute of Navigation (ION GPS 2000), pages 2140 –
2150, Salt Palace Convention Center, Salt Lake City, UT, September 2000. 173
[47] P.W. Ward, J.W. Betz, and C.J. Hegarty. GPS satellite signal acquisition and tracking. In E.D. Kaplan, editor, Understanding GPS: Principles
and Applications, pages 119–208. Artech House, 1996. 176, 225
[48] J.W. Betz and K.R. Kolodziejski. Generalized Theory of Code Tracking with an Early-Late Discriminator Part I: Lower Bound and Coherent Processing. Aerospace and Electronic Systems, IEEE Transactions on,
45(4):1538–1556, 2009. 182
[49] J.W. Betz and K.R. Kolodziejski. Generalized Theory of Code Tracking
with an Early-Late Discriminator Part II: Noncoherent Processing and
Numerical Results. Aerospace and Electronic Systems, IEEE Transactions on,
45(4):1557–1564, 2009. 182
[50] X. Mao and Y. Morton. GNSS Receiver Carrier Tracking Loop Impact
on Ionosphere Scintillation Signal C/N0 and Carrier Phase Estimation.
In Proceedings of ION GNSS+, Nashville, TN, September 2013. 196
[51] M. Martin-Neira. A passive reflectometry and interferometry system
(PARIS): application to ocean altimetry. ESA Journal, (17):331–355, 1993.
203
[52] A.K. Fung, C. Zuffada, and C. Y. Hsieh. Incoherent Bistatic Scattering
from the Sea Surface at L-Band. IEEE Transactions on Geoscience and
Remote Sensing, 39(5):1006–1012, May 2001. 203
256
REFERENCES
[53] C. Zuffada, T. Elfouhaily, and S. Lowe. Deriving Near-Surface Wind
Vector With Ocean Reflected GPS Signals: Simulations And Measurements. submitted for publication in Remote Sensing of the Environment, March
2001. 203
[54] S.T. Lowe, C. Zuffada, Y. Chao, P. Kroger, J.L. LaBrecque, and L.E.
Young. 5-cm-Precision aircraft ocean altimetry using GPS reflections.
Geophysical research letters, 29(10):13–1, 2002. 203
[55] R. N. Treuhaft, S. T. Lowe, C. Zuffada, and Y. Chao. 2-cm GPS
altimetry over Crater Lake. Geophysical research letters, 28(23):4343–4346,
2001. 203
[56] R. Hatch. Dynamic Differential GPS at the Centimeter Level. In Proceedings of the Fourth International Geodetic Symposium on Satellite Positioning,
Las Cruces, NM, April 1986. 203
[57] P.J.G. Teunissen. The least-squares ambiguity decorrelation adjustment: a method for fast GPS integer ambiguity estimation. Journal
of Geodesy, 70(1-2):65–82, November 1995. 203
[58] A. Helm. Ground-based GPS altimetry with the L1 OpenGPS receiver
using carrier phase-delay observations of reflected GPS signals. Scientific
technical report STR08/10, Potsdam : Deutsches GeoForschungsZentrum GFZ,
October 2008. 204
[59] D. Masters, P. Axelrad, and S. Katzberg.
Initial results of land-
reflected GPS bistatic radar measurements in SMEX02. Elsevier Inc.
Remote Sensing of Environment, 92:507–520, May 2004. 204
[60] S. Esterhuizen. The Design, Construction, and Testing of a Modular GPS
Bistatic Radar Software Receiver for Small Platforms. Master’s thesis, Department
of Electrical and Computer Engineering, 2006. 204
[61] P. Misra and P. Enge. Global Positioning System: Signals, Measurements, and
Performance. Ganga-Jamuna Press, second edition, 2006. 205
257
REFERENCES
[62] M. Caparrini, L. Ruffini, and G. Ruffini. PARFAIT: GNSS-R coastal
altimetry. In Workshop on Oceanography with GNSS Reflections, Barcelona,
Spain, November 2003. 205
[63] S. Gleason, S. Lowe, and V. Zavorotny. GNSS Applications and Methods. In S. Gleason and D.G. Egziabher, editors, Remote sensing using bistatic
GNSS reflections, pages 399–436. Artech House, Nordwood, MA, 2009. 206
[64] D. Borio, L. Camoriano, and L. Lo Presti. Impact of GPS Acquisition
on Decision Probabilities. Aerospace and Electronic Systems, IEEE Transactions on, 44(3), July, 2008. 215, 216, 237, 238
[65] D. Margaria, N. Kassabian, L. Lo Presti, and J. Samson. A New Peerto-Peer Aided Acquisition Approach Exploiting C/N0 aiding. In 5th ESA
Workshop on Satellite Navigation Technologies, ESTEC, Noordwijk, The Netherlands, 8-10 December 2010. 224, 245, 248
258
Download