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