Advanced Algorithmic and Architecture Designs for ...

83 downloads 1154 Views 13MB Size Report
frequencies, and the Search and Rescue (SAR) service for Galileo. ...... The next step after navigation data recovery is to decode the navigation message to find the ...... Note that except the Stereo front-end and its corresponding laptop, all the.
Advanced Algorithmic and Architecture Designs for Future Satellite Navigation Receivers THÈSE N. 5770 2013 PRÉSENTÉE le 29 AVRIL 2013 À LA FACULTÉ SCIENCES ET TECHNIQUES DE L’INGÉNIEUR LABORATOIRE D’ÉLECTRONIQUE ET TRAITEMENT DU SIGNAL SECTION DE MICROTECHNIQUE

ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE POUR L’OBTENTION DU GRADE DE DOCTEUR ÈS SCIENCES

PAR

Youssef TAWK

Acceptée sur proposition du jury: Prof. Herbert Shea, président du jury Prof. Pierre-André Farine, directeur de thèse Dr. Cyril Botteron, co-directeur de thèse Dr. Jan Skaloud, rapporteur Dr. Phillip Tomé, rapporteur Dr. Marcel Baracchi Frei, rapporteur

Neuchâtel, 2013

A little knowledge that acts is worth infinitely more than much knowledge that is idle. — Gibran Khalil Gibran

To my family . . .

Abstract The use of global navigation satellite system (GNSS) receivers for navigation still presents many challenges, in particular in urban canyon and indoor environments where satellite availability is reduced and received signals are usually much attenuated. In addition, the reception of additional signal replicas due to reflections on the surrounding environment, i.e. multipath, introduces biases in the pseudorange measurements, which in turn lead to extra positioning errors. The navigation performance of a GNSS receiver depends greatly on the behavior of the phase lock loop (PLL) and the delay lock loop (DLL). To maintain the robustness of these loops in such conditions, several enhancement methods can be implemented to improve upon standard stand-alone mass market receivers. For instance, well-known techniques include the use of multi-constellations to improve the availability of visible satellites, take advantage of the potential multipath mitigation of the new GNSS signals, and an increase of the integration time combined with a decrease of the PLL and DLL filters bandwidths to improve sensitivity. Moreover, external aiding in the form of time, Doppler, position, or almanac that can be provided through coupling with other sensors can also contribute substantially in improving navigation performance in challenging environments. The aim of this dissertation is to address the challenges of satellite based navigation in demanding environments in order to improve the navigation performance of the future GNSS receivers. Within this context, two research directions are adopted in this thesis. The first is to explore the performance and advantages of the upcoming Galileo signals and in particular the E5 Alternate Binary Offset Carrier AltBOC(15,10), and the second is to investigate the potential of low-cost micro-electro-mechanical systems (MEMS) based inertial sensors to complement GNSS receivers. In the first research direction, we present investigations of the processing of Galileo E5ab in a full band or of only one of its components, i.e. either E5a or E5b. More v

Abstract specifically, a new acquisition algorithm is proposed for wiping off the secondary code and thereby increase the coherent integration time while requiring a reasonable implementation complexity as compared to other architectures. Moreover, an architecture for tracking the E5 pilot channel as an AltBOC(15,10) or BPSK(10) modulation is introduced, and the performance of well-known discriminator types is analyzed using analytical derivations and simulations of linearity and stability regions, thermal noise tracking errors, multipath error envelopes and tracking thresholds. Different parameters, such as the front-end filter bandwidth, the early/late chip spacing, unnormalized and normalized discriminators, are taken into consideration. The results we obtain are used to illustrate the main advantages and drawbacks of using the E5 signal in demanding environments as well as to help defining the main tracking loop parameters for an enhanced performance. In the second research direction, we consider the coupling of a global positioning system (GPS) receiver with an inertial navigation system (INS) based on MEMS sensors. In the past, one of the main constraints holding back the proliferation of such hybrid systems was the price of the inertial sensors, but with the widespread dissemination of MEMS-based sensors this is no longer the case. Therefore, a GPS/INS Tightly Coupled Assisted PLL (TCAPLL) architecture is proposed in this dissertation, and most of the associated challenges that need to be addressed when dealing with verylow-performance MEMS inertial sensors are presented. The architecture includes a data monitoring system responsible for checking the quality of the measurement flow to maintain robust tracking and accurate navigation. The implementation of the TCAPLL is discussed in detail, and its performance under different scenarios is assessed. Finally the proposed architecture is evaluated through a test campaign using a vehicle that is driven in urban environments, with the purpose of highlighting the pros and cons of combining MEMS inertial sensors with GPS over GPS alone. Keywords:

GNSS, GPS, Galileo, AltBOC, Acquisition, PLL, DLL, Tracking Stability,

Tracking Linearity, Sensitivity, Multipath, INS, MEMS inertial sensors, GPS/INS, Tight coupling, Assisted-PLL, Kalman filtering

vi

Résumé L’utilisation des systèmes de positionnement par satellites pour la navigation présente encore aujourd’hui beaucoup de défis, notamment à l’intérieur des bâtiments ou dans ce que l’on appelle les canyons urbains où la visibilité des satellites est réduite et les signaux reçus sont fortement atténués. De plus, la réception de plusieurs répliques du signal (appelés multitrajets), à cause de réflexions dues au milieu environnant, introduit des erreurs dans les mesures des pseudo-distances, ce qui implique des erreurs dans le calcul de la position. Les performances en terme de navigation d’un récepteur GNSS dépendent du comportement de la boucle à verrouillage de phase (PLL) et de la boucle à verrouillage de délai (DLL). Pour maintenir la robustesse de ces boucles dans de telles conditions, plusieurs méthodes peuvent être utilisées pour améliorer les récepteurs grand public autonomes actuels. Par exemple, parmi les techniques bien connues, il y a l’utilisation de plusieurs constellations pour améliorer la visibilité, l’utilisation des nouveaux signaux plus efficaces pour réduire l’impact des multitrajets, ou encore l’utilisation de long temps d’intégrations combinée à une réduction de la largeur de bande des PLL et DLL pour améliorer la sensibilité. Il a également été montré qu’une aide extérieure, telle qu’une information sur le temps, la position, le Doppler ou un almanach, peut améliorer significativement les performances de navigation dans des environnements difficiles. L’objectif de cette thèse est de soulever les défis de la navigation par satellites dans des environnements difficiles, afin d’améliorer les performances de navigation des futurs récepteurs GNSS. Dans ce cadre, deux axes de recherche ont été abordés. Le premier axe est l’étude des performances et des avantages des signaux Galileo, et plus particulièrement du signal E5 AltBOC (Alternate Binary Offset Carrier), et le second est l’investigation sur le potentiel des capteurs inertiels à bas coûts basés sur les systèmes microélectromécaniques (MEMS) pour compléter les récepteurs GNSS. Dans le premier axe de recherche, on présente les différents moyens pour traiter vii

Résumé le signal Galileo E5ab, en utilisant toute la bande ou seulement une de ses composantes (E5a et E5b). Plus spécifiquement, un nouvel algorithme pour l’acquisition supprimant le code secondaire est proposé, ce qui permet d’augmenter le temps d’intégration tout en gardant une complexité raisonnable comparée à d’autres architectures. Ensuite, une architecture pour poursuivre le canal pilote du signal E5 en tant que AltBOC(15,10) ou BPSK(10) est présentée, et les performances de plusieurs discriminateurs couramment utilisés sont analysées à l’aide de développements analytiques et de simulations, des régions de linéarité et de stabilité, des erreurs de poursuite dues au bruit thermique, de l’enveloppe d’erreur dues aux multitrajets, ainsi que des seuils de poursuite. Différents paramètres, tels que la bande passante du filtre avant numérisation, l’espacement entre les corrélateurs, et la normalisation des discriminateurs ont été également pris en considération. Les résultats obtenus permettent de comprendre les principaux avantages et inconvénients de l’utilisation du signal E5 dans des environnements difficiles, ainsi qu’à définir les principaux paramètres des boucles de poursuite pour obtenir de meilleures performances. Le deuxième axe de recherche évoque quant à lui le couplage d’un récepteur GPS (Global Positioning System) avec un système de navigation inertielle (INS) basé sur des capteurs MEMS. Auparavant, la principale contrainte empêchant le développement à grande échelle de tels systèmes hybrides était le prix des capteurs inertiels. Aujourd’hui, cette contrainte est quasiment éliminée grâce à l’avènement des capteurs MEMS. Par conséquent, une architecture GPS/INS à fort couplage avec PLL assistée (TCAPLL) est proposée dans cette thèse, et les différents défis associés à l’utilisation de capteurs inertiels MEMS peu performants sont présentés. Cette architecture inclu un système de surveillance continue permettant de vérifier la qualité des mesures afin de maintenir une poursuite robuste et un positionnement précis. L’implémentation de cette architecture est présentée en détail et ses performances sont évaluées à travers plusieurs scénarios. Pour conclure, l’architecture proposée est évaluée par une campagne de test effectuée sur le terrain où le récepteur est situé à bord d’un véhicule circulant dans des zones urbaines, dans le but de mettre en évidence les avantages et les inconvénients de combiner un système inertiel à base de MEMS avec un récepteur GPS par rapport à un récepteur GPS autonome. Mots-clés :

GNSS, GPS, Galileo, AltBOC, Acquisition, PLL, DLL, Stabilité de Pour-

suite, Linéarité de Poursuite, Sensibilité, Multitrajets, INS, Capteurs inertiels MEMS, GPS/INS, PLL-Assistée, Filtre de Kalman

viii

Acknowledgements This dissertation would not have been possible without the guidance and the help of several people who in one way or another contributed and extended their valuable assistance in the preparation and completion of this study. First and foremost, my utmost gratitude goes to my thesis director Prof. Pierre-André Farine, for giving me the opportunity to be part of ESPLAB, and providing me with the most favorable work conditions throughout the period of this dissertation. Dr. Cyril Botteron, my thesis co-director, for his guidance, and support. His vast experience, patience, and thorough explanations made this dissertation an incredible learning experience. I walked away from almost every conversation we had, having learned something new. This entire work was guided by his extensive research and comprehensive understanding. I would like to express my appreciation to the thesis jury committee, Prof. Herbert Shea, Dr. Jan Skaloud, Dr. Phillip Tomé, and Dr. Marcel Baracchi Frei for reviewing and evaluating my dissertation. I give thanks to Dr. Phillip Tomé, for his advice, support and patience. His extensive experience in the inertial navigation systems and Kalman filtering was essential in the accomplishment of this work. I owe him special recognition for always being available to answer my questions, and review my reports. My thanks goes to Dr. Marcel Baracchi Frei for his technical help and support during his time at ESPLAB. His experience in the GNSS domain highlighted many aspects related to this field and enriched my learning journey. Aleksandar Jovanovic, my officemate, with whom I collaborated in the course of ix

Acknowledgements several publications. I would like to thank him for his technical support and discussions about GNSS, the traveling trips, the activities outside the office, and most importantly for supporting me relentlessly for more than five years. Jérôme Leclère, my colleague in the GNSS group in ESPLAB, for his support, remarks, patience and valuable experience in the GNSS domain. I also would like to thank him for taking part in proofreading my thesis report. My gratitude goes as well to all previous and present GNSS group members in ESPLAB, namely Dr. Grégoire Waelchli, Dr. Frédéric Chastellain, and Amadou Hadji for their endorsement and enriching discussions in our weekly meetings. Dr. Yannick Stebler and the Geodetic Engineering Laboratory (TOPO) at EPFL, for providing the instrumental setup required to conduct the field vehicle test measurements. I am also grateful for supplying me with the error model for the MEMS-based IMU used in the testing campaign. My regards to Dr. Urs Alexander Müller, for his valuable organizing skills and also for proofreading part of my thesis report. I am thankful to Mrs. Joëlle Banjac, the secretary of ESPLAB group, for her administration support and travel organization. Thank you to all my former and current colleagues in ESPLAB, for their friendship that made my stay with them a wonderful experience. I am grateful for the financial support from the Swiss National Science Foundation who supported this work under grants 200021_120187/1 and 200020_134766/1. Last but not least, I am grateful to my family for their unconditional love, support, encouragement, wishes, prayers, and confidence in me. Neuchâtel, 25 March 2013

x

Youssef Tawk

Contents Abstract (English/Français)

v

Acknowledgements

ix

Contents

xi

List of Figures

xv

List of Tables

xxi

Acronyms 1 Introduction

xxiii 1

1.1 GNSS Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.2 INS Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.3 Background and Objectives . . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.3.1 Galileo E5 Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

1.3.2 GNSS/INS Coupling . . . . . . . . . . . . . . . . . . . . . . . . . .

9

1.4 Dissertation Contributions . . . . . . . . . . . . . . . . . . . . . . . . . .

11

1.5 Dissertation Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

1.6 Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

2 GNSS Signals and Receivers

17

2.1 GNSS Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.1.1 GPS L1 C/A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.1.2 GPS Modernization & Galileo Signals . . . . . . . . . . . . . . . .

19

2.2 GNSS Receiver Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

2.2.1 RF Front-End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

2.2.2 Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

2.2.3 Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

33 xi

Contents 2.2.4 Position Velocity Time Computation . . . . . . . . . . . . . . . . .

38

2.3 GNSS Receiver Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

2.3.1 Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

2.3.2 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

2.3.3 Interference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

2.3.4 Multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

3 Galileo E5 Processing

49

3.1 Signal Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

50

3.1.1 Filtering Approximations . . . . . . . . . . . . . . . . . . . . . . .

53

3.2 Autocorrelation Function . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

3.3 Acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

58

3.3.1 Effects of Code Phase Search Step . . . . . . . . . . . . . . . . . .

59

3.3.2 SSB and DSB Implementation . . . . . . . . . . . . . . . . . . . .

61

3.3.3 Probability of Detection . . . . . . . . . . . . . . . . . . . . . . . .

65

3.4 Secondary Code Wipeoff . . . . . . . . . . . . . . . . . . . . . . . . . . . .

66

3.4.1 Secondary Code Characteristics . . . . . . . . . . . . . . . . . . .

66

3.4.2 Proposed Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . .

67

3.4.3 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . .

70

3.4.4 Performance Analysis . . . . . . . . . . . . . . . . . . . . . . . . .

72

3.5 Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

77

3.5.1 PLL Discriminators . . . . . . . . . . . . . . . . . . . . . . . . . . .

79

3.5.2 DLL Discriminators . . . . . . . . . . . . . . . . . . . . . . . . . .

84

3.6 Multipath Mitigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

3.6.1 Carrier Multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 3.6.2 Code Multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 3.7 Summary and Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4 Inertial Navigation Systems

109

4.1 Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.2 Inertial Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.2.1 MEMS Inertial Sensors . . . . . . . . . . . . . . . . . . . . . . . . . 112 4.2.2 Sensor Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 4.3 Mechanization Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.3.1 Coordinate Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 4.3.2 Relative Angular Velocity of Coordinate Frames . . . . . . . . . . 120 xii

Contents 4.3.3 Time Derivative of Rotation Matrices . . . . . . . . . . . . . . . . 121 4.3.4 Equation of Motions . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.3.5 INS Navigation Error States Model . . . . . . . . . . . . . . . . . . 122 4.4 Initial Alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.4.1 Horizontal Alignment . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.4.2 Heading Alignment . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.5 GNSS/INS Coupling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.5.1 Loosely Coupled Integration . . . . . . . . . . . . . . . . . . . . . 127 4.5.2 Tightly Coupled Integration . . . . . . . . . . . . . . . . . . . . . . 128 4.5.3 Deep (Ultra-Tight) Integration . . . . . . . . . . . . . . . . . . . . 129 4.6 GNSS/INS Integration Filter . . . . . . . . . . . . . . . . . . . . . . . . . . 130 4.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 5 Tightly Coupled Assisted PLL

135

5.1 TCAPLL Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.2 IMU MEMS Error Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.3 Integration Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5.3.1 System Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 5.3.2 Measurement Model . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.4 GPS-Assisted PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 5.5 Data Monitoring System . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 5.6 Simulation Testing Platform . . . . . . . . . . . . . . . . . . . . . . . . . . 152 5.7 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 5.7.1 Open Sky with Seven SVs . . . . . . . . . . . . . . . . . . . . . . . 155 5.7.2 Open Sky with Four SVs . . . . . . . . . . . . . . . . . . . . . . . . 163 5.7.3 Open Sky with three SVs . . . . . . . . . . . . . . . . . . . . . . . . 168 5.7.4 GPS Total Outage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 5.8 Summary and Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 177 6 Field Vehicle Test Measurements

179

6.1 Measurement Platform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 6.2 IMU Errors Modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 6.3 Trajectories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 6.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 6.5 Summary and Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 198 xiii

Contents 7 Conclusions and Recommendations

201

7.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 7.2 Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 A WGS84 World Geodetic System

207

B Strapdown Inertial Navigation

209

C TCAPLL System State Equations

213

Bibliography

229

Curriculum Vitae

231

xiv

List of Figures 1.1 Typical 3-axis MEMS accelerometer and gyro chips [1]. . . . . . . . . . .

5

2.1 PSD of the BPSK GPS L1 C/A signal. . . . . . . . . . . . . . . . . . . . . .

18

2.2 Autocorrelation function of the BPSK GPS L1 C/A signal. . . . . . . . . .

18

2.3 MCS signal where si and ρ i represent amplitude level and time periods, respectively [2]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

2.4 PRN code chip combination with a MCS signal. . . . . . . . . . . . . . .

19

2.5 Comparison between the PSD of the GPS L1 C/A signal and the BOC(1,1) signal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

2.6 Comparison between the autocorrelation of the GPS L1 C/A signal and the BOC(1,1) signal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

2.7 GPS and Galileo frequency bands [2]. . . . . . . . . . . . . . . . . . . . .

22

2.8 Autocorrelation functions of the main new modulations. . . . . . . . .

24

2.9 Blocks of a GNSS Receiver. . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

2.10 Single stage super heterodyne architecture. . . . . . . . . . . . . . . . .

24

2.11 Direct RF sampling architecture. . . . . . . . . . . . . . . . . . . . . . . .

25

2.12 Two dimensional frequency and code phase search. . . . . . . . . . . .

26

2.13 Frequency misalignment loss in function of the frequency offset and the coherent integration time (Ticoh ). . . . . . . . . . . . . . . . . . . . . . . . nt

27

2.14 Block diagram of the serial search algorithm. . . . . . . . . . . . . . . . .

29

2.15 Block diagram of the parallel frequency space search algorithm. . . . .

30

2.16 Block diagram of the parallel code phase space search algorithm. . . .

33

2.17 Generic tracking block diagram of a GNSS receiver channel. . . . . . . .

34

2.18 PLL discriminators output for GPS L1 C/A BPSK signal. . . . . . . . . .

35

2.19 VE, E, P, L, and VL correlators for a BOC(1,1) signal . . . . . . . . . . . .

38

2.20 An example of prompt correlator outputs for GPS L1 C/A. . . . . . . . .

39

2.21 Trilateration principle to compute a position of a GNSS receiver . . . .

41

2.22 Number of visible satellites and corresponding GDOP factor. . . . . . .

44 xv

List of Figures 2.23 Multipath effects on the autocorrelation function and discriminator output for a BPSK signal. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

3.1 One period of the two subcarrier functions. . . . . . . . . . . . . . . . .

52

3.2 Power spectral density of the AltBOC(15,10) and the transmitted Galileo E5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

3.3 Comparison of the autocorrelation function for the Galileo E5 with and without the proposed approximations. . . . . . . . . . . . . . . . . . . .

54

3.4 Power spectral density of the Galileo E5a BPSK(10) for the minimum received power of -155 dBW (same averaging as in Figure 3.2). . . . . .

55

3.5 Impact of the front-end receiver bandwidth on the E5 autocorrelation function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57

3.6 Zoom-in around the main peak of Figure 3.5. . . . . . . . . . . . . . . .

57

3.7 Worst-case misalignment losses for Galileo E5. . . . . . . . . . . . . . .

60

3.8 Average misalignment losses for Galileo E5. . . . . . . . . . . . . . . . .

60

3.9 Block diagram of SSB implementation using only the pilot or data channel of E5a or E5b. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

3.10 Block diagram of SSB implementation using the data and pilot channel. 64 3.11 Block diagram of DSB implementation using the pilot channels. . . . .

65

3.12 Normalized autocorrelation function of the secondary code C S1001 . .

67

3.13 Normalized autocorrelation function of the secondary code C S201 . . .

67

3.14 Detailed architecture of the proposed algorithm for acquiring the primary and secondary code phase. . . . . . . . . . . . . . . . . . . . . . . .

68

3.15 Output of the algorithm search acquisition for a C /N0 of 39 dB-Hz (PRN = 10, E5a-Q pilot channel). . . . . . . . . . . . . . . . . . . . . . . . . . .

71

3.16 Normalized autocorrelation function for the output signal for different C /N0 using the acquisition algorithm (PRN = 10, E5a-Q pilot channel). 3.17 Autocorrelation of the secondary code of E5a-Q in function of the frequency offset fˆd for the correct code phase. . . . . . . . . . . . . . . . .

72 73

3.18 Output of the serial search block for a C /N0 of 41 dB-Hz for E5a-Q, if the generated code frequency is not compensated according to the carrier frequency offset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

74

3.19 General tracking architecture of Galileo E5 pilot channel. . . . . . . . .

78

3.20 Thermal noise jitter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81

3.21 Allan variance induced oscillator jitter for Galileo E5 pilot channels

xvi

assuming a TCXO oscillator. . . . . . . . . . . . . . . . . . . . . . . . . . .

82

3.22 Total 1-sigmal PLL error for a 10 g/s LOS jerk dynamic stress. . . . . . .

83

List of Figures 3.23 Total 1-sigmal PLL error for Ti nt = 10 ms. . . . . . . . . . . . . . . . . . .

84

3.24 PLL sensitivity threshold for ATAN and ATAN2 discriminators. . . . . .

85

3.25 Stability and linearity region for a typical discriminator output. . . . . .

87

3.26 NEMLP and DP discriminator’s output for E5a-Q BPSK(10) for a correlator spacing of 0.1 chips. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

3.27 NEMLP and DP discriminator’s output for E5-Q AltBOC(15,10) for a correlator spacing of 0.1 chips. . . . . . . . . . . . . . . . . . . . . . . . .

89

3.28 NEMLP and DP discriminator’s output for E5a-Q BPSK(10) as a function of early-late correlator spacing for a 30 MHz bandwidth. . . . . . . . . .

89

3.29 NEMLP and DP discriminator’s output for E5-Q AltBOC(15,10) as a function of early-late correlator spacing for a 75 MHz bandwidth. . . . . . .

90

3.30 Normalized NEMLP and DP discriminator output for E5a-Q BPSK(10) as a function of the code delay error for different early-late correlator spacings for a 30 MHz bandwidth. . . . . . . . . . . . . . . . . . . . . . .

92

3.31 Normalized NEMLP and DP discriminator output for E5-Q AltBOC(15,10) as a function of the code delay error for different early-late correlator spacing for a 75 MHz bandwidth. . . . . . . . . . . . . . . . . . . . . . . .

93

3.32 Impact of the front-end filter bandwidth on the AltBOC(15,10) code thermal noise error for d = 0.2 chips and Ti nt = 1 ms. . . . . . . . . . . .

95

3.33 Impact of the early-late correlator spacing on the code noise error for AltBOC(15,10) and BPSK(10) modulations for a 75 and 30 MHz front-end filter bandwidth, respectively, and Ti nt = 1 ms. . . . . . . . . . . . . . . .

96

3.34 Code noise error for AltBOC(15,10) and BPSK(10) for d = 0.1 chips and Ti nt = 1 ms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97

3.35 Impact of the receiver bandwidth on the tracking thresholds for d = 0.1 chips. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

98

3.36 Impact of the early-late correlator spacing on the tracking thresholds for AltBOC(15,10) (B = 51.15 MHz) and BPSK(10) (B = 20 MHz) with the DP discriminator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99

3.37 Phasor diagram of the direct, multipath and composite signals. . . . . . 101 3.38 Carrier Multipath Error for E5-Q AltBOC(15,10) for a SMR = 3 dB. . . . . 101 3.39 Carrier Multipath Error for E5a-Q BPSK(10) for a SMR = 3 dB. . . . . . . 102 3.40 MEE and running average with the DP discriminator. . . . . . . . . . . . 104 3.41 MEE and running average with the HRC discriminator. . . . . . . . . . . 105 3.42 MEE running averages for AltBOC(15,10) in function of different receiver bandwidths with the DP and HRC discriminators for d = 0.1 chips. . . . 106 xvii

List of Figures 4.1 Inertial (axes denoted by the subscript i ), ECEF (axes denoted by the subscript e), and local-level (axes denoted North, East and Down) coordinate frames [3]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 4.2 GNSS/INS loosely coupled integration scheme. . . . . . . . . . . . . . . 128 4.3 GNSS/INS tightly coupled integration scheme. . . . . . . . . . . . . . . 129 4.4 GNSS/INS deep or ultra-tight integration scheme. . . . . . . . . . . . . 130 5.1 Block diagram of the TCAPLL architecture. . . . . . . . . . . . . . . . . . 136 5.2 Block diagram of the GPS receiver assisted PLL and DLL loops in the TCAPLL architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 5.3 Assisted PLL phase error when B n = 5 Hz, Ti nt = 1 ms, δ f ibb = 0.12 m/s2 , δωbib = 2000 ◦ /h assuming INS assistance without error corrections. . . 146 5.4 PLL tolerable assistance frequency error when Ti nt = 1 ms. . . . . . . . 148 5.5 PLL tolerable assistance frequency error when B n = 5 Hz. . . . . . . . . 148 5.6 TCAPLL data monitoring system implemented on each channel of the GPS receiver. Blue blocks are related to the INS and the integration filter, and red blocks are for the GPS. . . . . . . . . . . . . . . . . . . . . . . . . 149 5.7 Effect of the jump detector on the PLL filter output. . . . . . . . . . . . . 150 5.8 TCAPLL simulation testing platform. . . . . . . . . . . . . . . . . . . . . 153 5.9 Angular rate measurement before and after adding the error model. . . 155 5.10 Sky plot (a) during the reference simulated trajectory (b). . . . . . . . . 156 5.11 Received power from satellites during the open sky scenario with 7 SVs. 156 5.12 Position solution of the TCAPLL and the stand-alone GPS. . . . . . . . . 157 5.13 Position and velocity errors of the TCAPLL and GPS solutions. . . . . . 157 5.14 GDOP comparison for the TCAPLL and GPS. . . . . . . . . . . . . . . . . 158 5.15 Estimated accelerometer turn-on constant bias and gyroscope bias drift. 159 5.16 Feed-forward frequency uncertainty in open-sky conditions. . . . . . . 160 5.17 PLL filter output before and after enabling the feed-forward component. 161 5.18 Carrier and code NCOs’ behavior during GPS outage. . . . . . . . . . . . 161 5.19 TCAPLL and GPS PLL filter output for SV 19 when C /N0 = 45 dB-Hz, and B n = 10 Hz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 5.20 TCAPLL and GPS PLL filter output for SV 19 when Ti nt = 5 ms, and B n = 10 Hz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 5.21 PLI with C /N0 = 45 dB-Hz, Ti nt = 1 ms, and B n = 4 Hz. . . . . . . . . . . 163 5.22 PLI with C /N0 = 32 dB-Hz, Ti nt = 5 ms, and B n = 4 Hz. . . . . . . . . . . 164 5.23 Position solutions when four SVs are visible. . . . . . . . . . . . . . . . . 164 5.24 GDOP comparison for the TCAPLL and GPS when four SVs are visible. xviii

165

List of Figures 5.25 Position error and uncertainty when four SVs are in view for the TCAPLL.166 5.26 Velocity error and uncertainty when four SVs are in view for the TCAPLL. 167 5.27 Feed-forward frequency uncertainty when four SVs are in view. . . . . . 168 5.28 Position solution when three SVs are visible for short periods of time. . 169 5.29 Position uncertainty during GPS partial outages. . . . . . . . . . . . . . 169 5.30 Velocity uncertainty during GPS partial outages. . . . . . . . . . . . . . . 170 5.31 Feed-forward frequency uncertainty when three SVs 19, 06 and 03 are in view. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 5.32 Feed-forward frequency uncertainty for the visible SV 19. . . . . . . . . 171 5.33 Feed-forward frequency uncertainty for the non-visible SV 11. . . . . . 172 5.34 Position solution when GPS total outages occur after 600 s of initializing the INS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 5.35 Position uncertainty when GPS total outages occur after 600 s of initializing the INS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 5.36 Velocity uncertainty when GPS total outages occur after 600 s of initializing the INS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 5.37 Position solution when GPS total outages occur after 30 s of initializing the INS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 5.38 Position and velocity errors and uncertainties on the y axis. t I N S is the INS initialization time before the GPS outages occurrence. . . . . . . . 175 5.39 Position error during GPS total outages, t I N S = 600 s. . . . . . . . . . . . 175 5.40 Feed-forward uncertainty during GPS total outages, t I N S = 600 s. . . . . 176 5.41 Maximum time possible for re-tracking a satellite without re-acquisition if the uncertainty of the feed-forward frequency is drifting with time, B n = 5 Hz and Ti nt = 5 ms. . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 6.1 Setup used for the field vehicle test measurements. . . . . . . . . . . . . 180 6.2 Measurement platform mounted on the test vehicle. . . . . . . . . . . . 180 6.3 Result of the GMWM estimation represented by the matching of the wavelet deviation of the accelerometer and gyroscope error signals. . . 183 6.4 Trajectory 1 from EPFL to Renens center. . . . . . . . . . . . . . . . . . . 185 6.5 Trajectory 2 on the EPFL campus. . . . . . . . . . . . . . . . . . . . . . . 186 6.6 Setup used to compute the reference navigation solution. . . . . . . . . 186 6.7 Sky plot and C /N0 of the available satellites during Trajectory 1. . . . . 187 6.8 Sky plot and C /N0 of the available satellites during Trajectory 2. . . . . 187 6.9 Position solution at the beginning of Trajectory 1. . . . . . . . . . . . . . 188 6.10 Position solution in the 40 s tunnel of Trajectory 1. . . . . . . . . . . . . 188 xix

List of Figures 6.11 Position solution at the entrance of Renens center during Trajectory 1.

189

6.12 Position solution in Renens center and in the 10 s tunnel under the railway tracks during Trajectory 1. . . . . . . . . . . . . . . . . . . . . . . 189 6.13 Position solution in the 30 s trajectory in the underground parking structure during Trajectory 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 6.14 Position solution at the entrance and exit of the parking during Trajectory 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 6.15 Position error during Trajectory 1 and Trajectory 2. . . . . . . . . . . . . 192 6.16 Velocity error during Trajectory 1 and Trajectory 2. . . . . . . . . . . . . 192 6.17 Total position error during the 40 s tunnel and the 30 s underground parking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 6.18 Total velocity error during the 40 s tunnel and the 30 s underground parking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 6.19 GDOP during Trajectory 1 when GPS conditions start to degrade. . . . 195 6.20 Estimated constant bias of the accelerometer and gyroscope during Trajectory 1 and Trajectory 2. . . . . . . . . . . . . . . . . . . . . . . . . . 195 6.21 Estimated GM bias drift of the accelerometer and gyroscope during Trajectory 1 and Trajectory 2. . . . . . . . . . . . . . . . . . . . . . . . . . 196 6.22 Feed-forward frequency uncertainty in the 40 s tunnel (left), and in Renens center (right) during Trajectory 1. . . . . . . . . . . . . . . . . . . 196 6.23 Feed-forward frequency uncertainty during the 30 s underground parking of Trajectory 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 6.24 PLI and prompt correlator output of SV 22 for the GPS and TCAPLL solutions at the exit of the tunnel in Trajectory 1. . . . . . . . . . . . . . 197 6.25 Vehicle acceleration and PLI of SV 19 for GPS and TCAPLL solutions during high dynamics in Trajectory 1 when B n = 2 Hz. . . . . . . . . . . 198

xx

List of Tables 1.1 Status of current GNSS systems [4, 5, 6, 7] . . . . . . . . . . . . . . . . . .

2

1.2 Errors and cost comparison between different IMU’s. . . . . . . . . . . .

5

2.1 Signal proprieties of the new GPS and Galileo signals. . . . . . . . . . .

22

2.2 PRN code and navigation message properties of the new GPS and Galileo signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

2.3 Maximum frequency search span for GPS and Galileo signals. . . . . . .

27

2.4 Code alignment losses for BPSK and BOC(1,1) modulations. . . . . . .

28

2.5 Number of possible combinations in a serial search acquisition for different GNSS signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

2.6 Maximum code Doppler frequency and misalignment for GPS and Galileo signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

2.7 Common PLL loop discriminators. . . . . . . . . . . . . . . . . . . . . . .

35

3.1 Parameters of the four E5 channels. . . . . . . . . . . . . . . . . . . . . .

51

3.2 E5 amplitude losses due to transmitter and receiver front-end filtering.

58

3.3 E5 and E5a/E5b characteristics. . . . . . . . . . . . . . . . . . . . . . . .

58

3.4 Maximum code misalignment and corresponding loss for Galileo E5a and E5b due to maximum Doppler. . . . . . . . . . . . . . . . . . . . . .

62

3.5 Implementation comparison between SSB and DSB approaches. . . . .

65

3.6 Galileo spreading codes characteristics . . . . . . . . . . . . . . . . . . .

66

3.7 Comparison of Algorithms Complexity in terms of number of multiplications/additions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

75

3.8 Comparison of Algorithms Performance in terms of integration gain . .

76

3.9 Maximum stability and linearity regions in chips obtained with normalized and unnormalized NEMLP and DP discriminators and their corresponding early-late correlator spacing for E5-Q (B = 75 MHz) and E5a-Q signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93 xxi

List of Tables 3.10 AltBOC(15,10) autocorrelation slope (i.e. α) evaluated at d /2 for different front-end bandwidths and early-late correlator spacings . . . . . . . . .

95

3.11 Maximum average code multipath error and its corresponding multipath delay for DP and HRC discriminators for d = 0.1 chips. . . . . . . . 104 4.1 Examples of MEMS applications [8]. . . . . . . . . . . . . . . . . . . . . . 113 4.2 Complementary characteristics of INS and GNSS receivers. . . . . . . . 127 4.3 Comparison between Loosely/Tightly/Deeply coupled schemes. . . . . 131 5.1 Parameters of the TCAPLL GPS SDR. . . . . . . . . . . . . . . . . . . . . . 153 5.2 Simulated MEMS inertial sensor errors. . . . . . . . . . . . . . . . . . . . 154 5.3 Standard deviation and mean of the GPS and TCAPLL velocity and position errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 5.4 Standard deviation and mean of the TCAPLL attitude error. . . . . . . . 158 5.5 Standard deviation and mean of the GPS and TCAPLL velocity and position errors for constellation (a). . . . . . . . . . . . . . . . . . . . . . . . . 165 5.6 Standard deviation and mean of the GPS and TCAPLL velocity and position errors for constellation (b). . . . . . . . . . . . . . . . . . . . . . . . . 165 6.1 GMWM initial error model for the Xsens MTi-G IMU sensors. . . . . . . 184 6.2 Final error model used in the TCAPLL for the Xsens MTi-G IMU sensors. 184 6.3 MTi-G individual sensor specifications given by the manufacturer. . . . 184 6.4 Standard deviation and mean of the GPS and TCAPLL velocity and position errors during Trajectory 1. . . . . . . . . . . . . . . . . . . . . . . . . 192 6.5 Standard deviation and mean of the GPS and TCAPLL velocity and position errors during Trajectory 2. . . . . . . . . . . . . . . . . . . . . . . . . 193 6.6 Standard deviation and mean of the TCAPLL attitude error. . . . . . . . 193

xxii

Acronyms ADC

Analog to Digital Converter

AltBOC

Alternate Binary Offset Carrier

BOC

Binary Offset Carrier

BPSK

Binary Phase Shift Keying

C/A

Coarse Acquisition

CBOC

Composite Binary Offset Carrier

CDMA

Code Division Multiple Access

COTS

Commercial of the Shelf

DCM

Direction Cosine Matrix

DLL

Delay Locked Loop

DOP

Dilution of Precision

DP

Dot Product

DR

Dead Reckoning

DSB

Double Side Band

ECEF

Earth Centered Earth Fixed

EKF

Extended Kalman Filter

EU

European Union

FB

Full Band

FDMA

Frequency Division Multiple Access

FE

Front-End

FFT

Fast Fourier Transform

FLL

Frequency-Locked Loop

GDOP

Geometry Dilution of Precision

GM

Gauss-Markov

GMWM

Generalized Method of Wavelet Moments

GNSS

Global Navigation Satellite System

GPS

Global Positioning System xxiii

Acronyms IFFT

Inverse Fast Fourier Transform

IMU

Inertial Measurement Unit

INS

Inertial Navigation System

LOS

Line Of Sight

MEE

Multipath Error Envelope

MEMS

Micro Electro Mechanical Systems

MSB

Most Significant Bit

NEMLP Non-Coherent Early Minus Late Power NED

North East Down

NCO

Numerically Controlled Oscillator

PLL

Phase Locked Loop

PRN

Pseudo Random Noise

PSD

Power Spectral Density

PVA

Position Velocity Attitude

PVAT

Position Velocity Attitude Time

PVT

Position Velocity Time

RHCP

Right Hand Circular Polarization

RF

Radio Frequency

SDR

Software Defined Radio

SMR

Signal to Multipath Ratio

SNR

Signal to Noise Ratio

SSB

Single Side Band

SV

Satellite Vehicle

TCAPLL Tightly Coupled Assisted Phase Locked Loop TOT

Time Of Transmission

US

United States

xxiv

1 Introduction

The purpose of navigation is to determine the geographical position, velocity, and spatial orientation of a moving object and guide it along a predefined route, to its destination. The moving object of interest can be a vehicle or an on board instrument. Different navigation techniques exist and can be categorized in two major concepts: Position fixing and Dead Reckoning (DR). Position fixing refers to the determination of the current vehicle position and velocity from measurements with respect to known reference points, but without reference to its previous navigation state. It is an absolute method in the sense that the measurements are made with respect to a given reference system which is well defined relative to a global reference system. The measurements are usually via radio frequency (RF) transmission and a typical system of this type is the global navigation satellite system (GNSS), where the instantaneous position and velocity are determined by ranging to a number of satellites whose positions and velocities within a global coordinate system are known. As indicated by its name, position fixing does not include attitude determination and, therefore, does not provide the full navigation state. DR is the determination of the current vehicle position from the knowledge of the previous position and the measurement of the direction of motion and the distance traveled. It is, therefore, a relative positioning method and its performance depends on the accuracy of the initial coordinates and the accuracy with which velocity and orientation can be determined. An example of a DR system is an inertial navigation system (INS). Since all unaided DR systems are open loop systems, error accumulation with time is their main limitation.

1

Chapter 1. Introduction Table 1.1: Status of current GNSS systems [4, 5, 6, 7] System

Country

Coding

Orbital height and period

Nbr of satellites

Status

GPS

US

CDMA

20,200 km 12 h

≥24

Operational

GLONASS

Russia

FDMA CDMA

19,100 km 11.3 h

29

Operational with restrictions

Galileo

EU

CDMA

23,222 km 14.1 h

30

In preparation

COMPASS

China

CDMA

21,150 km 12.6 h

35

In preparation

1.1 GNSS Systems GNSS provides autonomous geo-spatial positioning with global coverage. It allows receivers to determine their position to within a few meters using ranging signals transmitted from satellites. As of 2012, the US GPS and the Russian GLONASS are the only fully operational systems. The European Union’s Galileo positioning system is in the initial phase of deployment, with four in orbit validation (IOV) satellites currently flying, and is scheduled to be fully operational in 2019. The People’s Republic of China proclaim that they will expand their regional navigation system (named BEIDOU) into a global system (named COMPASS) by 2020. The status of the main constellations (current and future) is summarized in Table 1.1. In most GNSS systems, each satellite broadcasts ranging codes and navigation data using a technique called Code Division Multiple Access (CDMA), i.e., each satellite uses different ranging codes that have low cross-correlation properties with respect to one another [9]. The navigation data enables the receiver to determine the location of the satellite at the time of signal transmission. The satellite uses an atomic clock to maintain synchronization with all the satellites in the constellation. The receiver compares the time of broadcast encoded in the transmission with the time of reception measured by an internal clock and estimated by correlating the spread spectrum code of the satellite with a known replica. Since the orbital positions of the satellites 2

1.2. INS Systems (ephemeris data) as well as the signal time of transmission (TOT) can be extracted from the transmitted navigation message, the ranges between the satellites and the receiver can be calculated. If three satellites are used, the three ranges will define three spheres centered at the respective satellite positions and intersecting at the receiver position. In reality, a fourth satellite is required because the time offset in the GPS receiver clock, with respect to GPS system time, is also unknown (to minimize the size, cost and complexity of the receiver, a crystal clock is usually employed in navigation receivers). Thus, instead of true ranges, pseudoranges are obtained where the synchronization error must be taken into account. GNSS performance in terms of accuracy, availability and integrity is subject to a number of environment, and technological features. For example, it is well known that the minimum pseudorange measurement error will be inversely proportional to the signal bandwidth, as dictated by the Cramer-Rao lower bound [10]. Using one of the new GNSS signals providing a wider bandwidth or more energy at higher frequencies can thus be used to reduce the pseudorange measurement error. This also combats the effect of multipath that can also contribute to a significant ranging error, especially in indoor or urban canyon environments where a line-of-sight (LOS) path between the satellite and the receiver may not always exist. The positioning accuracy will also depend on the satellite constellation to receiver geometry (this impact can be computed with the Geometry Dilution of Precision (GDOP) metric). Hence, by using the satellites from multiple constellations, the availability and accuracy can be improved. For more precise applications, receiving multiple frequencies from a given satellite can be used to remove the effects of the Ionosphere (from 7 m error down to 0.4 m [11]), or even to remove the phase ambiguities for carrier phase measurements. Some new signals also provide a data-free channel that can be used to significantly increase the sensitivity during acquisition and more significantly during tracking. Multiple antennas can moreover be used to reduce the effect of interference (e.g., using a phased-array antenna beam-steering).

1.2 INS Systems An INS is composed of a cluster of inertial sensors (also known as inertial measurement unit (IMU)) that sense linear acceleration (accelerometers) and rotational velocity (gyroscopes), and a computing unit, that continuously calculates the position, velocity and orientation of a moving object based solely on the information provided by the 3

Chapter 1. Introduction on board sensors. Being a dead-reckoning type of system, an INS must be initially provided with its own position and velocity from another source (e.g., a human operator, a GNSS receiver, etc.). Depending on the quality of the sensors it can determine autonomously its orientation using a procedure known as gyrocompassing (otherwise, this information also needs to be provided by other means). Once fully initialized, an INS computes its updated position and velocity by integrating the measurements provided by the motion sensors. One of the advantages of an INS is that it does not require external references in order to determine its navigation solution once it has been properly initialized, thus making it immune to jamming and interference. However, all INS suffer from integration drift, i.e., small errors in the inertial measurements are integrated into progressively larger errors in velocity, which are compounded into even greater errors in position. Since the new position is calculated from the previous one and from the measured acceleration and angular velocity, these errors are cumulative and increase with time [12]. Other sources of errors propagating in time are the initial condition uncertainty (initial position, velocity and attitude), and the gravity model used to compute the gravity. Therefore, various aiding/augmentation sensors have been integrated with inertial systems, e.g. GNSS, velocity meters, star trackers, magnetometers, Lidar, etc. The drift of good-quality navigation grade INS is around one nautical mile per hour (1.852 km/h) in position and on the order of tenths of a degree per hour in orientation [1]. Three major inertial sensing technologies have enabled advances in several applications. These are the Ring Laser Gyros (RLG, since 1975), the Fiber Optic Gyros (FOG, since 1985) and more recently sensors based on Micro-Electro-Mechanical Systems technology (MEMS, since 1995) [1]. From all of these, MEMS inertial sensors have opened the way to a wealth of new commercial applications and are present in various items used on a daily basis. For example, most smart phones on the market already include at least a 3-axis accelerometer. Even the new generation includes a full IMU composed of a 3-axis accelerometer, gyroscope and magnetometer. Apart from size reduction (see Figure 1.1), MEMS technology has offered many benefits such as batch production, cost and power reductions and design flexibility, within limits. However, the reduction in size of the sensing elements creates challenges for attaining good performance. Table 1.2 [1] shows a comparison between high-end and medium-end grade IMU’s and a low quality MEMS IMU.

4

1.3. Background and Objectives

Figure 1.1: Typical 3-axis MEMS accelerometer and gyro chips [1]. Table 1.2: Errors and cost comparison between different IMU’s. System

Gyroscope

Accelerometer

Cost [$]

High-End

0.0001 o /h

10 µg

>100k

Medium-End

1-10 o /h

0.2-1 mg

5k-30k

Low-End [MEMS]

≈500 o /h

≈50 mg

51.15 MHz), a sharp autocorrelation function, and four complex channels modulated by four different tiered codes. The latter are a combination of Pseudo Random Noise (PRN) codes and secondary codes. The four PRN’s allow transmission of the four channels E5a-I, E5a-Q, E5b-I, and E5b-Q where I is the in-phase and Q the quadrature phase. E5a-I and E5b-I are called data channels, since they carry navigation data, whereas E5a-Q and E5b-Q are called pilot channels since they are not data modulated. All these characteristics make the post-processing of this signal very challenging and complicated [4]. Regarding the acquisition, there exist already several studies and analysis on new architectures for acquiring the new GNSS signals and in particularly BOC signals [16, 17, 18]. This dissertation will complement these works, by analyzing the possibili-

6

1.3. Background and Objectives ties of acquiring the E5 in full band or in one of its components. Different acquisition strategies are explored taking into consideration the combination of pilot and/or data channels. It is important to note that the existence of the new tiered code structure implies new conditions to wipe-off the secondary code to increase the coherent integration. For GPS L1 C/A signals, increasing the integration time and taking into account the data bit transition, coherent integration can be implemented in a straightforward manner. However, for the Galileo E5 signal, the existence of the secondary code on top of the primary code that forms a tiered code requires to test all the possible combinations of the secondary code chips that are on the top of the primary code. Consequently, a straightforward implementation of a coherent architecture is complicated as the phase of the secondary code has to be known. Recently, some researchers have started to look at the acquisition of the secondary code for Galileo signals in order to increase the coherent integration time. In [19], the authors discussed using the tree of depth for integration times higher than one period of the primary code. The concept consists in trying all the possible combinations for the secondary code over a certain number of chips. Due to the exponential grows of the number of possibilities with the number of chips considered, this concept is applicable only on few chips of the secondary code, and does not take advantage of the full capability of the secondary codes. Moreover, this method allows an increase of the sensitivity but does not provide the phase of the secondary code. In [20], the authors proposed to exploit the characteristic length of the secondary codes and integrate over this length to find the phase of the secondary code. Although the characteristic length is smaller than the number of chips in one period, this is still a challenging task, e.g. using 12 chips would imply 211 = 2048 combinations. Therefore, this dissertation proposes a new algorithm performing the correlation on a complete period of the secondary code to fully exploit its capability, significantly increase the sensitivity, and finding the secondary code phase at the same time. The algorithm is based on the combination of serial and parallel searches. More specifically, the search for the primary code phase is performed serially within one primary code length, and the secondary code phase is searched in parallel over the entire length of the secondary code. Regarding the tracking of E5, many studies already discussed the AltBOC modulation and the advantages of tracking the Galileo E5 signal. For example, in [21], the authors

7

Chapter 1. Introduction proposed an innovative solution for navigation message demodulation for AltBOC receivers, but they did not study the performance of the tracking stage, especially the delay locked loop (DLL) part in terms of robustness under different conditions. In [22], the authors exploited the possibilities of tracking this signal in different schemes (e.g. side-band translation, full band-independent correlation, look-up table) and proposed a new method to track E5 in full band along with wiping off the data bits on E5a and E5b to take advantage of the maximum possible power. However as in [21], the part on the DLL performance is missing, as the new proposed algorithm was not tested under different discriminator types or correlator spacings. In [23], the authors presented the principles of tracking and processing the AltBOC(15,10) without discussing in detail the main features that characterize the tracking loop parameters. Moreover, in [24], the authors introduced a method to mitigate the code phase multipath by exploiting the frequency diversity used in Galileo E5. In this work too, the code tracking was only partially tackled (the authors provided analytical expressions for some discriminators outputs) and the analysis concentrated more on the part of mitigating the code multipath error. In addition, in the frame of the ENCORE (Enhanced Code Galileo Receiver) project, co-funded by the 7th Framework Programme under European GNSS Supervisory Authority (GSA), an AltBOC capable Galileo receiver prototype was implemented on a dedicated FPGA board [25]. The receiver is based on AltBOC pilot tracking and single side band data demodulation approach, and used as a baseline to develop a low-cost Land Management Application to cover needs of the Brazilian market in terms of georeferencing and rural/urban cadastre [26]. Finally, it can be noted that there are many other papers that explain the structure of the E5 signal and discuss the main advantages of the constant envelope AltBOC(15,10) modulation [27, 28]. In summary, the literature is still missing a deeper analysis on the tracking stage of the Galileo E5 signal, revealing more precisely the limitations and drawbacks that can be encountered in a practical implementation. In particular, studies on the carrier and code tracking robustness; and the parameters that affect the performance of the PLL and DLL are still lacking. Therefore, the first aim of this dissertation is to fill this gap to assess the potential of tracking the Galileo E5 signal in challenging environments. This will be done by unveiling in detail the tracking stability and linearity of this signal tracked as an AltBOC(15,10) or Binary Phase Shift Keying BPSK(10) modulation and to characterize the error sources (carrier noise, code noise, multipath) that affect the code phase estimation and tracking sensitivity. The receiver parameters such

8

1.3. Background and Objectives as the front-end filter, discriminator type, normalization technique, and correlators spacing are taken into consideration to provide additional insights into the robustness of this signal, stressing both its advantages and limitations.

1.3.2 GNSS/INS Coupling The advantages of combining satellite-based navigation systems with INS have long been recognized. Due to the various errors induced by the space segment, signal propagation, receiver technology or user environment, the accuracy of GNSS receivers is not sufficient to address the requirements of all applications in geodesy and navigation. Additionally, the satellites availability might be inadequate. Therefore, many navigation or surveying systems use hybrid GNSS/INS technologies to combine the short time stability of the inertial sensors with the long time stability, yet noisy behavior, of GNSS receivers. Depending on the integration scheme and the performance of the inertial sensors, a variety of advantages in accuracy, availability, and integrity can be achieved [29]. Today, the bottleneck of GNSS/INS coupling architectures remains in the high cost of the inertial sensors, which prevents this technology to make it through to commercial applications. As shown in Table 1.2, the price of a medium to high-end IMU amounts to tens of thousands of US dollars. This is very expensive for mass-market GNSS receivers. However in recent years, MEMS inertial sensors have paved the way to a wealth of new commercial applications and are present in various items used on a daily basis (e.g. most smart phones on the market already include at least an accelerometer, a gyroscope or a magnetometer). The advance in MEMS IMUs allows a complete inertial unit to be built on a single chip [30]. However, the performance of today’s low quality MEMS inertial sensor is not sufficient for a MEMS-based INS to be used as a standalone system for navigation, and it is mandatory that it should be integrated with other sensors like a GNSS to bound its errors and avert integration drifts with time. The three possible basic GNSS/INS integration schemes are loose, tight and ultratight (or deep) integration [31]. In the loose approach, the position and velocity from both systems are integrated to create a third blended navigation solution. In tight approach, GNSS pseudoranges and Doppler are blended with INS acceleration and gyro measurements to generate a single blended navigation solution. In the ultra-tight 9

Chapter 1. Introduction approach, integration occurs at the GNSS tracking loops which are controlled by the blended navigation filter [32]. The GNSS receiver in this case is no longer an independent navigator since its operation is also partly dependent on INS information. The potential benefits of the deep integration are achieved at the expense of a significant increase in complexity, computational load, and tight time synchronization [33]. It is worth mentioning that there is not a standardized definition for the types of GNSS/INS integrations. While some papers refer to ’ultra-tight’ or ’deep’ integration when there is a feed-forward component from the navigation filter to the GNSS tracking loops, other papers (such as the case in this dissertation) refer to such setups as ’tight’ coupling and use the terms ’ultra-tight’ or ’deep’ only when the tracking loops’ numerically controlled oscillators (NCOs) are fully controlled by the blended navigation filter in a vector tracking approach. More details about the different naming conventions can be found in [34]. A literature review reveals that the topic of using MEMS in a GNSS/INS scheme is relatively new. Previous studies involving low quality MEMS inertial sensors started by mainly concentrating on the loosely coupled approach [35]. However, recently many researchers started to discuss the integration of MEMS inertial sensors with a GNSS receiver in a tight or ultra-tight approach. For example in [36], the authors describe the design, operation and performance of an integrated GPS/MEMS inertial navigation package. In [37], the author proposes a tightly coupled MEMS INS/GPS integration with INS-aided receiver tracking loops. Also in [38], the author proposes a tight and an ultra-tight integration with loop aiding using a GPS/Reduced IMU coupling and an adaptive loop filter bandwidth. In addition to these works, other papers discuss the integration of MEMS inertial sensors with a GPS receiver for various applications (e.g. [39, 40]). Despite the existence of these works and many others, one can still identify missing points to be addressed. For example, the use of MEMS-based INS measurements to aid the GNSS tracking loops is not well explored, and even when it is the case, the quality of aiding – especially when GNSS outages occur or when fewer satellites are tracked – is not well assessed. Also the impact of GNSS/INS integration on re-acquisition and re-tracking is rarely discussed. Therefore, the second aim of this dissertation is to address all these points and to assess the potential of low cost MEMS inertial sensors to aid GNSS receivers in challenging environments (e.g. urban canyons and indoors). Due to its significant impact, this is a topic of relevant interest. However, state-of-

10

1.4. Dissertation Contributions the-art implementations have only shown relevant improvements when using higher quality inertial sensors. Thus, the objective is to investigate novel algorithms and architectures and evaluate the possibility of obtaining a gain in performance using low cost MEMS inertial sensors. Within this context, in this dissertation a GPS/INS Tightly Coupled Assisted PLL (TCAPLL) architecture is proposed aiming to reveal more precisely the advantages, limitations and drawbacks that can be encountered when using MEMS inertial sensors for land navigation. The architecture is implemented using an Extended Kalman Filter (EKF) that combines pseudoranges and Doppler frequencies from a GPS receiver with the INS measurements to obtain a position, velocity and attitude solution, and later send a feed-forward aiding component to the PLL tracking loops to compensate for the GPS receiver dynamics and clock frequency error. A monitoring system is also implemented to check the quality of the aiding information to ensure robust tracking especially when few satellites are being tracked. The performance of the architecture is evaluated by simulations under different scenarios assuming a commercial off-the-shelf low-quality MEMS inertial sensor. The assessment is made in terms of navigation accuracy, tracking robustness, sensitivity and re-acquisition time. Finally, the new architecture is tested in a measurement campaign consisting of a test vehicle driven in an urban environment and mounted with a GNSS antenna connected to a front-end, a MEMS IMU, and a navigation grade INS for the reference trajectory. Measurements from these three sensors are gathered and post-processed to highlight the advantages of the TCAPLL architecture over a stand-alone GPS solution.

1.4 Dissertation Contributions The main contributions of this dissertation are summarized as: • Development of a testing platform to validate experimentally the theoretical and simulation results obtained during the research period. The platform consists of a full constellation Spirent GSS8000 simulator used to simulate the GPS and Galileo signals as received at the GNSS receiver’s antenna. The simulator can generate GPS L1-L5 and Galileo E1-E5 signals. A Fraunhofer triple band L1-L2L5 front-end is used to down-convert and digitize the signals and store them on a storage system for post-processing. A developed MATLAB-based GNSS software receiver based on modifications of Kai Borre’s software defined receiver for GPS 11

Chapter 1. Introduction L1C/A signal [41], and includes the acquisition and tracking functionalities for processing the Galileo E5, Galileo E1 BOC(1,1), Galileo E1 CBOC, and GPS L1C TMBOC. This testing platform has been used towards the validation of all the performed investigations described above. • Development of a new FFT-based algorithm for secondary code acquisition of GNSS signals that have a tiered code architecture. The proposed algorithm is based on a combination of serial and parallel (FFT-based) searches and requires a reasonable implementation complexity as compared to other architectures. • A throughout investigation on the acquisition and tracking of Galileo E5 signal. The analysis includes: structure and characteristics of the signal, acquisition techniques, code tracking of Galileo E5ab in a full band or of only one of its components, i.e., either E5a or E5b, linearity and stability of well-known discriminator types, normalization techniques for the discriminators, thermal noise tracking errors, multipath mitigation capabilities, and sensitivity. • Development of a Tightly coupled GPS/INS software receiver and implementation in MATLAB (TCAPLL). The software comprises an EKF with a 29 states vector, a GPS receiver with assisted PLL and DLL tracking loops, and a monitoring system responsible for maintaining robust tracking and accurate navigation. • A throughout assessment on the potential of low cost MEMS inertial sensors to aid GNSS receivers in challenging environments. Assessments are validated by simulations and real measurements from driving a test vehicle in a urban environment.

1.5 Dissertation Outline The outline of the dissertation is as follows:

• Chapter 1 stands as an introduction for this dissertation, where the background, motivations and contributions of the work executed during the period of the thesis are presented. • Chapter 2 describes the main updates and modernization applied to the upcoming GPS and Galileo signals. It presents also the main blocks of a GNSS 12

1.6. Publications receiver and briefly discusses the challenges that faces a receiver in demanding environments. • Chapter 3 discusses all the aspects for processing the Galileo E5 signal. It describes the possibility to process it in two different modes, as an AltBOC(15,10) or a BPSK(10) modulation. In addition possible acquisition architectures are presented and a new algorithm for wiping off the secondary code is proposed. Furthermore, the carrier and code tracking robustness of this signal are studied. Finally, the multipath mitigation performance for different multipath environments is presented. • Chapter 4 presents an overview about the principles of INS systems. It discusses the inertial sensors and particularly MEMS inertial sensors and their corresponding error modeling and initialization techniques. It presents also a state-of-the-art of GNSS/INS coupling techniques, and the principles behind the Extended Kalman Filter (EKF), which is the common blending navigation filter for GNSS/INS integration. • Chapter 5 proposes a GPS/INS tightly coupled assisted PLL (TCAPLL) architecture using commercial off-the-shelf low quality MEMS inertial sensors. The implementation of the architecture is discussed in detail, and its performance evaluation based on simulations under different scenarios are presented. • Chapter 6 presents results from a field vehicle test measurement campaign made to study the performance of the TCAPLL architecture in real conditions, and to validate the simulation results presented in the previous chapter. • Chapter 7 summarizes the main conclusions of this dissertation, and discusses the recommendations for future work.

1.6 Publications • Y. Tawk, P. Tomé, C. Botteron, Y. Stebler and P.-A. Farine. ’Implementation and Performance of GPS/INS Tightly Coupled Assisted PLL Architecture Using MEMS Inertial Sensors’, Submitted to IEEE Transactions on Vehicular Technology, 2013. • Y. Tawk, A. Jovanovic, P. Tomé, J. Leclère and C. Botteron et al. ’A New Movement Recognition Technique for Flight Mode Detection’, in Hindawi International Journal of Vehicular Technology, vol. 2013, p. 1-18, 2013. 13

Chapter 1. Introduction • A. Jovanovic, Y. Tawk, C. Mongrédien, C. Botteron and P.-A. Farine. ’Two-Step Galileo E1 CBOC Tracking Algorithm:When Reliability and Robustness Are Keys!’, in Hindawi International Journal of Navigation and Observation, vol. Volume 2012, num. 2012, p. 1-14, 2012. • Y. Tawk, C. Botteron, A. Jovanovic and P.-A. Farine. ’Analysis of Galileo E5 and E5ab code tracking’, in GPS Solutions, p. 1-16, 2011. • Y. Tawk, A. Jovanovic, J. Leclère, C. Botteron and P.-A. Farine. ’A New FFTBased Algorithm for Secondary Code Acquisition for Galileo Signals’. 2011 IEEE Vehicular Technology Conference (VTC Fall), San Francisco, CA, USA, IEEE VTS Vehicular Technology Conference Proceedings, 2011. • A. Jovanovic, Y. Tawk, C. Botteron and P.-A. Farine. ’Dual Channel Optimization of Tracking Schemes for E1 CBOC Signal’. 2011 IEEE Vehicular Technology Conference (VTC Fall), San Francisco, CA, USA, IEEE VTS Vehicular Technology Conference Proceedings, 2011. • A. Jovanovic, C. Mongrédien, Y. Tawk, C. Botteron and P.-A. Farine et al. ’Implementation and Optimization of a Galileo E1 Two-Step Tracking Algorithm using Data/Pilot Combining and Extended Integration Time’. 24th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS 2011), Oregon Convention Center, Portland, Oregon Portland, OR, 2011. • Y. Tawk, C. Botteron, A. Jovanovic and P.-A. Farine. ’Acquisition Performance of Galileo E5a Signal’. 6th Conference on Ph.D. Research in Microelectronics & Electronics (PRIME 2010), Berlin, Germany, 2010. • Y. Tawk, C. Botteron, A. Jovanovic and P.-A. Farine. ’Performance Comparison of Different Correlation Techniques for the AltBOC Modulation in Multipath Environments’. IEEE ICC 2010 - General Symposium on Selected Areas in Communications, Cape Town, South Africa, IEEE International Conference on Communications, 2010. • M. Sahmoudi, J.-L. Issler, F. Perozans, Y. Tawk and A. Jovanovic et al. ’U-SBAS: A universal multi-SBAS standard to ensure compatibility, interoperability and interchangeability’. European Workshop on GNSS Signals and Signal Processing, Netherlands, 2010. 14

1.6. Publications • J.-L. Issler, F. Perozans, Y. Tawk, A. Jovanovic and C. Botteron et al. ’UniversalSBAS: A worldwide multimodal standard’. 52nd International Symposium ELMAR 2010, Zadar, Croatia, 2010. • A. Jovanovic, C. Botteron, Y. Tawk, P.-A. Farine and C. Mongrédien et al. ’Implementation and Robustness Analysis of the Two-Step CBOC Tracking Algorithm in the scope of the GAMMA-A Project’. ENC GNSS 2010, Braunscheig, Germany, 2010. • A. Jovanovic, Y. Tawk, C. Botteron and P.-A. Farine. ’Multipath Mitigation Techniques for CBOC, TMBOC and AltBOC Signals using Advanced Correlators Architectures’. IEEE/ION Position Location and Navigation Symposium (IEEE/ION PLANS 2010), Palm Springs, California, USA, IEEE-ION Position Location and Navigation Symposium, 2010. • A. Jovanovic, C. Mongrédien, C. Botteron, Y. Tawk and G. Rohmer et al. ’Requirements and Analysis for a Robust E1 Galileo Tracking Algorithm in the Scope of the GAMMA-A Project’. ION International Technical Meeting (ITM 2010), San Diego, California, USA, 2010. • J.-L. Issler, Y. Tawk, A. Jovanovic, C. Botteron and P.-A. Farine et al. ’Contribution to the Worldwide multimodal SBAS standard’. Fourth European Workshop on GNSS Signals and Signal Processing - GNSS Signal 2009, Munich, Germany, 2009. • E. Rivera Parada, F. Chastellain, C. Botteron, Y. Tawk and P.-A. Farine. ’Design of a GPS and Galileo Multi-Frequency Front-End’. IEEE 69th Vehicular Technology Conference (VTC Spring 2009), Barcelona, Spain, IEEE Vehicular Technology Conference, 2009. • Y. Tawk, C. Botteron, E. Rivera Parada and P.-A. Farine. ’Full Design Approach for a Non Real Time Galileo E5 Receiver’. European Navigation Conference - Global Navigation Satellite Systems (ENC-GNSS 2009), Naples, Italy, 2009.

15

2 GNSS Signals and Receivers

This chapter is an introduction to GNSS signals and receivers. It starts with a short overview about the GPS L1 C/A signal and explores the main modernization proposed for the future GPS signals and brought by the upcoming Galileo signals. Subsequently, it describes the main blocks of a GNSS receiver, and finally discusses the main challenges that a receiver encounters during navigation in demanding environments.

2.1 GNSS Signals 2.1.1 GPS L1 C/A The GPS L1 C/A (Coarse Acquisition) signal is transmitted on the L1 band at a carrier frequency of f L1 = 1575.42 MHz. The signal is composed of three components:

• The carrier wave at f L1

• A spreading sequence unique for each satellite and referred to as a PRN code. It is a sequence of 1023 chips with a chipping rate of 1.023 MHz giving a PRN code period of 1 ms (a chip corresponds to a bit. It is simply called a chip to emphasize that it does not hold any information [41]).

• The navigation message containing information about all the satellites and uploaded from the ground station through the control segment. The navigation data have a bit rate of 50 bps (bits per second). 17

Chapter 2. GNSS Signals and Receivers

Normalized Power [dB]

0

GPS L1 C/A

−5 −10 −15 −20 −25

1.572

1.574 1.576 Frequency [Hz]

1.578

1.58 9 x 10

Figure 2.1: PSD of the BPSK GPS L1 C/A signal.

Normalized Amplitude

1

GPS L1 C/A

0.8 0.6 0.4 0.2 0 −1.5

−1

−0.5

0 0.5 Delay [Chips]

1

1.5

Figure 2.2: Autocorrelation function of the BPSK GPS L1 C/A signal.

For each satellite, the corresponding PRN code is combined with the navigation data through modulo-2 adders. The resulting sequence then modulates the carrier signal using the BPSK modulation, where each data transition affects the carrier signal by a 180◦ phase shift. The resulting Power Spectral Density (PSD) and autocorrelation function of a GPS L1 C/A signal are shown in Figure 2.1 and Figure 2.2. The minimum bandwidth required to acquire properly the GPS L1 C/A signal should be equal to the width of the main lobe, which is equal to 2.046 MHz in this case. The main characteristics of a BPSK signal can be summarized in 3 points [2]: easy to implement; least performing signal for a given bandwidth; and limited potential to spectrally separate signals. 18

2.1. GNSS Signals

Figure 2.3: MCS signal where si and ρ i represent amplitude level and time periods, respectively [2].

PRN Code Chip ‘k - 1’

PRN Code Chip ‘k’

= BCS

MCS

Figure 2.4: PRN code chip combination with a MCS signal.

2.1.2 GPS Modernization & Galileo Signals With the upcoming of the new EU Galileo system, new signals with new modulations will be introduced. Therefore, GPS will also update its signals to guarantee compatibility and facilitate interoperability. The main modernization of the new signals relies in using Multilevel Coded Symbols (MCS) (see Figure 2.3), which consists of combining the PRN code with a subcarrier code of multi-level as shown in Figure 2.4 to obtain a Binary Coded Symbol (BCS). This will split the signal power into multiple lobes and will sharpen the autocorrelation function. A particular case of a BCS is a BOC(m,n) modulation where m and n are the ratio between the PRN code frequency, the subcarrier code frequency and the frequency of the GPS L1 C/A code respectively (i.e. 1.023 MHz). In this case, the subcarrier is a periodic rectangular signal with two 19

Chapter 2. GNSS Signals and Receivers

Normalized Power [dB]

0

GPS L1 C/A BOC(1,1)

−5 −10 −15 −20 −25

1.572

1.574 1.576 Frequency [Hz]

1.578

1.58 9 x 10

Figure 2.5: Comparison between the PSD of the GPS L1 C/A signal and the BOC(1,1) signal. levels (±1). Figure 2.5 shows an example of a comparison between the PSD of GPS L1 C/A signal and BOC(1,1) signal. Their corresponding autocorrelation functions are shown in Figure 2.6. It can be noted that the power is split between two lobes around the center frequency. In this case, the minimum bandwidth needed to receive the power of the main lobes, i.e. 90% of the total signal power, is 4.092 MHz. Also the existence of the subcarrier creates an additional two side peaks at ±0.5 chips around the main autocorrelation peak which is thus sharper compared to the GPS L1 C/A signal. A general definition of BCS also includes blending of two or more BCS signals to obtain a Multiplexed BCS (MBCS) signal. An example of a MBCS signal is the MBOC family that consists of combining two signals, the BOC(1,1) and BOC(6,1), where two implementations were adopted. For the new GPS L1 a Time-Multiplexed BOC (TMBOC), and for the Galileo E1 the Composite BOC (CBOC), based on the interplex modulation [4]. The Galileo E5 AltBOC is also a MBCS signal, where the PRN code is multiplexed with two subcarriers having different amplitude levels and time periods as it will be shown in the next chapter. In addition to the use of subcarrier codes to modulate the new Galileo and updated GPS signals, several other modernizations have also been introduced and can be summarized as:

• Additional bands are used to transmit the new signals. GPS uses the L5 band 20

2.1. GNSS Signals

Normalized Amplitude

1

GPS L1 C/A BOC(1,1)

0.5

0

−0.5 −1.5

−1

−0.5

0 0.5 Delay [Chips]

1

1.5

Figure 2.6: Comparison between the autocorrelation of the GPS L1 C/A signal and the BOC(1,1) signal. (1176.45 MHz) in addition to L1 (1575.42 MHz) and L2 (1227.6 MHz), Galileo transmits on three bands, E1 (1575.42 MHz), E5 (1191.795 MHz) and E6 (1278.75 MHz). • New navigation signals are transmitted. This includes the CNAV-2 navigation message on the new civilian GPS L1C, which includes a forward error correction (FEC) technique, the Safety of Life (SoL) broadcasted on the L5, E5b and E1B,C frequencies, and the Search and Rescue (SAR) service for Galileo. • Dataless channels called pilot channels are used to increase the coherent integration time in order to improve acquisition and tracking sensitivity. • New PRN codes with better correlation frequency, higher chip rate and longer periods. For example the new GPS L1C and Galileo E1 have PRN codes of a length of 10230 and 4092 chips and a periods of 10 and 4 ms, respectively. The GPS L5 and Galileo E5 will have a PRN code frequency of 10.23 MHz with 1 ms duration resulting in a 10230 chips. • The existence of secondary codes on top of primary codes to decrease the cross-correlation between signals from different satellites, and to facilitate synchronization with the navigation message. Figure 2.7 shows the frequency bands of the current and intended GPS and Galileo signals. Tables 2.1 and 2.2 show their corresponding signals, PRN codes and navigation message properties [4, 6]. The autocorrelation functions of the main modulations 21

Chapter 2. GNSS Signals and Receivers

Figure 2.7: GPS and Galileo frequency bands [2]. Table 2.1: Signal proprieties of the new GPS and Galileo signals. Signal

Minimum Received Power [dBW]

Modulation

Minimum Bandwidth[MHz]

GPS L1 C/A

-158.5

BPSK(1)

2.046

GPS L1C Data

-163

BOC(1,1)

4.092

GPS L1C Pilot

-158.25

TMBOC(6,1)

14.322

GPS L2C

-160

BPSK(1)

2.046

GPS L5

-154

BPSK(10)

20.460

Galileo E1

-157

CBOC(6,1)

14.322

Galileo E5

-152

AltBOC(15,10)

51.150

Galileo E5a/E5b

-155

BPSK(10)

20.460

that are used are shown in Figure 2.8. Note that Galileo E6 ranging codes are still not described in the latest interface control document, and therefore the signal is not included in the tables of signal properties. Also it is important to note that a BPSK(n) notation means that it is a BPSK signal modulated by a PRN code that has a frequency n times the frequency of the PRN code of the GPS L1 C/A (i.e. 1.023 MHz).

2.2 GNSS Receiver Blocks The GNSS receiver can be divided in four blocks as shown in Figure 2.9. The RF frontend, acquisition, tracking and PVT computation (Position, Velocity, and Time). In the 22

2.2. GNSS Receiver Blocks Table 2.2: PRN code and navigation message properties of the new GPS and Galileo signals. Signal

PRN Code Frequency [MHz] Length [ms]

Navigation Message Frequency [Hz]

GPS L1 C/A

1.023

1

50

GPS L1C Data

1.023

10

100

GPS L1C Pilot

1.023

10

/

GPS L2C Data

1.023

20

50

GPS L2C Pilot

1.023

1500

/

GPS L5 Data

10.23

1

100

GPS L5 pilot

10.23

1

/

Galileo E1 Data

1.023

4

250

Galileo E1 Pilot

1.023

4

/

Galileo E5a Data

10.23

1

50

Galileo E5a pilot

10.23

1

/

Galileo E5b Data

10.23

1

250

Galileo E5a Pilot

10.23

1

/

following subsections, descriptions of the architectures and algorithms for each block are provided.

2.2.1 RF Front-End The RF front-end is the first block in a GNSS receiver after the antenna. It is responsible for down-converting and digitizing the received satellite signal. Two main architectures are used for the front-end in GNSS receivers: Super Heterodyne and Direct RF Sampling.

Super Heterodyne Architecture The super heterodyne architecture is the most famous in GNSS front-ends due to its huge popularity in RF applications. The architecture consists of mixers and filters to down-convert the signal to intermediate frequency (IF). A typical single mixing 23

Chapter 2. GNSS Signals and Receivers

AltBOC BOC(1,1) TMBOC CBOC BPSK

Normalized Amplitude

1

0.5

0

−0.5

−1.5

−1

−0.5

0 0.5 Delay [Chips]

1

1.5

Figure 2.8: Autocorrelation functions of the main new modulations.

Antenna

RF Front-End

Acquisition

Tracking

PVT Computation

Output

Figure 2.9: Blocks of a GNSS Receiver.

stage super heterodyne front-end is shown in Figure 2.10. The first element of the architecture is a Low-Noise Amplifier (LNA) in order to ensure a minimum noise figure for the front-end. After band pass filtering, the signal is mixed with a locally generated carrier to down-convert to IF, that is filtered later with a low pass filter to reject the spurious frequencies. If this IF is the desired one, then the signal is amplified with a Variable Gain Amplifier (VGA). If not, additional mixing stages are implemented until the desired IF is reached. Finally, the signal is digitized using an Analog to Digital Converter (ADC) and sent later to the acquisition block. GNSS receiver front-

LNA

VGA Band Pass Filter

ADC

IF Filter VCO

Figure 2.10: Single stage super heterodyne architecture. 24

2.2. GNSS Receiver Blocks

LNA

ADC Band Pass Filter

Figure 2.11: Direct RF sampling architecture.

ends can deliver either in-phase samples alone, or in-phase and quadrature-phase samples. A typical GPS L1 C/A front-end operates with a minimum bandwidth of 2.046 MHz and sampling frequency of 4.092 MHz. However, the new modulations applied to the new signals require that new generation of front-ends should operate with higher bandwidths and higher sampling rates. For example, in order to benefit of the advantages of the MBOC modulation, the new GPS L1C and Galileo E1 signals require a minimum bandwidth of 14.322 MHz, which results in a minimum sampling frequency of 28.644 MHz.

Direct RF Sampling Architecture A direct RF sampling front-end uses an ADC to sample the RF signal without using mixers to down convert it to a lower intermediate frequency. Thus, it is not necessary to sample the signal at twice the carrier frequency. Instead, frequency translation is accomplished through aliasing of the frequency band(s) of interest. Figure 2.11 shows the design of a direct RF sampling front-end. The direct RF sampling offers several advantages in the design of GNSS front-end receivers compared to the super heterodyne architecture. It reduces the analog components and in particular the mixing stage. This reduces the noise, power consumption, and eliminates image frequencies and any other unwanted spurious signals leaking into the resultant IF frequency [42]. It thus simplifies the design and enables to build a very high flexible receiver that can be used for receiving multi-frequency signals from different GNSS bands. The drawbacks of the direct RF sampling can be summarized in three points: (1) the need of a high Q band-pass filter, since the bandwidth of the filter must be equal to the information bandwidth to keep the sampling rate to a minimum without degrading the carrier-to-noise ratio (C /N0 ); (2) problems of oscillation due to amplification at RF; (3) the high sampling rate which implies the necessity of a high streaming acquisition system [43]. 25

Chapter 2. GNSS Signals and Receivers

. . .

Code Phase Bin

. . . . . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

. . .

Frequency Search Span

. . .

Frequency Bin

. . .

Code Phase Search Span

Figure 2.12: Two dimensional frequency and code phase search.

2.2.2 Acquisition The purpose of acquisition is to identify all visible satellites and to roughly determine the Doppler frequency of the received signal from each one along with the code phase of the PRN code that identifies each satellite. This is typically done by correlating the incoming signal with a generated carrier and PRN code replicas over an integration period to obtain a correlation value. If this value exceeds a predefined threshold, the satellite is declared visible with the corresponding frequency and code phase shift [9]. The process is repeated for different carrier frequencies and code phases until a satellite is detected. Thus, the signal acquisition consists in a two dimensional search distributed among code phase and Doppler frequency as shown in Figure 2.12, or three dimensional if there is no a-priori information on which satellites are present. The frequency search span is defined by the receiver oscillator offset and the maximum Doppler shift that can occur, which is related to the relative motion between the satellite and the receiver. It is expressed as: f Doppl er = f car r i er

vr · e c

(2.1)

where f c ar r i er is the transmitted satellite signal carrier frequency, vr is the satelliteto-user relative velocity vector, e is the unit vector pointing along the LOS from the 26

2.2. GNSS Receiver Blocks Table 2.3: Maximum frequency search span for GPS and Galileo signals. Frequency Search Span [kHz] Signal

Stationary Rx

Moving Rx

GPS L1/Galileo E1

±5

±10

GPS L2

±3.9

±7.8

GPS L5/ Galileo E5a

±3.75

±7.5

Galileo E5

±3.8

±7.6

Galileo E5b

±3.85

±7.7

Galileo E6

±4.1

±8.2

1

Normalized Amplitude

0.8

Tcoh = 1 ms int Tcoh = 2 ms int

0.6

Tcoh = 5 ms int

0.4

Tcoh = 10 ms int

0.2 0 −0.2 −0.4 −2000−1500−1000 −500 0 500 1000 1500 2000 Frequency Offset [Hz]

Figure 2.13: Frequency misalignment loss in function of the frequency offset and the coherent integration time (Ticoh ). nt

user to the satellite, and c is the speed of light. Table 2.3 shows the maximum Doppler frequency that can occur for a stationary and a moving receiver (airplane) for GPS and Galileo signals [44]. The frequency bin width depends on the total integration time, because an offset between the generated and the incoming carrier signal implies a loss that is modeled as a ’sinc’ function, of which the width is inversely proportional to the total coherent integration time as shown in Figure 2.13. The common rule of thumb to select the frequency bin width is to choose it half of the inverse of the coherent integration time. 27

Chapter 2. GNSS Signals and Receivers Table 2.4: Code alignment losses for BPSK and BOC(1,1) modulations. Modulation

δτ

Worst-Case Losses [dB]

Average Losses [dB]

BPSK

0.5

2.5

1.15

BOC(1,1)

0.5

12

4

BOC(1,1)

0.4

8

3

BOC(1,1)

0.3

5.2

2.2

BOC(1,1)

0.2

3

1.4

BOC(1,1)

0.1

1.38

0.67

This is expressed as [45]: δf ≤

1 2Ticoh nt

(2.2)

where δ f is the frequency bin width and Ticoh is the coherent integration time. This nt rule of thumb implies a frequency misalignment average loss of 0.26 dB and a maximum loss of 0.9 dB. In normal conditions, the acquisition integration time is equal to one primary PRN code period resulting in a frequency bin less than or equal to 500 Hz for GPS L1 C/A or 125 Hz for Galileo E1. However, if the sensitivity of the receiver needs to be increased, acquisition of one primary code length is not sufficient and, consequently, a higher integration time is needed. In this case, the resulting correlation values of different code periods can be summed coherently, i.e. summing before squaring, or non-coherently, i.e. summing after squaring. The code phase search span depends on the length of the PRN code, e.g. 1023 chips for GPS L1 C/A and 10,230 chips for Galileo E5. Theoretically, the maximum value for the code phase search step (δτ) can be 1 chip. However, when choosing a value for δτ, the code alignment loss should be taken in account. The code alignment loss is the reduction in the post-correlation Signal-to-Noise Ratio (SNR) due to the alignment offset between the locally generated PRN code and the received one [45]. It is a function of the autocorrelation function of the signal modulation. Table 2.4 shows the code alignment losses for BPSK and BOC(1,1) modulations. It can be noted that a code phase search step of 0.5 chips leads to a worst-case loss of 2.5 dB for BPSK. This can be considered acceptable for acquisition in normal conditions. However, if high sensitivity is needed, then a narrower code phase search step should be chosen. For 28

2.2. GNSS Receiver Blocks

I RF Front-End Q

PRN Code Generator

Integrate & Dump

( )2

Integrate & Dump

( )2

Output

90o Carrier Generator

Figure 2.14: Block diagram of the serial search algorithm.

BOC(1,1) the worst-case loss is 12 dB for δτ equal to 0.5 chips. This loss, if it occurs, is not acceptable for acquisition especially for high sensitivity receivers. In order to obtain the same loss as in the case of BPSK with 0.5 chips, δτ should not exceed 0.2 chips for BOC(1,1). Overall, for the new GNSS modulations that have sharper autocorrelation peak than BPSK, it is recommended to use a code phase search step less than 0.5 chips. This will lead to more bins to be searched and, consequently, longer acquisition time, higher computational burden and more resources. Another factor that impacts the acquisition time is the acquisition technique used to search for the Doppler frequency and code phase. Three standard methods for acquisition are typically used in GNSS receivers: serial search acquisition, parallel frequency search acquisition, and parallel code phase search acquisition. The following sections describe briefly the three techniques.

Serial Search Acquisition The serial search is the classical acquisition technique in GNSS receivers. Figure 2.14 shows a block diagram for a one channel implementation of this method. It consists in sweeping the two-dimensional search space in a sequential manner (i.e. cell by cell) until a correlation peak is detected. The acquisition time is thus proportional to the number of cells, i.e. the number of code phases times the number of frequency bins [46]. Table 2.5 shows the number of possible combinations in a serial search acquisition for different GNSS signals assuming maximum frequency search span, maximum allowed code phase bin width and integration over one primary PRN code period. It can be 29

Chapter 2. GNSS Signals and Receivers Table 2.5: Number of possible combinations in a serial search acquisition for different GNSS signals. Signal

Maximum Doppler [kHz]

δ f [Hz]

Code Length [Chips]

δτ [Chips]

Combinations

GPS L1 C/A

±10

500

1023

0.5

83,886

GPS L5

±7.5

500

10,230

0.5

634,260

Galileo E1

±10

125

4092

0.2

3,294,060

Galileo E5

±7.6

500

10,230

0.2

1,606,110

Output

RF Front-End

FFT

| |2

PRN Code Generator

Figure 2.15: Block diagram of the parallel frequency space search algorithm.

noted that for GPS L1 the number of combinations is already high, and for the new signals the number of combinations becomes extremely large. This makes the serial search acquisition not suitable for hardware or software implementation when dealing with the new GNSS signals. However for GPS L1 C/A, it can be potentially implemented in hardware receivers having high parallelism capabilities by implementing many time-shifted code replicas concurrently to test several code phases at once [46].

Parallel Frequency Search Acquisition The parallel frequency search tests all the frequency bins concurrently for a given code phase. This is done by multiplying the incoming signal with a locally generated PRN sequence having a certain code phase. The resulting signal is transformed into the frequency domain by a Fast Fourier Transform (FFT). If the locally generated code is well aligned with the code in the incoming signal, the output from the FFT will have a peak at the IF plus Doppler offset frequency. To find the possible peak frequency the absolute value of all components are calculated [41]. Figure 2.15 shows the block diagram for a one channel implementation of this method.

30

2.2. GNSS Receiver Blocks In the parallel frequency search the accuracy of the determined frequency (∆ f ) depends on the length of the FFT, which corresponds to the length of the coherent integration time, and it is expressed as: ∆f =

1

(2.3)

Ticoh nt

In this case, the accuracy of the estimated carrier frequency for 1 ms integration time is 1 kHz compared to the accuracy of 500 Hz in serial search acquisition. This can be compensated by applying zero padding, at the expense of additional complexity. For example, if the size of the FFT is doubled by padding it with zeros, i.e. still using the same length for the input signal, then the frequency step will be divided by two. Compared to the serial search, a parallel search acquisition is faster at the expense of higher computational resources. However, it is important to note that a bottleneck exists in the implementation of the parallel frequency space search acquisition, especially for the new GNSS signals having higher PRN code frequency compared to the GPS L1 C/A. In fact, the Doppler frequency shift due to satellite receiver motion does not only affect the carrier frequency but also the PRN code, where the code Doppler frequency is equal to: cod e f Doppl er

=

car r i er f Doppl er

SF

car r i er = f Doppl er

f cod e f car r i er

(2.4)

cod e where f Doppl , f car r i er are the Doppler frequencies of the code and carrier, respecer Doppl er

tively, and SF is a scale factor equal to the ratio between the carrier frequency f car r i er and the code frequency f cod e . In serial search acquisition, the PRN code can be generated taking in consideration the Doppler code frequency that can be computed at each tested carrier frequency. However, in the parallel frequency search acquisition, this is not possible because all the frequency bins are tested in parallel for the same generated PRN code. This can lead to a misalignment between the received and the locally generated PRN code that decreases the correlation result and consequently the sensitivity of the receiver. For GPS L1 or Galileo E1, this is not an issue, as the effect on the PRN code is small due to the low code chip rate (1.023 MHz). However, as it can be seen from Table 2.6, the effect on the signals that have a high code chip rate is big and for long coherent integration time, the code misalignment is large. Therefore, for high sensitivity requirements, the parallel frequency search is not suit31

Chapter 2. GNSS Signals and Receivers Table 2.6: Maximum code Doppler frequency and misalignment for GPS and Galileo signals. Signal

SF

Code Doppler Frequency [Hz]

Code Misalignment [Chips] Ticoh = 1 ms Ticoh = 10 ms nt nt

GPS L1/Galileo E1

1540

±6.5

0.0065

0.065

GPS L5

115

±65.21

0.0652

0.652

Galileo E5

116.5

±65.21

0.0652

0.652

able for implementations using GNSS signals with high code chip rate. A possible solution to overcome this problem is by implementing several blocks of this method for a single channel, and for each block a different PRN code frequency is generated. However, this will require a huge amount of hardware resources.

Parallel Code Phase Search Acquisition The parallel code phase search acquisition tests all the possible code phases in parallel for a given Doppler frequency. This is done by exploiting the properties of the circular correlation in the frequency domain [41, 44]. Figure 2.16 shows a block diagram of the parallel code phase search. The incoming signal is multiplied by a locally generated carrier signal and its 90◦ phase shifted version. The resulting I and Q signals are combined to form a complex input to an FFT block. Then the output is multiplied with the conjugate of the FFT of the generated PRN code and the result of the multiplication is transformed later into the time domain by an inverse FFT (IFFT). The absolute value of the output of the IFFT represents the magnitude of the correlation between the input and the PRN code. If a peak is present in the correlation, the index of this peak marks the PRN code phase of the incoming signal [41]. The resolution of the frequency determined in the parallel code search depends on the frequency step used during the search. The rule of thumb for the frequency step is the same as in the serial search (see Eq. 2.2). The resolution of the code phase determined depends on the sampling frequency f s , and is equal to the ratio between the PRN code frequency and f s . Compared to the previous acquisition methods, the parallel code phase search is the fastest at the expense of higher computational resources. The computational 32

2.2. GNSS Receiver Blocks

I Output

RF Front-End

FFT Q

IFFT

| |2

Complex Conjugate

90o Carrier Generator

FFT

PRN Code Generator

Figure 2.16: Block diagram of the parallel code phase space search algorithm.

efficiency of the method depends on the implementation of the FFT blocks. For GNSS signals with low code chip rate, the FFT of the generated PRN code can be performed only once for each acquisition. However for the GNSS signals with high code chip rate, the PRN code frequency should take in consideration the tested carrier Doppler to reduce code misalignment. Therefore, at each tested frequency bin and for each code period, a FFT of the generated PRN code must be computed.

2.2.3 Tracking Once the acquisition of a satellite is finished, its corresponding coarse values of the code phase and carrier frequency found are sent to the tracking block. The purpose of tracking is to refine these values and keep track of their change over time. Figure 2.17 shows a generic block diagram of a typical tracking architecture for a GNSS receiver channel. During tracking, for each channel the incoming signal is multiplied with a locally generated carrier and a PRN code, and subsequently integrated and dumped over a pre-detection integration period. In order to keep track of the incoming signal over time and maximize the amplitude of the correlators output, the locally generated frequency and code phase should be maintained aligned with the frequency and code phase of the incoming signal. Therefore two loops are required: a carrier and a code tracking loop. The first one tracks the carrier frequency and computes the Doppler shift in order to obtain velocity information. The second one tracks the PRN code phase and computes pseudoranges in order to obtain position information. If 33

Chapter 2. GNSS Signals and Receivers

IE

IP

IL RF Front-End

QL

90o

QP

Carrier Generator

QE

Integrate & Dump

Discriminators

Integrate & Dump

PLL

Integrate & Dump

Filters

Carrier Loop Filter FLL

Carrier Tracking Loop

Integrate & Dump

Integrate & Dump

Integrate & Dump

Carrier NCO

DLL

Code Loop Filter

Code NCO

Code Tracking Loop

E P L PRN Code Generator

Figure 2.17: Generic tracking block diagram of a GNSS receiver channel.

these two loops are locked to the right carrier frequency and code phase, all the signal energy will be in the in-phase component and the navigation data message can be demodulated.

Carrier Tracking Loop The purpose of the carrier tracking loop is to keep track of the Doppler shift of the incoming signal of a specific satellite. The three main functions that form a receiver carrier tracking loop are the carrier pre-detection integrators, the carrier loop discriminator, and the carrier loop filter [9]. These three functions characterize the carrier loop thermal noise and the maximum LOS dynamic stress threshold. The carrier tracking discriminators define the type of carrier tracking loop as a pure PLL, a Costas PLL, or a frequency lock loop (FLL). The pre-detection integration time defines the period over which the signal will be integrated and dumped. If the integration time is increased, the carrier Doppler measurements are more accurate, and the tracking sensitivity is better. However, the carrier loop stability region will be narrower, and consequently the loop is less resistant to dynamic stress.

34

2.2. GNSS Receiver Blocks

PLL Discriminator Output [deg]

Table 2.7: Common PLL loop discriminators. Discriminator

Type

Output Phase Error

ATAN(Q P /I P )

Costas

IP QP

Costas

δφ ¡ ¢ sin 2δφ

ATAN2(Q P /I P )

Pure

δφ

150 100

ATAN(QP/IP) IP*QP ATAN2(QP/IP)

50 0 −50 −100 −150 −150 −100

−50 0 50 100 True Input Error [deg]

150

Figure 2.18: PLL discriminators output for GPS L1 C/A BPSK signal. The PLL and the Costas PLL discriminators estimate the residual phase δφ between the replicated and the incoming carrier signals by measuring the phase between the in-phase (I P ) and quadrature-phase (Q P ) prompt correlators. They are the most accurate but are more sensitive to dynamic stress than the FLL [9]. The difference between a PLL and a Costas PLL is that the latter is insensitive to the 180◦ phase reversals of the navigation message if the pre-detection integration do not straddle the data bit transitions. Therefore, for tracking data-less (i.e. pilot) GNSS signals, a pure PLL can be used, however for signals holding a navigation message, a Costas PLL is recommended. Table 2.7 summarizes the most common GNSS receiver PLL discriminators, and Figure 2.18 shows their corresponding output errors for GPS L1 C/A BPSK signal.

The I P Q P discriminator is near optimal at low SNR and has a

moderate computational burden. The four-quadrant ATAN2, and the two-quadrant ATAN are optimal at high and low SNR but have the highest computational burden with the ATAN2 discriminator remaining linear over the full input error range (±180o ), and the ATAN remaining linear over half of the input error range (±90o ).

35

Chapter 2. GNSS Signals and Receivers In contrast to the PLL that replicates the exact frequency of the incoming satellite signal (converted to IF) to perform the carrier wipe-off, a FLL performs the carrier wipe-off process by replicating the approximate frequency [9]. The FLL discriminator estimates the frequency mismatch between the replicated and the incoming carrier signals by monitoring the evolution of the vector sum of I P and Q P at consecutive times t 1 and t 2 . The most common FLL discriminator in a GNSS receiver is the four-quadrant arctangent: D F LL =

ATAN2 (cr oss, d ot ) 2π (t 2 − t 1 )

(2.5)

where: cr oss = I P 1 Q P 2 − I P 2 Q P 1 d ot = I P 1 I P 2 −Q P 1 Q P 2

(2.6)

It is optimal at high and low SNR, but has the highest computational burden. The pull-in range of a FLL discriminator is half the pre-detection bandwidth, which gives it a higher tolerance to frequency errors and dynamic stress than a PLL. It is also important to note that FLL discriminators are insensitive to the 180◦ phase reversals of the navigation message. However, if the tracking is not synchronized with the data bit transition, i.e. I P and Q P at consecutive times do not belong to the same data bit, then it is not possible to demodulate the navigation message as the FLL will not provide any phase correction to keep the maximum amplitude in the in-phase component. The outputs of the PLL and FLL discriminators are fed later to a carrier loop filter to reduce noise in order to produce an accurate estimate of the frequency error between the incoming and the generated carrier signal. The loop filter order and noise bandwidth determine the loop filter’s response to signal dynamics. Typically a third order filter is used in unaided carrier loops, while a second order filter, which is unconditionally stable at all loop bandwidths, is used in aided carrier loops. Finally, the output of the filter is fed to the carrier NCO that controls the carrier generator. More detailed analysis about the carrier discriminators and filters are provided in the next chapter.

36

2.2. GNSS Receiver Blocks Code Tracking Loop The purpose of the code tracking loop is to keep track of the PRN code phase of the incoming satellite specific signal. In a GNSS receiver, the code tracking loop is a Delay-Locked Loop (DLL). As in a carrier tracking loop, the three main functions that form a receiver code tracking loop are the code pre-detection integrators, the DLL discriminator, and the DLL filter [9]. DLL discriminator estimates the misalignment in the replica code phase with respect to the incoming satellite code phase by computing the difference in the vector magnitudes of the early and late correlated outputs [9]. The most common used DLL discriminators in a GNSS receiver are the Dot Product (DP) and the Non-coherent Early Minus Late Power (NEMLP), which will be discussed in details in the next chapter. These two discriminators can be further normalized to remove amplitude sensitivity, which improves their performance. The typical early late correlator spacing for GPS L1 C/A BPSK signal is 0.5 chips. However, as will be shown in the next chapter, the correlator spacing for modulations with sharper autocorrelation function should be lowered. It is important to note also that the existence of additional side peaks in the autocorrelation function of some of the new GNSS signals (see Figure 2.8) can lead to locking of the code tracking loop on these side peaks, and consequently to obtaining false code phase measurements. Therefore, in order to resolve the correlation main peak ambiguity, new correlators (Very Early (VE) and Very Late (VL)) can be added to the traditional Early (E), Prompt (P) and Late (L) correlators, and positioned with a fix position on the secondary peaks. The E and L correlators can have variable correlator spacing as shown in Figure 2.19 for the BOC(1,1) modulation. This way, by comparing the magnitude of the five correlators it can be ensured that the prompt correlator does not lock on a false peak [47, 48]. The disadvantage of having additional correlators is that the noise will increase in the DLL loop, which can decrease the sensitivity performance of a code tracking loop. Finally, similar to the carrier tracking loop, the output of the DLL discriminator is fed to a code loop filter that estimates an accurate code phase error between the incoming and the generated PRN codes. The estimated code phase error is subsequently fed to the code NCO that controls the PRN code generator. However, in contrast to the carrier tracking loop filter, the DLL loop filter has more tolerance to dynamics than a carrier tracking loop due to the low PRN code frequency. Therefore, typically a second

37

Chapter 2. GNSS Signals and Receivers

Normalized Amplitude

1

BPSK BOC(1,1)

0.5

0

VE

VL E

P

L

−0.5 −1

−0.5

0 Delay [Chips]

0.5

1

Figure 2.19: VE, E, P, L, and VL correlators for a BOC(1,1) signal

order filter, with a noise bandwidth much lower than the noise bandwidth of the PLL loop filter, is used for DLL loops.

2.2.4 Position Velocity Time Computation The final block of the GNSS receiver is the PVT computation, where the position is computed from pseudoranges and satellites positions, the velocity from Doppler frequencies and satellite velocities, and the time (i.e. GNSS time) from ephemeris data. The first task in the PVT computation is to recover the navigation data from the prompt correlator outputs in order to decode the navigation message. For example, in the case of GPS L1 C/A, Figure 2.20 shows the prompt correlator output when the pre-detection integration is 1 ms. After synchronization to the time where the first bit transition occurs, each 20 correlator outputs corresponding to the 20 ms navigation message data period are averaged to form one data bit. The next step after navigation data recovery is to decode the navigation message to find the ephemeris. The structure of the navigation message differs between GPS and Galileo. For GPS L1 C/A, the basic format of the navigation data is a 1500 bit long frame lasting 30 s and containing 5 subframes, each lasting 6 s. One frame (30 s) is required to decode the ephemeris and 25 frames (12.5 min) for almanac [6]. For Galileo signals, different message types are transmitted according to the general contents identified in [4]. The F/NAV types of message corresponds to the open service (OS) and the I/NAV types of message correspond to the safety of life (SoL). For F/NAV message, the navigation data is in one subframe (50 s) containing 5 pages lasting 10 s each. The 38

2.2. GNSS Receiver Blocks

1500 1000

IP

500 0 −500 −1000 −1500 7000

7200

7400 7600 Time [ms]

7800

8000

Figure 2.20: An example of prompt correlator outputs for GPS L1 C/A.

ephemeris can be decoded from 1 subframe and the almanac from 12 subframes (10 min) corresponding to 1 F/NAV frame. For I/NAV message, the navigation data is in one subframe (30 s) containing 15 pages lasting 2 s each. The ephemeris can be decoded from 1 subframe and the almanac from 24 subframes (12 min) corresponding to 1 I/NAV frame [4]. For more details about the Galileo and GPS navigation messages format, please refer to [4, 6]. To decode the ephemeris, the location of the beginning of a GPS subframe, or a Galileo page should be determined. For both systems, a subframe and a page start with a unique preamble allowing the receiver to achieve synchronization to the subframe and page boundaries. Once synchronized, the ephemeris can be decoded and satellites positions and velocities can be computed and GNSS time can be known. The synchronization to the preamble allows also to measure a relative transit time among all available satellites. This corresponds to calculating the difference of the beginning of the subframes or pages on each channel relatively to one reference channel. This relative transit time, is used to compute the first set of initial pseudoranges. If one channel is taken as reference and a travel time is assigned to it, then the initial pseudoranges on all the channels is computed as follows: h

³

ρ i = c t t r avel r e f er ence + t r ecept i oni − t r ecept i onr e f er ence

´i

(2.7)

where ρ i and t r ecept i oni are the pseudorange and reception time of channel "i ", t t r avel r e f er ence and t r ecept i onr e f er ence are the travel time and reception time of the refer39

Chapter 2. GNSS Signals and Receivers ence channel, and c is the speed of light in vacuum. The initial set of pseudoranges are further propagated in time using code phase measurements from the code tracking loop. Ideally, the satellites and the receiver clocks should be perfectly synchronized within the same reference time. However, practically this is generally not the case, and both the satellite and the receiver clocks have their own bias error from the reference time. The satellites clock biases are permanently monitored by the GNSS ground stations and corrections are broadcasted in the navigation message in order for the receiver to re-synchronize the satellites transmission times to the reference time [46]. In addition, tropospheric and ionospheric delays are added to the effective pseudorange to obtain: £ ¤ ρ i = r i + c δt b + t r opo i + i ono i

(2.8)

where t r opo i and i ono i are the tropospheric and ionospheric delays and can be corrected by using the navigation message and a-priori error models, δt b is the receiver clock bias and r i is the true range between the receiver and satellite "i " and it is equal to: ri =

q

¡ ¢2 (x i − x r ec )2 + y i − y r ec + (z i − z r ec )2

(2.9)

¡ ¢ where x i , y i , z i are the coordinates of satellite "i " computed from the ephemeris, ¡ ¢ and x r ec , y r ec , z r ec are the coordinates of the GNSS receiver. Once the pseudoranges at a specific time have been calculated and the satellite positions at this time from the ephemeris are known, the receiver can compute its position using the principle of trilateration as depicted in Figure 2.21. This is done by solving Equation 2.8, where a minimum of 3 observations are needed to find the position, and a fourth one to find the clock bias. Note that if more observations are available, then a better accuracy of the solution is obtained. Typically, the most commonly used algorithm to solve the set of pseudorange equations to compute a position is based on the least-squares method [9]. As Equation 2.8 is not linear, its linearization is done by using the first order Taylor series expansion. The velocity of the receiver is also computed using the least-squares method by ex-

40

2.3. GNSS Receiver Challenges

ρ1 ρ3

ρ2

Figure 2.21: Trilateration principle to compute a position of a GNSS receiver

panding the first order Taylor series of the Doppler frequency equation:  f Doppl er i =

1  λ

x i −x r ec ri y i −y r ec ri z i −z r ec ri

T 

v xr ec − v xi



     v y − v y  + c · δt d i    r ec λ v zr ec − v zi

(2.10)

¡ ¢ where λ is the wavelength of the signal frequency of interest, v xi , v y i , v zi are the veloc¡ ¢ ity components of satellite "i " computed from the ephemeris, and v xr ec , v y r ec , v zr ec and δt d are the velocity coordinates and clock drift of the GNSS receiver respectively.

2.3 GNSS Receiver Challenges The accuracy of GNSS receivers in terms of a navigation solution depends on complicated interactions of various factors [9]. One of the main parameters that impacts the performance of a GNSS receiver is the accuracy of computing the pseudoranges, which in turn depends on the performance of the carrier and code tracking loops. The effective accuracy of the pseudorange value is termed the User-Equivalent Range Error (UERE). The UERE for a given satellite is considered to be the statistical sum of the contributions from each of the error sources associated with the satellite. The UERE of all satellites, and the geometry factor determine the error in a GNSS solution. This is expressed as [9]: ¡ ¢ er r or G N SS = g eomet r y f ac t or × (U E RE )

(2.11) 41

Chapter 2. GNSS Signals and Receivers The geometry factor expresses the composite effect of the relative satellite/receiver geometry. In the following, the main sources contributing to the geometry and UERE are described. They are identified as: dynamics, availability, interference and multipath.

2.3.1 Dynamics The dynamics of the receiver is a very important factor when designing a GNSS receiver and if not properly taken in consideration, it can impact the acquisition sensitivity, and the robustness of the tracking loops. The acquisition sensitivity is defined as the minimum C /N0 at which the signal can be acquired by the GNSS receiver. Typically, coherent or non-coherent integrations or combination of both for long periods are used in order to achieve high sensitivity of a receiver. However, the Doppler change during this period should be as low as possible in order to obtain maximum correlation output. This means that higher sensitivity can be reached when the receiver is either stationary or moving at relatively low constant velocity and having low accelerations. In addition, when the integration time is long, the frequency search bin width must be small. Furthermore, under high dynamics, the Doppler shift is large, resulting in a large frequency search span, which leads to more frequency bins to test and consequently longer acquisition times. The dynamics also impact the tracking – specifically the carrier tracking loop. In addition to the dynamics induced error in the pseudorange and Doppler computations, it should be noted that when designing GNSS tracking loops, on one hand the pre-detection integration time should be as short as possible, and the carrier and code loop filter bandwidths as wide as possible in order to increase the tolerance to the dynamic stress. On the other hand, in order to obtain high sensitivity and better accuracy, the pre-detection integration time should be long, and the carrier and code loop filter bandwidths as narrow as possible. One of the solutions to overcome the paradox of high dynamics in a receiver, is the use of a priori information if available. For example, if the approximate location of the receiver along with the time of the day are known, then the acquisition time can be reduced by obtaining the list of available satellites and their approximate Doppler frequency from the almanac data. In this case, the receiver would only search the Doppler frequency space resulting only from the dynamics of the receiver. 42

2.3. GNSS Receiver Challenges

Another possible solution, is to obtain dynamic information from another system such as an INS. In this case, the acquisition and tracking pre-detection integration time can be increased without worrying about dynamics, and the carrier and loop filter bandwidths can be narrowed to obtain better accuracy.

2.3.2 Availability The availability in GNSS systems is defined as the percentage of time that the receiver is able to provide a navigation solution. Furthermore, availability is the main element to determine the geometry factor in Equation 2.11. The geometry factor for a GNSS receiver is expressed as a Dilution of Precision (DOP) factor that can be Geometry DOP (GDOP), Position DOP (PDOP), Horizontal DOP (HDOP), Vertical DOP (VDOP), or Time DOP (TDOP), which all depend on the number of visible satellites by the receiver and their geometry for a specific location and time of day. Typically a DOP value between 5 and 10 is considered as moderate and the position solution is acceptable. A value higher than 20 is considered poor and at this level, measurements are inaccurate [9]. An example for a GDOP value in function of the number of visible satellites is shown in Figure 2.22. It can be noted that as soon as the number of visible satellites decreases to 5 the GDOP increases to more than 20. This means that in certain scenarios, the loss of even one satellite can decrease drastically the accuracy of the solution. Another important factor that arises in demanding environments is the drop of the number of visible satellites to less than 4. As it has been shown before, a GNSS receiver needs a minimum of 4 observations to compute a position. Therefore, in indoors, urban canyons, or inside tunnels on highways, there is a high probability that the receiver is not able to acquire or track more than 3 satellites and consequently unable to provide a position solution. Several solutions exist to improve the availability of a GNSS receiver, and they can be summarized as:

• Multi-constellation receivers: They allow to use satellites from different GNSS systems to compute a navigation solution. It improves the availability, geometry 43

Chapter 2. GNSS Signals and Receivers

Number of Visible Satellites

7

6

5 90

100

110

100

110

Time [s]

120

130

140

120

130

140

25

GDOP

20 15 10 5 0 90

Time [s]

Figure 2.22: Number of visible satellites and corresponding GDOP factor. and accuracy of the navigation solution. • High sensitivity receivers: They allow to acquire and track satellites with very weak C /N0 thereby improving the availability especially in demanding environments. • Integration with other sensors: This allows to provide a navigation solution even when the number of visible satellites is less than 4.

2.3.3 Interference GNSS receivers rely on external RF signals to compute a navigation solution, therefore they are vulnerable to RF interference that can degrade the navigation accuracy or lead to a complete loss of tracking [49]. Many types of interference exist and they can be categorized as intentional or non-intentional. Non-intentional sources can be radar, television or near-band microwave link transmitters and transmitting wideband or narrowband phase/frequency, or pulse modulations. Intentional sources can be noise, continuous wave (CW), or spread spectrum jammers transmitting wideband Gaussian noise, wideband spread spectrum modulation, or narrowband phase/frequency modulation. Furthermore, GNSS receivers are vulnerable to spoofing, i.e. the intentional transmission of a false, but stronger version of the GNSS signal that 44

2.3. GNSS Receiver Challenges disrupts the receiver tracking loops and the navigation process. RF interferences mainly impact the tracking loops of a GNSS receiver and has the same effect as signal blockage, foliage attenuation, ionospheric scintillation, and multipath [49]. They all reduce the effective C /N0 of the received GNSS signals to below the tracking threshold, which causes the receiver to lose its ability to obtain measurements from the GNSS satellites and consequently its ability to provide a navigation solution. Several techniques exist to fight interferences. It can be hardware techniques, signal processing techniques or aiding techniques. Hardware techniques involve antenna enhancements (e.g. the use of an adaptive antenna array), front-end filtering techniques, pulse interference suppression, or implementation of a RF interference detector. Signal processing techniques involve enhancements of the code and carrier tracking loops, e.g. reducing the pre-detection bandwidth as well as loop filter bandwidths. Aiding techniques involve internal or external aiding. Internal aiding can be done by carrier aiding to the code loop, and external aiding can be obtained through the integration of other sensors like an altimeter/magnetic compass, speed/barometer, or IMU’s sensors alongside the GNSS receiver.

2.3.4 Multipath In GNSS, multipath is caused by reflections of satellite signals from nearby objects, buildings and/or the ground. These reflected signals arrive to the receiver with additional delays and different amplitudes as compared to the LOS path. For a GNSS receiver the only desired signal to measure the pseudorange is the direct one as all the other multipath signals may cause important ranging and carrier phase errors. In fact, with the presence of reflected signals arriving at the receiver after multiple reflections, diffraction, and scattering, the baseband signal, the discriminator output, and the autocorrelation function may all be distorted. As the pseudoranges are obtained from these quantities, the distortions may lead to a false or biased lock and consequently ranging errors (code multipath), carrier phase errors (carrier multipath), Doppler errors, and fading [50]. Multipath affects code measurements and phase measurements. But due to the wavelength of the PRN code which is much longer than the wavelength of the carrier, the multipath error of code measurements is higher. The impact of multipath on the pseudorange computation is explained in the fol45

Chapter 2. GNSS Signals and Receivers

1

0.6 0.4 0.2 0 −2

Total path

0.8 Normalized Amplitude

0.8 Normalized Amplitude

1

Direct Path Multipath

0.6 0.4 0.2

−1

0 1 Delay [Chips]

2

0 −2

−1

0 1 Delay [Chips]

Discriminator Output [Chips]

1

2

Direct Path Total Path

0.5 0 Pseudorange Error −0.5 −1 −2

−1.5

−1

−0.5

0 Delay [Chips]

0.5

1

1.5

2

Figure 2.23: Multipath effects on the autocorrelation function and discriminator output for a BPSK signal.

lowing example. In the receiver, the pseudorange measurement is calculated from a locally generated PRN code which is kept phase-locked to the received code. This locking is maintained through the discriminator. In an ideal case when only a direct path is present, the discriminator output is zero when the code tracking error is zero. However, when a multipath is present the correlation function is distorted and consequently the discriminator function will have a zero crossing at non zero code tracking error. Analytically, all the received components can be treated separately. Thus the correlation function of the direct signal and the multipath components can be computed separately and vector summed to obtain the correlation function of the total path. This is shown in the top two plots of Figure 2.23 where the autocorrelations for a BPSK signal, its 0.5 chip delay and half amplitude multipath component and their sum are illustrated. The coherent early minus late discriminator outputs of the direct path and the total path are shown in the bottom plot. The zero crossing position of the total path discriminator function will give the code phase multipath error, which in this case is equal to 0.166 chips corresponding to a pseudorange error of roughly 48.68 m for a code frequency of 1.023 MHz. 46

2.4. Summary

Several approaches exist in order to mitigate multipath errors in GNSS receivers. Among them, some approaches are based on the design of improved receiver internal correlation techniques, such as narrowing the early-late correlator spacing, or implementing more than 3 correlators [51]. Other approaches are based on estimation techniques where multipath components are treated as parameters to be estimated from the channel observations, so that their effects can be removed [52]. Finally, it is important to note that the design of new modulations with sharp autocorrelation function and higher PRN code rate proved to show a lot of potential in mitigating the multipath error comparing to the GPS L1 C/A BPSK signal. The latter point will be more exploited in the next chapter.

2.4 Summary This chapter explains the main updates brought by the modernization and introduction of the new GPS and Galileo signals. The new signals are characterized by their wide bandwidth, sharp autocorrelation function, high PRN code rate and dataless channels. The main blocks of a GNSS receiver were also presented taking in consideration the impact of the new modulations characteristics especially on the acquisition and tracking blocks. Finally, the main challenges that a GNSS receiver encounters in demanding environments were identified, i.e. dynamics, availability, interference and multipath, and various approaches to overcome them were briefly discussed.

47

3 Galileo E5 Processing

The techniques required to process the Galileo E5 signal are much more challenging than those for other GNSS signals. This stems from its extremely large bandwidth and from the complex interaction of four components of the spreading codes. However, the AltBOC(15,10) modulation on E5, is one of the most promising signals the Galileo satellites will transmit. GNSS receivers capable of acquiring and tracking this signal will benefit from improved performance in many points – particularly in terms of sensitivity, measurement accuracy and multipath mitigation. This chapter discusses all the aspects for processing the Galileo E5 signal. The first part starts by presenting the structure and characteristics of the E5 signal and shows how it can be approximated in a simpler form due to filtering effects and power sharing. Then, it describes the possibility to process this signal in two different modes, as an AltBOC(15,10) or a BPSK(10) modulation, and studies the main effects of the proposed approximations. Moreover, the influence of the front-end filtering is considered together with its effects on the amplitude and shape of the autocorrelation function. In the third part, possible acquisition architectures that can be applied on this signal are presented and a new algorithm for wiping off the secondary code is proposed. The fourth part tackles the carrier and code tracking, and studies the tracking robustness by analyzing the performance of well-known traditional carrier and code loop discriminators in terms of stability and linearity under different conditions, i.e. correlator chip spacing, front-end filter bandwidth, and normalization. Furthermore, the main tracking error sources, i.e. thermal noise, dynamic stress, oscillator jitter, in the tracking loops are discussed and derived to determine the carrier and code tracking sensitivity and thresholds. In the final part, the multipath mitigation performance for

49

Chapter 3. Galileo E5 Processing different multipath environments is presented. The main purpose of this chapter is to provide a better understanding of the performance of the Galileo E5 signal especially in challenging environments, and thus help to select the optimal parameters and potential techniques in designing a Galileo E5 receiver.

3.1 Signal Structure The Galileo E5 signal is Right Hand Circular Polarized (RHCP) and uses an Alternate Binary Offset Carrier AltBOC(15,10) modulation. The carrier, at E5, has four channels modulated by four quasi-orthogonal PRN codes (c E 5a−I , c E 5a−Q , c E 5b−I and c E 5b−Q ) generated using a linear feedback shift register (LFSR), two navigation messages (d E 5a−I , d E 5b−I ) and one side-band subcarrier at a rate of f sc = 15.345 MHz. Table 3.1 summarizes the code rates, subcarrier frequencies, symbol rates and services mapped for each channel. The expressions for the band-pass transmitted signal, assuming one satellite, and its respective baseband are given as [4]: h i S E 5t (t ) = A · R s E 5 (t )e j 2π f c t

(3.1)

s E 5 (t ) = s E 5−I (t ) + j s E 5−Q (t ) where A is the signal amplitude and f c is the carrier frequency equal to 1, 191.795 MHz. R denotes the real function. A detailed description of the generation of the Galileo AltBOC modulated signal s E 5 (t ) can be found in [4]. The analytical baseband complex envelope representation of s E 5 (t ) is given by: ¤£ ¤ 1 £ s E 5 (t ) = p e E 5a−I (t ) + j e E 5a−Q (t ) sc E 5−S (t ) − j sc E 5−S (t − T s,E 5 /4) 2 2 ¤£ ¤ 1 £ + p e E 5b−I (t ) + j e E 5b−Q (t ) sc E 5−S (t ) + j sc E 5−S (t − T s,E 5 /4) 2 2 ¤£ ¤ 1 £ + p e¯E 5a−I (t ) + j e¯E 5a−Q (t ) sc E 5−P (t ) − j sc E 5−P (t − T s,E 5 /4) 2 2 ¤£ ¤ 1 £ + p e¯E 5b−I (t ) + j e¯E 5b−Q (t ) sc E 5−P (t ) + j sc E 5−P (t − T s,E 5 /4) 2 2

50

(3.2)

3.1. Signal Structure Table 3.1: Parameters of the four E5 channels. Channel

Carrier Freq. [MHz]

Code Rate [Mchip/s]

Subcarrier Freq. [MHz]

Symbol Rate [symbols/s]

Service

E5a-I E5a-Q E5b-I E5b-Q

1176.45 1176.45 1207.14 1207.14

10.23 10.23 10.23 10.23

15.345 15.345 15.345 15.345

50 No data 250 No data

F/NAV Pilot I/NAV Pilot

where the signal components e E 5a−I , e E 5a−Q , e E 5b−I and e E 5b−Q contain the PRN codes and the navigation messages, and T s,E 5 is one period of the subcarrier functions sc E 5−S and sc E 5−P . The respective dashed signal components e¯E 5a−I , e¯E 5a−Q , e¯E 5b−I and e¯E 5b−Q represent the product signals and are equal to: e¯E 5a−I = e E 5a−Q · e E 5b−I · e E 5b−Q e¯E 5a−Q = e E 5a−I · e E 5b−I · e E 5b−Q e¯E 5b−I = e E 5b−Q · e E 5a−I · e E 5a−Q

(3.3)

e¯E 5b−Q = e E 5b−I · e E 5a−I · e E 5a−Q The parameters sc E 5−S and sc E 5−P represent the two four-valued subcarrier functions for the single signals side bands and the product signals side bands, which are given as:

sc E 5−S (t ) = sc E 5−P (t ) =

+∞ X i =−∞ +∞ X

S |i |8 r ec t Ts,E 5/8 (t − i T s,E 5 /8) P |i |8 r ec t Ts,E 5/8 (t − i T s,E 5 /8)

(3.4)

i =−∞

The coefficients S |i |8 and P |i |8 are the multi-level amplitudes of the subcarrier functions, which can be seen in Figure 3.1 during one period of time. The existence of the subcarrier signal splits the spectrum into two symmetric side lobes E5a and E5b centered at ± f sc MHz from the carrier frequency. This makes the power spectral density of the E5 AltBOC(15,10) signal one of the widest spectrums in GNSS bands. From the satellite, the signal is transmitted over a 90-MHz bandwidth, and the minimum required bandwidth to receive it is 51.15 MHz [2 × (15.345 + 10.23)]. The specified minimum received power using a 0 dBi RHCP antenna is -152 dBW [4] 51

Chapter 3. Galileo E5 Processing

Figure 3.1: One period of the two subcarrier functions.

−150

Transmitted Signal Theoretical Signal

Power [dBm−Hz]

−155 −160 −165 −170 −175 −180 1100

1150 1200 Frequency [MHz]

1250

Figure 3.2: Power spectral density of the AltBOC(15,10) and the transmitted Galileo E5.

divided equally between the four channels. The infinite bandwidth PSD envelope is given by [53]:

G Al t BOC ( f ) =

2 4 f p cos

π2 f 2

³

a2

πf fp

´ ·

¶ ¸ πf a − a − 2acos +2 4 f sc 2

µ

(3.5)

where f p is the PRN code frequency equal to 10.23 MHz, and a is defined as: πf a = cos 2 f sc µ

¶ (3.6)

The difference between G Al t BOC ( f ), i.e. theoretical, and the transmitted signal generated from a Spirent GSS8000 simulator [54] is shown in Figure 3.2. The transmitted signal shown is a snapshot from a spectrum analyzer with a resolution bandwidth of 3 MHz and LogPower average type with an Average/Hold Number of 100 points. The 52

3.1. Signal Structure effect of signal filtering beyond 45 MHz from the center frequency is well noticeable.

3.1.1 Filtering Approximations The product signals are used to obtain a constant-envelope E5 modulated signal. Their first harmonics occur at ±3 f sc (±45 MHz) and contains 61.5% of the total power specified for the product subcarriers, which is 14.64% of the total E5 power. Hence, the harmonics at ±3 f sc will only contain 0.61590 × 0.1464 = 9% of the total power. For the SSB, the first harmonic occurs at + f sc (15 MHz) from the center frequency and contains 94.96% of the total power specified for the single sub-carriers, which is 85.36% of the total E5 power [27]. Consequently, the main two lobes of the AltBOC signal (E5a and E5b) will contain 0.94969 × 0.8536 = 81% of the total power. As a result, the product signals that do not carry any useful information have very small amplitude and with a front-end bandwidth smaller than 90 MHz, most of their power is filtered out. Therefore, they can be neglected and Equation 3.2 is rewritten as: 1 sE5 (t) ' p (eE5a−I (t) + jeE5a−Q (t))[scE5−S (t) − jscE5−S (t − Ts,E5 /4)] 2 2 1 + p (eE5b−I (t) + jeE5b−Q (t))[scE5−S (t) + jscE5−S (t − Ts,E5 /4)] 2 2

(3.7)

Similarly, with a band pass filter smaller than 90 MHz, the intermodulation products at ±3 f sc and ±5 f sc are mostly filtered out. Therefore, the single subcarrier expressions can also be approximated as pure cosine and sine functions: sc E 5−S (t ) ' cos(2π f sc t ) sc E 5−S (t − T s,E 5 /4)(t ) ' si n(2π f sc t )

(3.8)

Equation 3.7 is then written as: i 1 h s E 5 (t ) ' p E 5a(t )e − j 2π f sc t + E 5b(t )e j 2π f sc t 2 2

(3.9)

where E5a(t) and E5b(t) are equal to: E 5a(t ) = e E 5a−I (t ) + j e E 5a−Q (t ) E 5b(t ) = e E 5b−I (t ) + j e E 5b−Q (t )

(3.10)

53

Chapter 3. Galileo E5 Processing

1

Without app With app

1 0.9 0.8

Normalized Amplitude

0.7 0.6 0.5

0.5

0.4 0.3

-0.1

0

0.1

0.2

0

-0.5

-1 -1.5

-1

-0.5 0 0.5 Code Delay [Chips]

1

1.5

Figure 3.3: Comparison of the autocorrelation function for the Galileo E5 with and without the proposed approximations.

The difference between the autocorrelation function with and without the proposed approximations is shown in Figure 3.3. It can be seen that the overall shape of the autocorrelation function is not affected. The only difference is a very small amplitude loss at the main peak due to neglection of the remaining power of the product signals that is not filtered out. Using the above approximations, and taking into account the propagation time, the Galileo E5 signal, coming from a particular satellite, is modeled at the output of the receiver front end after down conversion and filtering as: h i S E 5r (t ) ' A · R s˜E 5 (t − τ)e j (2π f I F t +φ)

(3.11)

where s˜ is the filtered baseband received signal, f I F is the intermediate frequency, τ the time-varying code delay, and φ is the time-varying carrier phase delay due to the propagation time. We assume that the phase delay includes the Doppler effect caused by satellite and signal motions. Due to the split spectrum of the E5 signal, it is possible to receive the signal as a pure BPSK(10) modulation when using a filter with a pass-band bandwidth higher than 20.46 MHz centered on one of the main peaks corresponding to the E5a or E5b components. In fact, if only one of these two bands is received, then the signal at the output of the front-end is modeled as: h i S E 5 y (t ) ' A · R s˜E 5 y (t − τ)e j (2π( f I F ± f sc )t +φ) 54

(3.12)

3.2. Autocorrelation Function

Transmitted E5a Signal

Power [dBm−Hz]

−155

−160

−165

−170

−175

1160

1170 1180 Frequency [MHz]

1190

Figure 3.4: Power spectral density of the Galileo E5a BPSK(10) for the minimum received power of -155 dBW (same averaging as in Figure 3.2).

where y stands for ’a’ or ’b’ depending if E5a ( f I F − f sc ) or E5b ( f I F + f sc ) is acquired. Equation 3.12 results in receiving a BPSK(10) modulation signal, where the value ’10’ stands for a signal that has a PRN code rate 10 times the GPS C/A code rate (i.e. 10.23 MHz). Figure 3.4 shows the PSD of the E5a signal component generated from a Spirent GSS8000 simulator [54]. In the following, the focus will be on studying the Galileo E5 processing in full band as an AltBOC(15,10) modulation or in a limited bandwidth centered on E5a or E5b as a BPSK(10) modulation. But, first, a brief description of the AltBOC(15,10) autocorrelation function is presented, and the impact of the receiver front-end filtering is discussed.

3.2 Autocorrelation Function The analysis of the autocorrelation function is carried on the two pilot channels E5a-Q and E5b-Q. As they do not carry navigation data bits, a long integration time can be used and thus a more robust tracking can be obtained. The data channel case will be addressed shortly at the end of this section. The pilot channel on the E5 signal is obtained by taking only the imaginary parts of Equation 3.10. At baseband, it is written as: π

π

S E 5−Q (t ) = e˜E 5a−Q (t − τ)e − j (2π f sc (t −τ)+ 2 ) + e˜E 5b−Q (t − τ)e j (2π f sc (t −τ)+ 2 )

(3.13)

where e˜E 5a−Q and e˜E 5b−Q are the filtered pilot PRN codes. To track the pilot component, S E 5−Q (t ) should be correlated with locally generated spreading codes e E 5a−Q 55

Chapter 3. Galileo E5 Processing and e E 5b−Q multiplied by the complex conjugate of the corresponding subcarrier exponential. Taking into consideration that the cross-correlations between the PRN codes of different pilot and data channels, and between the pilot channels themselves are negligible, then the correlation output is approximated to: R˜E 5−Q (τ) ≈ R˜E 5a−Q (τ) + R˜E 5b−Q (τ)

(3.14)

where R˜E 5a−Q (τ) and R˜E 5b−Q (τ) are calculated as: R˜E 5a−Q (τ) =

Z

π

π

Ti nt

j 2π f sc τ ˜ e˜E 5a−Q (t − τ)e − j (2π f sc (t −τ)+ 2 ) e E 5a−Q (t )e j (2π f sc (t )+ 2 ) d t ≈ R(τ)e

(3.15)

R˜E 5b−Q (τ) =

Z Ti nt

π

π

− j 2π f sc τ ˜ e˜E 5b−Q (t − τ)e j (2π f sc (t −τ)+ 2 ) e E 5b−Q (t )e − j (2π f sc (t )+ 2 ) d t ≈ R(τ)e

(3.16) ˜ where R(τ) is the triangular function, and Ti nt is the integration time. Substituting the two summands in Equation 3.14 by the expressions in Equations 3.15 and 3.16, the autocorrelation function of the Galileo pilot channel is written as: ˜ cos(2π f sc τ) R˜E 5−Q (τ) = R(τ)

(3.17)

Figure 3.5 shows the autocorrelation function of the E5 pilot signal for different receiver bandwidths along with the theoretical BPSK(10) autocorrelation function. It can be seen that it possesses five peaks in the region of [-1,+1] chip. The effect of receiver filtering on the shape of the autocorrelation function is not significant, but the power at the main peak is reduced. Note that in the case of infinite bandwidth, the product signals are taken into account, but for limited bandwidths, they are neglected as explained before. A zoom-in around the main peak is shown in Figure 3.6, where it can be seen that the peak of the E5 pilot signal is much sharper than that of the BPSK(10). As expected, reducing the front-end filter reduces the amplitude of the main peak and rounds it. Table 3.2 shows the amplitude losses due to the different front-end filter bandwidths considered.

56

3.2. Autocorrelation Function

B=∞ B = 90 MHz B = 75 MHz B = 51.15 MHz BPSK(10)

Normalized Amplitude

1 0.8 0.6 0.4 0.2 0 −0.2 −0.4 −0.6 −1.5

−1

−0.5 0 0.5 Code Delay [Chips]

1

1.5

Figure 3.5: Impact of the front-end receiver bandwidth on the E5 autocorrelation function.

B=∞ B = 90 MHz B = 75 MHz B = 51.15 MHz BPSK(10)

1 Normalized Amplitude

0.95 0.9 0.85 0.8 0.75 0.7 0.65 0.6 −0.4

−0.2

0 0.2 Code Delay [Chips]

0.4

Figure 3.6: Zoom-in around the main peak of Figure 3.5.

In the case of the data channel, and as shown before for the pilot channel, the combined E5a-Q/E5b-Q correlation functions are simply the sum of the individual E5a and E5b pilot correlation functions. For the data channel, the same principle can be used, but the integration time should be less than or equal to one data bit navigation unless the data bits are wiped off prior to the combination. The E5 data correlation peak is given by: ˜ cos(2π f sc τ) R˜E 5−I (τ) = R(τ)

(3.18) 57

Chapter 3. Galileo E5 Processing Table 3.2: E5 amplitude losses due to transmitter and receiver front-end filtering. Bandwidth [MHz]

90

75

51.15

Loss [dB]

0.42

0.61

0.76

Table 3.3: E5 and E5a/E5b characteristics. Signal

E5

E5a or E5b

Modulation Minimum Bandwidth [MHz] Percentage of Received Power [%] Main Peak Width Minimum Received Power [dBW]

AltBOC(15,10) 51.15 84 ±0.165 chips -152

BPSK(10) 20.46 40.5 ±1 chip -155

Analysis on the E5a or E5b autocorrelation function will not be discussed in this dissertation, as it is a pure BPSK modulation that has been already addressed in the literature for the GPS C/A signal [9, 55, 56]. Concluding this section, Table 3.3 summarizes the main characteristics of the E5 and E5a or E5b autocorrelation functions.

3.3 Acquisition Due to the split spectrum properties of Galileo E5, it is possible to acquire it using three strategies [18, 57]: • Single side-band acquisition (SSB) • Double side-band acquisition (DSB) • Full band acquisition (FB) The SSB approach consists of having a filter centered on one of the side-band components of Galileo E5, i.e. either E5a or E5b. In this case, the receiver can acquire the respective pilot channel only, i.e. E5a-Q or E5b-Q, or the data channel only, i.e. E5a-I or E5b-I, or both, i.e. E5a-I + E5a-Q or E5b-I + E5b-Q. The three options result in a BPSK(10) like signal acquisition. The DSB approach consists of having two separate filters centered on the two side bands components of Galileo E5 to take advantage of the four channels transmitted 58

3.3. Acquisition from one satellite. This allows to acquire the pilot channels (i.e. E5a-Q + E5b-Q), or the data channels (E5a-I + E5b-I), or all the channels (E5a-I + E5a-Q + E5b-I + E5b-Q). Here again, all the options result in a BPSK(10) like signal acquisition. The main advantage of DSB over SSB is that a larger part of the received signal power is used. However, the expense is a higher hardware resource requirement. The FB approach consists of having one filter centered on the carrier frequency of Galileo E5 and having a minimum bandwidth that covers both the two side-bands components (i.e. 51.15 MHz). It is based on the reception and the processing of the entire E5 band and results in an AltBOC(15,10) signal acquisition. In this case, most of the power of the received signal is used. However, the large filter bandwidth implies a high sampling frequency, and consequently higher resources. The implementation techniques of the SSB and DSB approaches are discussed in the following, but first the reasons to discard the FB approach for implementation and the effects of code phase search step on the acquisition of Galileo E5 are presented.

3.3.1 Effects of Code Phase Search Step In the previous chapter, the effect of the code phase search step on the code misalignment losses during the acquisition process was briefly shown. As a reminder, the code alignment losses are the reduction in the post-correlation SNR due to the alignment offset between the locally generated PRN code and the received one [45]. They are a function of the autocorrelation function of the signal. In the case of Galileo E5, Figures 3.7 and 3.8 show the worst-case and average misalignment losses in function of the code phase search step when Galileo E5 is acquired as AltBOC(15,10) for different bandwidths and as BPSK(10). It can be clearly seen that when the E5 is acquired as an AltBOC(15,10), the misalignment losses can be very high. Comparing to the BPSK(10), the decreasing slope is steeper and there are nulls produced by the regularly spaced autocorrelation nulls between side peaks. For example, for the worst-case losses, a 0.4 code phase step results in a roughly -2 dB loss for BPSK(10) modulation and -12 dB loss for AltBOC(15,10). If the same loss as BPSK(10) has to be obtained for AltBOC(15,10), the code phase search step has to be decreased to 0.08 chips. If the coherent integration time is equal to one primary code period (i.e. 1 ms), then for serial search acquisition, this results in 59

Chapter 3. Galileo E5 Processing Worst−Case Losses Code Misalignment Loss [dB]

0 −10 −20 −30 B=∞ B = 90 MHz −50 B = 75 MHz B = 51.15 MHz BPSK(10) −60 0 0.2 0.4 0.6 0.8 Code Phase Step [Chips] −40

1

Figure 3.7: Worst-case misalignment losses for Galileo E5. Average Losses Code Misalignment Loss [dB]

0 −1 −2 −3 −4 −5

B=∞ B = 90 MHz B = 75 MHz −7 B = 51.15 MHz BPSK(10) −8 0 0.2 0.4 0.6 0.8 Code Phase Step [Chips] −6

1

Figure 3.8: Average misalignment losses for Galileo E5. 10230/0.08 = 127,875 code phase combinations to be searched for AltBOC(15,10), and 10230/0.4 = 25,575 combinations for BPSK(10). For parallel code phase search this results in a minimum sampling frequency of 127.875 MHz for AltBOC(15,10), and 25.575 MHz for BPSK(10). Another possible approach to obtain the same post-correlation SNR as BPSK(10) is to increase the coherent integration time without decreasing the code phase search step. This will relax the sampling frequency requirements, but will increase the acquisition time, as the number of frequency bins to be searched will increase. Another point that should be taken into consideration when acquiring E5 as an AltBOC(15,10) is the multiple peaks of the autocorrelation function. If the code phase search step is increased to more than 0.33 chips (i.e. width of the main peak), there 60

3.3. Acquisition is a higher probability of an ambiguity issue for the acquisition, i.e. risk of false lock on secondary correlation peaks [57]. This can be solved by using additional signal processing, e.g. the bump-jumping technique, described in [58] for BOC signals. In addition, acquiring E5 signal as an AltBOC(15,10) implies that the receiver should generate the subcarrier replicas, which is not the case if it is acquired as BPSK(10). Finally, all these factors show that using the FB acquisition approach to gain additional received power, implies high bandwidth, high sampling frequency, additional resources, small code phase search step, complex implementation, and consequently longer acquisition time. However, with the SSB and DSB approaches, similar performance to the FB can be obtained in terms of acquisition sensitivity, and probability of detection with simpler implementation, less resources and faster acquisition time. Thus, the FB approach is not recommended for implementation for acquiring the E5 signal. Therefore, in the following, implementation techniques for the SSB and DSB approaches are only presented.

3.3.2 SSB and DSB Implementation Three possible techniques can be used to implement the SSB and DSB approaches: the serial search, the parallel frequency space search, and the parallel code phase search (see Chapter 2 for more details). Their suitability for implementation in the case of the Galileo E5a and E5b signals depends on many factors. For the serial search, the high frequency of the PRN codes (i.e. 10.23 MHz) results in a large number of combinations to be checked. For example, if the coherent integration time is 1 ms (i.e. a frequency search step of 500 Hz), the code phase search step is 0.5 chips, and assuming a frequency search span equal to the maximum Doppler frequency, the total number of combinations to be searched is 634,260 and 654,720 for E5a and E5b respectively. If the integration time is doubled, then the total number of combinations will be 1,248,060 and 1,288,980 respectively. Moreover, for high sensitivity applications, the coherent integration time can reach 10 ms or even more. This will imply a huge number of combinations, and consequently a long acquisition time. Even though the implementation of this technique is straightforward and simple, in the case of E5a or E5b, it is thus not recommended. For the parallel frequency search, more resources are used but faster acquisition 61

Chapter 3. Galileo E5 Processing Table 3.4: Maximum code misalignment and corresponding loss for Galileo E5a and E5b due to maximum Doppler.

Code Misalignment [Chips] Loss [dB]

1 ms

Ticoh nt 5 ms 10 ms

15 ms

0.065 0.58

0.325 3.41

0.975 32.10

0.652 9.16

is obtained. However, as explained in the previous chapter, the code Doppler frequency cannot be compensated when generating the PRN code because the different frequencies are tested simultaneously. This will result in code misalignment losses that will increase with increasing the coherent integration time. Table 3.4 shows the code misalignment and corresponding loss when the maximum Doppler frequency is considered, i.e. 7.5 kHz for E5a and 7.7 kHz for E5b. It can be seen that the misalignment almost reaches 1 chip when the coherent integration time is 15 ms. This makes this technique not well suited for high sensitivity receivers where long integration times are needed. However it can be implemented when Ticoh is less than 5 ms. nt The bottleneck in acquiring E5a and E5b signals is the length of their PRN codes. Therefore, the parallel code phase search technique stands as the best candidate as it parallelizes the search in the code phase domain, and thus reduces the acquisition time at the expenses of higher resources comparing to the two previous methods. In addition the PRN codes can be generated taking in consideration the tested Doppler frequency. The SSB implementation using the parallel code phase search is shown in Figure 3.9 using the pilot or data channel only where fˆt is the Doppler frequency d

to test. It can be seen that for every PRN code period, three FFT blocks are needed. The size of each FFT depends on the sampling frequency and the resolution of the code phase search step. It is important to note that even if the pilot channels are dataless, the existence of the secondary code on top of the primary code implies that the receiver should test all the possible combinations when adding the integration results of different PRN code periods coherently. If the coherent integration time is equal to Nc PRN code periods, then 2Nc −1 possible combinations exist. The issue of secondary code wipeoff will be discussed in details in the next section. The block diagram of SSB implementation using the data and pilot channel is shown in Figure 3.10. The difference with the implementation using only one channel is the existence of an additional FFT block resulting in a total of 4 FFTs. There is also the 62

3.3. Acquisition

rIF,X(t)

e

FFT j 2   f c  f sc  fˆdt t

|IFFT|

max > TH

Complex Conjugate

No

FFT

Test next Doppler

Yes

Tracking

e E 5 a  I / e E 5 a Q or e E 5 b  I / e E 5 b Q Figure 3.9: Block diagram of SSB implementation using only the pilot or data channel of E5a or E5b.

’Extraction’ block that stands as a mathematical operation to extract the FFT’s of two different real sequences from the FFT of their complex sum. In this way, instead of adding or subtracting the results of two separate FFT blocks for E5a-I and E5a-Q PRN codes in order to resolve the data bit ambiguity, we can have one FFT block for their complex sum and extract the FFT’s of the pilot and data channel separately as follows [59]: F F TP i l ot (k) = F F TD at a (k) =

F F TE∗5a/b (N − k) + F F TE 5a/b (k) 2 £ ¤ ∗ j F F TE 5a/b (N − k) − F F TE 5a/b (k)

(3.19)

2

where N is the size of the FFT block. It should be noted that when the number of coherent integrations is Nc PRN code periods, the number of combinations to test is 22Nc −1 as there is a bit transition on both the pilot and data channels due to the existence of the secondary codes on both the data and pilot, and a navigation message on the data channel. In the DSB approach, an additional filter allows to receive the E5a and E5b signals at the same time. The block diagram of DSB using pilot channels only is shown in Figure 3.11. The total number of FFT blocks is 5, with one combination block. Here again, the secondary chip ambiguity exists and therefore different combinations should be tested. If the coherent integration time is Nc PRN code periods, the total number of combinations is 22Nc −1 . 63

Chapter 3. Galileo E5 Processing |IFFT|

rIF,X(t)

FFT |IFFT|

e

j 2   f c  f sc  fˆ t t d

Complex Conjugate -

Complex Conjugate FFTPilot FFTData

FFTPilot

Extraction

max > TH

Yes

Tracking

No Test next Doppler

FFTData

FFT

E 5a  eE 5 a I  jeE 5 aQ or E 5b  eE 5 b I  jeE 5 bQ

Figure 3.10: Block diagram of SSB implementation using the data and pilot channel.

The block diagram of the DSB approach using the pilot and data channels will not be shown as the resulting number of combinations of four channels for one coherent integration is eight, and it is complicated to show them in one block diagram. Compared to the DSB for pilot channels only, there is an additional FFT block for the complex sum of the PRN codes of the data channels, one Extraction block, and two additional IFFT blocks. The total number of FFT blocks will then be eight with two combination blocks. If the coherent integration time is Nc PRN code periods, the total number of combinations to test will be 24Nc −1 . Table 3.5 summarizes the main implementation resources required for the SSB and DSB approaches. It can be noted that the DSB with pilot or data is less efficient than the SSB with pilot and data because it requires one supplementary FFT (and in addition it complicates the RF parts), whereas they carry the same power. Thus, there is no apparent reason to use it. It is important to note also that if the number of coherent integrations Nc reaches high values, the number of test combinations becomes extremely large and consequently the acquisition becomes slow. The main reason of this large number of test combinations is the existence of the secondary code. Therefore, if this code can be wiped off, the acquisition becomes much faster. Hence, in section 3.4, we propose an alternative acquisition approach other than the SSB and DSB, that can be effective when the number of coherent integration increases to reach values 64

3.3. Acquisition

rIF,E5a(t)

e

FFT Complex Conjugate

j 2   f c  f sc  fˆdt SFE 5 a t

|IFFT|

FFTE5a-Q

eE 5 aQ  jeE 5 bQ

FFT

FFTE5b-Q

e rIF,E5b(t)

Tracking

No

Test next Doppler

|IFFT| -

Complex Conjugate

j 2   f c  f sc  fˆdt SFE 5 b t

Yes max > TH

Extraction

FFT

Figure 3.11: Block diagram of DSB implementation using the pilot channels. Table 3.5: Implementation comparison between SSB and DSB approaches. Total Number of FFT Blocks Extraction Blocks Test Combinations

Pilot or Data

SSB Pilot and Data

DSB Pilot or Data Pilot and Data

3 0

4 1

5 1

8 2

2N c−1

22N c−1

22N c−1

24N c−1

equal to the length of the secondary codes or larger. The new algorithm is based on a combination of FFT and serial search and is capable of finding the primary and secondary code phases, and the Doppler frequency.

3.3.3 Probability of Detection As the SSB and DSB approaches result in a BPSK-like acquisition, the analytical derivation of the probability of detection using these two methods is similar to the case when acquiring the GPS L1 C/A signal, where this topic is well addressed in the literature [9, 45]. Comparing the methods in Table 3.5 between them, and taking into consideration that the probability of detection is proportional to the received C /N0 , then, for the same total integration time, the DSB acquisition of pilot and data has the highest 65

Chapter 3. Galileo E5 Processing Table 3.6: Galileo spreading codes characteristics Signal Component E5a-I E5a-Q E5b-I E5b-Q E1-B E1-C

Tiered Code Length (ms) 20 100 4 100 4 100

Code length [chips] Primary Secondary 10230 20 10230 100 10230 4 10230 100 4092 N/A 4092 25

Assignment C S201 C S1001−50 C S41 C S10051−100 N/A C S251

probability of detection assuming no data bit transition is occurring or knowledge of data bits. The DSB acquisition of pilot or data and SSB acquisition of pilot and data have the same probability of detection, as they result in the same received power. Finally, the SSB acquisition of pilot or data, which results in the lowest received power, has the lowest probability of detection.

3.4 Secondary Code Wipeoff 3.4.1 Secondary Code Characteristics The new spreading codes used for the Galileo signals (except E6) are built from a so-called primary and secondary codes to form a tiered codes architecture. This new architecture consists of a secondary code sequence that is used to modify successive repetitions of the primary code periods. In other words, each chip of the secondary code is aligned with a primary code, and the two codes are XOR’ed to generate the tiered code [60]. If a primary code is of length N p chips with a chip rate f p , and a secondary code is of length N s , then the tiered code will have a length of N t = N p N s chips. The code lengths to be used for Galileo signals components are stated in Table 3.6 [4]. The secondary codes are fixed sequences as defined in [4]. Figures 3.12 and 3.13 show the normalized autocorrelation function for two secondary codes with a length of 100 ms and 20 ms, respectively. It can be seen that the secondary codes have very good correlation properties where the highest side peaks are around -21 dB and -14 dB below the main correlation peak, respectively. The reason behind implementing the tiered code architecture is threefold. First, to decrease the cross-correlation value 66

3.4. Secondary Code Wipeoff

1

Normalized Amplitude

0.8 0.6 0.4 0.2 0 −0.2 −100

−50

0 Delay [Chips]

50

100

Figure 3.12: Normalized autocorrelation function of the secondary code C S1001 .

1

Normalized Amplitude

0.8 0.6 0.4 0.2 0 −0.2 −20

−10

0 Delay [Chips]

10

20

Figure 3.13: Normalized autocorrelation function of the secondary code C S201 .

between PRN codes of different satellites who have different secondary codes for their pilot channels. Second, to keep the possibility to use only a relatively short code (the primary code) to perform faster signal acquisition when the signal to noise ratio is high enough. And third, to facilitate synchronization with the data message.

3.4.2 Proposed Algorithm The proposed algorithm architecture for secondary code wipeoff is shown in Figure 3.14. It is based on a combination of serial and parallel searches. More specifically, the primary code phase is acquired serially within one primary code length, and the secondary code phase is searched in parallel over the entire length of the secondary 67

Chapter 3. Galileo E5 Processing

 N sp

yI(k) yp(k)

rIF,X(n)

j  N sp

1 2 . . .

ysc

Ns

yQ(k)

90° Primary Code Generator

Carrier Generator

FFT

|IFFT| Complex Conjugate FFT

Secondary Code Generator

yf

max > TH

Yes

Tracking

No Test next Doppler and next code phase

Figure 3.14: Detailed architecture of the proposed algorithm for acquiring the primary and secondary code phase.

code. After down conversion to intermediate frequency (IF) and digitizing, the IF signal at the front-end output (assuming one satellite for simplicity) is given by: h i r I F,X (nT s ) = AR s X (nT s − τ)e j 2π( f I F + f d )nTs + η I F (nT s )

(3.20)

where A is the amplitude of the signal, T s is the sampling period, f I F is the intermediate frequency, τ is the primary code delay, f d is the Doppler frequency including quartz offset, η I F is a real white Gaussian noise of variance σ2 , X can be any of the Galileo signals (i.e. E5a, E5b, E1-C) and s X (t ) is the low-pass signal equal to: s X (t ) = e X −I (t ) + j e X −Q (t )

(3.21)

Assuming for simplicity a pilot acquisition only, i.e. acquiring the imaginary part of s X (nT s − τ), then Equation 3.20 is written as: r I F,X −Q (nT s ) = −Ae X −Q (nT s − τ) sin(2π( f I F + f d )nT s ) + η I F (nT s )

(3.22)

At the entrance of the serial search block, the down converted received signal is multiplied with a delayed primary code and complex carrier replicas where the latter has the same length as the primary code. Then, the obtained mixing results are added over N sp , where N sp is the number of samples per primary code period. The resulting in-phase and quadrature phase values are then combined together to form a complex input signal to the FFT function. The result of this integration and dump operation is equal to: y p (k) = y I (k) + j yQ (k), k ∈ 1, 2, ..., N s 68

(3.23)

3.4. Secondary Code Wipeoff where

y I (k) =

yQ (k) =

A R˜ X ,p (b τ) 2

³ ´ sin πc f d Ti nt

A R˜ X ,p (b τ) 2

πc f d Ti nt

¡ ¢ cos ²φ sc(k − τ0 ) + η I

³ ´ sin πc f d Ti nt πc f d Ti nt

¡ ¢ sin ²φ sc(k − τ0 ) + ηQ

(3.24)

(3.25)

where R˜ X ,p (τ) is the filtered (due to the front-end) autocorrelation function of the f d are the differences between the received and genprimary code of signal X ; τb and c erated code phase and carrier Doppler frequency, respectively, Ti nt is the integration time equal to one primary code period, ²φ is the carrier phase error, sc(t ) is the secondary code and τ0 is its corresponding delay, η I and ηQ are independent Gaussian noises of variance: σ2ser i al = N sp

σ2 2

(3.26)

It is important to mention that these correlation values are dependent of the phase on the local carrier wave. If the local carrier wave is in phase with the received signal, all the energy will be in the in-phase component. But if the local carrier phase drifts compared to the input signal, the energy will switch between the in-phase and the quadrature components. The integration and dump over one primary code period is repeated N s times for the same code phase and frequency bin, where N s is the number of chips in one period of the secondary code. This results in a signal with a length N s at the input of the FFT block equal to: £ ¤ ysc = y p (1), y p (2), ..., y p (N s )

(3.27)

The secondary code still lies under the obtained signal and in order to find it, a parallel code phase acquisition is performed. The FFT output of ysc is thus multiplied with the complex conjugate of the FFT of the generated secondary code. Afterwards, the result is transformed to the time domain by an inverse FFT and the magnitude is approximated to: ³ ´ ¯ ¯ ¯ ¯ c sin π f N T d s i nt ¯ ¯ y f (b τ, τ0 , c f d ) ≈ ¯¯ AN s R˜ X ,p (b τ)R˜ X ,s (τ0 ) + η f ¯¯ ¯ ¯ πc f d N s Ti nt

(3.28)

69

Chapter 3. Galileo E5 Processing where R˜ X ,s (τ0 ) is the autocorrelation function of the secondary code, and η f is white Gaussian noise of variance: σ2par al l el = 2N p σ2ser i al = N p N sp σ2

(3.29)

Finally, y f is compared to a predefined threshold according to a given probability of detection or false alarm. If the threshold is exceeded, the phase of the secondary code τ0 is found along with the carrier Doppler frequency f d and the primary code phase τ. If the threshold is not exceeded, the operation is repeated for another carrier frequency or primary code phase. The size of the FFT blocks in the proposed algorithm corresponds to the number of chips in one period of the secondary code, i.e. 20, 25 or 100. These numbers are not power of two, consequently in order to use the classical radix-2 FFT algorithm, the sequence should be doubled and zero-padding should be used, in order to perform an FFT of 64 or 256 points. Or, since the number of chips in one period of the secondary code are composite numbers, it is still possible to perform a fast implementation of the discrete Fourier transform on the original sequence size using radix-2/4/5 FFTs.

3.4.3 Simulation Results In order to test the algorithm, a receiver platform is built. The setup is composed of the Spirent GSS8000 simulator [54] capable of generating Galileo E1 and E5 signals, a triple band (E1-E6-E5a) front-end for down-converting and digitalizing, and a non real-time MATLAB based software receiver where the algorithm is implemented. Figure 3.15 shows the output of the algorithm for a 39 dB-Hz C /N0 for a correct alignment of the primary code. The location of the detected peak stands for the secondary code phase and Doppler offset (i.e. 290 Hz and chip 22 in this case). Once a peak is found, and as the generated carrier and primary code phase are already known, the satellite is declared visible and the three parameters found are passed to the tracking algorithm. As long integrations are used to locate the secondary code phase, the receiver sensitivity is improved and allows to detect very weak signals, as shown in Figure 3.16 where the normalized autocorrelation function for different C /N0 is computed. It is important to note that in a GNSS receiver, when long integration times are used in acquisition, the frequency search step has to be reduced compared to normal con-

70

3.4. Secondary Code Wipeoff

5 Amplitude

4 3 2 1 0 500 250 0

60

−250 Frequency Offset [Hz]

−500 0

20

80

100

40 Secondary Code Chip Delay [Chips]

Figure 3.15: Output of the algorithm search acquisition for a C /N0 of 39 dB-Hz (PRN = 10, E5a-Q pilot channel).

dition operation. This can be seen in Figure 3.17 where the autocorrelation function from Figure 3.15 is shown as a function of the frequency offset fˆd , where the amplitude decreases drastically when the offset is higher than a few Hz. This is due to the si nc function presence in Equation 3.28. A small frequency search step will increase the acquisition time as the number of frequency bins that have to be tested increases. In weak signal conditions, this scenario is unavoidable. However, in case where the signal strength is high enough, the SSB or DSB approaches can be used with short coherent integration time to find the primary code phase and rough estimate of the Doppler frequency, and after the proposed algorithm can be used to find the secondary code phase with a fine frequency estimation. In this case, the first frequency estimation would be performed with large steps (e.g. 0.5 kHz), and for the second frequency search small steps would be used (e.g. 10 Hz). Finally, as stated before, when using long integration times, the residual frequency offset should be taken in consideration when generating the PRN code. Indeed, if the Doppler frequency used on the generated carrier is not similarly compensated on the frequency of the primary code, the SNR at the output of the algorithm will decrease. This is because the input code and the replica will not stay aligned for the whole integration time, which results in a loss in the cross-correlation function R˜ X ,p . This can be seen in Figure 3.18 where y p is shown at the output of the serial search block as obtained without residual frequency compensation. In this case, it can be noted that 71

Chapter 3. Galileo E5 Processing

C/N = 40 dB−Hz

C/N = 35 dB−Hz 0

1

Normalized Amplitude

Normalized Amplitude

0

0.5

0 0

10

20

30

Delay [Chips]

40

50

1

0.5

0 0

10

1

0.5

0 0

10

20

30

Delay [Chips]

30

40

50

40

50

C/N0 = 25 dB−Hz Normalized Amplitude

Normalized Amplitude

C/N0 = 30 dB−Hz

20

Delay [Chips]

40

50

1

0.5

0 0

10

20

30

Delay [Chips]

Figure 3.16: Normalized autocorrelation function for the output signal for different C /N0 using the acquisition algorithm (PRN = 10, E5a-Q pilot channel).

the signal energy starts to decrease after several chips (30 secondary chips in this case, i.e. 30 ms for E5a-Q) depending on the error on the code frequency. In case the signal is high enough, detection could still be possible, but if the signal strength decreases, then there is a high probability of not finding the satellite.

3.4.4 Performance Analysis To assess the performance of the algorithm, two criteria are considered: the complexity, and the sensitivity.

Complexity

The complexity is evaluated in terms of number of operations, where

the multiplications and the additions are distinguished. The complexity of the proposed algorithm is then compared to the one with the tree-based architecture presented in [20]. The number of operations of the serial search are determined first, then the one of the parallel search, and then the total is computed. 72

3.4. Secondary Code Wipeoff

4 3.5

Amplitude

3 2.5 2 1.5 1 0.5 0 −300

−200

−100 0 100 Frequency Offset [Hz]

200

300

Figure 3.17: Autocorrelation of the secondary code of E5a-Q in function of the frequency offset fˆd for the correct code phase.

For the serial search, there is first the primary code generator. It is generally implemented as a NCO, i.e. a counter in which the increment specifies the output frequency. Consequently, it performs one addition for each sample. Then there is the mixing between the code replica and the input signal which implies one multiplication. After this, there is the carrier generator, which is based on the same principle as the code generator, with in addition a mapping to create the cos and sin waveform from the counter value. This mapping consists in a logical equation performed on the most significant bits (MSBs) of the counter value. We will consider that it is equivalent to have an addition, consequently the carrier generator performs three additions for each sample. The mixing between the signal and the carrier replica requires two multiplications. And finally the two accumulators perform two additions for each sample. These operations are completed for one period of the secondary code, which is composed of N sp × N s samples. Consequently, the number of operations performed by the serial search (for one primary code/frequency bin) is: N ser i al + = 6N sp · N s N ser i al × = 3N sp · N s

(3.30)

For the evaluation of the number of operations performed by the parallel search, no assumption is made on the algorithm used for the FFT. Instead, the general formula which tells that for an FFT of size N, it requires N ln(N ) complex multiplications and complex additions is considered. The parallel search is composed of three FFTs and 73

Chapter 3. Galileo E5 Processing

3000

In−Phase Quadrature Phase

2000

Amplitude

1000 0 −1000 −2000 −3000 −4000 0

20

40 60 Secondary Code Chips

80

100

Figure 3.18: Output of the serial search block for a C /N0 of 41 dB-Hz for E5a-Q, if the generated code frequency is not compensated according to the carrier frequency offset.

one complex multiplier. But it can be noted that the FFT performed on the secondary code replica provides always the same output, consequently it can be computed once at the beginning of the acquisition and stored. It then consists in a simple access of a memory. Hence, as the parallel search is realized on N s points (or on more points if zero-padding is used), then the number of operations is: N par al l el + = 2N s · ln(N s ) N par al l el × = N s + 2N s ln(N s )

(3.31)

Consequently, to evaluate the correlation of all the secondary code phases in one cell (i.e. one primary code/frequency bin), the number of operations performed is the sum of the two search blocks, i.e.: Ncel l + = N par al l el + + N ser i al + Ncel l × = N par al l el × + N ser i al ×

(3.32)

These operations are repeated for each bin until the signal is detected, and to explore the whole primary code phase/ frequency search space, the total number of operations is thus: N t ot al + = NC od eBi n · NF r eqBi n · Ncel l + = NC od eBi n · NF r eqBi n · N s [6N sp + 2 ln(N s )] 74

(3.33)

3.4. Secondary Code Wipeoff Table 3.7: Comparison of Algorithms Complexity in terms of number of multiplications/additions

Secondary Code Length (chip) 20 25 100 100

Characteristic Length (chip) 8 7 12 15

Multiplications/Additions Tree-based Proposed [20] architecture architecture 0 / 254 193 / 173 0 / 126 258 / 233 0 / 4094 1429 / 1329 0 / 32766 1429 / 1329

N t ot al × = NC od eBi n · NF r eqBi n · Ncel l × = NC od eBi n · NF r eqBi n · N s [3N sp + 2 ln(N s ) + 1]

(3.34)

To compare the proposed algorithm with the one presented in [20], only the second part of the architecture needs to be taken in consideration since the first one (carrier and primary code removing) is identical. As said previously, the proposed architecture requires N s +2N s ln(N s ) complex multiplications and 2N s ln(N s ) complex additions. In the other architecture, the construction of the tree with N s samples, i.e. the evaluation of N s secondary code hypothesis, does not require multiplication and needs the following number of complex additions: C = 2Ns − 2.

(3.35)

The comparison of the complexity of the algorithms is given in Table 3.7, where the characteristic length is defined as the minimum sequence length required to identify the chip position in a pseudo random sequence [20]. The secondary codes on E5-Q do not have an identical characteristic length, and it is between 9 and 18 chips. The average characteristic length is 12 and allows to perform the synchronization with 77 of the 100 codes available. With a characteristic length of 15, now 98 codes are usable. Thus, these values have been chosen to make the comparison. As it can be seen, on small codes where the characteristic length is very small the tree architecture requires less operations. For the E5-Q codes, the characteristic length being a bit larger and due to the exponential grow of the number of possibilities in the tree, the number of operations becomes rapidly more important and the FFT-based architecture is more efficient.

75

Chapter 3. Galileo E5 Processing Table 3.8: Comparison of Algorithms Performance in terms of integration gain

Secondary Code Length (chip) 20 25 100 100

Sensitivity

Characteristic Length (chip) 8 7 12 15

Secondary Code Integration Gain (dB) Tree-based Proposed [20] architecture architecture 9.0 13.0 8.5 14.0 10.8 20 11.8 20

The processing gain is directly proportional to the number of accumu-

lations performed. Thus, the gain resulting from integration of one primary code is given by: G pr i mar y = 10 log10 (N sp )

(3.36)

The gain resulting from the parallel code search is equal to: G second ar y = 10 log10 (N s )

(3.37)

Finally the total gain is equal to: G t ot al = G pr i mar y +G second ar y

(3.38)

In complement of Table 3.7, Table 3.8 provides the gain obtained from the secondary code integration for each architecture. It can be seen that the FFT-based architecture provides a much better gain than the tree-based architecture, which is expected since the integration time is longer. Thus, for the small secondary codes, the higher complexity is compensated by a better sensitivity. And for the large secondary codes, the FFT-based architecture is clearly the best method providing a greater gain in addition to a lower complexity. Moreover, the FFT-based architecture does not limit the integration to one period of the secondary code, so it is possible to integrate coherently on several periods of the secondary code by summing the FFT results obtained from each period, leading to higher gains. The better efficiency of the FFT-based architecture results from the fact that only existing combinations of the code are tested, i.e., N s possibilities. With the tree-based architecture, the construction of the tree on a complete code would be equivalent to 76

3.5. Tracking test code phases that do not exist which is clearly not efficient, or it would be necessary to have a mask to eliminate them but this would require additional calculations and it would not be possible to eliminate all of them. This is why this architecture is usable only on a small portion of the codes which limits the reachable sensitivity and exploits the secondary codes under their capacities, without necessarily having a lower complexity.

3.5 Tracking In a conventional GNSS receiver architecture, the carrier and code tracking loops refine the frequency and code phase rough estimates from the acquisition block, keep track of these values and demodulate the navigation data bits from a specific satellite. The carrier wave signal is often tracked using a PLL and/or a FLL. The code tracking loop is often a DLL called an early/late tracking loop. Tracking is extremely important in a GNSS receiver since it provides the pseudorange and Doppler measurements to compute a navigation solution. Consequently, in the design of a tracking loop, it is necessary to have robust, reliable, and accurate measurements. For Galileo E5 signal, since after acquisition the secondary code phase is known, then the pilot channels offer the ability to increase the coherent integration time without worrying about a chip transition. Therefore this section concentrates on tracking the pilot channels of Galileo E5 in full band, i.e. E5a-Q and E5b-Q, resulting in an AltBOC(15,10) tracking, or in side bands, i.e. E5a-Q or E5b-Q, resulting in a BPSK(10) modulation. The general block diagram of the E5 pilot tracking in full band is shown in Figure 3.19 where fˆd is the estimated Doppler frequency. After multiplying the incoming signal with a perfectly aligned local carrier replica, the resulting in-phase and quadrature-phase signals are multiplied with three local code replicas [Early (E), Prompt (P), and Late (L)]. The three replicas are generated according to Equation 3.13 with a correlation spacing of d /2. The PRN codes and subcarrier generators are controlled with the same code NCO as they are synchronized. After this second multiplication, the resulting outputs are filtered with the integration and dump filters (I&D). The outputs of these integrations are numerical values indicating how much the specific carrier and code replicas correlates with their counterpart of the incoming signal. The total combined duration of the receiver and processor I&D functions establishes the pre-detection integration time for the signal (Ti nt ). 77

Chapter 3. Galileo E5 Processing

I E  jQE Integrate & Dump

rIF,E5-Q

e

j 2   f c  fˆd t

Carrier NCO

E

P

I P  jQP

DLL Discriminator

I L  jQL

L E5a-Q Code Generator E5b-Q Code Generator

Code NCO

DLL Loop Filter

* ˆsc

e j 2 f t

Subcarrier Generator

Carrier Aiding

SF PLL Loop Filter

PLL Discriminator

Figure 3.19: General tracking architecture of Galileo E5 pilot channel.

Assuming a limited phase and limited frequency variation during Ti nt , the six inphase and quadrature-phase correlation results are modeled as: ¡ ¢ ¡ ¢ sin π f˜d Ti nt A I Y = R˜Q (τ − d Y ) cos ²φ + η I Y 2 π f˜d Ti nt

(3.39)

¡ ¢ ¡ ¢ sin π f˜d Ti nt A Q Y = R˜Q (τ − d Y ) sin ²φ + ηQ Y 2 π f˜d Ti nt

(3.40)

where Y stands for the Early, Prompt, or Late replicas, d y corresponds to their respective delays [i.e. Early (d E = d /2), Prompt (d P = 0) and Late (d L = −d /2)], η I Y and ηQ are independent Gaussian noises, and ²φ and f˜d are the phase and frequency Y

difference between the incoming and the generated local carrier replica. R˜Q is the filtered AltBOC(15,10) (or BPSK(10)) autocorrelation function.

78

3.5. Tracking After I&D, I Y and Q Y are fed into the PLL and DLL discriminators to estimate the carrier phase and code delay errors. The resulting values are then filtered by PLL and DLL filters, and the outputs are then fed back to the carrier and code NCOs that synthesize the carrier, Early, Prompt, and Late replicas. It is important to note that the local code rate and the local carrier frequency are linked since they are both due to the satellite-receiver motion. However, as the code and carrier Doppler are proportional, then it is very common to use carrier tracking information to aid the code tracking loop [61]. As frequency estimation from the PLL is usually very accurate, it means that it absorbs the main dynamic component and, consequently, the DLL is not required to perform this task independently. Thus, the unaided PLL loop filter is a third-order loop filter with a large bandwidth, and the DLL loop filter is generally a second-order filter with a narrow bandwidth, as it should then be used mainly to remove the noise. The generic block diagram for side band pilot tracking of Galileo E5 is similar to Figure 3.19 with two differences: 1) instead of generating a final code that is a multiplex of E5a-Q and E5b-Q PRN codes and a subcarrier, the code generator will only generate one PRN code without a subcarrier, and 2) the generated local carrier frequency will be centered on the E5a (or E5b) center frequency equal to 1,173.45 MHz (or 1,207.14 MHz). The receiver carrier and code tracking loops performance will depend on the selected pre-detection integration time, the loop discriminators, and the loop filters. While the main characteristics of the loop filter and NCO are not dependent on the signal type or modulation [9], in the following section a more detailed performance analysis for the PLL and DLL discriminators is presented taking into account the pilot tracking of Galileo E5 as an AltBOC(15,10) and BPSK(10) modulations.

3.5.1 PLL Discriminators The phase discriminator computes the phase error between two signals. Typically, in a GPS receiver, the phase discriminator belongs to the Costas loop family which is insensitive to data bit transitions. However, in the case of Galileo E5 pilot tracking, normal PLL can also be used as pilot channels are dataless. Therefore, the ATAN and ATAN2 discriminators are considered. The main difference between them is that the ATAN2 discriminator remains linear over the full input error range (180◦ ), while the ATAN remains linear over half of the input error range (90◦ ) as shown in Figure 2.18. 79

Chapter 3. Galileo E5 Processing Their expressions are written as: QP D ATAN = ATAN IP µ



h π πi ' ²φ , ²φ ∈ − , 2 2

D ATAN2 = ATAN2 (Q P , I P ) ' ²φ ,

(3.41)

²φ ∈ [−π, π]

It can be noted that the output of both phase discriminators is directly proportional to the phase error and do not need any normalization. This is an advantage in terms of implementation complexity as no further processing is needed. However, if the I P value becomes noisy, because of low C /N0 , this can have a potentially impact on the discriminator output [61]. Moreover, it can be also noted that the output of the phase discriminators is independent from the autocorrelation function of the signal. Thus, carrier tracking of E5 pilot as AltBOC(15,10) does not present a direct advantage over carrier tracking as BPSK(10) other than improving the C /N0 by roughly 3 dB due to the coherent sum of the E5a-Q and E5b-Q components.

PLL Tracking Errors Three main parameters characterize the performance of a carrier tracking loop: the loop noise bandwidth B n , the pre-detection integration time Ti nt , and the loop filter order. The pre-detection integration time and loop noise bandwidth determine the carrier tracking sensitivity, while the loop filter order and loop noise bandwidth determine the loop filter’s response to signal dynamics. Typically a third-order filter is used in unaided carrier loops, while a second-order filter that is unconditionally stable at all loop bandwidths is used in aided carrier loops. The dominant sources of phase error in a GNSS receiver PLL are phase jitter and dynamic stress error. These errors depend on the carrier frequency f c , C /N0 , Ti nt , B n , receiver oscillator stability and dynamics. The rule of thumb PLL tracking threshold is given in [9] and is equal to:  ◦ q P i R 45 , ATAN P LL t h = 3σP LL = 3 σ2t P LL + σ2υ + σ2A + θe ≤ = 90◦ , ATAN2 2

80

(3.42)

3.5. Tracking

25

Bn = 15 Hz Bn = 5 Hz

15 10 5

Bn = 18 Hz Bn = 15 Hz

20

Bn = 10 Hz σtPLL [°]

σtPLL [°]

20

0 25

25

Bn = 18 Hz

Bn = 10 Hz Bn = 5 Hz

15 10 5

30

35 40 C/N0 [dB−Hz]

45

50

0 25

(a) Ti nt = 1 ms.

30

35 40 C/N0 [dB−Hz]

45

50

(b) Ti nt = 5 ms.

Figure 3.20: Thermal noise jitter.

where σP LL is the 1-sigma total PLL phase error and P i R is the pull-in-range of the PLL discriminator. σt P LL is the thermal noise jitter expressed as [9]: 360 σt P LL = 2π

s

µ ¶ Bn 1 1+ C /N0 2TintC /N0

[deg]

(3.43)

συ is the vibration-induced oscillator jitter, and can reach values up to 1.5 mm (2.6 deg) for a thermally compensated crystal oscillator (TCXO) [62]. σ A is the Allan-variance induced oscillator jitter, and for a third-order loop filter, is equal to [9]: σ A = 160

σav (τ) fc Bn

[deg]

(3.44)

where σav is the root of Allan-variance for the short-term gate time τ, which is equal to 1/B n . For a TCXO oscillator σav (τ) is typically in the order of 1 × 10−10 over 0.1 s [37]. θe is the dynamic stress error, and for a third order loop filter, is equal to [9]: θe = 0.4828

d R 3 /d t 3 B n3

[deg]

(3.45)

where d R 3 /d t 3 is the maximum LOS jerk dynamics (◦ /s 3 ). The thermal noise jitter for different noise bandwidths is shown in Figure 3.20. It can be seen that increasing B n , increases the thermal noise error, and increasing the pre-detection integration time decreases the thermal noise error, especially at low C /N0 . It is important to note that this error is independent from the modulation of the signal, and hence it is similar for E5-Q, E5a-Q and E5b-Q. The Allan variance induced 81

Chapter 3. Galileo E5 Processing

20

E5a−Q E5b−Q E5−Q

σA [°]

15

10

5

0

5

10 Bn [Hz]

15

Figure 3.21: Allan variance induced oscillator jitter for Galileo E5 pilot channels assuming a TCXO oscillator.

oscillator jitter is shown in Figure 3.21, and it is function of the center frequency of the Galileo E5 pilot components. It can be seen that it is almost similar for the three components and can be considered roughly equal. The total 1-sigma PLL error is shown in Figure 3.22 for a 10 g/s LOS jerk dynamic stress. The wider pull-in-range of the ATAN2 discriminator allows to tolerate better the dynamics and hence decrease the noise bandwidth. For C /N0 higher than 40 dB-Hz, the minimum B n that can be used is 13 Hz and 10 Hz for the ATAN and ATAN2 discriminators respectively. It can be noted also that increasing pre-detection integration time improves the sensitivity, however this increase has small impact on the noise bandwidth reduction. The total 1-sigma PLL error in function of jerk acceleration and for Ti nt = 10 ms is shown in Figure 3.23. Here also, it can be noted the advantage of using the ATAN2 discriminator over ATAN, where for example with a noise bandwidth of 10 Hz, the PLL error remains tolerable for a C /N0 down to 30 dB-Hz and a jerk up to 100 m/s 3 , which is a typical value for a jet aircraft. This graph also shows the impact of the dynamics on the PLL loop. It is clear that in order to reduce the noise bandwidth to less than 7 Hz, external aiding that models the dynamics of the receiver is mandatory. 82

3.5. Tracking

ATAN2 Threshold ATAN Threshold

100

80 σPLL [°]

σPLL [°]

80 60 40 20 0 8

ATAN2 Threshold ATAN Threshold

100

60 40 20

10

12

14 Bn [Hz]

16

0 8

20 15 30 25 40 35 18 50 45 C/N0 [dB−Hz]

10

12

14 Bn [Hz]

(a) Ti nt = 1 ms.

60

60

σPLL [°]

σPLL [°]

80

40

ATAN2 Threshold ATAN Threshold

100

80

20 0 8

20 15 30 25 40 35 18 50 45 C/N [dB−Hz] 0

(b) Ti nt = 5 ms.

ATAN2 Threshold ATAN Threshold

100

16

40 20

10

12 14 Bn [Hz]

16

0 8

20 15 30 25 40 35 18 50 45 C/N0 [dB−Hz]

10

12 14 Bn [Hz]

(c) Ti nt = 10 ms.

16

20 15 30 25 40 35 18 50 45 C/N [dB−Hz] 0

(d) Ti nt = 20 ms.

Figure 3.22: Total 1-sigmal PLL error for a 10 g/s LOS jerk dynamic stress.

PLL Tracking Sensitivity The sensitivity of the PLL tracking using the ATAN and ATAN2 discriminators can be found by solving Equation 3.42 for a specific C /N0 . The resulting carrier tracking threshold is written as: ·

C N0

s à !# G2 4G 1 ≥ 10log 1+ 1+ 2 G2 P LL "

¸

[dB-Hz]

(3.46)

where G 1 and G 2 are equal to: G1 =

1 2Ti nt

G 2 = ·³

Bn Pul l −i n−Rang e 6

− θ3e

(3.47) ´2

+ σ2υ + σ2A

¸

83

Chapter 3. Galileo E5 Processing

ATAN2 Threshold ATAN Threshold

100

80

80

60

60

σPLL [°]

σPLL [°]

100

40 20

40 20

0 15 20 25 30 35 40 45 50 C/N0 [dB−Hz]

80 60 40 Jerk [m/s3]

20

0 15 20 25 30 35 40 45 50 C/N0 [dB−Hz]

100

(a) B n = 7 Hz.

100

80 60 40 Jerk [m/s3]

20

100

(b) B n = 10 Hz. ATAN2 Threshold ATAN Threshold

100

ATAN2 Threshold ATAN Threshold

80

80

60

60

σPLL [°]

σPLL [°]

ATAN2 Threshold ATAN Threshold

40 20

40 20

0 15 20 25 30 35 40 45 50 C/N0 [dB−Hz]

20

80 60 40 Jerk [m/s3]

(c) B n = 14 Hz.

100

0 15 20 25 30 35 40 45 50 C/N0 [dB−Hz]

20

80 60 40 Jerk [m/s3]

100

(d) B n = 18 Hz.

Figure 3.23: Total 1-sigmal PLL error for Ti nt = 10 ms.

Figure 3.24 shows the minimum C /N0 needed to maintain carrier tracking using the ATAN and ATAN2 discriminators. Obviously due to its wider pull-in-range, the ATAN2 offers a better sensitivity than the ATAN. It is important to also note the negative impact of the dynamics especially on the ATAN discriminator, where for a jerk of 1 g/s, a small noise bandwidth decreases the sensitivity of the PLL loop at 40 dB-Hz. In summary, the existence of the pilot components on the Galileo E5 signal, allows the use of the ATAN2 discriminator. It was shown that this discriminator is characterized by its wider pull-in-range, lower PLL noise error and better sensitivity than the ATAN discriminator.

3.5.2 DLL Discriminators The main task of a DLL discriminator is to estimate the code delay error between the incoming and the locally generated spreading codes. Different types of discriminators 84

3.5. Tracking

40 C/N0 [dB−Hz]

C/N0 [dB−Hz]

40 30 20 10 6

8

30 20 10 6

10

12

−2

−1

18 100

10

10 Tint [s]

8

10

12 14 Bn [Hz] 16

−3

14 Bn [Hz] 16

10

(a) ATAN, Jerk = 0 g/s.

−2

10

−2

10

10 Tint [s]

40 C/N0 [dB−Hz]

C/N0 [dB−Hz]

10

(b) ATAN, Jerk = 1 g/s.

40 30 20 10 6

−3

−1

18 100

8

30 20 10 6

10

12

−3

14 Bn [Hz] 16

−2

−1

18 100

10

10 Tint [s]

10

(c) ATAN2, Jerk = 0 g/s.

8

10

12 14 Bn [Hz] 16

−3

−1

18 100

10

10 Tint [s]

(d) ATAN2, Jerk = 1 g/s.

Figure 3.24: PLL sensitivity threshold for ATAN and ATAN2 discriminators.

are used in a GNSS receiver, mainly categorized as coherent or non-coherent discriminators [63]. A common coherent discriminator is the early minus late (EML) and its equation is given as: DE M L = IE − IL

(3.48)

This discriminator is characterized by its simplicity and linearized response. Its main disadvantage is that it requires a good carrier tracking loop for optimal functionality, and it is sensitive to carrier phase errors. In fact, this high precision DLL mode fails if there are frequent cycle slips or total loss of phase lock because the phasor rotates, causing the signal power to be shared in both the I and Q components, which consequently causes power loss in the coherent DLL. Another type of coherent discriminator is the double delta correlator (∆∆). This discriminator is especially used with signals that have side peaks in their autocorrelation function. It consists of using five correlators instead of three. One of the most 85

Chapter 3. Galileo E5 Processing common implementation of the ∆∆ discriminator is the high resolution correlator (HRC) [64]. The HRC discriminator is set up by linearly combining two early (E 1 ,E 2 ) and two late (L 1 ,L 2 ) correlators where the spacing between E 1 and L 1 is referred as d and between E 2 and L 2 is 2d . Then the code discriminator D H RC is built as: ¡ ¢ 1¡ ¢ D H RC = I E 1 − I L 1 − I E 2 − I L 2 2

(3.49)

This discriminator is characterized by its ability to deal with the side peaks ambiguity of an autocorrelation function. However, as for the EML discriminator, it is sensitive to carrier phase errors, and requires a good carrier tracking loop. Moreover, the existence of two additional correlators requires more processing power, induces more correlator noise and makes complex the architecture of the tracking loop. Therefore, HRC and EML coherent discriminators are not recommended for robust DLL tracking and non-coherent discriminators are often used as they are insensitive to carrier phase errors. Two types of non-coherent discriminators are widely used: the non-coherent early minus late power (NEMLP) and the Dot-Product (DP). They are given by [9]: D DP = (I E − I L ) I P + (Q E −Q L )Q P

(3.50)

¡ ¢ ¡ ¢ D N E M LP = I E2 − I L2 − Q E2 −Q L2

(3.51)

The DP discriminator uses three correlators (E, L, and P) and requires 2 multiplications and 3 additions. The NEMLP discriminator uses only two correlators (E-L and P), however it requires 4 multiplications for the squaring, and 3 additions. It is important to note that these DLL discriminators can be normalized. In fact, normalization removes the amplitude sensitivity, which improves performance under rapidly changing SNR conditions and provides unbiased code delay error estimation. First, analysis considering unnormalized discriminators is conducted, and the effect of normalization is addressed later on.

86

3.5. Tracking

1.5

Linearity Region

Discriminator Output

1 0.5 0 −0.5 −1 −1.5 −2

Stability Region −1 0 1 Code Delay Error [Chips]

2

Figure 3.25: Stability and linearity region for a typical discriminator output.

Unnormalized DLL Using Equations 3.39 and 3.40 assuming a perfect carrier lock, Equations 3.50 and 3.51 are equal to: D N E M LP =

D DP =

´ A 2 ³ ˜2 RQ (τ − d /2) − R˜Q2 (τ + d /2) 4

¢ A2 ¡ R˜Q (τ − d /2) − R˜Q (τ + d /2) R˜Q (τ) 4

(3.52)

(3.53)

To assess the performance and robustness of these two discriminators, two criteria are used: stability and linearity. The stability region is defined as the region surrounding the zero phase error where a certain phase error input will result in a mean discriminator response having the same sign as the input error. This means that, for a certain input error, the discriminator will react in the correct direction and should converge toward zero phase error. The linear tracking region is defined as the region around the zero phase error where a certain phase error input will result in a mean discriminator response equal to the input error. This means that, for a certain input error, the discriminator will react perfectly (that is, without bias) [61]. Figure 3.25 shows the stability and linearity region for a typical discriminator output. First, the impact of the front-end filter on the discriminator output is analyzed. Figures 3.26 and 3.27 show the discriminator outputs for an early-late correlator spacing of 87

Chapter 3. Galileo E5 Processing

Discriminator Output

0.15 0.1

0.2

B=∞ B = 50 MHz B = 20 MHz B = 10 MHz

0.05 0 −0.05 −0.1 −0.15 −0.2 −1

B=∞ B = 50 MHz B = 20 MHz B = 10 MHz

0.15 Discriminator Output

0.2

0.1 0.05 0 −0.05 −0.1 −0.15

−0.5 0 0.5 Code Delay Error [Chips]

(a) NEMLP.

1

−0.2 −1

−0.5 0 0.5 Code Delay Error [Chips]

1

(b) DP.

Figure 3.26: NEMLP and DP discriminator’s output for E5a-Q BPSK(10) for a correlator spacing of 0.1 chips.

0.1 chips for the E5a-Q and E5-Q pilot signals for different front-end filter bandwidths. It is clear that the stability region for the BPSK(10) modulation (±1 chip) is much larger than for the Alt-BOC(15,10) modulation (±0.167 chip), and this is due to its wider correlation peak and the non-existence of any side peak in its autocorrelation function (see Figure 3.5). This means that BPSK(10) is more robust than AltBOC(15,10) especially under high dynamics, where large code phase errors could occur, and consequently can potentially lead the latter to a false lock point. For both modulations, decreasing the front-end filter bandwidth does not affect the stability region. However, the discriminator’s gain also known as the discriminator’s slope at the origin is affected. For BPSK(10), if the bandwidth is sufficiently large to cover the main lobe (≥ 20 MHz), the discriminator slope will match the infinite bandwidth case. For AltBOC(15,10), the slope decreases with a decreasing bandwidth. It is also important to note that in all cases AltBOC(15,10) has a higher discriminator gain than BPSK(10). Regarding the linearity, both signals have almost similar linear region situated around ±0.05 chips or ±d /2. In the case of BPSK(10), again assuming a sufficiently large enough bandwidth, the discriminator shape will match the infinite case. For the AltBOC(15,10), the front-end filter bandwidth round offs the correlation peak, and decreases its amplitude, and consequently the linearity region slightly decreases as it can be seen from Figure 3.27. It is important to mention that linearity is a very important criterion for tracking robustness. A narrow linear region means that the discriminator is more susceptible to input error larger than the linearity region, and in this case, the response will be biased. Usually, the linearity is dependent on the correlators spacing and the shape of the autocorrelation function. Figures 3.28 and 3.29 show 88

3.5. Tracking

B=∞ B = 90 MHz B = 75 MHz B = 51.15 MHz

0.5

0

−0.5

−1 −1

−0.5 0 0.5 Code Delay Error [Chips]

1

Discriminator Output

Discriminator Output

1

B=∞ B = 90 MHz B = 75 MHz B = 51.15 MHz

0.5

0

−0.5

−1 −1

1

−0.5 0 0.5 Code Delay Error [Chips]

(a) NEMLP.

1

(b) DP.

Figure 3.27: NEMLP and DP discriminator’s output for E5-Q AltBOC(15,10) for a correlator spacing of 0.1 chips.

0.5

1

d = 0.1 d = 0.2 d = 0.4 d = 0.5 d=1

Discriminator output

Discriminator output

1

0

−0.5

−1 −1

−0.5 0 0.5 Code Delay Error [Chips]

(a) NEMLP.

1

0.5

d = 0.1 d = 0.2 d = 0.4 d = 0.5 d=1

0

−0.5

−1 −1

−0.5 0 0.5 Code Delay Error [Chips]

1

(b) DP.

Figure 3.28: NEMLP and DP discriminator’s output for E5a-Q BPSK(10) as a function of early-late correlator spacing for a 30 MHz bandwidth. the discriminator’s outputs as a function of the correlator’s spacings. In the case of BPSK(10) modulation, the linearity tracking region follows the theory that the linearity region should be equal to the early-late correlator spacing and it is contained within ±d /2 chips for the NEMLP discriminator. For the DP, when increasing the correlator spacing, the discriminator starts to round off on the edge of the linearity region, which leads to a biased output and incorrect response. Hence, NEMLP discriminator is more robust and performs better than the DP discriminator with BPSK(10) modulation. In the case of the AltBOC(15,10) modulation, the maximum linearity region obtained with the DP is within ±0.165 chips. This is due to the fact that the discriminator requires an early-late correlator spacing value that is smaller than half of the one-sided width of the autocorrelation main peak [61], corresponding to 1 chip for the BPSK(10) 89

Chapter 3. Galileo E5 Processing

0.5

1

d = 0.1 d = 0.17 d = 0.2 d = 0.3 d = 0.5 d=1

Discriminator output

Discriminator output

1

0

−0.5

−1 −1

−0.5 0 0.5 Code Delay Error [Chips]

(a) NEMLP.

1

d = 0.1 d = 0.17 d = 0.2 d = 0.3 d = 0.5 d=1

0.5

0

−0.5

−1 −1

−0.5 0 0.5 Code Delay Error [Chips]

1

(b) DP.

Figure 3.29: NEMLP and DP discriminator’s output for E5-Q AltBOC(15,10) as a function of early-late correlator spacing for a 75 MHz bandwidth.

case and to 0.33 chips for the AltBOC(15,10). This is shown in the right graph of Figure 3.29 where it is clear that for an early-late correlator spacing higher than 0.33 (dashed lines), the discriminator output starts to be biased. In the case of NEMLP, the discriminator squares the autocorrelation function and consequently the two negative side peaks become positive, and the width of the main peak is decreased to 0.17 chips (see Figure 3.5). Thus, the maximum early-late correlator spacing that can be used so that the NEMLP discriminator functions properly is 0.17 chips, and hence, the maximum linearity obtained is within ±0.085 chips. This is shown in the left graph of Figure 3.29 where it is clear that for an early-late correlator spacing higher than 0.17 chips (dashed lines), the discriminator output starts to be biased. Overall, considering the same early-late correlator spacing, the NEMLP and DP discriminators provide the same linearity and stability region. However, the DP offers more flexibility for the choice of the early-late correlator spacing. In summary, for unnormalized discriminators, tracking E5 in side bands as a BPSK(10) modulation offers more freedom for choosing the early-late correlator spacing than tracking it in full band as an AltBOC(15,10) modulation. This results in a wide linear tracking region that provides an improvement in tracking robustness and stability.

Normalized DLL As shown before, the discriminators output does not directly estimate the true input code delay error. Consequently, to obtain an unbiased response, a normalization should be applied to the discriminator. Usually, the discriminator is normalized by its 90

3.5. Tracking gain or its slope at the origin. However, this process exhibits a bias that will cause the discriminator to overestimate the error, when it starts to increase. Hence, two common normalization techniques are often used for the NEMLP and DP discriminators as given by [9]: N N E M LP = (I E + I L )2 + (Q E +Q L )2

(3.54)

NDP = (I E + I L ) I P + (Q E +Q L )Q P

(3.55)

To study the effect of these two normalizations, the output of the normalized discriminators should be derived. The autocorrelation functions of E5-Q and E5a-Q can be modeled within the width of the main peak as the following: R (τ) = 1 − α(τ) |τ|

(3.56)

where α(τ) is the slope of the autocorrelation function. For BPSK(10), α(τ) = 1 and for an infinite bandwidth AltBOC(15,10) it is equal to: α(τ) = cos(2π f sc τ) − 2π f sc (1 − |τ|)si n(2π f sc τ)

(3.57)

The outputs of the NEMLP and DP discriminators are then equal to: D N E M LP =

D DP =

A2 α(−d /2)(2 − α(−d /2)d )τ 2

A2 α(−d /2)(1 − α(−d /2) |τ|)τ 2

(3.58)

(3.59)

where α(−d /2) is the slope of the autocorrelation peak, evaluated at τ = −d /2. Equations 3.54 and 3.55 are thus written as: N N E M LP =

NDP =

A2 (2 − α(−d /2)d )2 4

A2 (2 − α(−d /2)d )(1 − α(−d /2) |τ|) 4

(3.60)

(3.61)

91

Chapter 3. Galileo E5 Processing

0.5

1

d = 0.1 d = 0.15 d=1 y=x

Discriminator Output

Discriminator Output

1

0

−0.5

−1 −1

−0.5 0 0.5 Code Delay Error [Chips]

1

0.5

d = 0.1 d = 0.15 d=1 y=x

0

−0.5

−1 −1

(a) NEMLP.

−0.5 0 0.5 Code Delay Error [Chips]

1

(b) DP.

Figure 3.30: Normalized NEMLP and DP discriminator output for E5a-Q BPSK(10) as a function of the code delay error for different early-late correlator spacings for a 30 MHz bandwidth.

Finally, the output of the normalized discriminators is equal to: Nor mal i zed DN = E M LP

(2 − α(−d /2)d )D N E M LP ≈τ 2α(−d /2)N N E M LP

(3.62)

Nor mal i zed = D DP

(2 − α(−d /2)d )D DP ≈τ 2α(−d /2)NDP

(3.63)

Figures 3.30 and 3.31 show the output of the normalized NEMLP and DP discriminators for BPSK(10) and AltBOC(15,10) modulations. For BPSK(10), the stability region is not affected, and as expected, both discriminators have very similar output and a linear tracking region within ±d /2 chips. Outside this region, both discriminators will underestimate the code tracking error. One advantage of normalization for the DP with the BPSK(10) is that the discriminator has a linear output even with increasing the code delay error in contrary to the case where no normalization is used. In the case of AltBOC(15,10), both discriminators have also very similar shapes. Moreover, in contrary to the BPSK(10), with normalization the stability region of the AltBOC(15,10) is improved and the linearity region is wider than ±d /2 chips. In fact, for 0.1 and 0.15 early-late correlator spacings, the linearity region should be within ±0.05 and ±0.075 chips, but a closer look at Figure 3.31 shows that for both discriminators the linearity region has been extended to ±0.1 and ±0.12 chips, respectively. This shows that with normalization the AltBOC(15,10) modulation has 92

3.5. Tracking

0.5

0

−0.5

−1 −1

1

d = 0.1 d = 0.15 y=x Discriminator Output

Discriminator Output

1

−0.5 0 0.5 Code Delay Error [Chips]

d = 0.1 d = 0.15 y=x

0.5

0

−0.5

1

−1 −1

(a) NEMLP.

−0.5 0 0.5 Code Delay Error [Chips]

1

(b) DP.

Figure 3.31: Normalized NEMLP and DP discriminator output for E5-Q AltBOC(15,10) as a function of the code delay error for different early-late correlator spacing for a 75 MHz bandwidth. Table 3.9: Maximum stability and linearity regions in chips obtained with normalized and unnormalized NEMLP and DP discriminators and their corresponding early-late correlator spacing for E5-Q (B = 75 MHz) and E5a-Q signals.

NEMLP NEMLPNor mal i zed DP DPNor mal i zed

AltBOC(15,10) Stability Linearity ±0.172 ±0.085 ±0.250 ±0.171 ±0.172 ±0.165 ±0.250 ±0.171

d 0.17 0.33 0.33 0.33

BPSK(10) Stability Linearity ±1 ±0.5 ±1 ±0.5 ±1 ±0.2 ±1 ±0.5

d 1 1 0.4 1

a larger tracking linearity region comparing with BPSK(10) for the same early-late correlator spacing where the discriminator will act without bias even for code errors higher than ±d /2 chips. Later, it will be shown that a larger linearity region increases the detection threshold. It is important to mention that for both modulations and discriminators at the edge of the stability regions, the tracking starts to be unstable due to the existence of vertical asymptotes that can lead to large errors or false lock points if a sudden tracking jump occurs. Usually, carrier aiding can control these jumps and limit their threats. Finally, Table 3.9 shows the maximum stability and linearity regions that can be obtained with normalized and unnormalized discriminators for AltBOC(15,10) and BPSK(10) modulations. In summary, NEMLP and DP normalized discriminators have similar performance 93

Chapter 3. Galileo E5 Processing with BPSK(10) and AltBOC(15,10). In terms of tracking robustness, BPSK(10) offers a large stability region and more choices in selecting the early-late correlator spacing than AltBOC(15,10), but the latter has better linearity for the same spacing.

DLL Thermal Noise Error In the absence of multipath or other distortion of the received signal and no interference, the dominant sources of range error in a GNSS receiver DLL tracking loops are: the DLL thermal noise jitter, and signal dynamic stress. In a DLL assisted PLL, the dynamic stress error is mainly controlled by the PLL. In this case, the resulting induced error can be considered negligible comparing with the code thermal noise error. The noise corresponds to the ambient noise present at the receiver antenna. The general expressions for DLL thermal noise code tracking jitter for a NEMLP and DP discriminators are given by [65, 66]:

σt DLL =

à !  R B /2 R B /2 2 2  B G( f ) sin (π f d )d f G( f ) cos (π f d )d f n  /2 −B /2  ³ −B ´2 1 + ³R ´2 , N E M LP  R B /2  B /2  C /N 2π f G( f ) sin(π f d )d f T C /N 0 0 −B /2 G( f ) cos(π f d )d f i nt  −B /2         

R B /2 B n −B /2 G( f ) sin2 (π f d )d f ³ R ´2 B /2 C /N0 2π −B /2 f G( f ) sin(π f d )d f

!

à 1+

Ti nt C /N0

³R 1 B /2

−B /2 G( f

)d f

´

,

DP (3.64)

where G( f ) is the PSD of the received signal, and B is the front-end bandwidth. Replacing G( f ) by Equation 3.5, the code noise error for E5-Q pilot channel using an early-late correlator spacing of d chips is derived as:

σt DLL =

 ³ ´ B n (1−R˜Q (d )) 2  1 + , N E M LP  2  (2−α(−d /2) d )C /N0 Ti nt   2α(−d /2)C /N0  ³  ˜   1  B n2(1−RQ (d )) 1 + C /N0 T 2α C /N (−d /2)

0

i nt

´ ,

(3.65)

DP

The DLL thermal code error for BPSK(10) modulation has a similar expression with a constant autocorrelation slope α = 1. For AltBOC(15,10), the autocorrelation slope is a function of the early-late correlator spacing d and the front-end bandwidth B . Table 3.10 shows the values of α evaluated at d /2. It can be noted that when decreasing the bandwidth, the slope decreases, and the amount of decreasing is lower when increasing the early-late correlator spacing. 94

3.5. Tracking Table 3.10: AltBOC(15,10) autocorrelation slope (i.e. α) evaluated at d /2 for different front-end bandwidths and early-late correlator spacings

d 0.10 0.15 0.20 0.30

0.8

51.15 3.533 4.996 6.122 7.114

NEMLP B = 90 MHz DP B = 90 MHz NEMLP B = 75 MHz DP B = 75 MHz NEMLP B = 51.15 MHz DP B = 51.15 MHz

0.6 σtDLL [m]

90 4.675 6.276 7.137 7.382

B [MHz] 75 3.965 5.528 6.631 7.251

0.4

0.2

0 25

30

35 40 C/N0 [dB−Hz]

45

50

Figure 3.32: Impact of the front-end filter bandwidth on the AltBOC(15,10) code thermal noise error for d = 0.2 chips and Ti nt = 1 ms.

Equation 3.65 shows that the DP discriminator has a better performance in terms of code noise error than the NEMLP discriminator that squares the early and late components and use an additional correlator than the DP. Figure 3.32 shows the impact of the front-end filter bandwidth on the code thermal noise error for the AltBOC(15,10) modulation. It can be seen that when decreasing the bandwidth, the code noise increases. The DP discriminator is more sensitive to a smaller bandwidth, e.g. when lowering from 90 MHz to 75 MHz and then 51.15 MHz, an average loss of 0.45 dB is obtained at each step. With the NEMLP, an average loss of 0.31 dB is obtained at each step. For the BPSK(10) modulation, and as discussed before, as long as the front-end filter is large enough (≥ 20 MHz) to cover the main lobe of the PSD, the impact on the discriminator function is very low, and hence, the impact on the code noise error is negligible.

95

Chapter 3. Galileo E5 Processing

NEMLP d = 0.1 DP d = 0.1 NEMLP d = 0.15 DP d = 0.15 NEMLP d = 0.2 DP d = 0.2

σtDLL [m]

0.6

0.4

0.2

0 25

0.8

NEMLP d = 0.1 DP d = 0.1 NEMLP d = 0.2 DP d = 0.2 NEMLP d = 0.3 DP d = 0.3

0.6 σtDLL [m]

0.8

0.4

0.2

30

35 40 C/N0 [dB−Hz]

(a) AltBOC(15,10).

45

50

0 25

30

35 40 C/N0 [dB−Hz]

45

50

(b) BPSK(10).

Figure 3.33: Impact of the early-late correlator spacing on the code noise error for AltBOC(15,10) and BPSK(10) modulations for a 75 and 30 MHz front-end filter bandwidth, respectively, and Ti nt = 1 ms.

The impact of the early-late correlator spacing is shown in Figure 3.33 for both modulations and for a 1 ms integration time with a 75 MHz bandwidth for AltBOC(15,10) and 20 MHz for BPSK(10). For the AltBOC modulation, the DP discriminator is less sensitive to the early-late correlator spacing than for the NEMLP, where a loss of 0.31 dB in code noise error is obtained for increasing the spacing from 0.1 to 0.15 chips, and 0.85 dB from 0.15 to 0.2 chips. Respectively, with the DP, a loss of 0.04 and 0.087 dB is obtained. It is important to also note that even with an early-late correlator spacing of 0.2 chips, the DP discriminator performs better than the NEMLP with 0.1 chips. For the BPSK(10) modulation, the DP and NEMLP have very similar performance, and they are more sensitive to the early-late correlator spacing. The code noise loss is 1.53 dB going from a correlator spacing of 0.1 to 0.2 chips, and 0.91 dB from 0.2 to 0.3 chips. Finally, Figure 3.34 shows the code noise error for both modulations for an early-late correlator spacing of 0.1 chips. It is clear that AltBOC(15,10) has a better resistance to noise with the BPSK(10) averaging a 2 dB loss in code noise error comparing to the AltBOC(15,10). In summary, the DP discriminator has a better performance than NEMLP, and is less sensitive to the early-late correlator spacing for the AltBOC(15,10). For BPSK(10), both discriminators are sensitive to the early-late correlator spacing and have almost the same code noise error. Also, the AltBOC(15,10) outperforms BPSK(10) and has an average of 2 dB gain in code tracking error standard deviation. 96

3.5. Tracking

0.8

AltBOC(15,10) NEMLP AltBOC(15,10) DP BPSK(10) NEMLP BPSK(10) DP

σtDLL [m]

0.6

0.4

0.2

0 25

30

35 40 C/N0 [dB−Hz]

45

50

Figure 3.34: Code noise error for AltBOC(15,10) and BPSK(10) for d = 0.1 chips and Ti nt = 1 ms.

DLL Tracking Sensitivity The DLL tracking loop sensitivity is defined as the minimum C /N0 required by the receiver to be able to continue tracking. One of the main parameters that increases the tracking sensitivity is the DLL coherent integration time, and with the availability of pilot channels on both E5a and E5b signals, it is theoretically possible to integrate for very long periods of time, thus providing a significant increase in the post-correlation SNR and consequently an increase in the sensitivity. The rule-of-thumb tracking threshold for the DLL is that the 3-sigma value of the jitter due to all sources of loop error must not exceed half of the linear pull-in range of the discriminator [9]. Therefore, the tracking threshold is defined as: 3σDLL ≤

L 2

(3.66)

where L is the linearity region, and σDLL is equal to the error induced by the thermal noise and dynamic stress. However, as with carrier aiding the dynamic stress error in the DLL tracking loop is negligible, then it will not be included herein. It is also important to note that the multipath-induced error is not included as it is considered as a bias that shifts the discriminator output stable point. However, it does not imply a tracking error that would push the tracking loop away from its stability point or would affect the linearity region [61]. Consequently, for a single multipath, it cannot be considered as directly affecting the code tracking sensitivity. Using Equation 3.65, 97

Chapter 3. Galileo E5 Processing

28

24

26 C/N0 [dB−Hz]

26 C/N0 [dB−Hz]

28

NEMLP B = 90 MHz DP B = 90 MHz NEMLP B = 75 MHz DP B = 75 MHz NEMLP B = 51.15 MHz DP B = 51.15 MHz

22 20 18

24 22 20 18

16 −3 10

−2

−1

10

Tint [s]

0

10

10

16 −3 10

NEMLP B = 20 MHz DP B = 20 MHz NEMLP B = 30 MHz DP B = 30 MHz NEMLP B = 50 MHz DP B = 50 MHz

(a) AltBOC(15,10).

−2

10

−1

Tint [s]

10

0

10

(b) BPSK(10).

Figure 3.35: Impact of the receiver bandwidth on the tracking thresholds for d = 0.1 chips.

the resulting tracking threshold is modeled as: s à !# L 2G 4 18G 3 1+ 1+ C /N0 ≥ 10log L2 9G 3 "

[dB-Hz]

(3.67)

where G 3 and G 4 are equal to: G3 =

G4 =

¡ ¢ B n 1 − R˜Q (d ) 2α2(−d /2)   

2 (2−α(−d /2) d )Ti nt 1 Ti nt ,

, N E M LP

(3.68)

DP

The resulting tracking thresholds for different receiver bandwidths and for an earlylate correlator spacing of 0.1 chips are shown in Figure 3.35 for AltBOC(15,10) and BPSK(10) modulations. It can be seen that a higher sensitivity can be achieved by tracking Galileo E5 pilot in full band as AltBOC(15,10). For the minimum required bandwidth to receive both signals (i.e. 51.15 and 20 MHz), the AltBOC(15,10) with the DP discriminator has a tracking threshold between 2.62 and 4.43 dB higher than the BPSK(10). Also as expected, with the DP discriminator, the tracking thresholds are 0.2 dB in average higher than for the NEMLP in the case of AltBOC(15,10), and for BPSK(10), both discriminators have almost the same thresholds. The impact of the early-late correlator spacing on the tracking thresholds is shown in Figure 3.36 for the DP discriminator and a minimum required bandwidth to receive 98

3.6. Multipath Mitigation

d = 0.1 d = 0.2 d = 0.3

25 C/N0 [dB−Hz]

C/N0 [dB−Hz]

25

20

15

20

15 d = 0.1 d = 0.2 d = 0.3

10

10 −3

10

−2

10

−1

Tint [s]

10

0

10

(a) AltBOC(15,10).

−3

10

−2

10

−1

Tint [s]

10

0

10

(b) BPSK(10).

Figure 3.36: Impact of the early-late correlator spacing on the tracking thresholds for AltBOC(15,10) (B = 51.15 MHz) and BPSK(10) (B = 20 MHz) with the DP discriminator.

both signals. It is clear that with increasing the early-late correlator spacing, the linearity region increases and consequently the threshold decreases. For AltBOC(15,10) and as shown in ’Normalized DLL’ section, the linearity region is wider than for the BPSK(10) for the same correlator spacing and thus the decrease in the tracking thresholds is higher. An improvement of around 6.84 dB is obtained by increasing the correlator spacing from 0.1 to 0.2 chips and 3.32 dB by increasing it from 0.2 to 0.3 chips. For BPSK(10), the improvement is 4.21 and 1.67 dB, respectively.

3.6 Multipath Mitigation Multipath describes the effect of satellite signals arriving at the receiver by more than one path. This means that a direct LOS signal overlays with one or more indirect signals (non-line-of-sight). The antenna receives several replicas of the transmitted signal at different moments and with different power amplitudes. Due to the longer propagation path of indirect signals, there is a phase offset (shift in code and carrier) between multipath signals. The phase offset is a function of the geometric conditions but also of time. For automotive applications in urban environment, the multipath conditions will change continuously, and therefore it is one of the most disturbing problems of GNSS-based navigation systems in urban environments. The pseudorange may deviate, depending on the signal characteristic, up to 100m or even more, and the position deviation is a function of it. 99

Chapter 3. Galileo E5 Processing

3.6.1 Carrier Multipath In the absence of multipath, the discriminator is able to track the direct incoming signal phase. In the presence of multipath, the tracking loops follow the composite incoming signal. The traditional tracking loops in the receiver are not able to distinguish direct and composite signal. They employ the concept of null tracking [67], which results in a non-zero error in the direct carrier phase estimation. Carrier phase multipath can be studied by considering a simple phasor diagram as in Figure 3.37, where the direct signal is assumed to have a zero phase, the phase of the multipath signal with respect to the direct one is θm , and θc is the phase of the composite signal. The magnitudes for the direct and multipath phasor are given by: D = R (τc )

(3.69)

M = βR (τc − δ)

where R (τc ) is the autocorrelation function of the PRN code at time lag τc , which is the code tracking error of the DLL, δ is the delay of the multipath, and β is one over the signal to multipath ratio (SMR). In order to determine the composite phase τc , the multipath is decomposed into its in-phase and quadrature components: M I = Mcos (θm )

(3.70)

MQ = M si n (θm )

The correlation values used above are from the prompt correlator. Having resolved the multipath components, it is possible to determine the phase relationship between the composite and the direct signal, which is the error due to carrier phase tracking. Assuming a perfect lock onto θc , the carrier phase multipath error is given by: θc = ATAN

µ

MQ

¶ (3.71)

D + MI

This expression characterizes the carrier multipath error, and by varying the phase of the multipath relative angle θm , between 0 and π, a carrier phase multipath error envelope can be found. Replacing Equations 3.69 and 3.70 in Equation 3.71, the carrier multipath error is found as: βR(τc − δ)si n(θm ) θc = ATAN R(τc ) + βR(τc − δ)cos(θm ) µ

100

¶ (3.72)

3.6. Multipath Mitigation

Composite Signal



Multipath  Signal m

c

Direct Signal

Figure 3.37: Phasor diagram of the direct, multipath and composite signals.

Carrier Multipath Error [m]

0.02 0.01 0 −0.01 −0.02 0

10

20 30 Multipath Delay [m]

40

Figure 3.38: Carrier Multipath Error for E5-Q AltBOC(15,10) for a SMR = 3 dB.

Figures 3.38 and 3.39 show the carrier multipath error for Galileo E5 pilot signal when it is tracked in full band as AltBOC(15,10) or in side band as BPSK(10). It can be seen that the phase error is very small and it is in the range of cm to mm level, which is still considered important for high-precision applications (e.g. Real Time Kinematic RTK). It is important to note that since the carrier multipath performance depends on the shape of the autocorrelation function and not on the correlator spacing, the carrier multipath errors illustrated are valid for different correlator spacings and will not be significantly affected by the receiver bandwidth.

3.6.2 Code Multipath The computation of code multipath error is described in section 2.3.4 for a specific multipath signal with a fixed amplitude and delay. Now, if the code multipath error is computed for multiple delays, then an error envelope is obtained that represents the maximum error resulting from one single multipath arriving with in-phase (i.e. 0◦ ) or out-of-phase (i.e. 180◦ ) comparing to the LOS signal. This envelope is called multipath 101

Chapter 3. Galileo E5 Processing

Carrier Multipath Error [m]

0.02 0.01 0 −0.01 −0.02 0

10

20 30 Multipath Delay [m]

40

Figure 3.39: Carrier Multipath Error for E5a-Q BPSK(10) for a SMR = 3 dB.

error envelope (MEE). Another metric for multipath assessment is the computation of the running average of MEE’s (i.e. average error for a specific multipath delay), where a good multipath performance is characterized by a small maximum average and a rapid decrease toward zero for a short multipath delay. Generally, the dedicated scenario with one multipath component and a constant signal attenuation factor can be considered as simple. A more realistic approach to calculate quantitative multipath errors would be to consider different multipath environments and different elevation angles [68]. However, this would require exact knowledge of the multipath propagation channel under various conditions [69]. Statistical channel models (e.g. the wide band channel model for land mobile satellite services (LMS) presented in [70]) could also be used but have the disadvantage of complexity. In the following, the simple scenario approach with one dedicated multipath component is adopted as it provides quantitative results in order to compare between the multipath mitigation performance of the Galileo E5 tracked in full band as AltBOC(15,10), or in side band as BPSK(10). Two types of discriminator are evaluated: DP, and HRC. The NEMLP and DP discriminators have the same performance in terms of multipath mitigation as the difference in zero crossing between the two discriminators is the same. Thus, the MEE’s obtained with the DP discriminator are valid for the NEMLP. For the MEE and running average computations, a single multipath component having a SMR of 3 dB is considered. The multipath signal is assumed to arrive with two phases: 0◦ (i.e. constructive multipath) and 180◦ (i.e. destructive multipath) resulting in two error envelopes (for all other 102

3.6. Multipath Mitigation phases the error will lie between these two envelopes). No AWGN is included and the full band and single band receiver bandwidths are assumed to be 75 MHz and 20.46 MHz respectively (other bandwidths are considered in the end of the section). Figure 3.40 shows the MEE and the running average for AltBOC(15,10) and BPSK(10) using the DP discriminator. In general, a narrow correlator spacing results in a better multipath mitigation. For the AltBOC(15,10) modulation, the difference in the ranging error between 0.1, 0.2 and 0.25 early-late correlator spacing is relatively small. This means that the AltBOC(15,10) is less sensitive to correlator spacing, in contrast to BPSK(10) modulation, where an increase in the early-late correlator spacing from 0.1 to 0.2 chips approximately doubles the code multipath error. Also, it can be seen, that for d = 0.1 chips, the BPSK(10) provides better mitigation than AltBOC(15,10) for short delay multipath signals (≤ 10 m), but the latter performs better for long delays. Moreover, with the increase in the correlator spacing, AltBOC(15,10) modulation has a better mitigation for all the delays. Looking at the running averages, it can be noted that the AltBOC(15,10) has a faster decrease toward zero where the maximum error occurs between 7 and 9 m delays and it starts to decrease rapidly, while for the BPSK(10) modulation the maximum error occurs between 27 and 29 m delays and decreases slowly. Figure 3.41 shows the MEE and the running average for AltBOC(15,10) and BPSK(10) using the HRC discriminator. It can be seen that with an early-late correlator spacing of 0.1, the BPSK(10) has lower multipath error than the AltBOC(15,10). However with increasing the correlator spacing, the AltBOC(15,10) shows a better performance. Comparing to the DP discriminator, for short multipath delays (0-5 m), the HRC correlator provides similar albeit better average performances for different early-late correlator spacings. Moreover, for the AltBOC(15,10), the HRC has a slightly better performance for 0.1 early-late correlator spacing and a worst performance for 0.2 and 0.25. The reason behind this is that for early-late correlator spacings higher than 0.15, the spacing between E 2 and L 2 correlators becomes more than 0.3 chips, and consequently they will be located on the negative part of the autocorrelation function (see Figure 3.5), which will decrease the performance of the discriminator, and consequently its ability for multipath mitigation. For BPSK(10), the HRC is better than the DP for an early-late correlator spacing of 0.1, and with increasing the spacing, the DP becomes better for short and long range multipath delays, and the HRC is better for medium range multipath delays.

103

Chapter 3. Galileo E5 Processing

d = 0.1 d = 0.2 d = 0.25

2 1 0 −1 −2 −3 0

10

20 30 Multipath Delay [m]

3 Code Multipath Error [m]

Code Multipath Error [m]

3

d = 0.1 d = 0.2 d = 0.25

2 1 0 −1 −2 −3 0

40

10

(a) AltBOC(15,10).

d = 0.1 d = 0.2 d = 0.25

2.5 2 1.5 1 0.5 0 0

10

20 30 Multipath Delay [m]

40

(b) BPSK(10).

40

3 Average Code Multipath Error [m]

Average Code Multipath Error [m]

3

20 30 Multipath Delay [m]

2.5

d = 0.1 d = 0.2 d = 0.25

2 1.5 1 0.5 0 0

(c) AltBOC(15,10).

10

20 30 Multipath Delay [m]

40

(d) BPSK(10).

Figure 3.40: MEE and running average with the DP discriminator.

The impact of the receiver bandwidth taking into account a full band tracking (i.e. AltBOC(15,10)) is shown in Figure 3.42 for d = 0.1 chips. It can be seen that if the bandwidth decreases, then the multipath average code error increases. Also it can be noted that for long multipath delays, the receiver is less sensitive to bandwidth variations. Finaly, Table 3.11 shows the maximum average error and its corresponding multipath delay in function of the receiver bandwidth.

Table 3.11: Maximum average code multipath error and its corresponding multipath delay for DP and HRC discriminators for d = 0.1 chips.

B [MHz] DP HRC 104

Maximum Average Error/Multipath Delay [m] 51 75 90 ∞ 1.39/8.21 1.28/7.62 1.06/7.03 0.87/7.33 1.30/7.62 1.15/7.03 0.95/6.15 0.86/5.57

3.6. Multipath Mitigation

d = 0.1 d = 0.2 d = 0.25

2 1 0 −1 −2 −3 0

10

20 30 Multipath Delay [m]

40

3 Code Multipath Error [m]

Code Multipath Error [m]

3

2 1 0 −1 −2 −3 0

50

d = 0.1 d = 0.2 d = 0.25

10

(a) AltBOC(15,10).

2.5 2 1.5 1 0.5

20 30 Multipath Delay [m]

(c) AltBOC(15,10).

40

50

3 Average Code Multipath Error [m]

Average Code Multipath Error [m]

d = 0.1 d = 0.2 d = 0.25

10

40

50

(b) BPSK(10).

3

0 0

20 30 Multipath Delay [m]

d = 0.1 d = 0.2 d = 0.25

2.5 2 1.5 1 0.5 0 0

10

20 30 Multipath Delay [m]

40

50

(d) BPSK(10).

Figure 3.41: MEE and running average with the HRC discriminator.

To summarize, the multipath induced error is a dominant error in DLL tracking loops and it is higher than the code thermal noise error. It is shown that, overall, tracking E5 pilot in full band as AltBOC(15,10) provides a better multipath mitigation than tracking E5a pilot in side band as BPSK(10). However, this improvement is small for early-late correlator spacing less than 0.15 chips, where the BPSK(10) has a better performance than the AltBOC(15,10) for short multipath delays (< 10 m). Regarding the HRC and DP discriminators multipath mitigation abilities, for the AltBOC(15,10) modulation, the performance is more or less the same for an early-late correlator spacing less than 0.15 chips, and for higher spacings, the DP performs better. For BPSK(10) modulation, overall the DP has better performance for short (< 10 m) and long (> 30 m) range multipath delays, and the HRC is better for medium range (between 10 and 30 m) multipath delays. In general, for both modulations the improvement brought by the HRC is not so significant, especially that with the HRC an increased code thermal noise tracking error is obtained due to the fact of using additional correlators. 105

Chapter 3. Galileo E5 Processing

Average Code Multipath Error (m)

1.5

DP B = ∞ NC B = 90 MHz NC B = 75 MHz NC B = 51.15 MHz HRC B = 90 MHz HRC B = 75 MHz HRC B = 51.15 MHz HRC B = ∞

1

0.5

0 0

10

20 Multipath Delay [m]

30

40

Figure 3.42: MEE running averages for AltBOC(15,10) in function of different receiver bandwidths with the DP and HRC discriminators for d = 0.1 chips.

3.7 Summary and Conclusions In this chapter, the Galileo E5 signal processing has been exploited. It has been shown that the E5 signal can be processed in two modes as follows: in full band as an AltBOC(15,10) modulation or in side bands as a BPSK(10) like modulation. Different acquisition techniques were presented and it was shown that acquiring E5 as a BPSK(10) using the SSB and DSB approaches is less complex, faster, and requires less resources than acquiring it in FB as AltBOC(15,10) modulation. Moreover, for very long coherent integration times, a new FFT-based acquisition algorithm is proposed. The new algorithm finds the Doppler offset and the phase of the primary and secondary codes and fully exploits the secondary code. Indeed, the correlation being performed on a complete period of the secondary code (or even on several periods), this enables to reach the best sensitivity possible, all of this with a reasonable complexity. In case of strong signal conditions, to reduce the acquisition time, the algorithm could be modified by finding first the primary code phase and then the secondary code with fine frequency estimation using either the SSB or DSB approach. The performance of the algorithm was analyzed in terms of complexity and sensitivity, and compared to a tree-based architecture where it has shown more interesting properties. Regarding the carrier tracking, the existence of the pilot channels on E5 enables the use of the ATAN2 discriminator for PLL tracking, which in turn enables to obtain a better sensitivity, and a larger pull-in-region that could be substantial in challenging 106

3.7. Summary and Conclusions environments. Furthermore, tracking the carrier of E5 pilot in full band, i.e. as AltBOC(15,10), provides additional power over carrier tracking of one of its side bands, i.e. as BPSK(10). Otherwise there is no significant advantage because PLL tracking loops are not dependent on the signal modulation, and for the same C /N0 , both modulations have exactly the same performance. For the code tracking, the impact of many parameters that affect the DLL loops, such as the front-end filter bandwidth, the early-late correlator spacing, discriminator type, and normalization techniques were discussed. A wide front-end bandwidth results in a better sensitivity and a sharper autocorrelation function. However, it requires higher sampling frequency and more computational load. It has been also shown that increasing the correlator spacing results in a wider linearity region that implies a better tracking response and improved sensitivity. And decreasing it, results in more accurate tracking and better multipath mitigation. The performance of the NEMLP and DP discriminators with the AltBOC(15,10) and BPSK(10) modulation was also analyzed, and it was shown that a DP discriminator is more suitable for AltBOC(15,10), and a NEMLP discriminator has a slightly better performance with BPSK(10). The advantages and drawbacks of tracking both modulations as compared to each other were also assessed and can be summarized as following. Tracking E5 as an AltBOC(15,10) presents several advantages over BPSK(10). For the same early-late correlator spacing that is smaller than half of the one-sided width of the autocorrelation main peak, the AltBOC(15,10) has a wider linearity region than BPSK(10) for both discriminators which implies a better tracking response. Also, an average improvement of around 2 dB in code thermal noise error standard deviation is obtained assuming the same loop settings. The latter two points result in an improvement in tracking threshold from 3 to 6 dB, which makes the AltBOC(15,10) modulation a very good candidate for high-sensitive receivers. The AltBOC(15,10) showed a better multipath mitigation for long delays, and for short delays for an early-late correlator spacing higher than 0.15 chips. Although having these advantages, the AltBOC(15,10) contains several drawbacks as compared with BPSK(10). Correspondingly, as the required early-late correlator spacing should be smaller than half of the one-sided width of the autocorrelation main peak, the maximum spacing that can be used for AltBOC(15,10) is limited to 0.33 chips. Furthermore, the Galileo E5a (E5b) BPSK(10) has a stability domain larger than the AltBOC(15,10) and a wider choice for correlator spacing’s that could increase

107

Chapter 3. Galileo E5 Processing its linearity region up to ±0.5 chips, which makes it more robust especially under high dynamics. Additionally, the BPSK(10) showed more sensitivity to correlator spacing than the AltBOC(15,10), which could give the receiver designer more freedom in selecting the parameters for his design. Furthermore, the wide spectrum of the AltBOC(15,10) modulation requires a large front-end filter bandwidth. Consequently, a high sampling frequency is a prerequisite, which will lead to the need of a more powerful processor to process the signal that will result in more power consumption. Overall, both modulations showed great potentials for robust and accurate tracking loops. The existence of the pilot channel allows long integration time and improves the tracking gain. The high code PRN rate (10.23 MHz) provides a good resistance to long multipath delays (≥ 35 m) and better code noise error. In conclusion, depending on the target application, the designer should select its receiver parameters and choose to track the E5 signal as a full band AltBOC(15,10) or a limited band BPSK(10) modulation. AltBOC(15,10) is more suitable for high sensitivity and high precision applications, while BPSK(10) is better for low-cost receivers and for applications requiring high robustness and stability.

108

4 Inertial Navigation Systems

An INS is a navigation system, which depends entirely on inertial measurements. It consists of accelerometers, which measure the translatory acceleration, and gyroscopes, which measure the angular rotation of the system. Using these measurements, the INS can calculate the current attitude, velocity and position of the system starting from a known initial condition. This means that the INS does not depend on any third party applications, like GNSS receivers, and thus will always work regardless of external influences. This makes it suitable for navigation where GNSS signals are not present or being jammed. When relying solely on inertial measurements, the accuracy of the INS navigation solution degrades with time due to measurement inaccuracies. However, when used in a short time span, an INS gives a much higher precision than a GNSS solution. This chapter starts by presenting an overview about the principles of an INS. Then it discusses the inertial sensors and particularly MEMS inertial sensors. Furthermore, the typical errors that exist in inertial measurements are presented, and initial alignments methods are partially exploited. Moreover, the mechanization equations used to propagate the position, velocity and attitude solution in time are shown, and the INS error model is derived. Then the state-of-the-art of GNSS/INS coupling techniques are discussed, and their main advantages and drawbacks are shown. Finally, the principles behind the Extended Kalman Filter (EKF), which is the common blending navigation filter for GNSS/INS integration, are presented.

109

Chapter 4. Inertial Navigation Systems

4.1 Principles Inertial technology is unique among navigation technologies because it is autonomous with respect to its environment. Inertial sensors operate without reference to an external signal and are, therefore, not affected by atmospheric conditions, LOS obstructions or underwater or underground operation. The principle of inertial navigation is based on Newton’s first and second law of motion. By measuring accelerations x¨ of a vehicle along the axes of a well-defined reference frame that is usually denoted as the navigation frame, and integrating it with respect to time, velocity, and position differences can be obtained. These accelerations are derived from the specific force measurements of the accelerometers. Gyroscopes are used to stabilize the coordinate axes (either mechanically or analytically) by monitoring the accelerometer angular motions. Integrating the vehicle accelerations x¨ with respect to time leads to the current velocity vector: Z ˙ )= x(t

t t0

¨ ˙ 0) x(τ)d τ + x(t

(4.1)

˙ 0 ) is the initial velocity vector, where t 0 indicates the starting time of the vehicle, x(t and τ is an integration variable with respect to time. A further integration yields the current position vector x(t ) of the vehicle relative to the starting point: Z x(t ) =

t t0

˙ x(τ)d τ + x(t 0 )

(4.2)

The solution of Equations 4.1 and 4.2 depends on the navigation frame chosen. The initial velocity and position vectors of the starting point (initial position) must be known. In addition, the initial attitude of the vehicle must be determined, meaning that the orientation of the sensors must be known. The fundamental consideration above comprises two difficulties:

• For applications on or close to large masses like the Earth, the inertial acceleration vector of the vehicle is superimposed by gravitational forces.

• Depending on the navigation frame chosen, apparent forces due to the rotation of the reference frame with respect to inertial space affect the acceleration measurements. 110

4.2. Inertial Sensors Thus, when integrating the accelerometer measurements, the influences of the gravitational field of the Earth and of possible apparent forces must be accounted for. Two major types of inertial navigation systems exist: Gimbaled platforms and strapdown systems.

Gimbaled Platforms

Originally gimbaled platforms have dominated INS systems.

The stable element of a gimbaled platform carrying the sensor assembly is isolated from the angular motions of the vehicle via a set of 3 orthogonal gimbals. The gyros acting as ’null-sensors’ track the rotations of the platform and drive servomotors to keep the platform at a fixed orientation with respect to the chosen navigation frame. Consequently, the dynamic range of the gyros can usually be kept low since the gyro output will always be close to zero [1].

Strapdown Platforms

The strapdown implementation offers numerous advantages

over its gimbaled counterpart, and therefore, it is the preferred type of inertial navigation systems today. The principal advantage is apparent from the name ’strapdown’. By eliminating the bulky, expensive and error-prone moving mechanical parts that are a part of the gimbaled platforms, the reliability of the system is increased and the cost and size are reduced. With the invention and maturing of the laser and fiber optic gyros, strapdown INS have even obtained an accuracy, which rivals high-end gimbaled systems at a much lower price tag. The problem with strapdown inertial navigation systems is that the sensor assembly is not mechanically isolated from the rotations of the body, and thus, the gyros must be able to capture these rotations. This requires the strapdown gyros to have a much higher dynamic range than the gyros employed in gimbaled systems [1].

4.2 Inertial Sensors A basic INS is formed from two types of sensors: 1) accelerometers for the measurement of specific forces, and 2) gyroscopes for the implementation of an inertial frame of reference. Since specific force measurements contain the effect of the Earth’s gravity field, a gravity model is needed to extract vehicle acceleration from the measurements. 111

Chapter 4. Inertial Navigation Systems Gyroscopes

The gyroscopes are angular rate sensors. They output either angular

rate or angle increment depending on whether they are of the rate sensing or rate integrating type. They are used to establish a reference frame for accelerometer measurements by either mechanical or analytical means. Gyroscopes typically represent the most expensive and a precious part of an INS and their performance is usually the limiting factor for overall navigation performance. Different types of gyros exist such as optical gyros (e.g. Ring Laser Gyros (RLGs), or Fiber Optic Gyros (FOGs)), mechanical gyros, electrostatic gyros, and MEMS Gyros.

Accelerometers

The accelerometers are specific force sensors. Specific force is

defined as the non-gravitational force per unit mass (i.e. proper acceleration or acceleration relative to free fall). Thus, the accelerometer output is a specific force or, in case of integrating accelerometers, a velocity, which in this case is essential for detecting changes in position. It exist different types of accelerometers such as optical accelerometers or MEMS accelerometers.

4.2.1 MEMS Inertial Sensors MEMS technology is one of the most advanced developments in inertial sensors in the last decade. The need to maintain reasonable cost levels when integrating an INS with GNSS for consumer applications is driving the technology development for MEMS inertial sensors [71]. MEMS sensor technology makes direct use of the chemical etching and batch processing techniques used by the electronics integrated circuit industry. The properties of the resulting MEMS based inertial sensors are small size, low weight, rugged construction, low power consumption and low cost as a result of high volume manufacturing, low maintenance, and compatible with operation in hostile environments [72]. So far, MEMS inertial sensors are the lowest cost inertial sensors available for use in commercial applications, such as land navigation [73]. These sensors, based on their performance levels and intended applications, are often categorized under automotive grade sensors [74]. Initial MEMS sensor developments focused on the generation of miniature accelerometers, the system and performance requirements of which were driven by the demands of the automobile industry. MEMS accelerometers may be divided into two distinct classes [72]: 1) the displacement of a proof mass supported by a hinge or flexure in the 112

4.2. Inertial Sensors Table 4.1: Examples of MEMS applications [8]. Consumer Electronics Pedometer, game control, image stabilization in video cameras, hard disk protection

Medical Motion tracking, pacemaker

Military Missile guidance, navigation, laser range finder

Automotive Airbags, vehicle dynamic control, navigation systems, active suspension, roll detection

presence of an applied acceleration; 2) the change in frequency of a vibrating element caused by the change in tension in the element when the element is subjected to acceleration. There are four types of MEMS accelerometers named as pendulous mass, resonant (vibrating beam), tunneling, and electro-statically levitated MEMS accelerometers. More details can be found in [72]. MEMS gyroscopes are non-rotating devices and use the Coriolis acceleration effect on a vibrating proof mass to detect inertial angular rotation. These gyros consist of a sensing element vibrating with constant amplitude controlled by a vibrating motor that maintains the oscillation at constant amplitude. When this system is rotated around any axis other than the axis of its internal in-plane vibration, the Coriolis force causes the element to oscillate out of the plane [75]. This oscillation is picked-up by the sensing capacitors and is used to provide a measure of angular rate. There are many practical sensor configurations based upon this principle. They generally fall into one of the following three categories: simple oscillators, balanced oscillators (e.g. tuning fork MEMS gyroscope), shell resonators (e.g. resonant ring MEMS gyroscope). Table 4.1 shows an example of some of the fields and corresponding applications where MEMS inertial sensors are used. It is important to note also that nowadays, almost everyone has his own personal navigator that rely on GPS in his smart phone. In fact, navigation and position knowledge has become a commercial commodity item, and everyone expect to have it at all times. Therefore the existence of MEMS inertial sensor could play an important role in improving the performance of this application, in order to provide more accurate, and high availability navigation solutions. 113

Chapter 4. Inertial Navigation Systems

4.2.2 Sensor Errors All types of INS systems exhibit sensor errors. The order and nature of these errors depend on the quality and grade of the INS. Typically, sensor errors are modeled by stochastic processes. Depending on the type of error (e.g. random or systematic, correlated over time or uncorrelated), different types of processes can be used to model them. The most common stochastic processes used in INS error modeling are: random constant, random walk, and first-order Gauss-Markov model. Random Constant This process yields a constant error for all times. Its differential equation and time-discrete model are defined as: X˙ (t ) = 0 X k+1 = X k

(4.3)

The error is the realization of a random variable. For example, the output of an INS sensor includes an unknown bias. It may be different each time the sensor is turned on. However, from experience some information about its mean and variance may be available. Such biases are modeled as random constants. Random walk The time derivative of this process is a continuous white noise process. Its differential equation and time-discrete model are defined as: X˙ (t ) = w(t ) X k+1 = X k + w k

(4.4)

Random walk processes are frequent in INS due to the time integration of sensor data. In case of accelerometer, white noise in the specific force propagates as a random walk when the measurements are integrated to obtain velocity. In case of a gyro, white noise in the angular rate results in a random walk of the attitude obtained from integrating the gyro measurements. First-order Gauss-Markov model This type of stochastic error model is defined by the differential equation and time-discrete model as: X˙ (t ) = −βX (t ) + Wcont (t ) X k+1 = e −β∆t X k + Wcontk

114

(4.5)

4.2. Inertial Sensors where β is a constant, ∆t is the update interval of the IMU, and Wcont is a zero mean Gaussian white noise process. Gauss-Markov processes are frequently used to describe a colored noise signal where β reflects the degree of correlation. The correlation time τc is defined as 1/β. If 1/β is large, the signal is highly correlated in time. If β approaches zero, the process resembles as random walk. If 1/β is small, the signal quickly decorrelates and the process becomes similar to white noise. The typical errors of INS sensors that remain usually after calibration may include: random noise, bias, scale factor and non-orthogonality. Noise is an additional signal resulting from the sensor itself or other electronic equipment that interferes with the output signals being measured [76]. In general, noise is non-systematic and therefore cannot be removed from the data using deterministic models. It can only be modeled by a stochastic process, where it is often considered as zero-mean white Gaussian noise. The errors build up in gyro and accelerometer measurements due to white noise is termed as angular/velocity random walk. The p noise density is generally characterized in the units of signal/ H z. Sensor Bias is defined as the average of the output of each sensor over a specified time, measured at specified operating conditions that have no correlation with input acceleration or rotation [77]. The gyro bias is typically expressed in ◦ /h (or rad/s) and the accelerometer bias is expressed in m/s2 (or mg). The bias is generally considered to have two parts, a deterministic bias offset (often termed as turn-on bias) and a bias-drift. Turn-on bias is the bias in the inertial sensor output when the sensor is turned on. This bias part remains constant over a particular mission, and thus is deterministic through lab calibration procedures [76]. For low cost sensors such as the MEMS sensors, these errors are quite large and their repeatability is typically poor and thus, frequent calibration, which is every time the sensor is used, becomes a necessity. The bias-drift refers to the rate at which the error in inertial sensor accumulates with time [76]. This part is random in nature, and can be modeled as a first-order GaussMarkov process. Scale Factor is the ratio of a change in the output to a change in the input intended to be measured [77]. These errors are expressed in PPM, and typically, they are deterministic in nature but can also be modeled as a first-order Gauss-Markov process [78].

115

Chapter 4. Inertial Navigation Systems Non-Orthogonality is the result of a misalignment of the sensor axes caused by imperfections in the construction of the sensor assembly [73]. As a result, each axis is affected by measurements of the other two axes in the body frame. Axes misalignments, in general, are modeled as part of the INS error equations [76]. Typically, the sensor biases, scale factor errors and non-orthogonality errors for highend IMUs (navigation or tactical grade) are negligible. For these IMUs the measurement could be considered to have just the bias-drift and noise. However, the sensor errors in low cost MEMS inertial sensors are high. In this case, the sensor scale factor errors and the turn-on biases are very high. Although deterministic in nature these errors typically vary from one turn-on to another for low cost sensors. Practically, it is not feasible to calibrate them every time the sensor is turned on, so a solution to this problem is to include these errors as part of the functional model and to estimate them in a Kalman filter [37, 72, 74].

4.3 Mechanization Equations The mechanization equations are the set of equations used to convert the output of an IMU into useful position, velocity and attitude information. The output of an IMU can be defined as vectors of rotation rates, ω, and specific force measurements, f . Once the angular rates and accelerations are obtained, inertial navigation can be performed in two basic steps. First, assuming the IMU’s initial orientation is known relative to some navigation frame of interest, the angular rates are integrated to obtain the new orientation of the IMU. Second, this new orientation information is used to rotate the accelerations into the navigation frame where they are twice integrated to obtain velocity and position increments. While this is an oversimplified description, it serves to illustrate the general principle of inertial navigation. First a description of the coordinate frames and transformation matrices used in INS is presented.

4.3.1 Coordinate Frames In 3D space, a triple of coordinates is needed to define the position of a point. Coordinate or reference systems are used for a consistent representation of all spatial points. If points are subject to motion relative to the reference system, then the coordinates

116

4.3. Mechanization Equations

Local-Level

Figure 4.1: Inertial (axes denoted by the subscript i ), ECEF (axes denoted by the subscript e), and local-level (axes denoted North, East and Down) coordinate frames [3].

are time-dependent. In this case, the 3D space is complemented by time. The definition of a reference system requires a convention on its origin and on its orientation. The latter may be achieved by defining two orthogonal axes which are basically used to establish a 3D left or right handed Cartesian system. Strictly speaking, a difference is made between the concept of a coordinate system and its realization (coordinate frame). The four frames used in INS navigation for land navigation are the inertial, the Earth centered Earth fixed (ECEF), the local-level, and the body frames. Figure 4.1 shows an illustration of the inertial, ECEF, and local-level coordinate frames. The inertial frame (i-frame) is an ideal frame of reference in which the inertial sensors comply with Sir Isaac Newton’s 1st and 2nd laws of motion. However, since it is hard to construct a strict i-frame, a quasi-inertial frame is typically used in practice. This frame has its origin at the center of the Earth and axes which are non-rotating with respect to distant galaxies. Its z-axis is parallel to the spin axis of the Earth; its x-axis points towards the mean vernal equinox, and its y-axis completes a right-handed orthogonal frame. The vernal equinox is the ascending node between the celestial equator and the ecliptic [37].

117

Chapter 4. Inertial Navigation Systems The ECEF frame, defined by the World Geodetic System standard in 1984 (WGS84) as the e-frame, has its origin at the center of the Earth and axes that are fixed with respect to the Earth. Its x-axis points toward the mean meridian of Greenwich in the equatorial plane and y-axis is perpendicular to the x-axis in the equatorial plane [37]. Its z-axis is parallel to the mean spin axis of the Earth. The rotation rate vector of the e-frame with respect to the i-frame projected to the e-frame is given as: ωeie

h

= 0 0 ωe

iT

(4.6)

where ωe is the magnitude of the rotation rate of the Earth. For WGS84 Earth ellipsoid model, ωe is equal to 15.04108 ◦ /h. The rotation matrix from the i-frame to the e-frame frame at time step t i is: 

cos θ

sin θ

0



   Rei =  − sin θ cos θ 0 0 0 1

(4.7)

where θ = ωe t i . The position vector in the e-frame re = (x, y, z) is expressed in terms of the geodetic longitude (λ), latitude (ϕ) and altitude (h) as follows:     x (R N + h) cos ϕ cos λ      y  =  (R N + h) cos ϕ sin λ    £  ¤ z R N (1 − e 2 ) + h sin ϕ

(4.8)

where e is the first eccentricity of the ellipsoid, and R N is the radius of curvature in the prime vertical. Details about the WGS84 parameters can be found in Appendix A. The local-level frame (l-frame) is a local geodetic frame, which has its origin at the location of the INS. The INS mechanization is implemented on the l-frame. In this dissertation, the l-frame is chosen as the navigation frame (n-frame), where the axes of the l-frame align with the directions of the WGS84 Earth ellipsoid north, east and down, respectively. The north-east-down l-frame is typically abbreviated as NED l-frame. The transformation from the NED l-frame to the e-frame is expressed by a rotation matrix Rel as follows:   − sin ϕ cos λ − sin λ − cos ϕ cos λ    Rel =   − sin ϕ sin λ cos λ − cos ϕ sin λ  cos ϕ 0 − sin ϕ 118

(4.9)

4.3. Mechanization Equations The Earth rotation rate projected in the l-frame is then written as: h iT £ ¤T ωli e = Rle ωeie = Rel ωeie = ωe cos ϕ 0 −ωe sin ϕ

(4.10)

The rotation rate of the l-frame with respect to the e-frame is called the transport rate, which is expressed in terms of the rate of changes of latitude and longitude as: ωlel

h

= λ˙ cos ϕ −ϕ ˙ −λ˙ sin ϕ

iT

(4.11)

˙ is the rate of change of latitude along the meridian and is governed by the where ϕ curvature along this arc, and λ˙ is the rate of change of longitude. They are expressed as: vn Rm + h ve λ˙ = (R N + h) cos ϕ

˙= ϕ

(4.12)

where v n and v e are the velocity components along the north and east axis respectively, and R m is the meridian radii of curvature. The body frame (b-frame) has its origin at the center of the accelerometer triad, which is made coincident with the axes of the vehicle in which the INS is mounted. The x-y-z axes are aligned with the pitch, roll and heading axes of the vehicle, i.e. right-forward-vertical, respectively. The transformation from the b-frame to the lframe can be described by a rotation matrix Rlb . This rotation matrix can be obtained through an Euler rotation sequence, which is associated with the vehicle’s attitude (pitch, roll and heading) [37]. Assuming the heading angle, pitch angle and roll angle are defined as positive if they are eastward, rightward and upward, respectively, then the transformation is carried out as three successive rotations as follows: Rotate through heading angle (H ) about the navigation z axis: 

cos H

 R3 =  − sin H 0



sin H

0

cos H

 0 

0

(4.13)

1

119

Chapter 4. Inertial Navigation Systems Rotate through pitch angle (P ) about the new y axis:  cos P  R2 =   0 sin P

0 − sin P



1

0

0

cos P

  

(4.14)

Rotate through roll angle (R) about the new x axis:   1 0 0    R1 =  0 cos R sin R  0 − sin R cos R

(4.15)

Finally, Rlb is equal to: Rlb = RT3 RT2 RT1  cos H cos P   =  sin H cos P − sin P

cos H sin P sin R − sin H cos R cos H sin P cos R + sin H sin R



 sin H sin P sin R + cos H cos R sin H sin P cos R − cos H sin R   cos P sin R

cos P cos R

(4.16) Rlb is typically named the direction cosine matrix (DCM) or strapdown matrix in the strapdown INS. The DCM plays an important role in the implementation of either INS mechanization or the inverse process of mechanization.

4.3.2 Relative Angular Velocity of Coordinate Frames When describing the relative angular velocity of two coordinate frames, it is necessary to describe which frames are involved and in which coordinate system the angular velocity is expressed. If e.g. the angular velocity of frame j relative to frame i is expressed in the j t h coordinate system, this is written as: h j j ωi j = ωi j ,x

120

j

ωi j ,y

j

ωi j ,z

iT

(4.17)

4.3. Mechanization Equations

4.3.3 Time Derivative of Rotation Matrices j

j

The time derivative of matrix Ri having an angular velocity ωi j is equal to: ˙ j = −Ω j R j = R j Ωi R i ij i i ji

(4.18)

where j

j

Ωii j = Rij Ωi j Ri j

(4.19)

j

Ωi j = Ri Ωii j Rij j

j

where Ωi j is the skew symmetric matrix of ωi j . The skew symmetric matrix is used to replace the cross product of two vectors a and b, by a product of the skew symmetric matrix (build from the first vector) and the second vector as: a × b = Ab

(4.20)

where A is the skew symmetric matrix form of a. The elements in the skew symmetric matrix are as follows:   0 −a 3 a 2   A= 0 −a 1   a3  −a 2 a 1 0

(4.21)

4.3.4 Equation of Motions In order to navigate with respect to the i-frame, it is necessary to keep track of the direction in which the accelerometers are pointing. Rotational motion of the body with respect to the i-frame is sensed using gyroscopes which determine the orientation of the accelerometers at all times [72]. Hence, by combining these two sets of measurements, it is possible to define the translational and rotational motions of the vehicle within an inertial reference frame. The position, velocity and attitude calculation are possible using a specific navigation integration algorithm, called mechanization equations, by using only the signals from the inertial gyroscopes and accelerometers. The INS mechanization equations in the

121

Chapter 4. Inertial Navigation Systems NED l-frame are given directly as follows [79]:  D −1 vle    ¢  ¡  v˙ l  =  f l + g¯ l − Ωl + 2Ωl vl   e  i ¢e e  ¡ el l l b l l ˙ Rb Ωi b − Ωel + Ωi e Rlb Rb 

r˙l





(4.22)

where D −1 is equal to: 

1  Rm +h

D −1 =   0

0

0 1 (R N +h) cos ϕ

0

0



 0  −1

(4.23)

rl is the position vector expressed in terms of geodetic coordinates and is equal to h iT ϕ λ h , vle is the velocity vector relative to the e-frame but expressed in the lh iT frame and is equal to v n v e v d , g¯ l is the gravity vector in the l-frame, Ωbib is the angular rate skew-symmetric matrix of the gyro output measurements, Ωli e is the angular rate matrix of the earth rotation given in the l-frame, Ωlel is the angular rate matrix of the rotation of the l-frame with respect to the e-frame expressed in the l-frame, Rlb is the attitude matrix, and f l is the measured specific force in the l-frame and is expressed as: f l = Rlb f b

(4.24)

where f b is the accelerometer output measurements in the b-frame. The strapdown inertial navigation to propagate the position, velocity and attitude in time using the IMU measurements is given in Appendix B.

4.3.5 INS Navigation Error States Model Formulation of a linearized dynamic model of the INS navigation states (i.e. the PVA solution) is crucial in the GNSS/INS integration scheme as it will be shown later. Therefore, linearization of the INS non-linear dynamic system is the most common approach to derive a set of linear differential equations that define the INS error states [37]. Applying the first order Taylor series expansion to Equation 4.22, and taking in consideration that the gravity anomaly is approximated to 0 near earth surface [37], then the 122

4.4. Initial Alignment differential equations for the INS navigation error states are obtained as [79]:  D −1 δvle − D −1 D r δrl     ¡ ¢ ¡ ¢ δ˙vl  = − f l × εl − 2δωl + δωl × vl − 2ωl + ωl × δvl + Rl δ f b  e e    ie ¡ el el ¢ b ib ¢ ¡i e l l b l l l l l Rb δωi b − δωi e + δωel − ωi e + ωel × ε ε˙ 

δ˙rl





(4.25)

where D r is equal to: 

0

0

˙ ϕ



   ˙ ˙ Dr =  −λ(R N + h) sin ϕ 0 λ cos ϕ 0 0 0

(4.26)

εl is the misalignment error due to the orthogonal transformation errors between the b-frame and l-frame. The relationship between true attitude and its error is given by: ˆ lb Rlb = (I + El )R

(4.27)

l

ˆ is the estimated DCM matrix and El is the skew-symmetric matrix of εl . where R h b iT δvle = δv n δv e δv d is the velocity error along NED l-frame, f l is the specific h iT force in the l-frame. δrl = δϕ δλ δh is the position error expressed by geodetic coordinates. δ f ibb is the error of specific force measured by the accelerometer triad. δωbib is the error of angular rate measured by the gyro triad, δωli e is the error of Earth rotation rate projected on l-frame, which is equal to: h iT δωli e = −ωe δϕ sin ϕ 0 −ωe δϕ cos ϕ

(4.28)

and δωlel is the error of the transport rate, which is equal to: δωlel

δv e −δv n δv e tan ϕ = − R N + h Rm + h RN + h ·

¸T (4.29)

4.4 Initial Alignment One of the underlying assumptions used in the propagation of the navigation solution of the INS was that the initial condition of the system was already known. While position and velocity are usually easily input by the user, the initial orientation of the system is not so readily available. For this reason, the INS usually has to execute

123

Chapter 4. Inertial Navigation Systems an initial alignment procedure. Typically, this is performed in two steps: a coarse alignment step and a fine alignment step. Coarse Alignment: Two known quantities, namely the Earth rotation rate and gravity vector, are used to provide the initial alignment of the INS. Specifically, under static conditions (i.e. no external acceleration) the gravity vector is used to compute the roll and pitch by time averaging the acceleration output measurements. Using these two quantities, and Earth’s rotation rate, the heading can be computed. Finally with the roll, pitch and heading computed, the rotation matrix Rlb (t 0 ) from the b-frame to the l-frame can be computed. Fine Alignment: The fine alignment process is used to refine the initial alignment estimates obtained in the coarse alignment process. Also, some sensor errors can be observed so as to improve upon previous calibration values. The process is based on updates of an extended Kalman filter estimating the error states of the system. Of all observations typically used for the fine alignment process, zero velocity updates (ZUPTs) are perhaps the most popular. Other possible observations include the horizontal accelerations (which should be zero if the vehicle is stationary) or an external azimuth reference. For navigation-grade and high-end tactical grade INSs, the analytical coarse alignment method followed by fine alignment can be applied to estimate the initial attitude parameters [80]. However, for low cost IMUs, these methods often fail owing to large sensor errors. The roll and pitch of vehicle can still be obtained using the stationary accelerometer data with limited accuracy, but heading (azimuth) alignment cannot be accomplished. Another practical problem in using conventional static alignment methods is that the system is supposed to be used in different types of applications where the user cannot be expected to wait until the sensor alignment is finished [76]. Different techniques, such as kinematic alignment and the use of an external heading sensor have been tested previously for low cost MEMS inertial sensors. In [81, 82], the authors used heading information stored from a magnetic compass as periodic input to their integrated system for heading alignment. The possibility of using GPS processed navigation information for in-motion INS alignment is explored in [83, 35]. While the former study discussed the algorithm involving the use of GPS processed velocity information to align the INS, which was tested with a tactical grade IMU, the

124

4.4. Initial Alignment latter used GPS processed position information for alignment of a medium accuracy MEMS IMU. Generally, the initial alignment of low cost MEMS inertial sensors is still a hot topic, especially for GNSS/INS integration schemes, where the initial condition of the sensors plays an important role in determining the quality of the propagated navigation solution. Despite its importance, this subject will be out of the scope of this dissertation, and it is considered for future investigations. For the proposed algorithm in the next chapter, two techniques are adopted for the initial alignment. The first one is simply using the initial condition of a reference solution, and the second one is taken from the literature, and is based on using the knowledge of gravity and GPS measurements in a two step alignment: 1) horizontal alignment and 2) heading alignment.

4.4.1 Horizontal Alignment Horizontal alignment is the procedure to compute the initial value of roll and pitch angles. The accelerometer axes are mounted to coincide with the body of the vehicle and consequently roll and pitch are obtained by accelerometer leveling, which uses knowledge of gravity sensed by each accelerometer, under static conditions. If the body frame of the vehicle is assumed to be close to the local level frame, then roll and pitch angles are computed as [76, 82]:

R=

f¯yb g

P =−

f¯xb

(4.30)

g

where the ’bar’ above a quantity represents an average during time interval ∆t . The accuracy of these estimates depends on the accelerometer biases, and it is defined by [76, 82] as: δR =

b¯ xa g

δP = −

b¯ ay

(4.31)

g

Hence, the accuracy of the horizontal alignment procedure is limited by the accelerometer biases. 125

Chapter 4. Inertial Navigation Systems

4.4.2 Heading Alignment The azimuth alignment normally is realized by using the gyro measurements. However, this is not feasible with low cost IMUs, since their gyro biases (turn-on bias and drifts) and noise typically exceeds the Earth rotation rate [80]. An alternative approach for heading alignment is to fix the initial heading information from an external source. A potential source for such heading information is a magnetometer, which provides heading information by sensing the surrounding magnetic field. Another approach is to perform dynamic heading alignment using GPS velocities [83]. The heading angle is computed as: Ã H = tan−1

E vGP S

! (4.32)

N vGP S

E N where vGP S and v GP S are the east and north GPS velocities. The accuracy of the GPS-

derived heading depends on the accuracy of the computed GPS velocities and the horizontal vehicle velocity and it is computed as [84]: ¡ N ¢2 ¢2 E σ2v vGP S vGP S GP S 2 2 = ³¡ ´2 σv N + ³¡ ´2 σv E = 2 ¢ ¢ ¡ ¡ ¢ ¢ 2 2 2 2 GP S GP S vGP S N N E E vGP vGP S + v GP S S + v GP S ¡

σ2H

(4.33)

2 where vGP S is the GPS velocity equal to: 2 vGP S

=



E vGP S

¢2

¡ N ¢2 + vGP S

(4.34)

Thus, the greater the vehicle velocity is, the better the heading accuracy. For this reason, GPS heading is calculated (and used) only when vehicle has sufficient speed (more than 5 m/s).

4.5 GNSS/INS Coupling GNSS/INS coupling systems have been widely used for their enhanced performances in terms of navigation. The complementary characteristics of both systems makes them perfectly matching to be integrated together. A GNSS receiver computes position and velocity from pseudorange, carrier phase, and Doppler measurements. The accuracy of these measurements is time-independent, i.e. with bounded errors, which is totally different from INS estimates which have time-dependent errors as 126

4.5. GNSS/INS Coupling Table 4.2: Complementary characteristics of INS and GNSS receivers. System Advantages

Drawbacks

INS Immune to RF High data rate PVA navigation solution High accuracy in short-term Environment Independent Time dependent Pre-information needed No time standard

GNSS Time independent No pre-information needed PVT navigation solution High accuracy in long-term Time standard Sensitive to RF Interference Low data rate Environment dependent

explained before. However, the GNSS measurement accuracy is affected by several internal and external factors, such as errors in the tracking loop, receiver clock instability, low received GNSS signal strength, multipath, and variations in satellites geometry. Furthermore, with the increasing application demands, conventional GNSS positioning is challenging in environments such as under foliage areas, urban canyons and indoors. The main characteristics of an INS and GNSS receiver in terms of their respective advantages and disadvantages are compared in Table 4.2, which indicates their complementary characteristics. An integrated INS/GNSS system provides an enhanced and full navigation solution (i.e. position, velocity, attitude and time (PVAT)). This solution has superior performance in comparison with either a standalone INS or GNSS solution as it can overcome each of their limitations. The integrated system presents the features of both long-term and short term accuracy, improved availability and greater integrity [85]. Typically, there are three strategies for the integration of GNSS and INS, which are normally classified as loose, tight and deep coupling.

4.5.1 Loosely Coupled Integration The loosely coupled integration is the simplest method of GNSS/INS coupling. Its architecture is shown in Figure 4.2. In this scheme, the INS and GNSS receiver generate navigation solutions independently. The two solutions are blended using an estimator to form a third navigation solution. Normally, an extended Kalman filter (EKF) is used to accomplish the blending, however in the last decade some interest has arisen in using other non-linear estimators such as the unscented Kalman filter or particle filters [35]. The features of this scheme are that 1) GNSS bounds INS error drifts; 2) INS 127

Chapter 4. Inertial Navigation Systems INS Error Corrections

INS

PositionINS/VelocityINS

GNSS

Integration Filter

PVAT Solution

PositionGNSS/VelocityGNSS

Figure 4.2: GNSS/INS loosely coupled integration scheme.

bridges GNSS momentary outages; 3) inertial sensors are calibrated on-line; 4) there is a solution backup due to two independent systems and two separated estimators. A fundamental feature of this scheme is that it requires at least four GNSS satellites in view for an update to be possible. Its applications are limited under some environments such as vehicle navigation in urban canyons or indoor positioning where visible satellites may be fewer than four. Furthermore, this scheme provide its best implementation results with a high quality INS if a receiver loses signal lock frequently and for long periods, since the performance of the integrated system heavily depends on the INS during GNSS outages. Lower quality INS’s, e.g. MEMS based INS, are only suited for applications where GNSS outages are infrequent and short in duration.

4.5.2 Tightly Coupled Integration In the GNSS/INS tightly coupled integration, there is no separated GNSS navigation solution filter, instead, a single integration filter is employed to fuse INS and GNSS measurements. The raw pseudorange and Doppler measurements from GNSS tracking loops and those from INS predictions are combined to form the input of the centralized integration filter [86]. The filter directly accepts their differences to obtain the INS error estimates [87]. Figure 4.3 shows the scheme of the GNSS/INS tightly coupled integration. This scheme provides a more accurate solution than the loose integration because the basic GNSS observables (pseudorange and Doppler) used in the blending process are not as correlated as the position and velocity solutions used in loosely coupled approach [31]. Also it can continue to generate an integrated navigation solution even 128

4.5. GNSS/INS Coupling INS Error Corrections

INS

PseudorangeINS/DopplerINS

GNSS

Integration Filter

PVAT Solution

PseudorangeGNSS/DopplerGNSS PLL Doppler Aiding

Figure 4.3: GNSS/INS tightly coupled integration scheme. when fewer than four satellites are being tracked. Therefore, this integration strategy is a preferred approach in urban canyons. In addition, tightly coupled leads to superior GNSS fault detection and exclusion [86]. In general, this integration strategy is typically a preferred approach given its better performance in terms of both accuracy and system robustness, especially in urban canyon environments. A further modification on the tightly coupled scheme has appeared in recent years, and states that some information from the integration filter can be fed back to the receiver to enhance its performance [34]. Specifically, the INS derived velocity/Doppler information is used to aid the PLL carrier tracking loops in the GNSS receiver. This allows the receiver to remain in lock with reduced measurement noise in high-dynamic maneuvers and to some extent in weak signal conditions [88].

4.5.3 Deep (Ultra-Tight) Integration The deep integration, also known as ultra-tight, combines GNSS signal tracking and GNSS/INS integration into a single integration filter, as illustrated in Figure 4.4 [34]. In this scheme, by tracking the GNSS satellites together, instead of using independent tracking loops, the tracking of each satellite is aided by the others and by inertial data. In the deep integration scheme, the basic tracking architecture of the GNSS receiver is modified from scalar to vector. While in scalar tracking, each satellite is tracked independently from other satellites, in vector tracking all the channels are dependent on each other and controlled by the integration filter. In this case the GNSS receiver is no longer an independent navigator since its operation is also partly dependent on 129

Chapter 4. Inertial Navigation Systems INS INS Error Corrections GNSS Acquisition

Tracking Tracking Tracking

Carrier NCO

Integration Filter

PVAT Solution

Code NCO

Figure 4.4: GNSS/INS deep or ultra-tight integration scheme. INS information. The GNSS observables used as measurements for the integration filter take different forms and can be directly the RF signal from the front-end, or the outputs of the tracking correlators, or the outputs of the PLL and DLL discriminators or filters. For the integration filter, different architectures also can be used. A possible implementation is based on a centralized vector tracking where the discriminators outputs are directly fed into the centralized Kalman filter along with the LOS projection of the INS measurements. An alternative option that also could be implemented would be to skip the discriminators and directly feed to the Kalman filter the correlators outputs. In both cases, it is a one step process, and theoretically is optimal [89], however, the complexity is high and hence is difficult to be implemented. Another approach could be to implement a two-step process where a bank of local Kalman pre-filter is designed for each channel, and a master Kalman filter processor for navigation integration [90]. In this case the performance is sub-optimal, but relatively easy to implement. The local Kalman filter purpose is to provide filtered measurement corrections (e.g. code phase, Doppler frequency) and an appropriate error covariance matrix to the master Kalman filter. Finally Table 4.3 shows a general comparison between the three types of GNSS/INS coupling schemes.

4.6 GNSS/INS Integration Filter The GNSS/INS integration filter can be considered as an estimator, or a mathematical algorithm providing a systematic framework by which information from multiple 130

4.6. GNSS/INS Integration Filter Table 4.3: Comparison between Loosely/Tightly/Deeply coupled schemes. Scheme

Loosely

Tightly

GNSS Measurements

Position, Velocity

Pseudorange, Doppler

Tightly with PLL assistance Pseudorange Doppler

Deeply

Measurement Update Rate Independent Tracking Loops Dynamics Anti-Jamming Indoor Complexity

Low [Hz]

Low [Hz]

Low [Hz]

RF Signal or I &Q or code/carrier phase or Pseudorange, Doppler, High [kHz]

Yes

Yes

Yes

No

Low Poor Poor Low

Low Poor Poor Low

High Good Moderate Average

High Excellent Good High

sources can be combined [91]. The Kalman filter is one of the most common estimators used for the integration of GNSS receivers and inertial sensors. Kalman filtering, introduced in 1960 by Dr. R. E. Kalman [92], is a statistical technique that combines knowledge of the statistical nature of system errors with knowledge of system dynamics, as represented as a state space model, to arrive at an estimate of the state of a system [9]. The state space model can include any number of unknowns. The state estimate uses a weighting function, called the Kalman gain, which is optimized to produce a minimum error variance. For this reason, the Kalman filter is called an optimal filter. For linear system models, the Kalman filter is structured to produce an unbiased estimate. Any type of Kalman filter consists of two parts: a system model and a measurement model. The system model describes the temporal behavior of the states over time, whereas the measurement model describes how observations relate to the states being estimated [91]. If the system and measurement models are not linear, as in GNSS/INS integration, then the Kalman filter is no longer the optimal choice. In this case, linearization of the system and measurement models is necessary. One way to do this, is to linearize about a trajectory that is continually updated with the state estimates resulting from the measurements [93]. The corresponding Kalman filter is the so-called extended Kalman filter (EKF). The EKF applies the Taylor series expansion for the nonlinear system and observation equations, and takes the first order terms to 131

Chapter 4. Inertial Navigation Systems apply the well-developed linear Kalman filter theory, where the probability density function (PDF) is approximated by a Gaussian model [94]. The general EKF algorithm is explained through the following equations [95]. A non linear discrete system and measurement models are expressed as: xk = f (xk−1 , uk−1 ) + Γk−1 wk−1 zk = h (xk ) + vk

(4.35)

where f and h are differential functions, and wk−1 and vk are the process and observation noises, which are both assumed to be zero-mean Gaussian noises with covariance Qk and Rk respectively. The function f can be used to compute the predicted state from the previous estimate and similarly the function h can be used to compute the predicted measurement from the predicted state. However, as f and h are not linear functions, then they cannot be directly used in the Kalman equations. Instead a matrix of partial derivatives (the Jacobian) is computed. At each time step, the Jacobian is evaluated with current predicted states. These matrices can be used in the Kalman filter equations. This process essentially linearizes the non-linear function around the current estimate. The predicted state estimate is equal to: ¡ ¢ xˆ k|k−1 = f xˆ k−1|k−1 , uk−1

(4.36)

The predicated covariance estimate is equal to: Pk|k−1 = Φk−1 Pk−1|k−1 ΦTk−1 + Γk−1 Qk−1 ΓTk−1 where the state transition matrix is defined as: · ¸ ∂f Φk−1 = ∂x xˆ k−1|k−1 ,uk−1

(4.37)

(4.38)

The innovation or measurement residual is equal to: ¡ ¢ y˜ k = zk − h xˆ k|k−1

132

(4.39)

4.7. Summary The innovation covariance is equal to: Sk = Hk Pk|k−1 HTk + Rk where the observation matrix is defined as: · ¸ ∂h Hk = ∂x xˆ k|k−1

(4.40)

(4.41)

The Kalman gain is computed as: Kk = Pk|k−1 HTk S−1 k

(4.42)

The updated state estimate is then equal to: xˆ k|k = xˆ k|k−1 + Kk y˜ k

(4.43)

Finally the updated state covariance matrix is equal to: Pk|k = (I − Kk Hk ) Pk|k−1 (I − Kk Hk )T + Kk Rk KTk

(4.44)

where I is an identity matrix.

4.7 Summary The principles of the INS systems were presented in this chapter, with a short overview on inertial sensors and in particular MEMS based sensors and their performance evolution in the last decade. The mechanization equations used for propagating an INS navigation solution were also shown. Moreover, initial alignment methods for high and low quality inertial sensors were discussed. Finally, the loosely, tightly, and deeply GNSS/INS coupling techniques were highlighted and the principles of the EKF, which is the most common estimator for the GNSS/INS integration filter, were shown.

133

5 Tightly Coupled Assisted PLL

As discussed in the previous chapter, there are several advantages that can be achieved from integrating GNSS receivers with INS systems due to their complementary error characteristics. Moreover, the evolution in the performance of MEMS inertial sensors, accompanied with a decrease in their prices, makes them one of the most promising inertial sensor types that can be used in a GNSS/INS integration system especially conceived for commercial applications, such as car and pedestrian navigation. Furthermore, it has been briefly shown in chapters 2 and 3 that if the GNSS receiver PLL tracking loops receive Doppler aiding from an external source, a better performance can be obtained than a GNSS only receiver. This includes an improved tracking ability for high dynamics, a better tracking sensitivity due to a narrower PLL loop bandwidth, and a good anti-jamming capability. Therefore, in this chapter, a GPS/INS tightly coupled assisted PLL (TCAPLL) architecture using low quality MEMS inertial sensors is proposed. The scheme includes a data monitoring system especially conceived to monitor the quality of the MEMS inertial sensors measurements and the GPS tracking loops to ensure a robust tracking, an accurate navigation, and to avoid under some conditions a re-acquisition. The chapter is organized as follows. It starts by introducing the TCAPLL architecture. Then the error characteristics of the MEMS inertial sensors used for the simulations are discussed. Afterwards, the design of the GPS/INS integration filter is presented followed by the design of the GPS assisted PLL receiver and an analysis on the quality of the Doppler aiding needed to maintain tracking under different conditions. Then the data monitoring system design is shown. Subsequently, the testing platform used to evaluate the TCAPLL architecture is presented followed by the results from simula-

135

Chapter 5. Tightly Coupled Assisted PLL

fOscillator

Data Monitoring System

GPS

f DopplerINS Ephemeris

-

GPS , f Doppler

GPS

Integration Filter

PVAT Blended Solution

 INS , f Doppler

INS

LOS Projection PVA

INS Error Corrections

Mechanization Equations

TCAPLL

INS

Figure 5.1: Block diagram of the TCAPLL architecture.

tions of different scenarios, and an analysis about the impact of the low quality MEMS inertial sensors on the navigation solution. Finally, the chapter ends by a summary and a conclusion.

5.1 TCAPLL Architecture The TCAPLL architecture is shown in Figure 5.1 where the four main blocks of the architecture can be identified as the GPS, the INS, the integration filter and the data monitoring system. The measurement processing starts by running the GPS receiver alone and, once the ephemeris and a PVT solution are obtained, the INS can be initialized and synchronized with the GPS time. Next, the PVA solution from INS is projected into LOS to obtain INS ranges and Doppler frequencies, which are combined with the raw pseudoranges and Doppler measurements from the GPS tracking loops to form the input of the centralized integration filter. The filter directly accepts their differences to compute the error corrections, which are used to update the final position, velocity, attitude and time (PVAT) solution and the INS predicted errors, i.e. bias drifts and scale factor errors.

136

5.2. IMU MEMS Error Modeling The Doppler frequency predicted by the INS is added to the GPS oscillator frequency drift estimated by the integration filter to form a feed-forward component to assist the GPS PLL tracking loops. Note that the predicted INS Doppler frequency is taken directly from the output of the LOS projection block instead of the integration filter. The reason for this is that the integration filter update frequency is much lower than the INS prediction frequency. Therefore, to keep the GPS tracking loops up to date with the latest Doppler frequency, the LOS projection of the INS velocity solution is taken as the dynamic aiding component that is corrected every time the integration filter receives a measurement. The estimated oscillator frequency drift is kept constant between two consecutive updates and therefore it is taken directly from the integration filter output. As a result, because the PLL tracking loops have an external aiding frequency, the dynamics and the receiver oscillator clock errors do not need to be tracked any more by the PLL loop filter and only the PLL thermal noise and the error of the external aiding component should be accounted for. As the TCAPLL architecture uses low-quality MEMS inertial sensors, which are characterized by high integration drifts, the measurements from the INS have to be continuously monitored in order to validate the computed navigation solution, and to select when to enable and disable the feed-forward component. This timing depends on two factors: the INS sensor quality and the integration filter. Therefore, a monitoring system responsible for checking the quality of the INS measurements is implemented as part of the TCAPLL architecture in order to ensure robust tracking and accurate navigation. In addition, the data monitoring system observes also the GPS tracking loops to check the visibility of the tracked satellites and to validate their corresponding raw measurements. The design of each of the TCAPLL blocks is described in the following sections, but first the model of the errors of the MEMS-based IMU used in the evaluation of the TCAPLL is presented.

5.2 IMU MEMS Error Modeling The characteristics of a COTS low quality MEMS inertial sensors are chosen for the IMU error modeling in the GPS/INS TCAPLL architecture evaluation in this chapter. Generally, for high-grade IMUs, the manufacturer extensively calibrates the INS and compensates for the errors in its processor; therefore only small random errors remain. 137

Chapter 5. Tightly Coupled Assisted PLL However, for low-cost MEMS inertial sensors, deterministic errors persist and can be roughly estimated by lab calibrations or manufacturer specifications [72]. Therefore, the typical remaining errors on each axis of the MEMS accelerometer and gyroscope are modeled as follow [72]: δωbib = b g + δb g + ωb · SF g + η g δ f ibb = b a + δb a + f b · SF a + η a

(5.1)

where δωbib and δ f ibb are the total angular rate and specific force error in the body frame, η g and η a are white noise errors with spectral densities σg and σa , respectively, and b g and b a are turn-on-to-turn-on biases, and are modeled as a random constant process, given by: b˙ i = 0

(5.2)

where ’i ’ stands for ’g ’ for gyroscope or ’a’ for accelerometer. δb g , δb a , SF g , and SF a are the bias drifts and scale factor errors, and are modeled as a first-order GM process, given by: δb˙ i = −βdi · δb i + η di S F˙i = −βSFi · SF i + η SFi

(5.3)

where βdi and βSFi are the inverse of the process correlation times, and η di and η SFi are the GM processes driving noises with spectral densities σδbi and σSFi , respectively.

5.3 Integration Filter 5.3.1 System Model As discussed in the previous chapter, the EKF is used as the navigation filter in the GNSS/INS integration systems. This will also be the case in the TCAPLL architecture. Therefore, taking into consideration the INS error model (Equation 4.25), the IMU MEMS error modeling (Equations 5.1, 5.2, and 5.3), and the GPS error state, the augmented system dynamics of the TCAPLL EKF is given as: δ˙x = Fδx + Gw

138

(5.4)

5.3. Integration Filter where δx is the augmented error state vector composed of 29 states as following: 

δrl3×1



   δvl   3×1     εl3×1     (b )   a 3×1     (δb a )3×1      (δx)29×1 =  (SF a )3×1  ¡ ¢   b   g 3×1  ¢  ¡  δb g  ¡ ¢3×1     SF g 3×1     (δt b )  1×1   (δt d )1×1

(5.5)

£ ¤ where δrl3×1 ; δvl3×1 ; εl3×1 is the navigation error vector and is obtained using Equa£ ¡ ¢ ¡ ¢ ¡ ¢ ¤ tions 4.25 and 4.27. (b a )3×1 ; (δb a )3×1 ; (SF a )3×1 ; b g 3×1 ; δb g 3×1 ; SF g 3×1 is the IMU error vector and is obtained using Equations 5.2 and 5.3. δt b and δt d are the GPS receiver oscillator bias and drift, which are modeled as random walk processes [96]. Their differential equations expressed in seconds are written as: δt˙b = δt d + ηosc b δt˙d = ηosc d

(5.6)

where ηosc and ηosc are Gaussian distributed white noises with spectral densities σbosc b d and σdosc , respectively. The discrete system dynamics solution of Equation 5.4, in addition to the parameters of the dynamic matrix F, the noise matrix G, and the Gaussian white noise matrix w are all given in Appendix C.

5.3.2 Measurement Model In the TCAPLL architecture, the integration filter accepts as measurements the differences between the raw pseudoranges and Doppler measurements from the GPS tracking loops, and the INS ranges and Doppler frequencies, respectively. The TCAPLL

139

Chapter 5. Tightly Coupled Assisted PLL EKF system’s measurement equation is then written as: " δz =

δzρ

#

" = Hδx + v =

δz f



#

Hf

δx + v

(5.7)

where Hρ and H f are the pseudorange and Doppler frequency measurement matrices, and δzρ and δz f are the pseudoranges and Doppler frequencies differences vectors. Assuming that the INS and the GPS antenna are very close to each other (i.e. the lever-arm between them is negligible), these differences for satellite vehicle k are expressed as: δz ρ k = ρGP S k − ρ I N S k δz f k = f Doppl erGP S − f Doppl er I N S k

(5.8) k

The INS range to satellite vehicle k is expressed as: ρ I N Sk =



r xeI N S − r xek

¢2

¢2 ¡ ¢2 ¡ + r yeI N S − r yek + r zeI N S − r zek

(5.9)

³ ´ ³ ´ where r xeI N S , r yeI N S , r zeI N S is the INS estimated position in the e-frame, and r xek , r yek , r zek is the satellite vehicle k position in the e-frame. The INS Doppler frequency is computed as: f Doppl er I N S =

losTk (vk − vI N S ) λL1

k

(5.10)

where vk is the velocity vector of satellite vehicle k, and vI N S is the estimated INS velocity vector. λL1 is the wavelength of GPS L1 signal. losk is the unit vector along the LOS from the INS to the satellite vehicle k, and it is calculated as:    e r x − r xek ∂d k     ∂r e   d  x   l os k x    e k e     ∂d k   r y − r y k       losk =   l os k y  =  ∂r ye  =  d     k     l os k z  ∂d k   r ze − r zek  ∂r ze dk 

(5.11)

³ ´ where r xe , r ye , r ze is the vehicle estimated position in the e-frame, and d k is the estimated distance between the satellite vehicle k and the vehicle. It is expressed as:

140

5.3. Integration Filter

dk =



r xe − r xek

¢2

¡ ¢2 ¡ ¢2 + r ye − r yek + r ze − r zek

(5.12)

The GPS pseudorange measurement to the k t h satellite is written as [9]: ρGP S k = d k + cδt b + t r opo + i ono + cδt sat + η ρ k

(5.13)

where c is the speed of light, t r opo and i ono are the tropospheric and the ionospheric delays expressed in meters respectively, δt sat is the GPS satellite clock error, and η ρ k is the thermal noise from the GPS code tracking loop. The GPS Doppler measurement to the k t h satellite is written as: f Doppl erGP S =

losTk (vk − ve )

k

λL1

+

c δt d + η f k λL1

(5.14)

³ ´ where ve = v xe , v ey , v ze is the vehicle estimated velocity vector in the e-frame, and η f k is the thermal noise from the GPS carrier tracking loop. Finally, assuming there are L visible satellites for the GPS receiver, the measurement vector for the EKF is written as:



ρGP S 1 − ρ I N S 1 .. .



        " #   δzρ ρ − ρ GP S L I N SL   δz = =    f − f δz f Doppl er Doppl er GP S I N S  1 1   ..   .   f Doppl erGP S L − f Doppl er I N S L

(5.15)

The next step is to build the measurement matrix H by finding a linear equation between the state vector δx and the pseudorange and Doppler measurements. However, Equations 5.9, 5.10, 5.13, and 5.14 are nonlinear, and thus, need to be linearized to be used in the EKF algorithm. Linearization is done using the first order Taylor series expansion about the selected nominal trajectory of these equations. The corresponding design matrices Hρ and H f are then given by: ¡ ¢ ∂ zρ i ¡ ¢ Hρ i , j = ∂ (x) j

(5.16)

141

Chapter 5. Tightly Coupled Assisted PLL

¡ ¢ ∂ zf i ¡ ¢ Hf i,j = ∂ (x) j

(5.17)

where 1 ≤ i ≤ L and 1 ≤ j ≤ 29. zρ and z f are the GPS range and Doppler frequency vectors equal to:    f Doppl erGP S 1 ρGP S 1  .    ..  ..  , z f =  zρ =  .     f Doppl erGP S L ρGP S L 

(5.18)

The resulting computed matrices are equal to:  ∂ρGP S ∂r xe

  Hρ =   

1

.. .

∂ρGP S L ∂r xe

losT1

 . . =  . losTL

∂ρGP S 1 ∂r ye

∂ρGP S 1 ∂r ze

∂ρGP S L ∂r ye

∂ρGP S L ∂r ze

.. .

.. .

 01×24 c 0  .. .. ..  . . .  01×24 c 0

(5.19)



01×24 c 0 h i .. .. ..  = LOS 0 c 0 . . . L×3 L×24 L×1 L×1  01×24 c 0

 ∂ f Doppl erGP S ∂ f Doppl erGP S ∂ f Doppl erGP S 1 1 1 0 0 c/λ e e e 1×22 L1  ∂v x ∂v y ∂v z  1×3  .  . . . . . . .. .. .. .. ..  Hf =   .    ∂ f Doppl erGP S ∂ f Doppl erGP S ∂ f Doppl erGP S L L L 01×3 0 c/λ 1×22 L1 ∂v xe ∂v ey ∂v ze   01×3 −losT1 /λL1 01×22 c/λL1 h i  . .. .. ..   = 0L×3 −LOSL×3 0L×22 cL×1 /λL1 .. = . . .   T 01×3 −losL /λL1 01×22 c/λL1 

(5.20) where LOSL×3 is equal to:  losT1  .  .  LOSL×3 =   .  losTL 

142

(5.21)

5.3. Integration Filter It should be noted that the first 3 columns of H f are approximated to zero because the value resulting from the derivation of the Doppler frequency with respect to the position in the e-frame is negligible, i.e. : ∂ f Doppl erGP S

vk − ve = ≈0 dk

k

∂re

(5.22)

It is important to note that Equations 5.19 and 5.20 relate the position and velocity errors in the measurement vector to the position and velocity errors in the state vector expressed in the e-frame. However, as the position and velocity errors in the state vector are expressed in function of the geodetic coordinates and in the l-frame respectively, then a transformation from the Cartesian to the geodetic coordinates for the position errors, and from the e-frame to the l-frame for the velocity errors in the measurement matrix are necessary. This is done through the following equations. The position error expressed in function of geodetic coordinates is obtained by deriving Equation 4.8 with respect to ϕ, λ and h as:        δr xe −(R N + h)si nϕcosλ −(R N + h)cosϕsi nλ cosϕcosλ δϕ δϕ        c e δr  =  −(R N + h)si nϕsi nλ     (R N + h)cosϕcosλ cosϕsi nλ  y  £   δλ  = Rg  δλ  ¤ δr ze R N (1 − e 2 ) + h cosϕ 0 si nϕ δh δh (5.23) The velocity error in the e-frame is obtained by simply multiplying the transformation matrix from the l-frame to the e-frame by the velocity error in the l-frame: 

δv xe





δv n



    δv e  = Re  δv e  l   y  e δv z δv d

(5.24)

The final TCAPLL measurement matrix is then equal to: " H=



#

Hf

" =

LOSL×3 × Rcg 0L×3

0L×24

cL×1

0L×1

−LOSL×3 × Rel /λL1 0L×22 cL×1 /λL1

# (5.25)

The measurement noise vector v in Equation 5.7 is equal to: " v=

η ρ L×1 η f L×1

# (5.26)

143

Chapter 5. Tightly Coupled Assisted PLL The measurement covariance matrix is built using an adaptive approach by computing the variances of the output of the GPS DLL and PLL filters for all the receiver channels corresponding to the visible satellites over the update period of the EKF. This is expressed for satellite vehicle k as [9]: ³ ´ ³ ´ σ2ρ = 2Tint B d σ2DLL d i scr ³ ´k ³ ´k 2 2 σDoppl er = 2Tint B n σP LL d i scr k

(5.27)

k

where B d and B n are the bandwidths of the DLL and PLL filters, respectively, σ2DLL and σ2P LL

d i scr

d i scr

are the variances of the measurement outputs of the DLL and PLL

discriminators during the update period, respectively, and Ti nt is the integration time. The TCAPLL covariance matrix can then be built as: ³ ´   d i ag σ2ρ 0L×L 1−L ³ ´  R= 0L×L d i ag σ2Doppl er

(5.28)

1−L

Finally, once the EKF is updated, the feed-forward component to the GPS PLL tracking loops is computed by adding the updated Doppler frequency and oscillator drift together as: f ai d i ng k = f Doppl er I N S + f osci l l at or = f Doppl er I N S + k

k

cδt d λL1

(5.29)

5.4 GPS-Assisted PLL The block diagram of the GPS receiver tracking loops implemented as part of the TCAPLL architecture is shown in Figure 5.2. The PLL discriminator is an ATAN and as there is external aiding, a second order PLL filter is used. For the DLL assisted PLL, a NEMLP discriminator is used, and a second order DLL filter. The existence of the feed-forward component from the INS and the integration filter slightly modifies the traditional design of a typical GPS PLL and DLL. Once the feedforward component is enabled, the PLL and DLL are reset, and the feed-forward component is added to the output of the PLL filter. The input to the carrier NCO of channel k is then expressed as: f P LL = f ai d i ng + f P LL noi se 144

(5.30)

5.4. GPS-Assisted PLL

I &D

PLL 2nd Order Loop

IP

FrontEnd

Arc-Tangent Discriminator I &D

 2s  1  1s

Integration Filter

f oscillator

A C

QP

f aiding

90

LOS Projection

fPLL Carrier NCO

GPS/INS PVAT

I &D I &D Code NCO

f DopplerINS Corrections

I &D I &D

IE

f PLL _ aiding

IL

QE

DLL 2nd Order Loop

SF

NEMLP Discriminator

QL

 4s  1  3s

B

f DLL

Figure 5.2: Block diagram of the GPS receiver assisted PLL and DLL loops in the TCAPLL architecture.

where f P LL noi se is the thermal noise frequency of the PLL. The input to the carrier NCO is also used as assistance to the DLL by multiplying it with a scale factor (SF) and adding it to the output of the DLL filter. The input to the code NCO is then expressed as: f DLL =

f P LL + f DLL noi se = f P LL_ai d i ng + f DLL noi se SF

(5.31)

where f DLL noi se is the thermal noise frequency of the DLL, and SF is equal to: SF =

f L1 = 1540 f C /A

(5.32)

As low-quality MEMS inertial sensors are intended to be used for the INS, it is important to evaluate the quality of aiding that can be expected from such sensors and their impact on the PLL tracking loops. In order to do so, the tolerable error by the assisted PLL loops has to be derived first. In the presence of assistance, Equation 3.42 is no longer valid, and the 1-sigma rule of thumb tracking threshold has to be modified as: σP LL =

q e f −f σ2t P LL + σ2υ + σ2A + ≤ 15◦ 3

(5.33) 145

Total Phase Error (1 σ) [°]

Chapter 5. Tightly Coupled Assisted PLL

80 60 40 20 0 20

40

30

20

40 C/N0 [dB−Hz]

50 0

Time [s]

Figure 5.3: Assisted PLL phase error when B n = 5 Hz, Ti nt = 1 ms, δ f ibb = 0.12 m/s2 , δωbib = 2000 ◦ /h assuming INS assistance without error corrections. where e f − f (expressed in degree) is the error induced from the feed-forward component that replaces the dynamic stress error term. The 15◦ is the threshold for the ATAN discriminator. In the case of INS assistance with no error corrections, i.e. the sensor measurements are not corrected by the integration filter, e f − f (restricted to the horizontal plane) can be expressed as [62]: e f −f =

0.2809 B n2

µ

δ f ibb cos(ωs t ) + δωbib g

sin(ωs t ) ωs

¶ [deg]

(5.34)

where g is the acceleration due to gravity, t is time, and ωs is the Schuler frequency equal to: ωs =

r

g R

(5.35)

where g is the earth gravitaion, and R is the earth radius. It is clear that with assistance, the PLL dynamic stress error no longer depends solely on the dynamics of the receiver, but also on time, because it depends on the inertial solution, which degrades over time. For example, let us assume that the INS has low-quality IMU having acceleration bias and angular velocity bias of 0.12 m/s2 and 2000 ◦ /h respectively, then Figure 5.3 shows the assisted PLL total phase error for a loop bandwidth of 5 Hz. It can be noted that even for strong GNSS signals, the phase error exceeds the 15◦ threshold roughly after 20 s, which results in a PLL loss of lock. This means that MEMS inertial 146

5.5. Data Monitoring System sensors cannot be used directly to assist a PLL, and error corrections through an EKF are mandatory to meet the PLL support requirements. In this case the assistance error depends not only on time, but also on the filter states’ uncertainty, and in particular the oscillator drift and the estimated velocity that is used to compute the Doppler aiding. Therefore, taking into consideration that satellite velocity errors are corrected from the ephemeris, that the LOS vector change is negligible, and based on Equations 5.6, 5.10, and 5.29, e f − f is derived as: [e f − f ]Hz = 3σ f ai d i ng = 3

r

σ2f

Doppl er I N S

+ σ2f

osci l l at or

[e f − f ]deg = 360[e f − f ]Hz Ti nt σ2f

osci l l at or

[Hz] (5.36) [deg]

can be taken directly from the EKF state covariance matrix, and σ2f

for the satellite k is computed as [37]: σ2f Doppl er INS

=

losTk Pv losk λ2L1

Doppl er I N S

(5.37)

where Pv is the covariance matrix of the computed velocity. It is important to note that there is no analytical model for Pv because it depends on several factors such as the dynamics of the receiver, and the GPS observables that update the covariance matrix. Therefore it will be extracted from the TCAPLL EKF covariance matrix throughout the receiver trajectory. Using Equation 5.33, the resulting theoretical maximum allowable error by the PLL to maintain tracking is plotted in Figures 5.4 and 5.5 for different loop bandwidths and integration times (Practically, values that are close to, but not above, these maximums can be obtained). As will be clarified in the next section, this maximum is taken as reference in the monitoring system to enable and disable the feed-forward component.

5.5 Data Monitoring System Low-cost MEMS inertial sensors are not well suited to be used directly as an assistance to the GPS PLL loops. Therefore in addition to the error corrections that are provided continuously from the integration filter, a data monitoring system is implemented as part of the TCAPLL architecture in order to check the quality of the feed-forward 147

Chapter 5. Tightly Coupled Assisted PLL

140

max(ef−f) [Hz]

120 100 80 60 40

Bn = 10 Hz

20

Bn = 5 Hz

0

Bn = 2 Hz 30

35 40 C/N0 [dB−Hz]

45

50

Figure 5.4: PLL tolerable assistance frequency error when Ti nt = 1 ms.

30 25

Tint = 5 ms Tint = 10 ms

max(ef−f) [Hz]

Tint = 20 ms 20 15 10 5 0 25

30

35 40 C/N0 [dB−Hz]

45

50

Figure 5.5: PLL tolerable assistance frequency error when B n = 5 Hz.

component and the measurements from the GPS. The overall monitoring system, implemented on each channel of the GPS receiver, is shown in Figure 5.6, where the blue blocks correspond to the INS and the integration filter, and the red blocks correspond to the GPS receiver. The data monitoring system first checks the covariance matrix of the integration filter P. If it converges, the feed-forward component is enabled. i.e. interrupter C in Figure 5.2 is closed, and the PLL starts to receive assistance. The convergence criteria can take into consideration different parameters of the filter states. In the TCAPLL architecture, the geometry dilution of precision (GDOP ) parameter is selected. It is obtained by computing the uncertainty of the position and clock bias from the state 148

5.5. Data Monitoring System

Integration Filter Covariance Marix

Converge

Yes

Enable Feed-Forward Component (C : Closed)

Frequency Aiding Jump Detector

No

No

Yes

Reset Carrier NCO

Continue Tracking using the Feed-Forward Component Only

Tracking (A,B : Closed) Re-Acquisition

Yes Yes

Disable Feed-Forward Component (C : Opened)

No

e f  f  max(e f  f ) OR e f  f  SF  t Dis  0.5

PLI > THPLI &

No

C/N0 > THC/N0

Disable PLL &DLL Feedback Component (A,B : Opened)

Figure 5.6: TCAPLL data monitoring system implemented on each channel of the GPS receiver. Blue blocks are related to the INS and the integration filter, and red blocks are for the GPS.

covariance matrix and comparing it to an error threshold as: GDOP =

q

σ2r x + σ2r y + σ2r z + σ2δt ≤ e GDOP

(5.38)

where σr x , σr y and σr z are the uncertainties of the position, σδt is the uncertainty of the clock bias, and e GDOP is the error threshold. The latter depends on the quality of the MEMS IMU sensors, the GPS clock receiver and the targeted accuracy requirements, and typically it can take a value between 2 and 5. In the TCAPLL, the value of e GDOP is set to 3. Once the feed-forward component is enabled, a jump detection is performed where the aiding frequency component of satellite k is compared to its previous value. If the difference is higher than the corresponding maximum tolerable frequency of the PLL loop filter, then the carrier NCO is reset. This is described as: £ ¤ £ ¤ £ ¤ cond j ump k = f ai d i ng (t n ) − f ai d i ng (t n−1 ) k < (e f − f )max k

(5.39) 149

Chapter 5. Tightly Coupled Assisted PLL

PLL Filter Output [Hz]

50

Without Jump Detector With Jump Detector

0 −50 −100 −150 −200 600

605

610

615 620 Time [s]

625

630

635

Figure 5.7: Effect of the jump detector on the PLL filter output.

£ ¤ where (e f − f )max k can be obtained using Equation 5.33. The following example better illustrates the importance of the frequency aiding jump detector. Let’s assume that the feed-forward frequency component of satellite ’k’ is slowly drifting with time due to a low number of visible satellites updating the EKF. If this drift can be compensated and corrected by the loop filter, the PLL continues tracking normally and the NCO accumulates this drift as can be seen in Figure 5.7. However, when the number of visible satellites increases, the EKF corrects this drift. At this moment, if the difference between the corresponding aiding frequency and the previous one is higher than the tolerable frequency of the PLL loop filter, then the NCO will accumulate this difference and consequently the PLL will lose lock. The jump detector is implemented to avoid such scenarios and reset the NCO as soon as a jump is detected. Next, a test is performed on the GPS tracking loops to check whether satellite ’k’ is visible by computing the phase lock indicator (PLI) and the C /N0 on its corresponding channel, and comparing them to two thresholds: £ ¤ cond t r ack = [P LI k > T HP LI ] AND [C /N0 ]k > T HC /N0

(5.40)

The PLI is computed using the normalized estimate of the cosine of twice the carrier phase given as [96]: ¡Pm ¢2 ¡Pm ¢2 N B Dk i =1 Q P i k i =1 I P i k − P LI k = = ¡P ¢2 ¡P ¢2 m N B Pk IP + m QP i =1

150

i

k

i =1

i

k

(5.41)

5.5. Data Monitoring System where m is the number of coherent integrations. The P LI approaches 1 when most of the signal power is in the in-phase channel, and it will start to decrease when the power shifts to the quadrature channel. The P LI threshold T HP LI is selected to be 0.7 in this dissertation, i.e. to ensure that 85% of the signal power is in the I component. The C /N0 is computed using the variance summing method, and it is given as [59]: C /N0 =

1 P av Ti nt 2N v

(5.42)

where P av =

q

2 Zm − Zv

(5.43)

N v = 0.5 (Zm − P av ) where £© ª ¤ Zm = mean I P2 (n) +Q P2 (n) n∈T £© ª ¤ Z v = v ar I P2 (n) +Q P2 (n) n∈T

(5.44)

where T is the period of time over which the C /N0 is computed. T HC /N0 depends on the tracking total integration time and the PLL loop bandwidth, and it is computed using Equation 3.46. If cond t r ack is true, the tracking continues normally. If not, then the satellite is declared non-visible, and the feedback components from the PLL and DLL loop filters are disabled, i.e. interrupters A and B in Figure 5.2 are opened. At this moment, a condition related to the frequency aiding uncertainty is checked: h

cond e f − f

i k

£ ¤ £ ¤ = e f − f < (e f − f )max k OR e f − f × t Di s /SF < 0.5 k

(5.45)

The left condition of Equation 5.45 ensures that the aiding frequency maintains a carrier frequency error less than the maximum tolerable error of the PLL. The right condition of Equation 5.45 is related to the DLL loop filter and ensures that, as long as the satellite is non-visible during the disabling time of the feedback component t Diis , h the aiding frequency maintains a code phase error of less than 0.5 chips. If cond e f − f

k

is true, tracking continues relying solely on the feed-forward component, which will allow the PLL and DLL to re-track a satellite once it is visible again, without the need for re-acquisition. If not, the feed-forward component is disabled, i.e. interrupter C is opened, and re-acquisition starts with a frequency search span equal to ±e f − f . 151

Chapter 5. Tightly Coupled Assisted PLL

5.6 Simulation Testing Platform The block diagram of the non-real-time simulation platform built for testing the TCAPLL architecture is shown in Figure 5.8. The GPS-assisted PLL software-defined receiver (SDR), the INS mechanization equations, and the GPS/INS integration filter are all built in Matlab. Note that the TCAPLL GPS SDR is based on Kai Borre SDR [41] with major modifications summarized as:

• Tracking loops have been changed from sequential channel tracking to parallel channel tracking • Implementation of assisted PLL tracking loops, and DLL assisted by PLL • Implementation of tracking monitoring indicators, i.e. P LI and C /N0 , as part of the TCAPLL data monitoring system • Computation of Doppler frequencies • Improvement of the accuracy of the pseudoranges computation, and consequently the position solution. In the original version, the accuracy of the pseudorange computation is limited to the sampling frequency f s , i.e. ±c/ f s [m], where c is the speed of light. In the modified version, the accuracy is limited to the resolution of the code NCO which is higher than f s .

The GPS SDR parameters used in the simulations are summarized in Table 5.1. The Spirent GSS8000 simulator [54] is used to generate the GPS L1 signal and the satellite constellation scenarios for the simulated trajectory. The latter is created through two steps: 1) A vehicle is driven in Braunschweiger, Germany with an on-board high precision GPS receiver, and 2) the logged GPS data are later used to create a user motion file compatible with the Spirent simulator to recreate the reference trajectory.

Inverse Mechanization Equations The reference PVAT solution from Spirent is used to synchronize the GPS receiver and the INS, and to generate the error-free raw IMU measurements. The latter are obtained through an inverse mechanization process implemented in the C language.

152

5.6. Simulation Testing Platform

Inverse Mechanization Receiver Motion File (PVAT)

True IMU Raw Measurements

Add Errors

Mechanization Equations

Reference PVAT Solution

Satellites Motion File (SVs Position, Velocity, Pseudorange, Doppler) IMU Measurements (Acceleration, Angular Velocity)

Corrupted IMU Raw Measurements

LOS Error Projection Corrections

GPS Time

GPS/INS Integration Filter

GPS/INS Synchronization

Ephemerides Front-End

GPS-Assisted PLL

PVAT Solution

GPS Pseudorange GPS Doppler PLL Aiding

Spirent GSS8000

Figure 5.8: TCAPLL simulation testing platform. Table 5.1: Parameters of the TCAPLL GPS SDR. Channels

8

PLL bandwidth [Hz]

4 - 14

DLL bandwidth [Hz]

1-2

Integration time [ms]

1-5

Early-Late correlator spacing

1 chip

GPS navigation solution update frequency [Hz]

1

The error-free specific force in the body frame is given as: h i F ibb = Rbl v˙ le − f Cl or i ol i s − g l

(5.46)

where f Cl or i ol i s and g l are the Coriolis force and gravity model that are computed as in Appendix B. v˙ le is the acceleration in the l-frame, which is simply computed through single differentiation of velocity as: v˙ le =

vle (t ) − vle (t − ∆t ) ∆t

(5.47)

where ∆t is the time interval of two consecutive IMU measurements. The error-free angular rate in the body frame is given as: ³ ´ Wibb = Rbl ωli e + ωlel + ωblb

(5.48) 153

Chapter 5. Tightly Coupled Assisted PLL Table 5.2: Simulated MEMS inertial sensor errors. Gyro White noise (η) (1-σ)

p 226 (◦ /h)/ Hz

Accelerometer p 0.28 mg/ Hz

Turn-on bias (b) (1-σ)

3600 ◦ /h

50 mg

Bias drift GM correlation time (1/βd ) [s]

350

Bias drift GM noise (δb) (1-σ)

p 180 (◦ /h)/ Hz

250 p 0.7 mg/ Hz

SF GM correlation time (1/βSF ) [s]

18000

18000

SF GM noise (1-σ) (SF ) [PPM]

0.01

0.01

Frequency [Hz]

200

200

where ωblb is the mathematical gimbals’ rate of strapdown inertial system, which has components related to the vehicle’s attitude and attitude change rate. It is given as [72]: 

  P˙    ˙ 1 sin P  R  0 cos P cos R H˙

cos R 0 cos P sin R

 ωblb =   0

sin R

(5.49)

¡ ¢ ˙ H˙ are the pitch, role and heading angle change rate. Once the errorwhere P˙ , R, free acceleration and angular rate measurements are computed, they are mixed with errors according to the model defined in Equation 5.1. The final corrupted raw IMU measurements are then equal to: ωbib = Wibb + δωbib f ibb = F ibb + δ f ibb

(5.50)

By following this process, different types of sensors can be simulated. For the TCAPLL, the error characteristics of COTS low quality MEMS inertial sensors are taken [1, 97, 98]. The model is summarized in Table 5.2 and applied on each of the three axes of the gyroscope and the accelerometer. An example of a dynamic IMU measurement before and after adding the errors is shown in Figure 5.9 for the angular rate around the z-axis in the body frame during a simulated trajectory in Spirent. Finally it is important to mention, that the INS initial position and velocity are taken from the GPS PVT solution and the initial attitude is initialized according to Equations 4.30 and 4.32. 154

5.7. Simulation Results

0.15

Error−free With Error

ωbz [rad/s]

0.1 0.05 0 −0.05 −0.1 200

220

240 260 Time [s]

280

300

Figure 5.9: Angular rate measurement before and after adding the error model.

5.7 Simulation Results To assess the performance and the advantages of integrating a MEMS inertial sensor with a GPS receiver, the TCAPLL architecture is tested under different scenarios. First, the behavior under normal conditions, i.e. open sky and seven visible satellite vehicles (SVs) is discussed. Then, analysis when navigation conditions degrade, i.e. decreasing the number of visible satellites to four, then three, and then zero (i.e. GPS total outage), are presented. Under all these conditions, different PLL loop bandwidths and integration times are tested. The assessment takes into consideration navigation accuracy, tracking robustness, sensitivity and quality of the feed-forward component.

5.7.1 Open Sky with Seven SVs The sky plot of the visible satellites during the first scenario is shown in Figure 5.10a. The simulated trajectory is shown in Figure 5.10b and has a duration of 1000 s. The corresponding received power from the satellites is shown in Figure 5.11, where at 300 s, the power of SV 01 starts to decrease with a step of 1 dB/s for 25 s and then increases again to reach its nominal value, and from 600 s until 900 s, partial outages of SV 11 for different durations start to occur. The position solution during two parts of the trajectory is shown in Figure 5.12, and the standard deviation and mean of the position, velocity and attitude errors are given in Table 5.3 and Table 5.4. It can be seen that the TCAPLL provides a smoother solution compared to the stand-alone GPS, where the position and velocity errors are reduced by roughly 70%. 155

Chapter 5. Tightly Coupled Assisted PLL

0 15 30 0

330

30

45 300

22

60

60

75 11

270

90

90

14 19 6 120

240 3 1 210

150 180

(a)

Reference Trajectory

Latitude [°]

52.3

52.28

52.26

52.24 10.49

10.5

10.51 10.52 Longitude [°]

10.53

(b)

Figure 5.10: Sky plot (a) during the reference simulated trajectory (b).

50

C/N0 [dB−Hz]

40

30

20

10 0

SV 19 SV 06 SV 03 SV 22 SV 01 SV 14 SV 11 200

400 600 Time [s]

800

Figure 5.11: Received power from satellites during the open sky scenario with 7 SVs. 156

5.7. Simulation Results

52.239 52.3158 52.2385

52.3156 Latitude [°]

52.3152 52.315 52.3148

52.238 52.2375 52.237

52.3146 52.3144

GPS Reference Trajectory TCAPLL 10.517 10.5175 10.518 Longitude [°]

52.3142 10.5165

52.2365 52.236 10.5255 10.5265 10.5275 10.5285 10.5295 Longitude [°]

Figure 5.12: Position solution of the TCAPLL and the stand-alone GPS.

δrx [m]

20

GPS TCAPLL

0 −20 0

100

200

300

400

500

600

700

800

900

100

200

300

400

500

600

700

800

900

100

200

300

400 500 Time [s]

600

700

800

900

δry [m]

20 0 −20 0

δrz [m]

20 0 −20 0

(a) Position Error.

δvx [m/s]

2

δvy [m/s]

GPS TCAPLL

0 −2 0

100

200

300

400 500 Time [s]

600

700

800

900

100

200

300

400 500 Time [s]

600

700

800

900

100

200

300

400 500 Time [s]

600

700

800

900

2 0 −2 0 2

δvz [m/s]

Latitude [°]

52.3154

GPS Reference Trajectory TCAPLL

0 −2 0

(b) Velocity Error.

Figure 5.13: Position and velocity errors of the TCAPLL and GPS solutions. 157

Chapter 5. Tightly Coupled Assisted PLL Table 5.3: Standard deviation and mean of the GPS and TCAPLL velocity and position errors.

X Y Z Total

Velocity Error [m/s] GPS TCAPLL σ mean σ mean 0.384 0.007 0.171 0.008 0.432 0.011 0.172 0.008 0.871 0.032 0.147 0.012 1.046 0.034 0.284 0.017

Position Error [m] GPS TCAPLL σ mean σ mean 4.875 2.193 1.373 0.777 4.107 0.345 1.402 0.237 4.830 2.257 1.638 0.281 7.998 3.166 2.556 0.859

Table 5.4: Standard deviation and mean of the TCAPLL attitude error.

Roll Pitch Heading

Attitude Error [◦ ] σ mean 0.237 0.094 0.213 0.055 1.574 0.043

The navigation improvement of the TCAPLL is also observed on the GDOP, plotted in Figure 5.14, where it is clear that the TCAPLL offers a better solution. Note as well that the GDOP of the GPS solution increases in time while for the TCAPLL it is constant, and when a satellite is lost, the GDOP increase is smaller for the TCAPLL than for the GPS. 4.5 4

GPS TCAPLL

GDOP

3.5 3 2.5 2 1.5 200

400

600 Time [s]

800

Figure 5.14: GDOP comparison for the TCAPLL and GPS.

Figure 5.15 shows the integration filter estimated turn-on constant bias and the bias drift on each axis of the accelerometer and gyroscope, respectively. It can be seen that 158

5.7. Simulation Results the TCAPLL EKF estimates correctly the inertial sensor errors. Moreover, from the top graph, it can be noted that the integration filter needs roughly 100 s to converge. During this time, it is important to have good GPS conditions, otherwise there is a high probability that the integration filter converges to the wrong values. Therefore, when using low quality MEMS inertial sensors, it is very important to start in good GPS conditions for a certain period of time allowing the integration filter to estimate correctly the error states of the sensors. This duration depends on the quality of the MEMS inertial sensors, the GPS solution and the uncertainty on their errors.

True Error Estimated Error

2

ba [m/s ]

1

x

0 −1 0

100

200

300

400

500

600

700

800

900

100

200

300

400

500

600

700

800

900

100

200

300

400 500 Time [s]

600

700

800

900

2

ba [m/s ]

1

y

0

1

2

ba [m/s ]

−1 0

z

0 −1 0

(a) Accelerometer turn-on to turn-on constant bias.

True Error Estimated Error

0

δb

g

x

[°/s]

0.2

−0.2 0

100

200

300

400

500

600

700

800

900

100

200

300

400

500

600

700

800

900

100

200

300

400 500 Time (s)

600

700

800

900

0

δb

g

y

[°/s]

0.2

−0.2 0

0

δb

g

z

[°/s]

0.2

−0.2 0

(b) Gyroscope bias drift.

Figure 5.15: Estimated accelerometer turn-on constant bias and gyroscope bias drift. 159

Chapter 5. Tightly Coupled Assisted PLL

6

SV 19 SV 06 SV 03 SV 22 SV 01 SV 14 SV 11

ef−f [Hz]

5 4 3 2 1

200

400 600 Time [s]

800

Figure 5.16: Feed-forward frequency uncertainty in open-sky conditions.

The uncertainty of the aiding frequency of the feed-forward component is shown in Figure 5.16, where it can be seen that it is most of the time smaller than 4 Hz for all satellites. From Figure 5.4 and Figure 5.5, the quality of the aiding is thus good enough for the PLL to maintain tracking. These graphs also provides a rough estimation about the PLL tracking sensitivity that can be achieved using this type of MEMS inertial sensor. A 4 Hz uncertainty error can be a constraint when increasing the coherent integration time. For Ti nt = 10 ms, the error is still tolerable; however, for low C /N0 , it becomes critical. For Ti nt = 20 ms the margin of error becomes small, and for C /N0 < 30 dB-Hz, the PLL will lose lock. In order to have fewer restrictions on the coherent integration time, and hence to obtain better sensitivity, the quality of the MEMS inertial sensors should be better, and the GPS raw measurements more accurate. The effect of enabling the feed-forward component on the PLL output is shown in Figure 5.17. The aiding frequency allows for a reduction of the filter bandwidth of the PLL. Consequently, after adding the feed-forward frequency to the loop filter output, thermal noise is reduced and the PLL output is centered on zero. In this case the PLL tracks only the induced thermal noise and the error frequency resulting from the aiding. The advantages of the feed-forward component in avoiding re-acquisition can be seen in Figure 5.18, where the carrier and code NCOs’ output are shown for SV 11. During the GPS outage, the PLL and DLL loops continue tracking using only the feed-forward component, and as soon as the satellite reappears, the tracking loops lock directly to its Doppler frequency and code phase without the need for re-acquisition. The 160

5.7. Simulation Results

60

PLL Filter Output [Hz]

40 20 0 −20 −40 −60 0

10

20 Time [s]

30

40

Figure 5.17: PLL filter output before and after enabling the feed-forward component.

0.5

260

Code NCO Output [Hz]

Carrier NCO Output [Hz]

270

250 240 230 220 210 570

0

−0.5

−1 580

590

600 Time [s]

610

620

630

570

580

590

600 Time [s]

610

620

630

Figure 5.18: Carrier and code NCOs’ behavior during GPS outage.

uncertainty of 2 Hz on the feed-forward component of SV 11 allows to maintain its corresponding generated code phase error uncertainty less than 0.5 chips for roughly ¡¡ ¢ ¢ 385 s t Di s e f − f /SF < 0.5 , allowing a re-tracking without the need for re-acquisition for more than six minutes. The effect of the feed-forward component on the PLL dynamics tolerance is illustrated in the following graphs. Figures 5.19 and 5.20 show the TCAPLL and GPS PLL filter output for SV 19 at the first turn during the simulated trajectory, i.e. left graph of Figure 5.12, for different C /N0 and Ti nt , when B n = 10 Hz. It can be noted that with this loop bandwidth, the GPS PLL filter is estimating and tracking correctly the Doppler frequency. In this case, the only difference with the TCAPLL is that with the latter, the PLL filter only tracks the induced thermal noise and the dynamic information is brought by the aiding component. Consequently, if the PLL filter bandwidth is high enough to cope with the dynamics, the PLLs of the GPS and TCAPLL will keep track of 161

Chapter 5. Tightly Coupled Assisted PLL

100

GPS Tint = 1 ms

PLL Filter Output [Hz]

TCAPLL Tint = 1 ms GPS Tint = 5 ms

50

TCAPLL Tint = 5 ms 0

−50

−100 90

100

110

120 Time [s]

130

140

150

Figure 5.19: TCAPLL and GPS PLL filter output for SV 19 when C /N0 = 45 dB-Hz, and B n = 10 Hz.

the Doppler frequency. However, if B n is decreased to improve the sensitivity of the carrier tracking loops, then the presence of the feed-forward component starts to be more crucial. This can be seen in Figure 5.21 where the P LI of SV 19 is shown for a PLL filter bandwidth of 4 Hz and a C /N0 = 45 dB-Hz. In the case of the stand-alone GPS, the PLL loses lock as soon as there is acceleration and re-tracks again after 5 s. However, the TCAPLL stays locked all the time. The P LI is shown in Figure 5.22 for the same scenario but with a lower C /N0 and higher integration time. The PLL loses lock permanently for the stand-alone GPS, whereas the dynamics are compensated with the feed-forward component for the TCAPLL, and the PLL is able to track. This shows the importance of the feed-forward component in high-dynamic situations where, for the same loop parameters, the sensitivity of the receiver is improved with the TCAPLL in comparison to the GPS. In summary, during open-sky conditions the TCAPLL with MEMS inertial sensors provides a better navigation solution than a GPS alone. No re-acquisition is needed if a satellite is lost for a short period of time, as the receiver can continue tracking the satellite based on the aiding information from the INS. In addition, the PLL noise bandwidth can be decreased even in strong dynamic conditions, which provides better sensitivity compared to a GPS receiver with the same loop parameters as can be seen by comparing Figure 5.21 and Figure 5.22. It was also shown that when using low-quality MEMS inertial sensors, it is crucial to have good GPS conditions at the beginning for a certain duration so that the integration filter can estimates correctly the errors of the inertial sensors. Furthermore, this type of sensors puts constraints 162

5.7. Simulation Results

100

GPS C/N0 = 32 dBHz

PLL Filter Output [Hz]

TCAPLL C/N0 = 32 dBHz GPS C/N0 = 45 dBHz

50

TCAPLL C/N0 = 45 dBHz 0

−50

−100 90

100

110

120 Time [s]

130

140

150

Figure 5.20: TCAPLL and GPS PLL filter output for SV 19 when Ti nt = 5 ms, and B n = 10 Hz. 1 0.9

PLI

0.8 0.7 0.6 0.5 0.4 95

100

GPS TCAPLL Tracking Threshold 105 110 115 120 125 Time [s]

Figure 5.21: PLI with C /N0 = 45 dB-Hz, Ti nt = 1 ms, and B n = 4 Hz. on increasing the coherent integration time for the PLL tracking. Consequently, they are not suitable for high-sensitivity applications requiring long integration times and very good receiver dynamics modeling.

5.7.2 Open Sky with Four SVs Scenarios where only four satellites are visible represent the minimum condition for a GPS receiver to compute a PVT solution. Therefore it is interesting to assess the performance of the TCAPLL in such conditions. We assume that 500 s after beginning the trajectory, the receiver starts to see only four SVs from the sky plot in Figure 5.10a. The two constellations chosen to be investigated are: 163

Chapter 5. Tightly Coupled Assisted PLL

1

GPS TCAPLL Tracking Threshold

0.9 0.8

PLI

0.7 0.6 0.5 0.4 0.3 0.2

95

100

105 110 Time [s]

115

120

125

Figure 5.22: PLI with C /N0 = 32 dB-Hz, Ti nt = 5 ms, and B n = 4 Hz. • Constellation (a), which consists of SVs 1, 3, 6 and 19. • Constellation (b), which consists of SVs 3, 6, 19 and 22.

Their corresponding position solutions are shown in Figure 5.23, and the standard deviation and mean of the position and velocity errors are shown in Table 5.5 and Table 5.6. The GPS solution is much noisier than the TCAPLL solution in both cases. The latter reduces the position error by 86% and 92%, and the velocity error by 92% and 98% compared to the GPS for constellation (a) and constellation (b), respectively.

Latitude [°]

52.239 52.238

Constellation (a) GPS Reference Trajectory TCAPLL

52.237 52.236 52.235 52.234 10.514 10.516 10.518 10.52 10.522 10.524 10.526 10.528 10.53

Latitude [°]

52.239 52.238

GPS Constellation (b) Reference Trajectory TCAPLL

52.237 52.236 52.235 52.234 10.514 10.516 10.518 10.52 10.522 10.524 10.526 10.528 10.53 Longitude [°]

Figure 5.23: Position solutions when four SVs are visible. 164

5.7. Simulation Results Table 5.5: Standard deviation and mean of the GPS and TCAPLL velocity and position errors for constellation (a).

X Y Z Total

Velocity Error [m/s] GPS TCAPLL σ mean σ mean 3.390 0.372 0.236 0.076 1.505 0.113 0.239 0.059 3.890 0.413 0.171 0.064 5.095 0.256 0.376 0.116

Position Error [m] GPS TCAPLL σ mean σ mean 35.799 16.446 4.782 3.505 17.681 6.571 2.508 2.396 7.116 9.957 1.373 1.808 40.557 20.317 5.571 4.615

Table 5.6: Standard deviation and mean of the GPS and TCAPLL velocity and position errors for constellation (b).

X Y Z Total

Velocity Error [m/s] GPS TCAPLL σ mean σ mean 1.074 0.109 0.234 0.015 13.505 1.429 0.250 0.171 12.890 1.373 0.138 0.191 18.575 1.958 0.369 0.257

Position Error [m] GPS TCAPLL σ mean σ mean 45.272 19.405 3.454 3.845 119.046 37.979 8.991 8.700 72.397 30.605 5.647 6.192 146.502 52.494 11.165 11.350

The GDOP of both constellations is shown in Figure 5.24. Again, integrating a MEMS inertial sensor improves the navigation solution in comparison to a stand-alone GPS receiver; in both cases the TCAPLL GDOP is improved by around 70%. In comparison to the case of seven SVs, the TCAPLL GDOP is increased by 2.7 and 10 times for constellation (a) and constellation (b), respectively, and for the GPS GDOP the increase is 5.6 and 17.5, respectively. 100

GPS Constellation (a) GPS Constellation (b) TCAPLL Constellation (a) TCAPLL Constellation (b)

GDOP

80 60 40 20 0 500

600

700 Time [s]

800

900

Figure 5.24: GDOP comparison for the TCAPLL and GPS when four SVs are visible. 165

Chapter 5. Tightly Coupled Assisted PLL Figure 5.25 and Figure 5.26 show the position and velocity errors alongside their 3σ error uncertainty computed from the state covariance matrix of the integration filter. It can be noted that decreasing the number of visible satellites to four has more impact on the position than on the velocity. This applies also on the geometry of the visible satellites, where the uncertainties on the three position axes increase roughly by a factor of 3 for constellation (a) and by a factor of 9 for constellation (b). However the velocity is less sensitive to the change in visibility, and from one constellation to another.

δrx [m]

50

TCAPLL Error ±3σ

0 −50 450

500

550

600

650

700

750

800

850

900

500

550

600

650

700

750

800

850

900

500

550

600

650 700 Time [s]

750

800

850

900

δry [m]

50 0 −50 450

δrz [m]

50 0 −50 450

(a) Constellation (a).

δrx [m]

50

TCAPLL Error ±3σ

0 −50 450

500

550

600

650

700

750

800

850

900

500

550

600

650

700

750

800

850

900

500

550

600

650 700 Time [s]

750

800

850

900

δry [m]

50 0 −50 450 δrz [m]

50 0 −50 450

(b) Constellation (b).

Figure 5.25: Position error and uncertainty when four SVs are in view for the TCAPLL. 166

5.7. Simulation Results

δvx [m/s]

1

TCAPLL Error ±3σ

0 −1 450

500

550

600

650

700

750

800

850

900

500

550

600

650

700

750

800

850

900

500

550

600

650 700 Time [s]

750

800

850

900

δvy [m/s]

1 0 −1 450 δvz [m/s]

1 0 −1 450

(a) Constellation (a).

δvx [m/s]

1

TCAPLL Error ±3σ

0 −1 450

500

550

600

650

700

750

800

850

900

500

550

600

650

700

750

800

850

900

500

550

600

650 700 Time [s]

750

800

850

900

δvy [m/s]

1 0 −1 450 δvz [m/s]

1 0 −1 450

(b) Constellation (b).

Figure 5.26: Velocity error and uncertainty when four SVs are in view for the TCAPLL.

The decrease in the number of available satellites and their geometry have also small impact on the uncertainty of the aiding frequency of the feed-forward component as can be seen in Figure 5.27, where e f − f is slightly increased. For example, the average frequency error for the non-visible SV 11 is increased to roughly 3 Hz, which allows maintaining a code phase less than 0.5 chips for 256 s using the feed-forward component only for tracking. If the satellite reappears within this period, then no re-acquisition is needed. 167

Chapter 5. Tightly Coupled Assisted PLL 6

SV 19 SV 06 SV 03 SV 22 SV 01 SV 14 SV 11

Constellation (a)

ef−f [Hz]

5 4 3 2 1 450 6

500

550

600

650

700

750

800

850

5 ef−f [Hz]

900

950

SV 19 SV 06 SV 03 SV 22 SV 01 SV 14 SV 11

Constellation (b)

4 3 2

1 450

500

550

600

650

700 750 Time [s]

800

850

900

950

Figure 5.27: Feed-forward frequency uncertainty when four SVs are in view.

In summary, when the number of visible satellites decreases to four, the TCAPLL improves the navigation solution compared to the GPS. The position uncertainty is increased and depends on the satellites’ geometry, while the velocity uncertainty is slightly increased and less dependent on the satellites’ geometry. The quality of Doppler aiding slightly decreases, but is still largely acceptable to maintain robust carrier and code tracking.

5.7.3 Open Sky with three SVs A stand-alone GPS receiver cannot provide a 3-D PVT solution when only three SVs are visible. However with tight integration with an INS, this is possible. In this case, the navigation solution starts to depend more on the quality of the INS. In the previous two scenarios, it was shown that once the integration filter converges, the low quality of the MEMS inertial sensor does not have a big impact on the final navigation solution as long as there are continuous GPS updates that correct the INS errors. However, the more the number of visible satellites decreases, the more the final navigation solution depends on the INS. Taking into consideration the sky plot in Figure 5.10a, let’s assume that the GPS receiver sees only SVs 19, 6 and 3 during some short periods of time (up to 60 s) and loses visibility of the other satellites. During these periods, the GPS receiver does not 168

5.7. Simulation Results

52.238

Latitude [°]

52.2375

52.237

52.2365 GPS Reference Trajectory 52.236 TCAPLL 10.525 10.526 10.527 10.528 Longitude [°]

10.529

Figure 5.28: Position solution when three SVs are visible for short periods of time. provide a PVT solution; however, with the TCAPLL, a navigation solution is computed all the time as shown in Figure 5.28. The uncertainties of the positions and velocities are shown in Figure 5.29 and Figure 5.30 along with the true errors computed from the reference navigation solution. It can be noted that as soon as the number of satellites drops to three, the uncertainty increases. However, the errors are still bounded and this shows that the integration filter is capable of navigating with only three satellites, but the quality of the navigation solution degrades as expected and becomes more dependent on the INS. It is important to note that if more dynamics occur during the periods when three SVs are visible, the position and velocity uncertainties will

δrz [m]

δry [m]

δrx [m]

increase. 40 GPS Outages 20 TCAPLL Error 0 ±3σ −20 −40 650 700

750

800

850

900

40 20 0 −20 −40 650

700

750

800

850

900

40 20 0 −20 −40 650

700

750

800 Time [s]

850

900

Figure 5.29: Position uncertainty during GPS partial outages. 169

δvx [m/s]

Chapter 5. Tightly Coupled Assisted PLL

2 0 −2

δvy [m/s]

650

700

750

800

850

900

700

750

800

850

900

700

750

800 Time [s]

850

900

2 0 −2 650

δvz [m/s]

GPS Outages TCAPLL Error ±3σ

2 0 −2 650

Figure 5.30: Velocity uncertainty during GPS partial outages.

Figure 5.31 shows the uncertainty of the feed-forward frequency aiding, where the dashed lines refer to the visible satellites. It is clear that the uncertainty for the visible satellites increases less in comparison to the non-visible satellites. Also, the uncertainty increase is inversely proportional to the elevation for the non-visible satellites, i.e. the higher the elevation, the smaller the increase of the uncertainty. This is due to satellite geometry effects on the LOS projection when computing the Doppler frequency uncertainty. Looking back to Figure 5.4 and Figure 5.5, it can be noted that this increase is still tolerable and will not affect tracking robustness. However, the uncertainties for the non-visible satellites start to be critical, especially if the GPS receiver continue tracking these satellites using the feed-forward component only. For example, the SV 22 uncertainty reaches roughly 15 Hz, which allows maintaining a code phase less than 0.5 chips for almost 51 s without the need for re-acquisition. However if the integration time is 10 ms, then the uncertainty will be higher than the tolerable frequency and consequently re-acquisition will be mandatory. The effect of decreasing the number of visible satellites to four or fewer on the quality of the feed-forward aiding is shown in Figure 5.32 and Figure 5.33 for a visible and a non-visible satellite, respectively. For instance, SV 19 is always visible and there is a slight increase in its feed-forward uncertainty despite using a low-cost MEMS inertial sensor. Even when SV 19 is the only visible satellite, the frequency error is still tolerable for maintaining carrier and code tracking. However, if we consider SV 11, 170

5.7. Simulation Results

16 14

ef−f [Hz]

12 10 8

GPS Outages SV 19 SV 06 SV 03 SV 22 SV 01 SV 14 SV 11

6 4 2 650

700

750

800 Time [s]

850

900

950

Figure 5.31: Feed-forward frequency uncertainty when three SVs 19, 06 and 03 are in view. 4 3.5

ef−f [Hz]

3

GPS Outages 4 Visible SV’s 3 Visible SV’s 2 Visible SV’s 1 Visible SV’s

2.5 2 1.5 1 650

700

750

800 Time [s]

850

900

Figure 5.32: Feed-forward frequency uncertainty for the visible SV 19.

which is non-visible, the uncertainty increases exponentially, and the effect of the low-quality MEMS sensor is more obvious, especially when the outage time increases. For example, the uncertainty nearly doubles in 60 s every time a satellite is lost. This will put time constraints on the use of the feed-forward component if it is used to re-track the satellite without re-acquiring it. However, if the uncertainty exceeds the maximum tolerable error by the PLL, then a re-acquisition is necessary. In this case, the uncertainty can be used to decrease the frequency search span. In summary, when the number of visible satellites drops to three, the TCAPLL can still provide a navigation solution even with low quality MEMS inertial sensors. In this case, the navigation solution quality degrades as it will depend more on the INS. This 171

Chapter 5. Tightly Coupled Assisted PLL

40 35

ef−f [Hz]

30

GPS Outages 4 Visible SV’s 3 Visible SV’s 2 Visible SV’s 1 Visible SV’s

25 20 15 10 5 650

700

750

800 Time [s]

850

900

Figure 5.33: Feed-forward frequency uncertainty for the non-visible SV 11.

degradation will converge with time depending on the satellites geometry, receiver dynamics and the quality of the inertial sensors. Moreover, the position uncertainty is more affected than velocity, and the frequency aiding uncertainty increases slightly for visible satellites, and exponentially for non-visible satellites.

5.7.4 GPS Total Outage During GPS total outages, the final navigation solution depends solely on the INS. In this case the quality of the MEMS IMU sensors play an important role in the accuracy of the solution. In particular, their errors should be well modeled in order to handle long GPS outages. Moreover, the convergence of the states of the integration filter at the time when the outage occurs, and in particular the error states of the inertial sensors, largely affects the quality of the navigation solution. An example of a position solution during several GPS total outages with different durations is shown in Figure 5.34. In this example, the outages start to occur 600 s after initializing the INS, which is considered as largely enough time for the integration filter states to converge. It can be seen that during outages the accuracy of the position solution degrades and the longer the outage, the higher the drift in the position, which even increases during turns. The uncertainties of the position and the velocity solutions are shown in Figure 5.35 and Figure 5.36, respectively, where it is obvious that as soon as the navigation depends only on the INS, the drift increases exponentially with time due to the low-quality MEMS inertial sensors. 172

5.7. Simulation Results

52.238

Latitude [°]

52.2375 52.237 52.2365 52.236

GPS Reference Trajectory TCAPLL 10.524 10.526 10.528 Longitude [°]

10.53

δry [m]

δrx [m]

Figure 5.34: Position solution when GPS total outages occur after 600 s of initializing the INS.

400 GPS Outages 200 TCAPLL Error 0 ±3σ −200 −400 650 700

750

800

850

900

400 200 0 −200 −400 650

700

750

800

850

900

700

750

800 Time [s]

850

900

δrz [m]

100 0 −100 650

Figure 5.35: Position uncertainty when GPS total outages occur after 600 s of initializing the INS.

Let us assume now the same example as above but with the INS initialized only 30 s before the occurrence of the GPS outages. In this case, the 30 s duration of time is not enough for the integration filter states to converge, which results in a worst position solution as can be seen from Figure 5.37. This is also confirmed in Figure 5.38 where the position and velocity errors on the y axis and their 3σ uncertainty are shown. It can be seen that after 60 s of GPS total outage, and comparing to the previous example where the INS is initialized before 600 s of the the GPS total outage occurrences, the 173

Chapter 5. Tightly Coupled Assisted PLL

δv [m/s]

20

GPS Outages TCAPLL Error ±3σ

x

0 −20 650

700

750

800 Time [s]

850

900

700

750

800 Time [s]

850

900

700

750

800 Time [s]

850

900

δv [m/s]

20

y

0

δvz [m/s]

−20 650 2 0 −2 650

Figure 5.36: Velocity uncertainty when GPS total outages occur after 600 s of initializing the INS.

3σ uncertainty is increased by 33 m and the error by 46 m for the position, and 3 m/s and 2m/s for the velocity, respectively. As already mentioned in section 5.7.1, these 3 graphs shows the importance to start and stay for a certain period of time in good GPS conditions when using low quality MEMS inertial sensors for GPS/INS integration. For the rest of this section, the case when the INS initialization time is equal to 600 s before the GPS total outages occurrence is only considered.

52.241

Latitude [°]

52.24

GPS Reference Trajectory TCAPLL

52.239 52.238 52.237 52.236 10.526

10.527 10.528 Longitude [°]

10.529

10.53

Figure 5.37: Position solution when GPS total outages occur after 30 s of initializing the INS. 174

5.7. Simulation Results

20 ± 3 σ tINS = 600 s

400

± 3 σ tINS = 30 s

300

TCAPLL Erro tINS = 30 s

200

± 3 σ tINS = 30 s

10

TCAPLL Error tINS = 30 s

TCAPLL Error tINS = 600 s

5 0

100 0 860

± 3 σ tINS = 600 s

15

TCAPLL Error tINS = 600 s δvy [m/s]

δry [m]

500

870

880

890 900 Time [s]

910

920

−5 860

930

870

(a) Position.

880

890 900 Time [s]

910

920

930

(b) Velocity.

Figure 5.38: Position and velocity errors and uncertainties on the y axis. t I N S is the INS initialization time before the GPS outages occurrence.

In order to check how long the navigation solution is valid during GPS outages, the position error is computed and compared to a certain threshold. This threshold will obviously depend on the accuracy requirements. For example, if the maximum allowed position error is set to 20 m, it can be seen from Figure 5.39 that during the last four outages, the position error takes an average of 22 s to reach 20 m. This means that with typical MEMS inertial sensors such as the one assumed, a maximum GPS total outage of 22 s can be handled. If the quality of the inertial sensors is higher, the navigation time during GPS total outage will be longer, and if the accuracy requirements are higher, the navigation time will be shorter. 50

Position Error [m]

40

GPS Outages Error Threshold Position Error

30 20 10 0 650

700

750

800 Time [s]

850

900

Figure 5.39: Position error during GPS total outages, t I N S = 600 s.

The uncertainty of the feed-forward frequency aiding is shown in Figure 5.40. As 175

Chapter 5. Tightly Coupled Assisted PLL expected, the quality decreases during total outages. For the majority of the satellites this will not allow maintaining tracking during outages based on the feed-forward component only, and consequently re-acquisition will be needed to track the satellites once they reappear. For example, for SV 1, the feed-forward uncertainty drifts by roughly 1.33 Hz/s, which means that after 19 s the uncertainty will be 25 Hz. If the satellite does not reappear within this time, a PLL with a bandwidth of 4 Hz and integration time of 5 ms will not be able to tolerate this error (see Figure 5.5), and re-acquisition is needed. Figure 5.41 shows the maximum time possible for re-tracking a satellite without re-acquisition, when the feed-forward component is drifting in time during the satellite outage. 90

GPS Outages SV 19 SV 06 SV 03 SV 22 SV 01 SV 14 SV 11

80 70 ef−f [Hz]

60 50 40 30 20 10 0 650

700

750

800 Time [s]

850

900

Figure 5.40: Feed-forward uncertainty during GPS total outages, t I N S = 600 s.

Re−Track Time [s]

25 20 15 10 5 0 50 40 C/N0 [dB−Hz]

30

5

2 3 4 e Drift [Hz/s] f−f

1

Figure 5.41: Maximum time possible for re-tracking a satellite without re-acquisition if the uncertainty of the feed-forward frequency is drifting with time, B n = 5 Hz and Ti nt = 5 ms. 176

5.8. Summary and Conclusions In summary, during GPS total outages, the navigation solution totally depends on the quality of the IMU sensors. In this case, the MEMS inertial sensors are not well suited to handle long outages and can provide a reliable navigation solution for only a very short period of time. Consequently, feed-forward aiding is only temporarily possible, and if the satellite does not reappear before the uncertainty of the aiding drift becomes intolerable, re-acquisition is necessary.

5.8 Summary and Conclusions In this chapter, a GPS/INS Tightly Coupled Assisted PLL (TCAPLL) architecture with a monitoring system was proposed to evaluate the advantages of integrating low-quality MEMS inertial sensors with a GPS receiver. The monitoring system is responsible for checking the quality of measurements coming from the MEMS inertial sensors and the GPS tracking loops in order to ensure robust tracking and accurate navigation. Design and implementation of the TCAPLL were presented and its assessment under different scenarios was conducted. The main conclusions of the results obtained can be summarized as:

• It is very important to initialize the INS and start navigating in good GPS conditions for a certain period of time allowing the integration filter states to converge and in particular the error states of the inertial sensors. • Under good GPS conditions, smoother position is obtained and the navigation solution is improved by roughly 70% compared to GPS stand-alone solution. • Comparing to a GPS stand-alone receiver, the GDOP factor is decreased especially in challenging environments, meaning that with the same satellites geometry a more accurate navigation solution is obtained. • MEMS-based INS can provide reliable assistance to the GPS PLL to avoid reacquisition, compensate for receiver dynamics, and hence reduce the loop bandwidths and improve tracking sensitivity. • Under minimum GPS conditions for navigation, the position is improved by more than 80%, and the DOP factors by roughly 70% compared to GPS standalone solution. 177

Chapter 5. Tightly Coupled Assisted PLL • When GPS conditions start to degrade, the position solution is more affected than the velocity, and more dependent on the satellites geometry. Consequently, the quality of Doppler aiding slightly decreases, but is still largely acceptable to maintain robust carrier and code tracking. • Under partial GPS outages, the TCAPLL can still navigate even with low quality MEMS inertial sensors. In this case, the quality of the navigation solution largely depends on the geometry of the remaining visible satellites, receiver dynamics and the quality of the inertial sensors. In addition, the Doppler aiding uncertainty increases slightly for visible satellites, and exponentially for nonvisible satellites. • Low-quality MEMS inertial sensors are not well suited when long GPS outages occur, but can provide a navigation solution for short outages depending on the quality of the sensor and the navigation accuracy requirements. In this case, the Doppler aiding is only temporarily possible, and if the satellite does not reappear before the uncertainty of the aiding drift becomes intolerable, re-acquisition is necessary.

178

6 Field Vehicle Test Measurements

The objective of the field vehicle test measurements is to validate the simulation results obtained in the previous chapter, and to evaluate the TCAPLL architecture using low-quality MEMS inertial sensors under realistic conditions. The campaign consists of driving a vehicle in urban canyon environments, while capturing GPS signals using an RF front-end, logging IMU measurements using MEMS inertial sensors, and computing a reference trajectory using a navigation grade IMU. The acquired data are post-processed in the laboratory using the TCAPLL architecture to derive a navigation solution. The chapter is organized as follows. It starts by presenting the instrumental setup used for the test measurements. Then, the method used to derive the error models of the MEMS inertial sensors is shown. Furthermore, the two trajectories taken during the measurement campaign are described. Afterwards, the evaluation and analysis of the obtained results are presented. Finally, the chapter ends with a summary and a conclusion.

6.1 Measurement Platform The instrumental setup used in the field vehicle test measurements is shown in Figure 6.1. Note that except the Stereo front-end and its corresponding laptop, all the components of the instrumental setup were provided from the Geodetic Engineering Laboratory (TOPO) in EFPL who also helped us to set them up (see Figure 6.2) as well as carry out the experiments. The help from the TOPO group and in particular from Dr. Yannick Stebler is greatly acknowledged. 179

Chapter 6. Field Vehicle Test Measurements

POWER SUPPLY 12 V Battery

12 V Battery

24 V Power Supply

GPS RAW DATA GPS L1 Antenna

+GPS Raw Data @ 6.5 MHz

NSL Stereo RF Front-End L1 Band

REFERENCE GPS L1/L2 Antenna

AIRINS LOGGER GPS/INS OBS @ 100 Hz GPS Time @ 100 Hz

JAVAD ALPHA GPS Rx L1/L2

IXSEA AIRINS INS EKF

MEMS-BASED IMU

GPS L1 Antenna + IMU OBS @ 100 Hz

+PPS [SYNC]: Triggering @ 100 Hz + GPS OBS @ 10 Hz

Xsens Mti-G IMU GPS Rx

Figure 6.1: Setup used for the field vehicle test measurements.

Figure 6.2: Measurement platform mounted on the test vehicle.

The main parts of the measurement platform are: 180

6.1. Measurement Platform An AIRINS georeferencing and orientation system [99], which is a navigation grade INS designed by IXSEA used to provide high accuracy position and orientation data in real time. It is characterized by its high quality IMU performance, where the drift is p less than 0.01 ◦ /h, and the noise is less than 0.0015 ◦ / h. The AIRINS is used in the computation of the reference navigation solution. A Javad Alpha GNSS receiver [100], which is a high-performance dual-frequency GPS receiver for real-time-kinematic (RTK) applications. It computes the position based on carrier phase differential GPS [9]. Its navigation solution is used for navigation purposes and in the computation of the reference navigation solution. A L1/L2 GPS/GLONASS receiver (Topcon Hiper Pro sampling at 10 Hz) [101], which is setup as base station for differential processing. A Mti-G attitude and heading reference system (AHRS) [102], which is a GPS-aided MEMS-based AHRS and static pressure sensor from Xsens. It contains accelerometers, gyroscopes, magnetometers in 3-D, an integrated GPS receiver, a static pressure sensor and a temperature sensor. The raw inertial measurements used for the TCAPLLassisted PLL are obtained from the MTi-G MEMS-based IMU, and the MTi-G’s own navigation solution is used for comparison purposes. It is important to note that the characteristics of the MTi-G MEMS-based IMU falls within the same category as the one simulated in the previous chapter. A Stereo RF front-end [103], is a fully flexible dual-channel GNSS RF front-end covering both the GNSS upper and lower L-Bands for software-defined radio (SDR) applications. It is used to acquire the GPS signals in view during the measurement campaign, downconvert, digitize and save them on a PC. The acquired data are then post-processed in the TCAPLL architecture as the GPS raw data observables. Two 12 V batteries placed in a rack inside the car provide a 24 V DC power supply for the AIRINS and the Javad Alpha GNSS receiver. The MTi-G power supply comes through USB connection from a Laptop, and the Stereo front-end power supply comes through the vehicle 12 V DC power. Three laptops are used for data logging, where each one is dedicated to store the reference solution, the IMU raw measurements, and the GPS raw data observables, respectively. In addition, multiple GNSS antennas covering the L1/L2 bands are used.

181

Chapter 6. Field Vehicle Test Measurements

6.2 IMU Errors Modeling Generally, stochastic modeling is a challenging task for low-quality MEMS inertial sensors whose errors can have complex spectral structures. This makes the tuning process of the GNSS/INS integration filter time consuming and often difficult [104]. A common approach for modeling and estimation of accelerometer and gyroscope errors is by computing and interpreting Allan Variance (AV) plots. However, very often the AV analyses fail due to the difficulty of separating the error processes in the spectral domain [104]. Therefore, the MTi-G IMU errors modeling in this dissertation is based on a estimation method recently developed by the TOPO lab [104, 105], called the Generalized Method of Wavelet Moments (GMWM). GMWM has been developed for the estimation of composite stochastic processes, i.e. stochastic processes that can be written as sums of different stochastic processes. This method is exempt of the previously mentioned inconveniences, and relies on Wavelet Variances (WV), which can be seen as a generalization of AV [106]. Description of the analytical details of the GMWM method is out of the scope of this dissertation, and interested readers are referred to the Ph.D. thesis of Dr. Yannick Stebler [105]. The stochastic processes that we used in our setup for the modelization of the Xsens MTi-G MEMS-based IMU inertial errors were provided by the TOPO lab who applied the GMWM estimator on static measurements collected during 4.5 hours at 100 Hz under constant temperature conditions from the three accelerometer and gyroscope axes. It is important to note that the mean of the measurement collected on each axis is subtracted from its corresponding data set. The wavelet deviation on the observed sensor outputs are shown in Figure 6.3 [105]. The initial estimated model by the GMWM method, for each of the accelerometer and gyroscope axes, is a sum of a white noise process and a GM process as shown in Table 6.1. In addition to these two processes, a random constant process is added to model the turn-on to turn-on biases because the initial model is obtained from zero-mean measurements. The final MTi-G IMU error model used in the evaluation of the TCAPLL architecture is then a sum of a white noise, a random constant modeling a turn-on to turn-on bias and a GM process modeling a bias drift. The system model of the integration filter in this case is composed of 23 states instead of 29 states as in

182

6.2. IMU Errors Modeling

(a) Accelerometer X-axis.

(b) Gyroscope X-axis.

(c) Accelerometer Y-axis.

(d) Gyroscope Y-axis.

(e) Accelerometer Z-axis.

(f) Gyroscope Z-axis.

Figure 6.3: Result of the GMWM estimation represented by the matching of the wavelet deviation of the accelerometer and gyroscope error signals. the previous chapter, where the 6 missing states refer to scale factor errors on each of the accelerometer and gyroscope axes. With additional tuning of the TCAPLL EKF, values of the parameters of the final model are shown in Table 6.2, and for comparison purposes, the individual sensor specifications given by the MTi-G manufacturer are shown in Table 6.3 [102]. Finally, the advantages of having the initial stochastic error model for the MTi-G IMU sensors provided by the GMWM method are summarized as:

• We didn’t have to build a new error model from the scratch, and thus avoiding the possibility of testing different stochastic models. 183

Chapter 6. Field Vehicle Test Measurements • The tuning process for the EKF is easier and requires less time, because the provided model reflects closely the actual nature of the errors of the MTi-G IMU sensors.

Table 6.1: GMWM initial error model for the Xsens MTi-G IMU sensors. Gyro White noise (1-σ)

p 200 (◦ /h)/ Hz

Accelerometer p 1.93 mg/ Hz

GM correlation time [s]

350

30

GM noise (1-σ)

p 2.6 (◦ /h)/ Hz

p 0.011 mg/ Hz

Frequency [Hz]

100

100

Table 6.2: Final error model used in the TCAPLL for the Xsens MTi-G IMU sensors. Gyro White noise (η) (1-σ)

p 240 (◦ /h)/ Hz

Accelerometer p 2 mg/ Hz

Random constant (b) (1-σ)

3260 ◦ /h

50 mg

GM correlation time (1/βd ) [s]

30

GM noise (δb) (1-σ)

350 p 3 (◦ /h)/ Hz

p 0.024 mg/ Hz

Frequency [Hz]

100

100

Table 6.3: MTi-G individual sensor specifications given by the manufacturer.

184

Sensor performance

Rate of turn

Acceleration

Full Scale (FS)

±300 ◦ /s

±5 g

Linearity

0.1% of FS

0.2% of FS

Bias stability

20 ◦ /h

2 mg

Scale Factor stability

/

Noise

p 180 (◦ /h)/ Hz

0.03% p 0.2 mg/ Hz

Alignment error

0.1 ◦

0.1 ◦

6.3. Trajectories

Figure 6.4: Trajectory 1 from EPFL to Renens center.

6.3 Trajectories The two trajectories taken for the field vehicle test measurements are shown in Figure 6.4 and Figure 6.5. They are defined as: • Trajectory 1 from EPFL campus to Renens center. It has a duration of 920 s including 2 tunnels having durations of 40 s and 10 s, respectively, and 300 s of driving in urban environments in Renens center. • Trajectory 2 within the EPFL campus. It has a duration of 430 s including a 30 s drive in an underground parking structure. The reference navigation solution for both trajectories is computed using INS/GPS integration via optimal forward Kalman filtering and backward smoothing. For that, the IXSEA AIRINS INS is combined with the geodetic-grade Javad Alpha L1/L2 GPS rover receiver (sampling at 10 Hz), and a Topcon Hiper Pro L1/L2 GPS base receiver 185

Chapter 6. Field Vehicle Test Measurements

Figure 6.5: Trajectory 2 on the EPFL campus.

(sampling at 5 Hz) [101]. The carrier-phase GPS observations were double-differenced in post-processing to yield high-precision (cm-level) GPS positioning. These have been combined with the inertial observations in a loosely coupled EKF to obtain a high-precision reference navigation solution [105, 107]. The setup is shown in Figure 6.6 [107].

REFERENCE GPS L1/L2 Antenna

BASE STATION

AIRINS LOGGER

GPS L1/L2 GLONASS Antenna

GPS/INS OBS @ 100 Hz GPS Time @ 100 Hz

JAVAD ALPHA GPS Rx L1/L2

IXSEA AIRINS INS EKF

TOPCON HIPER GPS Rx L1/L2

+PPS [SYNC]: Triggering @ 100 Hz + GPS OBS @ 10 Hz

Figure 6.6: Setup used to compute the reference navigation solution.

The sky plot during the two trajectories is shown in Figure 6.7 and Figure 6.8 with the corresponding C /N0 of the available satellites. 186

6.4. Results

0 15 30

50

0

330

30

45

270

18

75 90 3

11

40

60

60 19

90 6

22

240

C/N0 [dB−Hz]

300

30

20

120 16 210

150

10 0

180

SV 22 SV 03 SV 19 SV 06 SV 16 SV 18 SV 11 200

400 600 Time [s]

800

Figure 6.7: Sky plot and C /N0 of the available satellites during Trajectory 1. 0 15 30

50

0

330

30

45

45 60

60

22

75 1

11

270

90

90

14

19 240

C/N0 [dB−Hz]

300

40 35 30 25

120

32

20

3 210

150 180

15 0

SV 32 SV 19 SV 01 SV 22 SV 03 SV 11 SV 14 100

200 Time [s]

300

400

Figure 6.8: Sky plot and C /N0 of the available satellites during Trajectory 2.

6.4 Results As explained before, the GPS raw data from the Stereo front-end and the raw IMU measurements from the MTi-G are post-processed using the TCAPLL to derive a navigation solution. The position solution of the TCAPLL during different parts of Trajectory 1 in comparison to the reference solution and the solutions from the MTi-G Xsens and the Javad Alpha are plotted in Figure 6.9, Figure 6.10, Figure 6.11, and Figure 6.12. The good GPS conditions at the beginning of the trajectory and the good error modeling of the IMU measurements allow the integration filter to converge rapidly, and consequently the TCAPLL solution closely follows the reference solution as can be seen in Figure 6.9. Furthermore, inside the 40 s tunnel, the TCAPLL continues to provide a solution which closely follows the reference trajectory, and outperforms the MTi-G Xsens solution. The Javad Alpha does not provide a solution in the tunnel as there is a GPS total outage; therefore the yellow path jumps from the entrance to the exit of the tunnel. At the entrance and in the middle of Renens center, where GPS conditions degrades, the TCAPLL outperforms the MTi-G Xsens solution and provides a position slightly better than the Javad Alpha GPS receiver. 187

Chapter 6. Field Vehicle Test Measurements

Figure 6.9: Position solution at the beginning of Trajectory 1.

40 s Tunnel

Figure 6.10: Position solution in the 40 s tunnel of Trajectory 1. 188

6.4. Results

Figure 6.11: Position solution at the entrance of Renens center during Trajectory 1.

Figure 6.12: Position solution in Renens center and in the 10 s tunnel under the railway tracks during Trajectory 1. 189

Chapter 6. Field Vehicle Test Measurements Figure 6.13, and Figure 6.14 show the position solution from Trajectory 2 before, during, and after the drive in the underground parking structure. Inside the parking, the TCAPLL continues to provide a position solution, however the drift with time is higher than in the tunnels as the dynamics are different. It can be noted that after each 90◦ turn, the position solution degrades, which potentially is due to the non-orthogonality and scale factor errors of the MTi-G Xsens IMU. Here also, the TCAPLL outperforms the MTi-G Xsens solution. The Javad Alpha receiver does not provide any solution in the parking structure as there is a GPS total outage. Figure 6.14 also shows the advantages of integrating a MEMS-based INS with the GPS. It can be seen that at the exit of the parking, the road is partially covered by trees, which causes fading and attenuation of the satellites received power. Consequently, the solution from the Javad alpha receiver, which relies solely on GPS measurements, is biased and drifts from the road for a short time. However, the TCAPLL solution is smoother due to the short-term accuracy of the INS that prevents drifting from the road. The potential reason why the TCAPLL architecture outperforms the MTi-G Xsens is twofold. First, the GMWM provides better modeling of the gyroscope and accelerometer errors, and consequently during GPS total outages when there is total dependence on the inertial measurements, the TCAPLL has far better performance. Second, the integration scheme in the MTi-G is loosely coupled; however, the TCAPLL has tight integration with PLL assistance and a monitoring system to check the GPS and the inertial measurements. This allows the TCAPLL to reset the tracking loops in case of bad GPS measurements or/and the integration filter in case of wrong behavior, which is probably not the case with the MTi-G especially in the second trajectory, where it can be noted its bad solution that is due potentially to the wrong behavior of its Kalman filter. The position and velocity errors of the TCAPLL during Trajectory 1 and Trajectory 2 are shown in Figure 6.15 and Figure 6.16, respectively, in comparison with the stand-alone GPS solution. The performance of the TCAPLL architecture is better, and this is also shown in Table 6.4, Table 6.5, and Table 6.6 where the standard deviation and mean of the velocity, position, and attitude errors are shown for both trajectories. The TCAPLL velocity error is reduced by 88% and 77%, and the position error by 70% and 42%, for Trajectory 1 and Trajectory 2, respectively. The smaller improvement in Trajectory 2 is due to the fact that the measurements were taken mainly in good GPS conditions, for which the stand-alone GPS performs already relatively well.

190

6.4. Results

Figure 6.13: Position solution in the 30 s trajectory in the underground parking structure during Trajectory 2.

45

C/N0 [dB-Hz]

40 35 30 25 20 15 174

176

178

180 Time [s]

182

SV 32 SV 19 SV 01 SV 22 SV 03 SV 11 SV 14 184

Figure 6.14: Position solution at the entrance and exit of the parking during Trajectory 2. 191

Chapter 6. Field Vehicle Test Measurements

GPS TCAPLL

x

0 −20 0

100

200

300

400

500

600

700

800

20 δrx [m]

δr [m]

20

−20 0

900

y

0 100

200

300

400

500

600

700

800

900

0

z

150

200

250

300

350

400

50

100

150

200

250

300

350

400

50

100

150

200 250 Time [s]

300

350

400

20 δrz [m]

δr [m]

100

0 −20 0

20

−20 0

50

20 δry [m]

δr [m]

20

−20 0

GPS TCAPLL

0

100

200

300

400 500 Time [s]

600

700

800

900

0 −20 0

(a) Trajectory 1.

(b) Trajectory 2.

Figure 6.15: Position error during Trajectory 1 and Trajectory 2.

x

δv [m/s]

GPS TCAPLL

0 −2 0

100

200

300

400

500

600

700

800

y

δv [m/s]

δvy [m/s] 100

200

300

400

500

600

700

800

150

200

250

300

350

400

50

100

150

200

250

300

350

400

50

100

150

200 250 Time [s]

300

350

400

2 δvz [m/s]

z

100

0 −2 0

900

2 δv [m/s]

50

2

0

0 −2 0

GPS TCAPLL

0 −2 0

900

2

−2 0

δvx [m/s]

2

2

100

200

300

400 500 Time [s]

600

700

800

900

(a) Trajectory 1.

0 −2 0

(b) Trajectory 2.

Figure 6.16: Velocity error during Trajectory 1 and Trajectory 2.

Table 6.4: Standard deviation and mean of the GPS and TCAPLL velocity and position errors during Trajectory 1.

X Y Z Total 192

Velocity Error [m/s] GPS TCAPLL σ mean σ mean 1.283 0.019 0.261 0.052 0.928 0.024 0.248 0.011 2.795 0.047 0.127 0.080 3.213 0.056 0.382 0.096

Position Error [m] GPS TCAPLL σ mean σ mean 6.656 3.745 2.501 0.693 2.883 0.296 1.352 0.151 9.347 5.485 2.135 2.435 11.831 6.649 3.556 2.536

6.4. Results Table 6.5: Standard deviation and mean of the GPS and TCAPLL velocity and position errors during Trajectory 2.

X Y Z Total

Velocity Error [m/s] GPS TCAPLL σ mean σ mean 0.865 0.025 0.309 0.006 0.879 0.022 0.249 0.002 1.569 0.104 0.181 0.033 1.995 0.109 0.436 0.034

Position Error [m] GPS TCAPLL σ mean σ mean 2.986 0.784 1.995 0.656 1.517 1.095 0.889 1.444 3.539 4.299 1.732 2.403 4.873 4.505 2.787 2.879

Table 6.6: Standard deviation and mean of the TCAPLL attitude error.

Roll Pitch Heading

Attitude Error [◦ ] Trajectory 1 Trajectory 2 σ mean σ mean 0.159 0.096 0.143 0.058 0.164 0.196 0.157 0.185 0.547 0.413 1.305 1.191

The total position and velocity errors during the 40 s tunnel and the 30 s underground parking, i.e. during total GPS outage, are shown in Figure 6.17 and Figure 6.18. It can be noted that during outages the position error is more affected than the velocity error, while their uncertainties are increasing similarly in an exponential way. Comparing to the MEMS-based IMU used in the simulations in the previous chapter, the MTi-G IMU shows better performance as it can handle longer outages. While with the simulated IMU, the position error took an average of 22 s to reach the 20 m mark, with the latter, the position error is less than 15 m even after 40 s. The advantage of integrating a MEMS-based INS with the GPS receiver during bad GPS conditions is shown in form of GDOP improvement during Trajectory 1 in Figure 6.19. During this trajectory, the vehicle exits the tunnel (at 500 s) and drives for around 400 s in Renens center where the GPS conditions start to degrade, i.e. lower satellites availability, lower received power and higher multipath. In this case, it can be noted that the GDOP of the GPS solution dramatically increases and reaches values higher than 10. However, the TCAPLL solution is better and suffers only a small increase especially when the number of visible satellites decrease. It is important to mention that the GDOP in the TCAPLL is computed from the integration filter covariance 193

Chapter 6. Field Vehicle Test Measurements

δr [m]

15

20 GPS Outage Position Error ±3σ

10

10

5

5

0 400

GPS Outage Position Error ±3σ

15 δr [m]

20

420

440

460 Time [s]

480

0 120

500

(a) 40 s tunnel in Trajectory 1.

140

160 Time [s]

180

200

(b) 30 s underground parking in Trajectory 2.

Figure 6.17: Total position error during the 40 s tunnel and the 30 s underground parking.

10

8

6

δv [m/s]

δv [m/s]

8

10

GPS Outage Velocity Error ±3σ

4 2 0 400

GPS Outage Velocity Error ±3σ

6 4 2

420

440

460 Time [s]

480

500

(a) 40 s tunnel in Trajectory 1.

0 120

140

160 Time [s]

180

200

(b) 30 s underground parking in Trajectory 2.

Figure 6.18: Total velocity error during the 40 s tunnel and the 30 s underground parking.

matrix, which is dependent on the tuning of the filter and in many times does not match completely the reality. Thus, this graph can be considered more as a qualitative result showing that with the same satellite geometry we can obtain a more accurate position with the TCAPLL compared to the GPS alone. The good estimation of the MEMS inertial errors by the integration filter of the TCAPLL is shown in Figure 6.20 and Figure 6.21. Taking in consideration that there were almost two hours difference between Trajectory 1 and Trajectory 2, it can be seen that the integration filter estimates roughly the same accelerometer and gyroscope constant biases during both trajectories. For the GM bias drift that is time dependent, the integration filter estimation is different from one trajectory to another, which 194

6.4. Results

10

GPS TCAPLL

GDOP

8

6

4

2 500

600

700 Time [s]

800

900

Trajectory 1 Trajectory 2

x

0 100

200

300

400

500

600

700

800

y

0 100

200

300

400

500

600

700

800

900

300

400

500

600

700

800

900

100

200

300

400

500

600

700

800

900

100

200

300

400 500 Time [s]

600

700

800

900

bg [°/s]

1 z

0 −0.5 0

200

0 −1 0

0.5

z

ba [m/s2]

−0.5 0

100

1 bg [°/s]

0.5

Trajectory 1 Trajectory 2

0 −1 0

900

y

ba [m/s2]

−0.5 0

1 bg [°/s]

0.5

x

ba [m/s2]

Figure 6.19: GDOP during Trajectory 1 when GPS conditions start to degrade.

100

200

300

400 500 Time [s]

600

(a) Accelerometer.

700

800

900

0 −1 0

(b) Gyroscope.

Figure 6.20: Estimated constant bias of the accelerometer and gyroscope during Trajectory 1 and Trajectory 2.

is expected. However, this difference is not so big, and the bias drift estimations of the accelerometer and gyroscope fall within the same range for both trajectories, respectively. The uncertainty of the feed-forward component in both trajectories is shown in Figure 6.22 and Figure 6.23. In normal conditions, the uncertainty remains low and in both cases it is less than 5 Hz. This uncertainty is small enough to allow increasing the coherent integration time up to 10 ms without jeopardizing the robustness of the PLL (see Figure 5.5). However, during GPS total outages, the uncertainty increases with time as expected. The increase varies between each satellite, and is inversely proportional to the satellite elevation, i.e. the higher the elevation of the satellite, 195

Chapter 6. Field Vehicle Test Measurements

−6

−3

x 10

0 −5 0

100

200

300

400

500

600

700

800

x

Trajectory 1 Trajectory 2

δbg [°/s]

x

δba [m/s2]

5

900

1

−1 0

δbg [°/s]

y

y

δba [m/s2]

x 10

100

200

300

400

500

600

700

800

900

2

δbg [°/s]

z

0

z

δba [m/s2]

300

400

500

600

700

800

900

200

300

400

500

600

700

800

900

200

300

400 500 Time (s)

600

700

800

900

x 10

−2 0

100 −3

x 10

−5 0

200

0

−5

5

100 −3

0 −5 0

Trajectory 1 Trajectory 2

0

−6

5

x 10

100

200

300

400 500 Time [s]

600

700

800

900

1

x 10

0 −1 0

100

(a) Accelerometer.

(b) Gyroscope.

Figure 6.21: Estimated GM bias drift of the accelerometer and gyroscope during Trajectory 1 and Trajectory 2.

GPS Outage SV 22 SV 03 SV 19 SV 06 SV 16 SV 18 SV 11

30

ef−f [Hz]

25 20 15

10

GPS Outage SV 22 SV 03 SV 19 SV 06 SV 16 SV 18 SV 11

8

ef−f [Hz]

35

6 4

10 2 5 0 400

420

440

460 Time [s]

480

500

0 800

820

840

860 Time [s]

880

900

920

Figure 6.22: Feed-forward frequency uncertainty in the 40 s tunnel (left), and in Renens center (right) during Trajectory 1.

the smaller the increase of its feed-forward frequency uncertainty during GPS total outage. For both trajectories the uncertainties of the feed-forward components during the outages are still acceptable for re-tracking the GPS signals once they reappear, without the need for re-acquisition. For example, for SV 11 in Trajectory 1, the uncertainty reaches 34 Hz in 40 s. This means that at the end of the tunnel, its code phase is roughly 0.46 chips due to the disabling of the feedback component and the use of only the feed-forward component for tracking. This phase offset is still tolerable by the DLL discriminator, and as can be seen in Figure 6.24, the TCAPLL re-tracks the signal without re-acquisition. Compared to the stand-alone GPS, for which the receiver has to re-acquire the signal, the TCAPLL is roughly 0.6 s faster in finding the satellites. 196

6.4. Results

35 30

ef−f [Hz]

25 20 15

GPS Outage SV 32 SV 19 SV 01 SV 22 SV 03 SV 11 SV 14

10 5 0 120

140

160 Time [s]

180

200

Figure 6.23: Feed-forward frequency uncertainty during the 30 s underground parking of Trajectory 2.

1000

0.8

500 IP

1

0.6

TCAPLL

0 −500

PLI

0.4

−1000 487

487.5

488

488.5

489

489.5

490

0.2 1000

0

GPS

500

GPS TCAPLL Tracking Threshold −0.6 487 487.5 488 488.5 Time [s]

IP

−0.2 −0.4

0 −500

489

489.5

490

−1000 487

487.5

488

488.5 Time [s]

489

489.5

490

Figure 6.24: PLI and prompt correlator output of SV 22 for the GPS and TCAPLL solutions at the exit of the tunnel in Trajectory 1.

Finally, the robustness of the TCAPLL in tolerating high dynamics is shown in Figure 6.25, where the PLI of SV 19 is shown when an average acceleration of 5 m/s2 occur on the y-axis in Trajectory 1 (i.e. during three turns around a small roundabout). The PLL bandwidth in the TCAPLL is set to 2 Hz and in the stand-alone GPS to 7 Hz. In the TCAPLL, the PLL maintains tracking all the time, and the energy is kept in the in-phase component. However, for the GPS, this is not the case. The PLL loses track as soon as there is acceleration and is unable to track again, and the energy starts to shift between the in-phase and quadrature phase components. 197

Chapter 6. Field Vehicle Test Measurements

2

1

X Y Z

0

0.5

a [m/s2]

−2 PLI

−4

0

−6 −8

−0.5

−10 −12 45

50

Time [s]

55

60

TCAPLL GPS Tracking Threshold −1 45 50

Time [s]

55

60

Figure 6.25: Vehicle acceleration and PLI of SV 19 for GPS and TCAPLL solutions during high dynamics in Trajectory 1 when B n = 2 Hz.

6.5 Summary and Conclusions This chapter presented results from a field vehicle test measurements. The vehicle was driven in two trajectories that comprise tunnels, underground parking and GPS demanding environments. It was mounted with an IXSEA AIRINS navigation grade INS, a Javad Alpha carrier differential GPS receiver, a Xsens MTi-G AHRS having a MEMS-based IMU, and a Stereo RF front-end for acquiring GPS raw data observables. The latter and the raw MEMS-based IMU measurements were used in the TCAPLL architecture to validate the simulations in the previous chapter. The navigation grade INS and the differential GPS receiver were used to compute a reference navigation solution, and the MTi-G AHRS was used for comparison purposes. The parameters of the IMU error models were estimated using the GMWM method and integration filter tuning. The model found consists of a sum of a random noise, a random constant and a bias drift estimated as a GM process. The sensor specifications provided by the manufacturer datasheet differs from the estimated model, in particular a lower noise level is given in the specs. In summary, the results obtained validate the simulations in the previous chapter. It has been shown that with the same MEMS inertial sensors, the TCAPLL outperforms the MTi-G Xsens AHRS due potentially to a better modeling of the IMU errors, a tight integration and the existence of the data monitoring system. Also, in good GPS conditions the TCAPLL provided a performance similar to the Javad Alpha receiver, and it even outperformed it when GPS conditions degrade, with the advantage of 198

6.5. Summary and Conclusions computing a navigation solution when there are fewer than four visible satellites. In addition, with the TCAPLL, after losing a satellite there is no need for re-acquisition for a certain period of time defined by the uncertainty of the feed-forward component. Moreover, if the satellite reappears after this period, the re-acquisition search span is reduced due to a priori information from the aiding frequency component. Furthermore, the results found and the assessment made throughout this chapter proved that with proper initialization and error modeling, the integration of MEMS inertial sensors with a GPS receiver brings several advantages which can be crucial especially in challenging environments where bad GPS conditions exist. The improvements are summarized as: • Better navigation solution (error is reduced by more than 50% compared to GPS standalone receiver) • Navigation with fewer than four satellites. • Limited time navigation during GPS total outage. • Availability of frequency aiding to the PLL that results in: – Better behavior under dynamics. – Reduction of tracking loops filter bandwidths that results in improved sensitivity. – Avoiding re-acquisition under certain conditions that results in less power consumption. Finally, it can be concluded that with the continuation of the price decrease and performance increase of MEMS inertial sensors, it is most likely that future mass market GNSS receivers will have integrated MEMS-based INS to provide a more reliable, accurate and robust navigation solution.

199

7 Conclusions and Recommendations

This chapter summarizes the main conclusions obtained throughout the research conducted during the period of this dissertation, and proposes recommendations for future work.

7.1 Conclusions The objective of this dissertation consisted in addressing the challenges of satellite based navigation in demanding environments in order to improve the navigation performance of the future GNSS receivers. This was accomplished through two research topics. The first by exploring the performance and advantages of the upcoming Galileo signals and in particular the E5 AltBOC(15,10), and the second by investigating the potential of low-cost MEMS-based inertial sensors to complement GNSS receivers. Regarding the first research topic of this dissertation, i.e. Galileo E5 processing, the main conclusions of the results obtained are summarized below:

• We proposed to approximate the E5 signal structure to a simpler form due to filtering effects. In particular, the product signals side bands were neglected and the single signals side bands were approximated as pure cosine and sine functions. • The Galileo E5 signal can be processed in two modes as follows: in full band (FB) as an AltBOC(15,10) modulation or in side bands (SB) as a BPSK(10)-like modulation. 201

Chapter 7. Conclusions and Recommendations • Processing E5 with a wide front-end bandwidth, results in a better sensitivity, and a sharper autocorrelation function, however it requires a higher sampling frequency. This leads to the need of a more powerful processor to process the signal, thus resulting in more power consumption. • Acquiring E5 as a BPSK(10) using the SSB and DSB approaches is less complex, faster, and requires less resources than acquiring it in FB as AltBOC(15,10) modulation. • For very long coherent integration times reaching the length of the secondary code or higher, we proposed a new FFT-based acquisition algorithm that finds the Doppler offset and the phase of the primary and secondary codes and fully exploits the secondary code. The correlation on a complete period of the secondary code enables to reach the best sensitivity possible, all of this with a reasonable complexity. In case of strong signal conditions, to reduce the acquisition time, the algorithm can be modified by finding first the primary code phase and then the secondary code with fine frequency estimation using either the SSB or DSB approach. • The existence of the pilot channels on E5 enables the use of the ATAN2 discriminator for PLL tracking, which in turn enables to obtain a better sensitivity, and a larger pull-in-region that can be substantial in challenging environments. Moreover, it allows long integration times that improve the tracking sensitivity. • There is no significant advantage in tracking the carrier of E5 pilot in full band, besides a 3 dB additional power over carrier tracking of only one of its side bands. • For code tracking, increasing the correlator spacing results in a wider linearity region that implies a better tracking response and improved sensitivity. As for decreasing it, it results in better multipath mitigation and more accurate tracking. • DP discriminator is more suitable for AltBOC(15,10) than NEMLP discriminator. • NEMLP discriminator has a slightly better performance with BPSK(10) than DP discriminator. • For the same early-late correlator spacing that is smaller than half of the onesided width of the autocorrelation main peak, the AltBOC(15,10) has a wider 202

7.1. Conclusions linearity region than BPSK(10) for DP and NEMLP discriminators which implies a better tracking response. • An average improvement of around 2 dB in code thermal noise error standard deviation, and from 3 to 6 dB in tracking threshold are obtained when tracking E5 pilot in FB as AltBOC(15,10) assuming the same loop settings as when tracking it in SB as BPSK(10). • The AltBOC(15,10) shows a better multipath mitigation as compared to the BPSK(10) for long delays, and for short delays for an early-late correlator spacing higher than 0.15 chips. In addition, the high code PRN rate (10.23 MHz) provides a good resistance to long multipath delays (≥ 35 m) and better code noise error. • For AltBOC(15,10) the maximum early-late correlator spacing that can be used is 0.33 chips. • BPSK(10) has a larger stability domain than the AltBOC(15,10) and a wider choice for correlator spacings that can increase its linearity region up to ±0.5 chip, thus providing the receiver designer more freedom in selecting the parameters for his design. • AltBOC(15,10) is more suitable for high sensitivity and high precision applications, while BPSK(10) is better for low-cost receivers and for applications requiring high robustness and stability.

Regarding the second research topic of this dissertation, i.e. the investigations on the potential of low-cost MEMS-based inertial sensors to complement GNSS receivers, the main conclusions of the results obtained are summarized below:

• We proposed and implemented in Matlab a GPS/INS tightly coupled assisted PLL (TCAPLL) architecture. The scheme included a data monitoring system especially conceived to monitor the quality of the MEMS inertial sensors measurements and the GPS tracking loops. • We built a simulation testing platform to evaluate the TCAPLL architecture. The platform included a Spirent GSS8000 simulator to generate the GPS L1 C/A, an INS inverse mechanization software to generate IMU measurements, and a NSL front-end. 203

Chapter 7. Conclusions and Recommendations • The main results obtained from the evaluation of the TCAPLL architecture are recapitulated as: – When using low quality MEMS inertial sensors, it is extremely important to initialize the INS and start navigating in good GPS conditions for a certain period of time allowing the integration filter states to converge (in particular the error states of the inertial sensors). – The integration of low-quality MEMS-based INS with a GPS receiver provides Doppler aiding to the GPS PLL tracking loops, which compensates receiver dynamics and hence reduces the PLL filter loop bandwidths and improves tracking sensitivity. It also helps to avoid re-acquisition and allows re-tracking the satellite using only the aiding information. Moreover, if the accuracy of the Doppler aiding is not good enough to re-track the SV, then it can still be used to reduce the frequency search span during the re-acquisition. – In the considered simulated scenarios, and under good GPS conditions, a smoother navigation solution was obtained, improved by roughly 70% as compared to the GPS stand-alone solution. And under minimum GPS conditions for navigation, i.e. when four satellites are visible, the position was improved by more than 80%, and the DOP factors by roughly 70%, respectively. – As long as a SV is visible, its corresponding Doppler aiding component will have a good accuracy. However, when the satellite is lost, its uncertainty increases, and this increase is dependent on the quality of the inertial sensor and the number of remaining visible satellites. Furthermore, the uncertainty on the non-visible satellite is inversely proportional to the elevation of the SV, i.e. the higher the elevation, the smaller the increase of the uncertainty. – When GPS conditions start to degrade, the position solution is more affected than the velocity, and more dependent on the satellites geometry. Consequently, the quality of Doppler aiding slightly decreases, but it is still largely acceptable to maintain robust carrier and code tracking. – Under partial GPS outages, the TCAPLL can still provide a navigation solution even with low quality MEMS inertial sensors. In this case, the quality of the navigation solution largely depends on the geometry of the remaining visible satellites’, receiver dynamics and the quality of the inertial sensor. 204

7.2. Recommendations In addition, the Doppler aiding uncertainty increases slightly for visible satellites, and exponentially for non-visible satellites. • The simulation results obtained in the evaluation of the TCAPLL were validated in a field vehicle test measurement campaign: – Under good GPS conditions, the TCAPLL with the MTi-G MEMS basedIMU improved the position and velocity solution by 42% and 77% compared to the GPS alone solution, and in demanding environments by 70% and 88%, respectively. – With the same MEMS inertial sensors, the TCAPLL outperformed the MTiG Xsens AHRS due potentially to a better modeling of the IMU errors, a tight integration and the existence of the data monitoring system. – In good GPS conditions, the TCAPLL provided a performance similar to the Javad Alpha receiver, which is a carrier differential GPS receiver, and it even outperformed it in demanding environments, with the advantage of still computing a navigation solution when there were fewer than four visible satellites. • Finally, while low-quality MEMS inertial sensors are not well suited when long GPS outages occur, they can still provide a navigation solution for short outages depending on the quality of the sensor and the navigation accuracy requirements. During these outages, with the simulated COTS low quality MEMS-based IMU and with the real Mti-G MEMS-based IMU, the TCAPLL position error increased by 1.1 m and 0.35 m over 1 s, respectively.

7.2 Recommendations • The investigations of the processing of Galileo E5 signal were limited to analytical and simulation analyses. Therefore, it would be interesting to implement the algorithms in a Galileo E5 software or hardware based receiver to evaluate all the obtained results under realistic scenarios. Such an implementation could be completed with a decoding scheme for the F/NAV and I/NAV message types on E5a-I and E5b-I, respectively, and computing a PVT solution through least-square or Kalman filtering. • The problem of multipath in this dissertation was addressed from a mitigation 205

Chapter 7. Conclusions and Recommendations point of view. A different approach to address this problem consists in using estimation techniques, such as Maximum Likelihood or Bayesian estimators, for actually estimating the multipath from the channel measurements and separate the direct signals from the multipath components. Potential improvements brought by this approach were already reported in the literature for GPS L1 C/A, and it would thus be interesting to analyze its benefits when processing the upcoming GNSS signals, in particular Galileo E5. • In the TCAPLL architecture, the problem of the INS initialization was only partially addressed. Therefore, more investigations are recommended on innovative and alternative initialization approaches optimized for low quality MEMS-based INS. • Investigations on the advantages of integrating in the TCAPLL architecture additional sensors such as magnetometers or wheel speed sensors could also be performed. • It would be interesting to study the effect of replacing in the TCAPLL architecture the GPS L1 C/A with another GNSS signal, more specifically, the Galileo E5. • The TCAPLL architecture was only evaluated in post-processing, therefore investigations on the possibility of a real-time implementation is recommended. In particular, analysis on requirements for the INS mechanization equations, integration filter and data monitoring system in terms of resources and power consumption could be conducted.

206

A WGS84 World Geodetic System

The most common reference frame for GPS and INS applications is WGS84, or the World Geodetic Survey 1984, Earth-centered Earth-fixed coordinate frame. Notably the WGS84 standard also defines the surface geoid that is commonly used as a local Earth surface reference [91]. The ECEF frame, defined by the WGS84, has its origin at the center of the Earth and axes that are fixed with respect to the Earth. Its x-axis points toward the mean meridian of Greenwich in the equatorial plane and y-axis is perpendicular to the x-axis in the equatorial plane. Its z-axis is parallel to the mean spin axis of the Earth [37]. The main parameters defining the WGS84 datum are [108]:

• Semi-major axis, a = 6378137 m • Semi-minor axis, b = 6356752.3142 m • Flattening of the ellipsoid, f = 1/298.257223563 • First eccentricity of the ellipsoid, e = 0.081819190842622 • Earth’s gravitational constant, µE = 3.986004418 × 1014 • Earth’s rotation rate, ωe = 15.04108 ◦ /h 207

Appendix A. WGS84 World Geodetic System The radius of curvature in the meridian R m and prime vertical R N are given by [72]: Rm = RN =

a(1 − e 2 ) 3

(1 − e 2 sin2 ϕ) 2 a

(A.1)

1

(1 − e 2 sin2 ϕ) 2

where ϕ is the latitude where the radius is computed. The normal gravity is given by [72]: · ¸ 1 + k sin2 ϕ 2 3 2 2 gn = ge q 1 − (1 + f + m − 2 f sin ϕ)h + 2 h a a 1 − e 2 sin2 ϕ

(A.2)

where k=

b.g p a.g e

−1

a 2 .b.ωe m= µE

(A.3)

where g e and g p are respectively the theoretical gravity at the equator and poles and equal to 9.7803253359 m/s2 and 9.9321849378 m/s2 .

208

B Strapdown Inertial Navigation

To perform strapdown inertial navigation, the initial position, and velocity vectors should be known. These vectors are used as integration constants by the navigation computer and cannot be determined by the INS itself. In addition, the initial attitude matrix is required. This matrix is computed during the initial alignment process of the INS. The process of propagating the position, velocity and attitude in time is divided in 6 steps. In the beginning, the sensor block provides two three-dimensional vectors of measurements, i.e., the specific-force measurements f b , and the angular rates of the b-frame relative to the i-frame sensed in the b-frame, expressed either by Ωbib or ωbib . These measurements are available at the update rate of the IMU. The following 6 steps are summarized as [109]: Step 1 The DCM update can be done using Euler angle differential equations, or if the DCM is represented as quaternions, then quaternion differential equation. Quaternion is a four parameter attitude representation method based on Euler’s theorem, which states that a transformation from one coordinate frame to another can be performed by a single rotation of magnitude u about the vector u [93]. The quaternion representation of the DCM matrix (Equation 4.16) is given as: 1p 1 +C 11 +C 22 +C 33 2 1 q1 = (C 32 −C 23 ) 4q 0 1 q2 = (C 13 −C 31 ) 4q 0 1 q3 = (C 21 −C 12 ) 4q 0 q0 =

(B.1)

209

Appendix B. Strapdown Inertial Navigation where C i j are the elements of the DCM matrix Rlb . The quaternion propagation in time is done according to: ´ 1 ³ q˙ lb = qlb ωblb q 2

(B.2)

where ωblb is equal to: ωblb = ωbib + ωbil

(B.3)

ωbil is equal to: ´ h iT ³ ωbil = Rlb ωlel + ωli e

(B.4)

and ωlel is equal to: h iT h e ωlel = λ˙ cos ϕ −ϕ ˙ −λ˙ sin ϕ = R Nv+h

− Rmv n+h

i v e tan ϕ T − R N +h

(B.5)

The updated DCM matrix can be obtained from qlb according to: ¡

q 02 + q 12 + q 22 + q 32  ¡ ¢ Rlb =  2 q q + q q 1 2 0 3  ¡ ¢ 2 q1 q3 − q0 q2

¢

¡ ¢ 2 q1 q2 − q0 q3 ¡

q 02 − q 12 + q 22 − q 32 ¡ ¢ 2 q2 q3 + q0 q1

¡ ¢ 2 q1 q3 − q0 q2 ¡ ¢ 2 q2 q3 − q0 q1

¢ ¡

q 02 − q 12 − q 22 + q 32

   ¢

(B.6)

Step 2 Resolve the specific-force measurements f b (t k+1 ) into the l-frame: f l (t k+1 ) = Rlb (t k+1 ) f b (t k+1 )

(B.7)

Step 3 Determine the gravity vector in the l-frame: 

0



   g¯ l (t k ) =   0  −g n where g n can be computed from Equation A.2.

210

(B.8)

Step 4 Determine the Coriolis part included in the specific force vector: f Cl or i ol i s

³ ´ ³ ´ l l l l l = − Ωel + 2Ωi e ve = − ωel + 2ωi e × vle

(B.9)

Step 5 Integrate, using simple Euler integration, the first navigation equation to determine the current velocity vector: v˙ le (t k+1 ) = f l (t k+1 ) + g¯ l (t k ) + f Cl or i ol i s (t k )

(B.10)

Step 6 Integrate, using simple Euler integration, the second navigation equation to determine the current position vector: r˙l (t k+1 ) = D −1 (t k ) vle (t k+1 )

(B.11)

211

C TCAPLL System State Equations

The augmented system dynamics of the TCAPLL EKF is given as: δ˙x = Fδx + Gw

(C.1)

where δx can be divided in two parts, the INS error states and the GPS error states: " (δx)29×1 =

(δxI N S )27×1 (δxGP S )2×1

# (C.2)

where 

δrl3×1



   δvl3×1     εl   3×1     (b a )3×1      δxI N S =  (δb a )3×1     (SF )  a 3×1   ¡ ¢   bg  3×1 ¡ ¢     δb g 3×1  ¡ ¢ SF g 3×1

" δxGP S =

(δt b )1×1 (δt d )1×1

(C.3)

# (C.4)

213

Appendix C. TCAPLL System State Equations The augmented system dynamics equation is then written as: "

(δ˙xI N S )27×1

#

(δ˙xGP S )2×1 | {z }

" =

02×2

027×27

(FGP S )2×2

|

δ˙x

" +

#"

(FI N S )27×27 F

δx

#"

(GI N S )27×18

02×2

027×18

(GGP S )2×2 {z

}|

G

#

(δxGP S )2×1 {z }

}|

{z

|

(δxI N S )27×1

(wI N S )18×1

(C.5)

#

(wGP S )2×1 {z } w

Using Equations 4.25, 5.1, 5.2, 5.3 and 5.6, the dynamic matrix F, the noise matrix G, and the Gaussian white noise vector w are derived as: 

03×3

03×3

03×3

03×3

03×3



Rlb

Rlb

Rlb

03×3

03×3

03×3

03×3

03×3

03×3

Rlb

Rlb

Rlb

03×3 ¡ ¢ −βa 3×3

03×3

03×3

03×3

03×3

03×3 03×3 ¢ −βSF a 3×3 03×3

03×3

03×3

03×3

03×3

03×3 ¢ −βg 3×3

03×3

                  

F11

F12

03×3 03×3

  F21    F31  0  3×3  FI N S =  03×3  03×3  03×3   03×3  03×3

F22

F23

F32

F33

03×3 03×3 03×3 03×3 03×3 03×3 03×3 03×3 03×3

03×3

03×3 03×3 03×3

03×3

03×3 03×3 03×3

03×3

03×3 03×3 03×3

03×3

¡

03×3 03×3 03×3

03×3 03×3 03×3

¡

03×3

³

03×3 ´ −βSF g

3×3

(C.6)



0

0

 ˙ F11 =  λ tan ϕ 0 0



1  Rm +h

F12 =   0

0

214

0

˙ −ϕ R m +h  −λ˙  R N +h 

 (C.7)

0

0 1 (R N +h) cos ϕ

0

0



 0  −1

(C.8)



´ ³ ˙ 0 − 2ωe cos ϕ + cosλ ϕ v e  ¡ ¢  ˙ F21 = 2ωe v n cos ϕ − v d sin ϕ + cosλ ϕ v n 0  2ωe v e sin ϕ 0



λ˙ sin ϕ v R N +h e

−λ˙ R N +h v n sin ϕ + v d cos ϕ ˙ ϕ λ˙ cos ϕ R N +h v e + R m +h v N

¡

 ˙ ϕ ¡  ¢ ¡ ¢ v n tan ϕ+v d ˙ F22 =  2ωe + λ˙ cos ϕ  2ωe + λ sin ϕ  R N +h ¡ ¢ ˙ ˙ −2ϕ −2 ωe + λ cos ϕ 0 vd R m +h



 F23 =  − f d fe

  F31 =  

− fe



− fn

ωe sin ϕ

0

0

0

 F32 =  R

λ˙ cos ϕ

−1 R N +h

0 1

0

m +h

tan ϕ R N +h

0

¢   (C.9) 

(C.10)



 fn   0

0

ωe cos ϕ +



¡ ¢ −2 ωe + λ˙ sin ϕ

fd

0

˙ ϕ

− Rm +h v d

0

0

(C.11)

 λ˙ cos ϕ R N +h  ˙  −ϕ R m +h  −λ˙ sin ϕ R N +h

(C.12)



 0 

(C.13)

0



 ¡ ¢ ˙ 0 − ωe + λ˙ sin ϕ ϕ ¡  ¢ ¡ ¢ ˙ sin ϕ ˙ cos ϕ F33 =  ω + λ 0 ω + λ e e   ¡ ¢ ˙ −ϕ − ωe + λ˙ cos ϕ 0

" FGP S =

0 1 0 0

(C.14)

# (C.15)

215

Appendix C. TCAPLL System State Equations

 03×3  l  Rb  0  3×3  03×3   GI N S = 03×3  0  3×3  03×3   03×3

03×3 03×3 03×3 03×3 03×3



 03×3 03×3 03×3 03×3 03×3   Rlb 03×3 03×3 03×3 03×3    03×3 03×3 03×3 03×3 03×3    03×3 I3×3 03×3 03×3 03×3   03×3 03×3 I3×3 03×3 03×3    03×3 03×3 03×3 03×3 03×3    03×3 03×3 03×3 I3×3 03×3  03×3 03×3 03×3 03×3 I3×3

03×3

(C.16)

where I3×3 is an identity matrix. " GGP S =

1 0

# (C.17)

0 1

h wI N S = η a η g

h wGP S = ηosc b

ηda

ηosc d

η SF a

ηdg

η SF g

iT

(C.18)

iT

(C.19)

All the elements of wI N S and wGP S comply with the assumptions of zero-mean, Gauss distribution white noise and uncorrelated with each other. Their power spectral density amplitude matrix is equal to:  σ2 I3×3 03×3 03×3 03×3 03×3 03×3 03×1  a  03×3 σ2g I3×3 03×3 03×3 03×3 03×3 03×1   2 03×3 σ1 I3×3 03×3 03×3 03×3 03×1  03×3   0 03×3 03×3 σ22 I3×3 03×3 03×3 03×1  3×3 W= 2  03×3 03×3 03×3 03×3 σ3 I3×3 03×3 03×1   2 03×3 03×3 03×3 03×3 σ4 I3×3 03×1  03×3   01×3 01×3 01×3 01×3 01×3 01×3 σ2b  osc 01×3 01×3 01×3 01×3 01×3 01×3 0

216

03×1



 03×1    03×1   03×1    (C.20) 03×1    03×1   0   σ2d osc

where σ21 = 2σ2δb a βd a σ22 = 2σ2SF a βSF a

(C.21)

σ23 = 2σ2δb g βd g σ24 = 2σ2SF g βSF g

Once F, G, and W are derived, the discrete version of Equation C.5 is found by the following procedure. First, the matrix A is formed as: " A=

−F GWGT FT

0

# δt

(C.22)

where δt is the update interval of the EKF. Then the matrix B is computed from the exponential of the matrix A as following: " B = eA =

B11 B12 B21 B22

#

" =

... Φ−1 Q 0

ΦT

# (C.23)

where Φ is the discrete state transition matrix, and Q is the discrete driving noise matrix that includes white noise accumulated during the update interval δt . Finally Φ and Q are derived as: Φ = BT22 Q = BT22 B12

(C.24)

217

Bibliography [1] N. M. Barbour, “Inertial Navigation Sensors,” Charles Stark Draper Laboratory, Cambridge, MA 02139, USA, Tech. Rep., 2010. [2] J-A. Rodriguez, and G. W. Hein, “GNSS Signals and Spectra,” in Proceedings of the 2nd meeting of the International Committee on Global Navigation Satellite System (ICG-02), Bangalore, India, September 2007. [3] I. Skog and P. Handel, “In-Car Positioning and Navigation Technologies - A Survey,” Intelligent Transportation Systems, IEEE Transactions on, vol. 10, no. 1, pp. 4 –21, March 2009. [4] “Galileo Open Service, Signal in Space Interface Control Document, OS SIS ICS, Issue 1,” European Commission, September 2010. [5] “GLONASS Interface Control Document, Navigational radiosignal L1, L2,” Russian Institute of Space Device Engineering, January 2008. [6] “Navstar GPS Space Segment/Navigation User Segment Interfaces IS-GPS-200F,” GPS Directorate, March 2012. [7] “BeiDou Navigation Satellite System Signal In Space Interface Control Document Open Service Signal B1I (Version 1.0),” China Satellite Navigation Office, December 2012. [8] “Nexus Market Analysis for MEMS and Microsystems III,” 2005 - 2009. [9] E. D. Kaplan and C. Hegarty, Understanding GPS Principles and Applications, Second Edition. Artech House Publishers, 2006. [10] T. Pany and B. Eissfeller, “Tracking of High Bandwidth GPS/Galileo Signals with a Low Sample Rate Software Receiver,” in Proceedings of the European Navigation Conference (ENC GNSS 2003), Graz, April 2003. 219

Bibliography [11] J. W. Betz, “Systems, Signals and Receiver Signal Processing I,” Navtech GPS Course notes 610A, Fort Worth, Texas, 2006. [12] J. Gautier, “GPS/INS Generalized Evaluation Tool (GIGET) for the Design and Testing of Integrated Navigation Systems,” Ph.D. dissertation, Department of Aeronautics and Astronautics, STANFORD UNIVERSITY. [13] A. Pratt, “Performance Limits of Multi-path Mitigation for Short Delay,” in Proceedings of the 19th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2006), Fort Worth, TX, September 2006, pp. 1723–1732. [14] M. Hollreiser , M. Crisci, J-M. Sleewaegen, J. Giraud, A. Simsky, D. Mertens, T. Burger, and M. Falcone, “Galileo Signal Experimentation,” GPS World, pp. 37–44, May 2007. [15] N. Gerein, “Hardware Architecture for Processing Galileo Alternate Binary Offset Carrier (AltBOC) Signals,” US Patent App. 10/681, 689, 2005. [16] F. Bastide, O. Julien, C. Macabiau, and B. Roturier, “Analysis of l5/e5 acquisition, tracking and data demodulation thresholds,” in Proceedings of the 15th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 2002), Portland, OR, September 2002, pp. 2196–2207. [17] V. Heiries, D. Roviras, L. Ries, and V. Calmettes, “Analysis of Non Ambiguous BOC Signal Acquisition Performance,” in Proceedings of the 17th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2004), Long Beach, CA, September 2004, pp. 2611–2622. [18] N. C. Shivaramaiah, and A. G. Dempster, “Galileo E5 Signal Acquisition Strategies,” in Proceedings of the European Navigation Conference (ENC GNSS 2008), Toulouse, France, May 2008. [19] G. E. Corazza, C. Palestini, R. Pedone, and M. Villanti, “Galileo Primary Code Acquisition Based on Multi-hypothesis Secondary Code Ambiguity Elimination,” in Proceedings of the 20th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2007), Fort Worth, TX, September 2007, pp. 2459–2465. 220

Bibliography [20] N. C. Shivaramaiah, A. G. Dempster, 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), Savannah, GA, September 2008, pp. 1497–1506. [21] D. Margaria, F. Dovis, and P. Mulassano, “An Innovative Data Demodulation Technique for Galileo AltBOC Receivers,” Journal of Global Positioning Systems, vol. 6, no. 1, 2007. [22] N. C. Shivaramaiah, A. G. Dempster, and C. Rizos, “Hybrid Tracking Loop Architectures for the Galileo E5 Signal,” in Proceedings of the European Navigation Conference (ENC GNSS 2009), Napoli, Italy, May 2009. [23] J-M. Sleewaegen , W. De Wilde , and M. Hollreiser, “Galileo AltBOC Receiver,” in Proceedings of the European Navigation Conference (ENC GNSS 2004), Rotterdam, Netherlands, May 2004. [24] N. C. Shivaramaiah, A. G. Dempster, and C. Rizos, “Code Phase Multipath Mitigation by Exploiting the Frequency Diversity in Galileo E5 AltBOC,” in Proceedings of the 22nd International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS 2009), Savannah, GA, September 2009, pp. 3219–3233. [25] P. Silva, J. Silva, T. Peres, M. Andreotti, C. Hill, A. Fernandez, J. Palomo, I. Colomina, C. Miranda, and M. Pares, “Results of Galileo AltBOC for Precise Positioning,” in 6t h ESA Workshop on Satellite Navigation Technologies and European Workshop on GNSS Signals and Signal Processing, (NAVITEC), 2012, pp. 1–9. [26] P. F. Silva, J. S. Silva, , T. Peres, I. Colomina, C. Miranda, M. E. Pares, M. Andreotti, C. Hill, J. F. Monico, P. O. Camargo, J. Diez, J. M. Palomo, S. E. Barbin, J. Moreira, G. Streiff, E. Z. Granemann, and C. Aguilera, “ENCORE: Enhanced Galileo Code Receiver for Surveying Applications,” in Proceedings of the 24th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS 2011), Portland, OR, September 2011, pp. 3679–3689. [27] L. Lestarquit, G. Artaud, and J-L. Issler, “AltBOC for Dummies or Everything You Always Wanted To Know About AltBOC,” in Proceedings of the 21st International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2008), Savannah, GA, September 2008, pp. 961–970. 221

Bibliography [28] N. C. Shivaramaiah, and A. G. Dempster, “The Galileo E5 AltBOC: Understanding the Signal,” in Proceedings of the International Global Navigation Satellite Systems Society IGNSS Symposium, Queensland, Australia, 2009. [29] “GNSS/INS Coupling,” ifen.bauv.unibw-muenchen.de/research/coupling.htm. [30] N. El-Sheimy, and X. Niu, “The Promise of MEMS to the Navigation Community,” Inside GNSS, pp. 46–56, March/April 2007. [31] S. Alban, D. M. Akos, and S. M. Rock, “Performance Analysis and Architectures for INS-Aided GPS Tracking Loops,” in Proceedings of the 2003 National Technical Meeting of The Institute of Navigation, Anaheim, CA, January 2003, pp. 611–622. [32] T. Pany and B. Eissfeller, “Use of a Vector Delay Lock Loop Receiver for GNSS Signal Power Analysis in Bad Signal Conditions,” in Position, Location, And Navigation Symposium, 2006 IEEE/ION, 2006, pp. 893 – 903. [33] H-S. Kim, S-C. Bu, G-I. Jee, and C-G. Park, “An Ultra-Tightly Coupled GPS/INS Integration Using Federated Kalman Filter,” in Proceedings of the 16th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS/GNSS 2003), Portland, OR, September 2003, pp. 2878–2885. [34] D. Gebre-Egziabher, M. Petovello, G. Lachapelle, “What is the difference between ’loose’, ’tight’, ’ultra-tight’ and ’deep’ integration strategies for INS and GNSS?” Inside GNSS, pp. 28–33, February 2007. [35] E. Shin, “Estimation Techniques for Low-Cost Inertial Navigation,” Ph.D. dissertation, Department of Geomatics Engineering, University of Calgary, Canada. [36] A. K. Brown and Y. Lu, “Performance Test Results of an Integrated GPS/MEMS Inertial Navigation Package,” in Proceedings of the 17th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2004), Long Beach, CA, September 2004, pp. 825–832. [37] Y. Yang, “Tightly Coupled MEMS INS/GPS Integration with INS Aided Receiver Tracking Loops,” Ph.D. dissertation, Department of Geomatics Engineering, University of Calgary, Canada. [38] D. Sun, “Ultra-Tight GPS/Reduced IMU for Land Vehicle Navigation,” Ph.D. dissertation, Department of Geomatics Engineering, University of Calgary, Canada. 222

Bibliography [39] P. Davidson, J. Hautamaki, and J. Collin, “Using low-cost MEMS 3D accelerometer and one gyro to assist GPS based car navigation system,” in Proceedings of 15th International Conference on Integrated Navigation, 2008. [40] M. Chowdhary, J. Colley, and M. Chansarkar, “Improving GPS Location Availability and Reliability by Using a Suboptimal, Low-Cost MEMS Sensor Set,” in Proceedings of the 20th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2007), Fort Worth, TX, September 2007, pp. 610–614. [41] K. Borre, D. M. Akos, N. Bertelsen, P. Rinder, and S. H. Jensen, A Software-Defined GPS and Galileo Receiver A Single-Frequency Approach. Birkäuser, 2007. [42] M. L. Psiaki, D. M. Akos, and J. Thor, “A Comparison of Direct RF Sampling and Downconvert & Sampling GNSS Receiver Architectures,” in Proceedings of the 16th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS/GNSS 2003), Portland, OR, September 2003, pp. 1941– 1952. [43] Y. Tawk, C. Botteron, E. Rivera, and P-A. Farine, “Full Design Approach for a Non Real Time Galileo E5 Receiver,” in Proceedings of the European Navigation Conference (ENC GNSS 2009), Napoli, Italy, May 2009. [44] J. Tsui, Fundamentals of Global Positioning System Receivers: A Software Approach. John Wiley & Sons, 2000. [45] F. V. Diggelen, A-GPS: Assisted GPS, GNSS, and SBAS. Artech House, 2009. [46] G. Waelchli, “Architecture of a Real-Time Platform Independent GPS L1 Software Receiver,” Ph.D. dissertation, École Polytechnique Fédérale de Lausanne. [47] G. Waelchli, G. Zamuner, D. Manetti, M. B. Frei, F. Chastellin, E. Firouzi, C. Botteron, and P-A. Farine, “Development, Implementation and Validation of a Real-time Galileo E1-B Signal Acquisition and Tracking Scheme,” in Proceedings of the European Navigation Conference (ENC GNSS 2007), Geneva, Switzerland, May 2007. [48] A. Jovanovic, C. Botteron, Y. Tawk, P-A. Farine, C. Mongredien, and G. Rohmer, “Implementation and Robustness Analysis of the Two-Step CBOC Tracking Algorithm in the scope of the GAMMA-A Project,” in Proceedings of the European 223

Bibliography Navigation Conference (ENC GNSS 2010), Braunschweig, Germany, October 2010. [49] P. W. Ward, “GPS Receiver RF Interference Monitoring, Mitigation, and Analysis Techniques,” NAVIGATION, Journal of the Institute of Navigation, vol. 41, no. 4, pp. 367–391, Winter 1994-95. [50] M. Paoni, J-A. Rodriguez, T.Panny, and G.Hein, “Looking for an Optimum SCurve Shaping of the Different MBOC Implementations,” NAVIGATION, Journal of the Institute of Navigation, vol. 55, no. 4, Winter 2008. [51] V. Heiries, D. Rovirasy, V. Calmettes, and L. Ries, “An Enhanced Correlation Processing Multipath Mitigation Technique for BOC Signals,” in Position, Location, And Navigation Symposium, 2006 IEEE/ION, April 2006, pp. 342 – 347. [52] C. Fernandez-Prades, and C. Vila-Valls, “Bayesian Nonlinear Filtering Using Quadrature and Cubature Rules Applied to Sensor Data Fusion for Positioning,” in IEEE International Conference on Communications (ICC), May 2010, pp. 1–5. [53] J.-A. Rodriguez, “On Generalized Signal Waveforms for Satellite Navigation,” Ph.D. dissertation, University FAF Munich, Faculty of Aerospace Engineering, Munich, Germany, 2008. [54] Spirent,

“GSS8000

multi-GNSS

Constellation

Simulator,”

www.spirent.com/Solutions-Directory/GSS8000.aspx, 2012. [55] J. Betz , and K. Kolodziejski, “Extended Theory of Early-Late Code Tracking for a Bandlimited GPS Receiver,” Journal of Navigation, vol. 3, no. 47, pp. 211–226, 2000. [56] M. S. Braasch, and A. J. Van Dierendonck, “GPS Receiver Architectures and Measurements,” Proceedings of the IEEE, vol. 87, no. 1, pp. 48–64, jan 1999. [57] F. Dovis, P. Mulassano, and D. Margaria, “Multiresolution Acquisition Engine Tailored to the Galileo AltBOC Signals,” in Proceedings of the 20th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2007), Fort Worth, TX, September 2007, pp. 999–1007. [58] P. Fine, and W. Wilson, “Tracking Algorithm for GPS Offset Carrier Signals,” in Proceedings of the 1999 National Technical Meeting of The Institute of Navigation, San Diego, CA, January 1999, pp. 671–676. 224

Bibliography [59] R. G. Lyons, Understanding Digital Signal Processing. Prentice Hall, 2011. [60] Y. Tawk, A. Jovanovic, J. Leclère, C. Botteron, and P-A. Farine, “A New FFT-Based Algorithm for Secondary Code Acquisition for Galileo Signals,” in Vehicular Technology Conference (VTC Fall), 2011 IEEE, Sep 2011, pp. 1–6. [61] O. Julien, “Design of Galileo L1F Receiver Tracking Loops,” Ph.D. dissertation, Department of Geomatics Engineering, University of Calgary, Canada. [62] C. Kreye, B. Eissfeller, and J. O. Winkel, “Improvements of GNSS Receiver Performance Using Deeply Coupled INS Measurements,” in Proceedings of the 13th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 2000), Salt Lake City, UT, September 2000, pp. 844–854. [63] Y. Tawk, C. Botteron, A. Jovanovic, and P-A. Farine, “Analysis of Galileo E5 and E5ab Code Tracking,” GPS Solutions, vol. 16, pp. 243–258, 2012, 10.1007/s10291011-0226-8. [Online]. Available: http://dx.doi.org/10.1007/s10291-011-0226-8 [64] G. A. McGraw, and M. S. Braasch, “GNSS Multipath Mitigation Using Gated and High Resolution Correlator Concepts,” in Proceedings of the 1999 National Technical Meeting of The Institute of Navigation, San Diego, CA, January 1999, pp. 333–342. [65] 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), Salt Lake City, UT, September 2000, pp. 2140–2150. [66] L. Ries, L. Lestarquit, E. Armengou-Miret, F. Legrand, W. Vigneau, C. Bourga, P. Erhard, and J-L. Issler, “A Software Simulation Tool for GNSS2 BOC Signals Analysis,” in Proceedings of the 15th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 2002), Portland, OR, September 2002, pp. 2225–2239. [67] M. S. Braasch, “Multipath Effects,” Global Positioning System: Theory and Applications, Volume I, Progress in Astronautics and Aeronautics, Volume 163, American Institute of Aeronautics and Astronautics, Inc., pp. 547–568, 1996. [68] Y. Tawk, C. Botteron, A. Jovanovic, and P.-A. Farine, “Performance Comparison of Different Correlation Techniques for the AltBOC Modulation in Multipath 225

Bibliography Environments,” in 2010 IEEE International Conference on Communications (ICC), May 2010, pp. 1–6. [69] M. Irsigler, J-A. Rodriguez, and G. Hein, “Criteria for GNSS Multipath Performance Assessment,” in Proceedings of the 18th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2005), Long Beach, CA, September 2003, pp. 2166–2177. [70] A. Jahn, H. Bischl, and G. Heiss, “Channel Characterization for Spread Spectrum Satellite Communication,” in Proceedings of the IEEE 4th International Symposium on Spectrum Techniques and Applications, Spread, vol. 3, September 1996, pp. 1221–1226. [71] N. Barbour and G. Schmidt, “Inertial Sensor Technology Trends,” Sensors Journal, IEEE, vol. 1, no. 4, pp. 332–339, Dec 2001. [72] D. Titterton and J. Weston, Strapdown Inertial Navigation Technology, 2nd ed. The American Institute of Aeronautics and Astronautics, 2004. [73] C. Hide, “Integration of GPS and Low Cost INS Measurements,” Ph.D. dissertation, Institute of Engineering, Surveying and Space Geodesy, University of Nottingham, UK., 2003. [74] N. El-Sheimy, and X. Niu, “The Promise of MEMS to the Navigation Community,” Inside GNSS, vol. 2, pp. 26–56, March/April 2007. [75] N. Faulkner, S. Cooper, and P. Jeary, “Integrated MEMS/GPS Navigation Systems,” in Position Location and Navigation Symposium, 2002 IEEE, 2002, pp. 306 – 313. [76] N. El-Sheimy, “Inertial techniques and INS/DGPS Integration,” ENGO 623Course Notes, Department of Geomatics Engineering, University of Calgary, Canada, 2004. [77] “IEEE Standard for Inertial Sensor Terminology,” IEEE Std 528-2001, p. 1, 2001. [78] B.M. Scherzinger, “Estimation with application to Navigation,” Lecture Notes ENGO 699.11. Department of Geomatics Engineering, The University of Calgary, Calgary, Canada, 2004. [79] R. M. Rogers, Applied Mathematics in Integrated Navigation Systems, 3rd ed. AIAA Editions, 2007. 226

Bibliography [80] J. A. Farrell and M. Barth, The Global Positioning System and Inertial Navigation. McGraw-Hill, 2001. [81] O.S. Salychev, V.V. Voronov, M.E. Cannon, R. Nayak, and G. Lachapelle, “Low Cost INS/GPS Integration: Concepts and Testing,” in Proceedings of the 2000 National Technical Meeting of The Institute of Navigation, Anaheim, CA, January 2000, pp. 98–105. [82] R. A. Nayak, “Reliable and Continuous Urban Navigation Using Multiple GPS Antennas and a Low Cost IMU,” Master’s thesis, Department of Geomatics Engineering, University of Calgary, Canada. [83] A. O. Salycheva, and M.E. Cannon, “Kinematic Azimuth Alignment of INS using GPS Velocity Information,” in Proceedings of the 2004 National Technical Meeting of The Institute of Navigation, San Diego, CA, January 2004, pp. 1103–1113. [84] S. Godha, “Performance Evaluation of Low Cost MEMS-Based IMU Integrated With GPS for Land Vehicle Navigation Application,” Master’s thesis, Department of Geomatics Engineering, University of Calgary, Canada. [85] G. Gao, “INS-Assisted High Sensitivity GPS Receivers for Degraded Signal Navigation,” Ph.D. dissertation, Department of Geomatics Engineering, University of Calgary, Canada. [86] M.G. Petovello, “Real-Time Integration of a Tactical-Grade IMU and GPS for High-Accuracy Positioning and Navigation,” Ph.D. dissertation, Department of Geomatics Engineering, University of Calgary, Canada. [87] D. Knight, “Rapid Development of Tightly-Coupled GPS/INS Systems,” in Position Location and Navigation Symposium, 1996., IEEE 1996, April 1996, pp. 300–305. [88] M.G. Petovello, D. Sun, G. Lachapelle, and M.E. Cannon, “Performance Analysis of an Ultra-Tightly Integrated GPS and Reduced IMU System,” in Proceedings of the 20th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2007), Fort Worth, TX, September 2007, pp. 602–609. [89] M.G. Petovello, and G. Lachapelle, “Comparison of Vector-Based Software Receiver Implementations With Application to Ultra-Tight GPS/INS Integration,” 227

Bibliography in Proceedings of the 19th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2006), Fort Worth, TX, September 2006, pp. 1790–1799. [90] J-H. Won, D. Dotterbock, and B. Eissfeller, “Performance Comparison of Different Forms of Kalman Filter Approaches for a Vector-Based GNSS Signal Tracking Loop,” NAVIGATION, vol. 57, no. 3, pp. 185–199, Fall 2010. [91] S. Gleason and D. Gebre-Egziabher, GNSS Applications and Methods. Artech House Publishers, 2009. [92] R. E. Kalman, “A New Approach to Linear Filtering and Prediction Problems,” Journal of Basic Engineering (ASME), vol. 82D, pp. 35–37, March 1960. [93] P. Tomé, “Integration of Inertial and Satellite Navigation Systems for Aircraft Attitude Determination,” Ph.D. dissertation, Department of Applied Mathematics, Faculty of Sciences, University of Oporto, Portugal, 2004. [94] N. Gordon, D. Salmond, and A. Smith, “Novel Approach to Nonlinear/NonGaussian Bayesian State Estimation,” Radar and Signal Processing, IEEE Proceedings F, vol. 140, no. 2, pp. 107 –113, April 1993. [95] P. Zarchan and H. Musoff, Fundamentals of Kalman Filtering: A Practical Approach, 2nd ed.

American Institute of Aeronautics and Astronautics, Inc.,

2005. [96] B. W. Parkinson, and J. J. Spilker Jr., Global Positioning System: Theory and Applications Volume I.

Progress in Astronautics and Aeronautics, 1996, vol.

163. [97] H. Chao, C. Coopmans, L. Di, and Y. Chen, “A Comparative Evaluation of LowCost IMUs for Unmanned Autonomous Systems,” in IEEE Conference on Multisensor Fusion and Integration for Intelligent Systems (MFI), 2010, September 2010, pp. 211 –216. [98] D. Hazry, M.Sofian , and A. Zul Azfar, “Study of Inertial Measurement Unit sensor,” in International Conferences on Man Machine System, UniMAP, Malaysia, October 2009. [99] “AIRINS Georeferencing and Orientation System,” IXBLUE, September 2012. 228

Bibliography [100] “Javad Alpha Receiver,” www.javad.com/jgnss/products/receivers/alpha.html, September 2012. [101] Topcon, “Hiper Pro Completely cable-free, GPS + RTK system with integrated UHF radio,” www.topcon.co.jp/en/positioning/products/pdf/hiperpro.pdf, 2012. [102] “MTi-G User Manual and Technical Documentation,” Xsens Technologies, Rev.G, 2009. [103] “Stereo RF Front-End,” NSL, www.nsl.eu.com/primo.html, September 2012. [104] Y. Stebler, S. Guerrier, J. Skaloud, and M. Victoria-Feser, “A Framework for Inertial Sensor Calibration Using Complex Stochastic Error Models,” in IEEE/ION Position Location and Navigation Symposium (PLANS 2012), April 2012, pp. 849 –861. [105] Y. Stebler, “Modeling and Processing Approaches for Integrated Inertial Navigation,” Ph.D. dissertation, École Polytechnique Fédérale de Lausanne (EPFL), no. 5601, 2013. [106] S. Guerrier, Y. Stebler, J. Skaloud, M.P.Victoria-Feser, “Wavelet Variance based Estimation for Composite Stochastic Processes,” in Proceedings of the Joint Statistical Meetings JSM 2012, San Diego, CA, July 2012. [107] Y. Stebler, S. Guerrier, J. Skaloud, and M. Victoria-Feser, “Improving Modeling of MEMS-IMUs Operating in GNSS-Denied Conditions,” in Proceedings of the 24th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS 2011), Portland, OR, September 2011, pp. 2417–2426. [108] “Department of Defense World Geodetic System 1984, Its Definition and Relationships with Local Geodetic Systems,” NIMA WGS84 Update Committee, National Imagery and Mapping Agency, 1997. [109] J. Skaloud, and K.Legat, “Navigation Techniques,” Localization Techniques Course, EPFL, February 2010.

229

YOUSSEF TAWK  : Maladière 10, 2000 Neuchâtel, Switzerland  : +41793153377  : [email protected]

21/07/1983 Single Lebanon Permit B Swiss Residence

PROFILE: M.Sc. Engineer, I pursue my PhD in the area of Global Navigation Satellite Systems at EPFL. My main research interests center around the advanced algorithmic and architecture designs for future satellite navigation receivers. I have expertise in localization techniques, radio-software architecture, signal processing, modulations and multiplexing schemes. Rational is the key descriptor for my thinking, with a strong relation to analytical, technical and problem solving. I’m enthusiastic, motivated, drawn by new ideas, by innovation, willing to enjoy and thrive working in a dynamic and flexible team-oriented environment. EDUCATION: 2008-2012

:

Ecole Polytechnique Fédérale de Lausanne, EPFL, Switzerland

2006-2007

:

University of Gävle, Gävle, Sweden

2001-2005

:

Ph.D.in Science

Masters of Science in RF and Wireless Communications

Lebanese University-Faculty of Engineering II, Lebanon

Diploma in Electrical and Electronic Telecommunications and Informatics

Engineering,

specialization:

Professional Experience: 2008 - Present : Research Assistant at the Institute of Microengineering IMT, Electronics and Signal Processing Laboratory - Neuchâtel – Switzerland - SNSF-GNSS 1: Design of enhanced techniques to improve acquisition and tracking of a GNSS receiver in terms of sensitivity, robustness, and multipath mitigation. Explore the performance and advantages of the upcoming Galileo signals and in particular the E5 Alternate Binary Offset Carrier AltBOC(15,10). (Swiss National Science Foundation SNSF research project) - SNSF-GNSS 2: System Integration for Localization and Navigation with GPS/INS coupling using low cost MEMS inertial sensors. (SNSF research project) - Track and Trace: Design of a movement recognition algorithm to switch off a module including a GSM device or any other mobile cellular technology as soon as it senses movement and thereby prevent any forbidden transmissions that could occur in a moving airplane. (Industrial project with Swisscom) - Additional activities: - Involvement in preparing and writing project proposals submitted to the European Space Agency - Supervising and training students for their internship, master or semester projects - Graduate Teacher Assistant for the Wireless Communications and Radio Frequency Design course at the University of Neuchâtel - Graduate Teacher Assistant for the Advanced Satellite Positioning course at EPFL EDMI doctoral school - 10 conference publications, 3 journal papers, 1 patent (pending) - Speaker in 5 international conferences

231

Feb - Jul 2007

:

Radio designer at Ericsson – Kista, Stockholm – Sweden Investigation on the Current Distribution in High Power RF Transistors specially conceived for WCDMA radio base stations: - Building Lumped models for the transistor component - Conducting electromagnetic simulations - Test measurements using Monte-Carlo simulations

Feb - Jun 2005

:

Software Engineer at CellCom – Beirut –Lebanon Development for an Alert based SMS service platform: - Design of a graphical user interface for internet client subscription - Database creation for subscription management - Design of a container for receiving news alerts and redistribution to clients via SMS using the GSM network

Jun - Sep 2004

:

Ojero –Beirut – Lebanon Training sessions covering Switching Techniques, and Operation configuration of digital transmission system for GSM and PSTN networks

and

EXPERTISE: GNSS

:

My knowledge covers all the main aspects of GNSS receivers: GPS and Galileo Systems, Signal modulation (BPSK, BOC, AltBOC, MBOC), Receiver design (Frontend, Acquisition strategies, Tracking strategies, Multipath rejection, PVT solution), Post-processing

INS

:

I have good knowledge in inertial navigation systems for automotive applications: Mechanization equations, sensor error correction, integration with other navigation systems, Kalman filtering.

RF

:

I’m familiar with RF measurements on VNA, SNA, Power meters as well as passive devices like switches, couplers, adapters, cables. I have good knowledge in design, manufacturing and testing of RF Filters, LNAs and Power Amplifiers.

Management

:

I followed training sessions in Managerial Decision Making to address fundamental issues in understanding and researching decision making processes in the context of technology management and strategy.

SKILLS:  Simulation Tools: Matlab, ADS (Advanced Design System), HFSS, Altium Designer (PCB Design)  Programming Languages: C, VHDL (Quartus II, FPGA Designer)  Document Markup Language: Latex LANGUAGES:  English(B2), French(B2), Arabic (Mother Tongue), Swedish(A1), Italian (A1) AWARDS: Bronze Leaf for the article: “Acquisition Performance of Galileo E5a Signal” The article was selected in the third decile from 98 articles in the IEEE 6 th Conference on Ph.D. Research in Microelectronics & Electronics 18 – 21 July 2010 Berlin, Germany.

232