Integrity Monitoring Techniques in GPS/Galileo · to the aviation community, for which integrity is...
Transcript of Integrity Monitoring Techniques in GPS/Galileo · to the aviation community, for which integrity is...
Integrity Monitoring Techniques in GPS/Galileo
João Pedro Duque Duarte
Thesis to obtain the Master of Science Degree in
Aerospace Engineering
Supervisor: Professor Fernando Duarte Nunes
Examination Committee
Chairperson: Prof. João Manuel Lage de Miranda LemosSupervisor: Prof. Fernando Duarte NunesMember of the Committee: Prof. José Eduardo Charters Ribeiro da Cunha Sanguino
May 2015
ii
Acknowledgments
To me, this thesis is a major milestone as it marks the end of a journey at Instituto Superior Técnico.
The journey was not always perfect or easy but I am very glad and proud to achieve many of the goals
I had when I enrolled in my master degree in Aerospace Engineering. Getting to this point was only
possible thanks to the support and motivation from my family and friends.
I would like to express my appreciation and gratitude to Prof. Fernando Duarte Nunes, my supervisor
in this thesis for his support, advice, help and availability during this master thesis.
To my colleagues, and friends for their help and friendship that made the journey easier.
To Deimos Engenharia for their support providing me precious time to complete this thesis, and good
fellowship.
And finally to my family, specially my parents for all the emotional and financial support, patience
and motivation without which nothing of this would have been possible.
iii
iv
Resumo
A utilização de sistemas de navegação em aviação requer um elevado nível de confiança na solução a ser
usada. Define-se integridade como o nível de confiança que se tem na exactidão da informação fornecida
pelo sistema de navegação. Existem várias arquitecturas que permitem verificar o nível de integridade
da solução apresentada pelo sistema. Uma dessas arquitecturas são as chamadas técnicas de RAIM que
consistem em algoritmos implementados a nível do receptor que permitem medir esse nível de integridade
e em caso de existência de falha num satélite essa falha não só é detectada como o satélite com defeito
pode ser excluído.
Existem vários algoritmos de integridade, entre os quais o Least-Squares-Residuals e o Range-Comparison-
Method que foram os analisados nesta tese. Os algoritmos de monitorização de integridade vêem o seu
desempenho afectado pela geometria dos satélites. Interessa portanto comparar os dois algoritmos con-
siderados quanto ao seu desempenho em casos de diferentes geometrias.
Para testar o desempenho dos algoritmos foi simulada uma constelação de GPS e uma trajectória do
receptor cuja solução de posição foi calculada com recurso a um filtro de Kalman. Foram consideradas
duas geometrias distintas e ambos os algoritmos foram testados para as mesmas condições. Foi testada
não só a capacidade de detecção de falha como também a de exclusão.
Os resultados mostram que ambos os algoritmos têm desempenhos muito idênticos pelo que a maior
diferença é mesmo o nível de complexidade dos algoritmos que é consideravelmente superior no caso do
Range-Comparison-Method.
Palavras-chave: GPS, Galileo, Integridade, RAIM
v
vi
Abstract
The use of navigation systems in aviation requires a high level of trust in the solution to be used. Integrity
is defined as the measure of the trust that can be placed in the correctness of the information supplied by a
navigation system. There are several architectures that allow to compute the integrity levels on a solution
provided by the system. One of those architectures are the integrity monitoring techniques called RAIM
and these consist in algorithms implemented at the receiver and allow to measure the integrity level and
in case of a faulty satellite that fault is not only detected but the faulty satellite may be excluded.
There are several integrity algorithms, namely the Least-Squares-Residuals and the Range-Comparison-
Method that were analysed in this thesis. Integrity monitoring algorithms have their performance affected
by satellites geometry. Thus, it is important to compare both the considered algorithms as its performance
in different geometry cases.
To test the algorithm’s performance a GPS constellation was simulated along with a trajectory whose
position solution was obtained using a Kalman filter. Two distinct geometries were considered and both
algorithms were tested for the same conditions. It was tested not only the ability to perform fault
detection as also exclusion.
The results show that both algorithms have similar performances whereby the major difference is at
the algorithms complexity level, which is considerable higher in the Range-Comparison-Method case.
Keywords: GPS, Galileo, Integrity, RAIM
vii
viii
Contents
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii
1 Introduction 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Structure and proposed approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4 State of the art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Global Navigation Satellite Systems 5
2.1 GPS overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 GPS Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Space Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Control Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.3 User Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Galileo overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Galileo Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4.1 Space Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4.2 Control Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.4.3 User Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Fundamentals 11
3.1 Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.1 ECI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.2 ECEF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.3 ENU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Coordinate System Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.1 Cartesian to Geodetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
ix
3.2.2 Geodetic to Cartesian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.3 ECEF to ENU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Receiver Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Measurement Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4.1 Satellite Clock Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.4.2 Ephemeris Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4.3 Atmospheric Effects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4.4 Receiver Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4.5 Multipath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4.6 Pseudorange Error Budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5 DOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4 Position Determination 25
4.1 Least-Squares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 DOP calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3 Position solution using Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.1 Dynamics models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.2 Clock state model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.3 Extended Kalman filter: dynamics models . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.4 Extended Kalman filter: observations model . . . . . . . . . . . . . . . . . . . . . . 36
5 Integrity 41
5.1 SBAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.1.1 SBAS around the world . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.1.2 WAAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.1.3 EGNOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.2 GBAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3 RAIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3.1 FD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3.2 FDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3.3 RAIM algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.3.4 RAIM Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.4 Integrity in Galileo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.4.1 Integrity parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.4.2 Galileo user integrity algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6 Computer Simulation 65
6.1 Computer Simulation Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.2 Computer Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6.2.1 Error calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
x
6.2.2 RAIM Algorithms Performance Analysis . . . . . . . . . . . . . . . . . . . . . . . . 69
7 Conclusion 83
Bibliography 87
A YUMA Almanac definitions 89
xi
xii
List of Tables
2.1 Positioning performances for Galileo SoL Service [3] . . . . . . . . . . . . . . . . . . . . . 8
3.1 Fundamental parameters of WGS 84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Pseudoranges error table for SPS C/A code [17] . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 DOP value description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1 Typical values of h0 and h−2 depending on the oscillator used [40] . . . . . . . . . . . . . 32
5.1 ICAO requirements for common phases of flight . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2 Subsets of the available 5 satellites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.3 Subsets of the available 6 satellites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.4 Normalized thresholds for Pfa = 115000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
6.1 Experimental Pfa for Least-Squares-Residuals Method . . . . . . . . . . . . . . . . . . . . 69
6.2 Experimental Pfa for Range Comparison Method . . . . . . . . . . . . . . . . . . . . . . . 70
6.3 SLOPE values for first epoch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.4 GDOP values for the specified subsets for first epoch . . . . . . . . . . . . . . . . . . . . . 73
6.5 SLOPE values for the various subsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.6 SLOPE values for second epoch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.7 GDOP values for the specified subsets for second epoch . . . . . . . . . . . . . . . . . . . 77
6.8 Mean first detection time for LSR method (ramp 1 m/s) . . . . . . . . . . . . . . . . . . . 78
6.9 Mean first detection time for RCM method (ramp 1 m/s) . . . . . . . . . . . . . . . . . . 79
6.10 Mean first detection time for LSR method (ramp 0.1 m/s) . . . . . . . . . . . . . . . . . . 80
6.11 Mean first detection time for RCM method (ramp 0.1 m/s) . . . . . . . . . . . . . . . . . 81
A.1 YUMA almanac definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
xiii
xiv
List of Figures
2.1 Illustration of GPS architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1 Definition of ECI reference frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Definition of ECEF reference frame [42] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 Latitude Φ and Longitude λ on an ellipsoid . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4 Definition of ENU reference frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5 ENU reference frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.6 Generic receiver architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.7 Example of an acquisition process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.8 Ephemeris Error Illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.9 Example of a worldwide TEC map [21] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.10 GNSS signals path deviation due to Atmospheric Effects . . . . . . . . . . . . . . . . . . . 22
3.11 Multipath effect Illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.12 Good DOP geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.13 Bad DOP geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1 Illustration of position calculation with 4 satellites . . . . . . . . . . . . . . . . . . . . . . 26
4.2 Recursive Least-Squares Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3 PV model for each coordinate using an integrated Brownian motion . . . . . . . . . . . . 31
4.4 PVA model for each position coordinate using a Gauss-Markov process for the acceleration 31
4.5 Clock state model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.6 Kalman filter flowchart applied to the resolution of the navigation equation . . . . . . . . 38
5.1 SBAS systems worldwide [44] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2 EGNOS map of Ground Segment [43] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3 Probability Density Functions for fault and no fault cases . . . . . . . . . . . . . . . . . . 52
5.4 False Alarm probability versus of λσ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.5 False Alarm and Missed Detection probabilities versus λσ . . . . . . . . . . . . . . . . . . . 53
5.6 Decision rule for the Range-Comparison Method when 5 satellites are used . . . . . . . . 58
5.7 GPS and other GNSS system visibility [36] . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.8 Number of visible GPS satellites at receiver position during the simulation day . . . . . . 61
xv
6.1 RAIM algorithm flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.2 Simulated Trajectory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6.3 3D RMS position error for Kalman Filter Solution method . . . . . . . . . . . . . . . . . . 68
6.4 Estimeted trajectory using Kalman filter vs Simulated trajectory . . . . . . . . . . . . . . 68
6.5 SLOPE method illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.6 Detection probability versus error for LSR method . . . . . . . . . . . . . . . . . . . . . . 71
6.7 Theorical and simulated detection probability for satellite ID 5 . . . . . . . . . . . . . . . 72
6.8 Time of first detection for sat ID 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.9 Detection probability versus error for RCM method . . . . . . . . . . . . . . . . . . . . . . 74
6.10 Detection probability difference between RCM and LSR method for the first epoch . . . . 75
6.11 First exclusion simulation for LSR method . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6.12 First exclusion simulation for RCM method . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.13 Second detection simulation for LSR method . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.14 Second detection simulation for RCM method . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.15 Test statistic variation over a ramp error of 1 m/s . . . . . . . . . . . . . . . . . . . . . . 79
6.16 Test statistic variation over a ramp error of 0.1 m/s . . . . . . . . . . . . . . . . . . . . . 80
xvi
Glossary
AoD Ages of Data.
CDMA Code Division Multiple Access.
DoD Department of Defence.
ECEF Earth Centered, Earth Fixed.
ECI Earth Centered Inertial.
EGNOS European Geostationary Navigation Overlay
System.
ENU East North Up.
ESA European Space Agency.
EU European Union.
FDE Fault Detection and Exclusion.
FD Fault Detection.
GA Ground Antennas.
GBAS Ground-Based Augmentation System.
GCC Galileo Control Centre.
GCS Ground Control Segment.
GDOP Geometric Dilution of Precision.
GEAS GNSS Evolutionary Architecture Study.
GEO Geostationary Earth Orbit.
GMS Ground Mission Segment.
GNSS Global Navigation Satellite System.
GPS Global Positioning System.
GSS Galileo Sensor Station.
GUS Ground Upper Station.
HAL Horizontal Alarm Limit.
HDOP Horizontal Dilution of Precision.
HPL Horizontal Protection Level.
ICAO International Civil Aviation Organization.
IF Integrity Flag.
LLA Latitude Longitude Altitude.
xvii
LSR Least-Squares-Residuals.
MCS Master Control Station.
MEO Medium Earth Orbit.
MS Monitor Stations.
OS Open Service.
PDOP Position Dilution of Precision.
PPS Precise Positioning Service.
PRN Pseudorandom Noise.
PVA Position Velocity Acceleration.
PVT Position Velocity Time.
PV Position Velocity.
RAIM Receiver Autonomous Integrity Monitoring.
RCM Range-Comparison-Method.
SARPs Standards and Recommended Practices.
SA Selective Availability.
SBAS Satellite-Based Augmentation System.
SISA Signal-In-Space-Accuracy.
SISE Signal-In-Space-Error.
SISMA Signal-In-Space Monitoring Accuracy.
SIS Signal-In-Space.
SPS Standard Positioning Service.
SSE Sum of Squared Errors.
SV Service Vehicle.
SoL Safety of Life.
TDOP Time Dilution of Precision.
TEC Total Electron Content.
UERE User Equivalent Range Error.
VAL Vertical Alert Level.
VDOP Vertical Dilution of Precision.
VPL Vertical Protection Level.
WAAS Wide Area Augmentation System.
WGS-84 World Geodetic System datum 1984.
WRS Wide-Area Reference Station.
xviii
Chapter 1
Introduction
This chapter provides an overview of the work, including a brief description of the motivation, goals,
structure of the thesis and the state of the art.
1.1 Motivation
Nowadays various Global Navigation Satellite Systems (GNSS) are used worldwide providing the user with
its position. Examples of GNSS systems are the Global Positioning System (GPS) from United States and
Galileo from Europe. These systems consist in a space segment composed by a satellite constellation, a
ground segment constituted by a network of ground stations that perform the necessary tasks to maintain
the proper operation of the system and a user segment that is composed by users equipped with a receiver
capable of using signals from the space segment. The applications of such systems have been increasing
in the past years and now these technologies play a fundamental role in modern society, being present in
almost every life situation like aviation, car navigation, agriculture, railways, emergency services, global
communications services, etc. As there is a wide range of applications not all have the same requirements.
Some just need a rough estimate of the user position while others require significantly more accuracy and
integrity.
Integrity is the measure of the trust that can be placed in the correctness of the information supplied by
a navigation system [30]. Several architectures have been proposed to provide integrity of the information
to the aviation community, for which integrity is a critical requirement as any failure could lead to
catastrophic consequences.
One of the techniques used to provide integrity is the Receiver Autonomous Integrity Monitoring
(RAIM). A RAIM algorithm can be included in the satellite navigation airborne equipment and these
algorithms compare the pseudorange measurements among themselves to ensure that they are all consis-
tent. If there is lack of consistency a fault will be declared and, depending on the number of satellites
being used, the faulty satellite may be excluded.
In this thesis two different RAIM algorithms used to provide integrity in GPS will be studied and their
performance will be compared. The integrity concept of Galileo will also be explained and an algorithm
1
that takes advantage from the integrity data provided by Galileo services will be presented.
1.2 Goals
A variety of RAIM algorithms have been developed and studied. All of these techniques, however are
sensitive to the geometry provided by the redundant satellite measurements [6].
In cases of poor satellite geometry the performance of the integrity algorithms degrade and large
navigation error can occur before they are detected. Therefore, it is important to simulate and compare
the RAIM algorithms studied, namely the Least-Squares-Residuals and the Range-Comparison Method,
to test its performance, in case of a faulty measurement, for detection or detection and exclusion purposes.
These methods will also be compared in terms of complexity of implementation being each one analysed
for their advantages and disadvantages.
1.3 Structure and proposed approach
This thesis is composed by 7 chapters, including the present one, which are organized as follows.
In Chapter 2 the GPS and Galileo systems studied in this thesis are presented. An overview of the
systems is introduced and their architecture is explained.
In Chapter 3 the fundamental concepts involved in this thesis are presented and explained. This
chapter starts with an overview of the coordinate systems and coordinate systems conversions followed
by an explanation of the error sources that can corrupt the measurements from the satellites. The chapter
ends with a brief description of the DOP concept and its importance to the position solution.
In Chapter 4 the equations that allow the receiver to calculate its position are presented and explained.
The solution of these equations can be obtained from several methods and two of them are presented and
explained.
The Chapter 5 explains the definition of integrity and several developed architectures to provide
integrity are presented. The RAIM algorithms studied in this thesis are also explained in detail in this
chapter and the Galileo integrity concept is shown.
Finally, in Chapter 6 the computer simulation is presented and the results obtained from the simula-
tions are shown. In this chapter the comparison from the RAIM algorithms is performed for the various
test cases considered.
Chapter 7 summarizes the results obtained from the simulations and conclusions from those results
are drawn.
1.4 State of the art
There are different types of RAIM algorithms: conventional RAIM, Relative RAIM, and Advanced RAIM
[25].
2
Conventional RAIM algorithms focus on pseudorange measurements using those measurements and
position noises, along with the false alarm and missed detection probability to compute the corresponding
protection levels for the position solution. These techniques can be decomposed in two phases. The first
is the detection and exclusion phase where the detection threshold is computed based on the noise level
and required false alarm probability. The detection is made when the detection threshold is exceeded by
the test statistic, followed by an exclusion from the faulty satellite whenever the number of satellites in
use allows it. The second phase may be optional, depending on the purpose, and consists in calculating
the protections levels based on the geometry and confirm if the necessary protection limits are available
according to the application.
Relative RAIM (RRAIM) uses precise carrier phase measurements to propagate older pseudorange
based positions solutions forward in time. RAIM is performed on the carrier trajectory to ensure integrity
and the new protection levels are calculated based upon the original values and the accumulated uncer-
tainty over time. RRAIM concept shares the integrity task between the aircraft, the GNSS constellation
and the external monitors which provide the a priori set of valid measurements [25].
The Advanced RAIM (ARAIM) scheme was introduced by the GNSS Evolutionary Architecture Study
(GEAS) to guarantee LPV-200 (localizer performance with vertical guidance) operation worldwide. This
algorithm uses multi constellations data and takes advantage from dual frequency capabilities as well as
an integrity support message.
3
4
Chapter 2
Global Navigation Satellite Systems
Navigation is the science of getting a person or an equipment from one place to another and it has been
used daily in our lives for many centuries.
Centuries ago explorers used to navigate by primitive charts and observations of the sun and stars
to determine directions. The twentieth century brought important advances to navigation with radio
beacons, radars, gyroscope compass and, ultimately, satellite navigation systems.
2.1 GPS overview
The Global Positioning System is a satellite based navigation system originally made up of 24 satellites,
placed into orbit by the U.S Department of Defence. Initially it was meant for military applications, but
in the 80’s the government of the USA made the system available for civilian use. The system became
fully operational in 1995 when the 24 satellites constellation was in place and the testing was complete
[17].
GPS was originally a military project but intended for military and civilian applications. Nowadays
its applications are far beyond the usual positioning of planes or boats, and the GPS system is used for
cartography, automated vehicles, fleet tracking, surveillance, agriculture, etc.
As a dual system, the service provided to military PPS (Precise Positioning Service) is intended for US
authorized military and selected government agency users, and its access is controlled through cryptog-
raphy. The SPS (Standard Positioning Service) is available to all users worldwide free of direct charges.
At the moment SPS is the predominant satellite navigation service used all over the world. Civilian use
of the PPS is permitted but only with special US DOD (Department of Defence) approval. This system
is controlled by two cryptographic features known as antispoofing (AS) and selective availability (SA).
AS has the objective of protecting the signal against any data replication by the adversary which would
deceive the victim’s receiver. SA policy added controlled errors to the signal available to unrestricted
use, degrading the resultant signal, with a significant loss of accuracy. SA was deactivated on 2000 which
represented an important milestone for civil users of GPS.
5
2.2 GPS Architecture
The GPS navigation system currently consists of three major segments. These are the space segment, a
control segment and an user segment.
2.2.1 Space Segment
The space segment is composed by the orbiting GPS satellites, and its main functions are to transmit
radio-navigation signals and to store and retransmit the navigation message sent by the Control Segment.
The GPS constellation was initially constituted by 24 space vehicles distributed in six orbital planes
with an inclination of 55 degrees in relation to the equator and are separated 60 degrees from each other.
Orbits are near circular and have a semi-major axis of 26560 Km, meaning their altitude is 20200 Km.
The satellites have a velocity around 3.9 Km/s making their period almost half of a sidereal day (11 h
58 m) so that the satellites pass over the same location every day. The present configuration allows users
to have a simultaneous observation of at least 6 satellites in view worldwide. Nowadays there are 32
satellites in the GPS constellation. These additional satellites improve the precision of the GPS receiver
by providing redundant measurements.
2.2.2 Control Segment
The control segment consists in a network of ground stations that perform a series of tasks in order
to maintain a proper operation of the GPS system. The control segment is composed by a network of
Monitor Stations (MS), a Master Control Station (MCS), a backup of the MCS and the Ground Antennas
(GA). The MCS processes the measurements received by the MS to estimate satellite orbits (ephemeris)
and clock error and generate the navigation message. These corrections and the navigation message are
uploaded to the satellites through the GA, which are located in the MS.
The summary main tasks performed by the control segment are:
• Monitoring and control of satellite orbital parameters;
• Monitoring health status of the satellite subsystems;
• Activation of spare satellites;
• Update parameters in the navigation message;
• Resolving satellite anomalies.
2.2.3 User Segment
The user segment includes all the users equipped with an L-band radio receiver/processor and antennas
which receive GPS signals in order to obtain their coordinates and provide an accurate time. This segment
is composed of hundreds of thousands of US and allied military users of the secure GPS PPS and tens of
millions of civil, commercial and scientific users of the SPS.
6
Figure 2.1: Illustration of GPS architecture
2.3 Galileo overview
Galileo is the GNSS that is being developed by the European Union (EU) and the European Space Agency
(ESA) and promises to provide highly accurate global position service under civilian control. Galileo will
provide highly accurate autonomous navigation and positioning services but it will also be interoperable
with other systems like GPS and GLONASS, the Russian GNSS.
Galileo program is thought to be very important because of today’s dependence of satellite navigation
in our daily lives. As GPS and GLONASS are military systems under military control, these services can
be switched off or made less precise when needed for the civil service which can affect several businesses
including transportation, aviation, communications and many others.
The Galileo system will have five main services [17] [23] [15]:
• Open Service (OS): This service targets the generality of the users. It will provide PVT (position,
velocity and time) and will be suitable for applications like in-car navigation, mobile-phones location
services, etc. This service only requires the user to have a compatible receiver and no authorization
is needed. This service can be used for applications that require higher accuracies, as it can be
complemented with services of GNSS augmentation, but that do not need integrity as it is not
provided in this service.
• Safety-of-Life Service SoL: This service is intended to satisfy the needs of safety critical users,
such as civil aviation. In particular, it is intended to provide a guarantee of service, and to com-
ply with legislation applicable to all considered domains and existing standards (Standards and
Recommended Pratices-SARPSs- by ICAO).
7
The SoL service will be open with the ability to digitally authenticate signals (so as to assure users
that the received signal is the actual Galileo signal) [33].
Its key feature is to provide integrity information at global level. The applicable performances are
specified in table 2.1 and include two levels of risk exposure [33]:
– Critical level: corresponds to time-critical operations such as operations with vertical guidance
in aviation domain (such as approach and landing phases).
– Non-critical level: corresponds to less time-critical operations such as open sea navigation.
Safety-of-Life Service
Type of receiverCarriers Dual frequency
Computes Integrity YesIonosphericcorrection Based on dual frequency measurements
Coverage GlobalCritical Level Non-critical level
Accuracy (95%) H: 4 mV: 8 m H: 200 m
IntegrityAlert limit H:12 m, V:20 m H: 556 m
Time-to-Alert 5.2 seconds 10 secondsIntegrity Risk 2× 10−7/150s 10−7/h
Continuity Risk 8× 10−5/15s 10−4/h−10−8/h
Certification/Liability Yes
Availability of Integrity 99.5%Availability of Accuracy 99.8%
Table 2.1: Positioning performances for Galileo SoL Service [3]
• Commercial Service (CS): This service is intended for applications that require higher perfor-
mance than the one offered by the open service. This service uses a combination of two encrypted
signals for higher data throughput rate and higher accuracy authenticated data. These will be
developed by service providers, that will buy the rights to use the two commercial signals from the
Galileo operator. The user of the CS will access these added value services by paying a fee. The
CS does not offer integrity information.
• Public Regulated Service (PRS): The PRS is a restricted service to government and authorized
users for sensitive applications that require high level of service continuity, such as security and
strategic infrastructures like energy, communications or finances. This service will be encrypted,
featuring anti-jamming mechanisms and reliable problem detection.
• Search and Rescue Service (SAR): Galileo satellites will be able to pick up signals of emergency
from emergency beacons carried on ship, planes or personal equipments and help to forward distress
signals to rescue coordination centres. With this information rescue centres can know the precise
location of an accident.
8
2.4 Galileo Architecture
The Galileo system that assures these services is divided in three major segments. These are the space
segment, a control segment and an user segment.
2.4.1 Space Segment
The Galileo space segment is composed of MEO satellites, with the following characteristics:
• nearly circular orbits with a semi-major axis of 29600 km (altitude 23222km)
• orbital inclination of 56
• three equally spaced orbital planes
The satellites will be organized as a Walker constellation [29]. A Walker constellation is defined by
three parameters T/P/F . T is the total number of satellites in the constellation, P is the number of
orbital planes and F defines the relative phase spacing between the satellites in the adjacent orbital
planes. Galileo constellation will be a Walker 27/3/1 comprising a total of 30 MEO satellites, of which 3
are spares. Galileo satellites have a velocity around 3.7 Km/s making their period equal to 14 hours and
7 minutes.
2.4.2 Control Segment
Galileo ground segment is composed by two sub-segments which are:
• the Ground Control Segment (GCS), whose purpose is to monitor and control the constellation
through the use of Telemetry Tracking and Command (TT&C) uplinks
• the Ground Mission Segment (GMS), whose purpose is to compute and disseminate the information
required for navigation (orbit determination and clock synchronization) and integrity monitoring
(SISA, SISMA, IF).
The second sub-segment is composed by:
• the Galileo Control Center (GCC),which includes all control and processing facilities
• the network of Galileo Sensor Stations (GSS) which collect navigation data from the satellites and
meteorological data
• Uplink Stations to disseminate the computed information
• A global area network linking all system elements
2.4.3 User Segment
The Galileo User Segment consists in the users equipped with receivers. Like in the GPS User Segment the
main functions are to receive Galileo Signals, determine pseudoranges and solve the navigation equation
to obtain their coordinates and provide accurate time synchronization.
9
10
Chapter 3
Fundamentals
In this chapter the subjects being discussed are: Coordinate Systems where a brief description of the
several referential used is done and some important conversions are presented, the structure of a generic
GNSS receiver is discussed as well as its signal acquisition process, the main errors that affect measure-
ments are presented and their summarized effect in terms of error bias is shown and finally the DOP
concept is presented.
3.1 Coordinate System
It is now necessary to choose a reference coordinate system in which both satellite and receiver can be
represented. In this chapter the most common coordinate frames used will be discussed.
3.1.1 ECI
Earth Centered Inertial (ECI) coordinate system has its origin at the center of the Earth. This reference
frame is called inertial because its axes are pointing in fixed directions with respect to the stars. This
reference frame is commonly used for objects in space, like GNSS satellites as it is simpler to describe
their motion in a non-rotating frame. ECI reference frame is also useful to specify directions towards
celestial objects [17].
The ecliptic is the plane of the Earth’s mean orbit about the sun [13] and it does not coincide with
Earth’s equatorial plane. The angle between the Earth’s mean equator and ecliptic is called the obliquity
of the ecliptic ε [13] and its value is about 23.5 . As this angle is not constant and changes with time to
make this frame truly inertial, the orientation of the axis is defined at a specific instant in time.
One common ECI frame used for GPS satellites is denoted as J2000. This frame uses the orientation
of the equatorial plane at 12.00 hours UTC on January 1, 2000.
The xx axis as its origin in Geocenter (Earth centre of mass) and its direction is fixed towards the
mean equinox (at J2000), zz axis is defined by the direction of the Earth mean rotation pole and yy axis
is rotated 90 East about celestial equator so the system is right handed [37].
11
Figure 3.1: Definition of ECI reference frame
3.1.2 ECEF
For the purpose of calculating the user position using a GPS receiver or its velocity it is more convenient
to use an Earth-centered, Earth-fixed (ECEF) referential which rotates in inertial space in order to remain
fixed with respect to the surface of the Earth. ECEF uses three-dimensional XYZ coordinates (in meters)
to describe the location of a GPS user. The term “Earth-centered”, like in the ECI referential, comes
from the fact that the origin of the axes (0,0,0) is located at the centre of mass of the Earth. The xx axis
as its origin in the Earth center and points in the direction of 0 longitude (Greenwich meridian), the
yy axis points in the direction of 90 East longitude, passing the equatorial plane and zz axis is defined
by the direction of the Earth mean rotation pole. Since the xx axis is fixed to Greenwich meridian this
reference frame will rotate along the zz axis with the Earth angular velocity.
Figure 3.2: Definition of ECEF reference frame [42]
12
WGS84
It is much more common to express geodetic mapping coordinates in Latitude, Longitude and Altitude
(LLA). Latitude, Φ, is a geographic coordinate that specifies the North-South position of a point on the
Earth surface. Latitude is defined by an angle which ranges from 0 at the Equator to 90 at North or
South poles. Longitude, λ, is a geographic coordinate that specifies the East-West position of a point on
the Earth surface. Similarly to Latitude, Longitude is also defined by an angle ranging from 0 to 180 .
Altitude or height expresses the minimum distance between the user and the reference ellipsoid and is
measured in meters.
Figure 3.3: Latitude Φ and Longitude λ on an ellipsoid
Because the Earth has a complex shape, a method to approximate Earth’s shape is required, and for
that we can use a reference ellipsoid which allows for the conversion of the ECEF coordinates (x, y, z) to
LLA coordinates. A reference ellipsoid can be described by a series of parameters that define its shape.
The standard physical model of the Earth used for GPS applications is the World Geodetic System 1984
(WGS 84) [5].
WGS 84 is an ECEF system and a geodetic datum. WGS 84 is based on a consistent set of constants
and model parameters that describe the Earth’s size, shape, gravity and magnetic fields. The parameters
that define this reference frame are listed on the table below [1]:
Parameter ValueSemi-Major axis (a) 6378137.0 meters
Flattening of the Earth (f) 1298.257223563
Nominal Mean Angular Velocity of the Earth (ω) 7.2921151467× 10−5rad/s
Geocentric Gravitational Constant(Mass of the Earth Atmosphere included) (GM) (µ) 3.986004418× 1014m3/s2
Table 3.1: Fundamental parameters of WGS 84
3.1.3 ENU
For some applications or calculations a local reference frame is more practical than using ECEF Cartesian
or geodetic coordinates. A possible local referential is the East, North, Up (ENU) reference frame. The
ENU reference frame is defined at a specific location at the Earth surface, usually the receiver or user
13
position and the E-N plane often coincides with the Earth surface at the origin point. This reference
frame is illustrated in the next figure.
Z
Y
X
North
East
Up
ecef
ecef
ecef
φ
λ
Figure 3.4: Definition of ENU reference frame
3.2 Coordinate System Conversions
Sometimes it is useful to convert from one coordinate system to other. In this section the coordinates
systems conversions used in this thesis will be presented.
3.2.1 Cartesian to Geodetic
Using the constants presented on table 3.1, the conversion from Cartesian to geodetic coordinates can be
done using the following method [32]:
By iteration for φ and h. There is quick convergence for h N .
λ = arctan 2(Y
X
)(3.1)
Starting with h0 = 0
φ0 = arctan(
Z
p (1− e2)
)(3.2)
Iterate φ and h
Ni = a√1− e2 sin2 φi
(3.3)
hi+1 = p
cosφi−Ni (3.4)
14
φi+1 =
arctan Z
p
(1− e2 Ni
Ni + hi+1
) (3.5)
where the auxiliary values are,
p =√X2 + Y 2 (3.6)
e =√a2 − b2
a2 (3.7)
b = a(1− f) (3.8)
3.2.2 Geodetic to Cartesian
Geodetic coordinates can be converted to Cartesian using:
X = (N + h)× cosφ cosλ (3.9)
Y = (N + h)× cosφ sinλ (3.10)
Z =(N(1− e2) + h
)sinφ (3.11)
where
φ : latitude
λ : longitude
h : height above the ellipsoid (meters)
N : radius of curvature (meters) defined as: a√1− e2 sin2 φ
3.2.3 ECEF to ENU
It is possible to convert ECEF (cartesian) coordinates of a point P = (x, y, z) to a local ENU reference
frame. As stated before this ENU reference frame will have its origin at the user location, in this case
Pu = (xu, yu, zu) as shown in figure 3.5.
The transformation equation are given by [35], [32]:
x′
y′
z′
=
− sinλu cosλu 0
− sinφu cosλu − sinφu sinλu cosφucosφu cosλu cosφu sinλu sinφu
x− xuy − yuz − zu
(3.12)
where φu and λu are respectively latitude and longitude of Pu. The coordinates (x′, y′, z′) are the new
coordinates of P relative to the new ENU reference frame.
15
P
U
N
E
εα
Pu
Figure 3.5: ENU reference frame
For z′(t) > 0 the point P is above the skyline. The azimuth angle α and the elevation angle ε of point
P can be obtained from:
tanα = x′
y′(3.13)
sin ε = z′√(x′)2 + (y′)2 + (z′)2
(3.14)
3.3 Receiver Structure
GNSS receivers determine the user position, velocity and precise time (PVT) by processing the signals
broadcasted by satellites. Because the satellites are in motion, the receiver has to continuously acquire
and track signals from the satellites in view, in order to compute an uninterrupted solution.
The receiver’s architecture is adjusted to the different GNSS systems available and the different
applications, but the basic building blocks of a generic GNSS receiver are shown in figure 3.6 [24].
Signal Antenna Front EndBasebandProcessing
ApplicationProcessing PVT
Figure 3.6: Generic receiver architecture
The receiver’s components have the following functions:
• Antenna: captures the GNSS signals, noise and possible interferences.
16
• Front End: The front-end typically down-converts, filters, amplifies and digitizes the incoming
signals.
• Baseband signal processing: Several signal processing routines are used to acquire and track
the different signals. The tracking mode is carried out by two types of closed loops: the phase-lock
loop (PLL) and the delay-lock loop (DLL) that estimates the code of the received signals.
• Applications processing: Depending on the application, the receiver performs different tasks
with the resulting GNSS information, and provides meaningful results to the user. The main task
is the determination of the navigation equation solution.
Most of the GNSS systems use Code Division Multiple Access (CDMA) techniques to multiplex
several satellite signals onto the same frequency. The basic concept behind the CDMA scheme is that
each satellite is assigned with a pseudorandom noise code (PRN code) that modulates the transmitted
signal [24]. Besides, the PRN codes have properties such that autocorrelation function is at maximum
when they are completely aligned and decays rapidly to zero in case of misalignment. GNSS receivers
have prior knowledge of each satellite’s PRN code, and correlate the incoming signals with local code
replicas to determine if a given satellite is visible or not. This task is performed by the baseband signal
processing component. An example of the acquisition process showing the Doppler/code delay search
space and correlation peak is shown in figure 3.7.
Figure 3.7: Example of an acquisition process
In their most common architecture, GNSS receivers assign a dedicated channel to each signal being
tracked and, for the case of multi-frequency receivers, several signals from each satellite can be pro-
17
cessed independently. In order to ensure tracking of the signals in each processing channel, receivers are
continuously estimating and correcting two parameters:
• Code delay: quantifies the misalignment between the local PRN code replica and the incoming
signal. The code delays permit to determine the pseudoranges that are used to solve the navigation
equation.
• Carrier phase (or its derivative, the Doppler frequency): reflects the relative motion between the
satellite and the user.
To determine these parameters the receiver uses tracking loops that form the core of the signal
processing and continuously track the incoming satellite signal in order to generate the code and
carrier phase measurements. Each estimate of the code delay and the carrier phase is used to
regenerate the local PRN code replica, which is then correlated again with the incoming signal.
The result of this operation is then re-assessed at the receiver to re-estimate these parameters,
in a continuous loop. After synchronization with the incoming signals and demodulation of the
navigation message, the data is returned to the application processing block and the receiver uses
the information from the tracking loops for different purposes like determining pseudoranges to
each satellite and computing a navigation solution, performing time transfer or simply collecting
data to be post-processed in ground stations.
3.4 Measurement Errors
There are a number of error sources that can corrupt the measurements from each satellite. The errors
are often categorized as noise or bias. Noise generally refers to a quickly varying error that averages to
zero over a short period of time. A bias tends to persist over a period of time.
These sources can be grouped according to their origin, and can be categorized in three groups [32]:
• Errors in the parameters values broadcast by a satellite in its navigation message;
• Uncertainties associated with propagation medium which affect the travel time of the signal from
a satellite to the receiver (includes ionospheric and tropospheric effects);
• Receiver noise which affects the precision of a measurement, and interference from signals reflected
from surfaces in the proximity of the antenna (includes thermal noise and multipath effects).
In this section the main error sources will be emphasized and a final GPS error budget will be defined.
3.4.1 Satellite Clock Error
GPS satellites contain atomic clocks that control on-board timing operations, including broadcast signal
generation. Although these clocks are highly stable they can experience noise and clock drift errors. To
account for these errors the navigation message contains corrections and estimates of the atomic clock
accuracy. As these parameters are computed using a curve-fit to predicted estimates of the actual clock
18
errors [17] some residual errors still remain as they may not indicate the clock’s current state. These
errors tend to be very small but may add up to few meters of inaccuracy, typically varying from 0.3 - 4m
[17].
Range errors due to residual clock errors slowly degrade over time until next upload. These errors are
recorded and analysed by user equipment that is tracking all visible satellites with ages of data (AoD)
varying from 0 to 24 hours, defined as the typical time between two data uploads [17]. Averaging over
AoD, a nominal 1σ clock error for the constellation in 2004 was 1.1 meter based on data from [38], [14].
3.4.2 Ephemeris Error
The ephemeris error corresponds to the differences between the real orbit and the estimated orbit from
the ephemeris. Ephemerides are estimated and uplinked for each satellite which rebroadcasts them to
the user. As with satellite clock errors these ephemeris parameters are estimated using a curve-fit [17]
of the control’s segment best prediction of each satellite’s position at the time of uplink. An illustration
of this effect is shown in figure 3.8. These residual errors have an effective error on measurements in the
order of 0.8 meters (1σ) [41].
Figure 3.8: Ephemeris Error Illustration
3.4.3 Atmospheric Effects
From the satellites to the receiver signals travel through different mediums that have different indices of
refraction which have effects on signal propagation. These effects include the "excess" of GNSS signal
path due to the variation of the refraction index in the atmosphere and, mainly, to the signal delays or
advances due to its propagation velocity in the atmosphere.
The index of refraction of the signals is given by
19
n = c
v(3.15)
where
c : light speed in vacuum
v : light speed in the medium
As the Earth atmosphere is constituted from several layers it is important to understand how these
layers can influence signal propagation and therefore the measurements error.
The two atmospheric layers that most influence signals propagation are ionosphere and troposphere
[17] so it is important to understand the contribution from each of these effects in the measurements
error.
Ionospheric Effects
The ionosphere is the zone of the atmosphere that extends approximately from 70 to 2000 kilometres
above the Earth’s surface. This layer contains a partially ionized medium resulting from X and UV rays
of Solar radiation and the incidence of charged particles.
The propagation speed of the GNSS signals in the ionosphere depends on its electron density. A map
of the worldwide Total Electron Content can be seen in figure 3.9.
Figure 3.9: Example of a worldwide TEC map [21]
A medium where the angular frequency ω and the wave number k are not proportional is a dispersive
medium (i.e the refractive index depends on the frequency). This is the case with the ionosphere where
ω and k are related by [12]:
ω2 = c2k2 + w2p (3.16)
20
and
wp = 2πfp
fp = 8.98√Ne
(3.17)
where Ne is the Electron Density in e/m3
The TEC influences the ionospheric refraction [22] which depends on user location as seen in figure
3.9. Also, as the ionosphere is a dispersive medium, GNSS signals refraction depends on its frequency.
This dependence on the signal frequency allows us to remove its effect using two frequency measurements.
Single frequency receivers have to apply an ionospheric prediction model (such as the Klobuchar model)
to remove this effect. A typical 1σ value for residual ionospheric delays, averaged over the globe and over
elevation angles is 7 meters [31].
Tropospheric Effects
Troposphere is the atmospheric layer below ionosphere, from the Earth surface to an altitude of about 70
kilometres. The effect of the troposphere on GNSS signals appears as an extra delay in the measurement
of the signal [22] travelling from the satellite to the receiver. This delay depends on temperature, pressure,
humidity and satellite and receiver position according to [22]:
∆ =∫straight line
(n− 1)dl (3.18)
it can be written as
T =∫
(n− 1)dl = 10−6∫Ndl (3.19)
where n is the refractive index of the air and n = 10−6(n − 1) is the refractivity. The refractivity can
be divided in hydrostatic (dry gases) and wet (water vapour). Each of these components has different
effects on GNSS signals.
Troposphere is a non dispersive media with respect to electromagnetic waves up to 15 GHz, so the
tropospheric effect are not frequency dependent for GNSS signals. A consequence of this is that delay in
the troposphere can not be removed by combination of dual frequency measurements. The only way to
mitigate this effect is to use models or estimate it from observational data.
The longer the path of the GNSS signals through the troposphere the higher is the delay (3.18), (3.19),
so lower elevation angle satellites will have their measurements most affected by this error. An average
of the troposphere delay 1σ is 0.2 meters [17].
3.4.4 Receiver Noise
Receiver noise also affects measurements, though, in a small proportion compared with other error sources.
The dominant source of measurements errors on the receiver are due to thermal noise and the effect of
interferences [17]. Typical modern receivers have a 1σ value for noise and resolution in the order of 0.1
meters.
21
Figure 3.10: GNSS signals path deviation due to Atmospheric Effects
3.4.5 Multipath
Multipath interference is generated when signal arrives by two or more paths to the antenna. Since the
path travelled by a reflection is always longer than the direct path, multipath signals arrivals are delayed
relative to the direct path. When this delay is large the receiver can resolve the multipath. As long as
the receiver tracks the direct path these resolvable multipath have little influence. If multipath reflections
are from near surfaces, these interferences can arrive with a short delay after the direct path which can
produce more considerable errors in position, velocity and time [17]. Signals from satellites with low
elevations are also more likely to suffer from multipath effects [22].
Typical 1σ value for noise from multipath is in the order of 0.2 meters.
Figure 3.11: Multipath effect Illustration
3.4.6 Pseudorange Error Budget
As discussed in this section several parameters can influence the measurement error from GNSS mea-
surements.
The combination of these errors is known as User Equivalent Range Error (UERE) and corresponds
22
to the root-sum-squared of the components that contribute to measurements errors. These errors are
considered independent Gaussian random variables [17], thus the UERE can be identically distributed
by the satellites.
The summary of these errors for SPS single frequency C/A code receiver is summarized in table 3.2.
Segment Source Error sorce 1 σ Error (m)
Space Broadcast clock 1.1L1 P(Y)-L1 C/A group delay 0.3
Control Broadcast ephemeris 0.8
UserIonospheric delay 7
Receiver noise and resolution 0.1Multipath 0.2
System UERE Total 7.1
Table 3.2: Pseudoranges error table for SPS C/A code [17]
3.5 DOP
Dilution of Precision is a term used to specify the multiplicative effect of the visible satellites constellation
geometry on the solution precision. This effect can be easily understood in the following figures.
Figure 3.12: Good DOP geometry
Figure 3.13: Bad DOP geometry
From figure 3.13 we can understand that when visible satellites are close together its geometry is poor
and their respective DOP value is high. When the satellites are separated in the sky their geometry is
good (figure 3.12) and their respective DOP value is low.
Depending on the applications some solutions may have to be discarded due to the poor satellite
geometry and respective DOP value. In table 3.3 the DOP values and their meanings are presented.
23
DOPvalue Rating Description
1 Ideal Highest possible confidence level to be used in for applications demanding thehighest precision.
1-2 Excellent Positional measurements are considered accurate enough for most sensitive ap-plications
2-5 Good Minimum level appropriate for business decisions.5-10 Moderate Positional measurements could be used for calculations but a more open view of
the sky is recommended.10-20 Fair Represents a low confidence level. Positional measurements should only be used
to have a rough estimate of the current location>20 Poor At this level the solution should be discarded
Table 3.3: DOP value description
24
Chapter 4
Position Determination
Let’s consider
Di =√
(Xi − xR)2 + (Yi − yR)2 + (Zi − zR)2 (4.1)
the distance between the satellite i with coordinates (Xi, Yi, Zi), and the receiver with coordinates
(xR, yR, zR).
GPS receivers receive and decode signals from satellites with information about their positions, en-
abling the receivers to compute their own position [27].
Let’s consider tR is the nominal time (time indicated by the clock) on the receiver at the time of signal
reception and ti the nominal time on the satellite at time of signal output. The time on the satellites is
obtained by the set of atomic clocks while the time on the receiver is obtained by a quartz clock with a
much lower accuracy. The relations between nominal time and real time ti and tR are
tR = tR + ∆tR (4.2)
ti = ti + ∆ti (4.3)
where ∆ti and ∆tR are respectively the clock errors of the satellite and receiver. Generally |∆ti| |∆tR|.
Pseudorange is a distance measured between the satellite and the receiver
ρi = (tR − ti)c (4.4)
where c is the light speed.
The pseudorange ρi would be equal to the geometric distance Ri if the propagation medium was
vacuum and if there were no clock errors or other disturbances to the signal propagation. As this is not
the case these distances are not coincident. These errors were discussed in more detail in chapter 3.4.
To determine the user position (xu, yu, zu) and clock offset tu, pseudorange measurements are made
25
relatively to M satellites, with M ≥ 4, resulting in [27]:
ρ1 =√
(X1 − xu)2 + (Y1 − yu)2 + (Z1 − zu)2 + ctu + ε1
ρ2 =√
(X2 − xu)2 + (Y2 − yu)2 + (Z2 − zu)2 + ctu + ε2
...
ρM =√
(XM − xu)2 + (YM − yu)2 + (ZM − zu)2 + ctu + εM
(4.5)
where
ρi : pseudorange
(Xi, Yi, Zi) : coordinates of satellite i
(xu, yu, zy) : coordinates of the user
εi : measurement error associated with ρi
Figure 4.1: Illustration of position calculation with 4 satellites
Generally these errors are considered independent, Gaussian, zero mean and equal variance.
As the equations are nonlinear there are several methods that can be used to obtain a solution, namely
[17]:
1. Bancroft algorithm;
2. Iterative solutions;
3. Kalman filtering.
Some of these solutions, like 1 and 2, carry little information to the next measurement, namely, they
carry no information about user dynamics. Kalman filtering solution overcomes this kind of limitation
[27]
26
4.1 Least-Squares
Considering equations (4.5) in the form:
ρi =√
(xi − xu)2 + (yi − yu)2 + (zi − zu)2 + τu (4.6)
where εi was not taken into account and τu = ctu.
Considering an approximate position location (xu, yu, zu) and a receiver clock offset τu:
ρi =√
(xi − xu)2 + (yi − yi)2 + (zi − zi)2 + τu (4.7)
The unknown user position and receiver clock offset consists of an approximate component and an
incremental component:xu = xu + ∆xu
yu = yu + ∆yu
zu = zu + ∆zu
τu = τu + ∆τu
(4.8)
Let us consider the following Taylor series expansion: [27]
ρi = ρi + ∂ρi∂xu
∆xu + ∂ρi∂yu
∆yu + ∂ρi∂zu
∆zu + ∂ρi∂τu
∆τu + . . . (4.9)
The expansion is truncate after first-order partial derivatives to eliminate nonlinear terms. The partial
derivatives evaluate [27]:∂ρi∂xu
= −xi − xuri
∂ρi∂yu
= −yi − yuri
∂ρi∂zu
= −zi − zuri
∂ρi∂τu
= 1
(4.10)
where
ri =√
(xi − xu)2 + (yi − yu)2 + (zi − zu)2 (4.11)
Substituting (4.10) in (4.9) [27]:
ρi − ρi = xi − xuri
∆xu + yi − yuri
∆yu + zi − zuri
∆zu −∆τu (4.12)
27
For convenience:∆ρi = ρi − ρi
axi = xi − xuri
ayi = yi − yuri
azi = zi − zuri
(4.13)
Rewriting (4.12):
∆ρi = axi∆xu + ayi∆yu + azi∆zu − c∆τu (4.14)
For four satellites and in matrix notation:
∆ρ =
∆ρ1
∆ρ2
∆ρ3
∆ρ4
H =
ax1 ay1 az1 −1
ax2 ay2 az2 −1
ax3 ay3 az3 −1
ax4 ay4 az4 −1
∆v =
∆xu∆yu∆zu∆τu
(4.15)
Finally we obtain:
∆ρ = H∆v (4.16)
which leads to the solution:
∆v = H−1∆ρ (4.17)
Once the unknowns are computed the user position and the receiver clock offset can be calculated
using (4.8).
The solution (4.17) assumes that 4 satellites are being used. If the number of satellites is bigger than
4 the matrix H takes the form:
H =
ax1 ay1 az1 −1
ax2 ay2 az2 −1... · · ·
......
axn ayn azn −1
(4.18)
and solution (4.16) cannot be (4.17). In this case the least squares method can be used:
∆v = K∆ρ (4.19)
where
K = (HTH)−1HT (4.20)
User coordinates are
vk = vk−1 + ∆vk = vk−1 + (HTk Hk)−1HT
k ∆ρ (4.21)
In figure 4.2 the flowchart represents the recursive Least-Squares scheme.
28
Computation of Hk and ρk
Computation of vk
k → k − 1
Figure 4.2: Recursive Least-Squares Scheme
4.2 DOP calculation
DOP parameters can be defined as the quotient between the RMS positional error and the σUEREparameter.
DOP = ErrorRMS
σUERE(4.22)
Taking now into account (4.19) and (4.20), and assuming that ∆ρ is a Gaussian vector of independent,
zero-mean errors with equal variances σ2UERE , we have
E∆v∆vT = σ2UERE(HTH)−1 (4.23)
Let
E∆v∆vT =
σ2xu σ2
xuyu σ2xuzu σ2
xuctu
σ2xuyu σ2
yu σ2yuzu σ2
yuctu
σ2xuzu σ2
yuzu σ2zu σ2
zuctu
σ2xuctu σ2
yuctu σ2zuctu σ2
ctu
(4.24)
The most generic parameter, GDOP (Geometric DOP), can be calculated from:
GDOP = 1σUERE
√σ2xu + σ2
yu + σ2zu + σ2
ctu (4.25)
If we write matrix (HTH)−1 in the form
(HTH)−1 =
h11 h12 h13 h14
h21 h22 h23 h24
h31 h32 h33 h34
h41 h42 h43 h44
with hij = hji (4.26)
we can obtain for (4.25)
29
GDOP =√trace(HTH)−1 =
√h11 + h22 + h33 + h44 (4.27)
Several other DOP parameters in common use are useful to characterize the accuracy of various
components of the position/time solution. These are termed Position DOP (PDOP) and time DOP
(TDOP). These can be calculated from:
PDOP = 1σUERE
√σ2xu + σ2
yu + σ2zu (4.28)
or
PDOP =√h11 + h22 + h33 (4.29)
TDOP = σctuσUERE
(4.30)
or
TDOP =√h44
c(4.31)
Other parameters like Horizontal DOP (HDOP) and Vertical DOP (VDOP) can be calculated similarly
but these parameters are both dependent on the coordinate system used. In this case an ENU reference
frame must be used. The expressions are
HDOP = 1σUERE
√σ2xu + σ2
yu (4.32)
V DOP = σzuσUERE
(4.33)
Assuming a matrix similar to (4.26) with hij we obtain
HDOP =√h11 + h22 (4.34)
or
V DOP =√h33 (4.35)
Generally the receivers use an algorithm based on GDOP parameter to select the best satellite set
among the satellites in view.
4.3 Position solution using Kalman Filter
Extended Kalman Filter is frequently used as an alternative to Least Squares to obtain a solution for the
navigation equation. The observables are incorporated in discrete time intervals, in this case of 1 second,
and the observation model is linearised relatively to the best state estimate. The xk state has five, eight
or eleven components (depending on the model chosen) including two components for the receiver clock
30
model [35].
4.3.1 Dynamics models
The number of space components depends on the dynamics model chosen. This model is usually chosen
according to the type of trajectory expected.
For a fixed receiver the P model is usually enough. The state vector dimension in this model is 5
(3 position coordinates plus 2 clock components). When we have a receiver in motion it is convenient
to use a PV model (position + velocity) with a state vector dimension of 8 (3 position coordinates + 3
velocity coordinates + 2 clock components). If the receiver suffers big accelerations in its trajectory the
PVA model is recommended, with a state vector dimension of 11 (3 position coordinates + 3 velocity
coordinates + 3 acceleration coordinates + 2 clock components). In this thesis it was chosen to use the
PV and PVA model.
In the PV model each coordinate is modelled as an integrated Brownian motion as illustrated in 4.3
gaussian whitenoise
1s
1s
positionvelocityX2
Figure 4.3: PV model for each coordinate using an integrated Brownian motion
In the PVA model we could model each coordinate as an integrated Brownian motion but it is more
appropriate to use a first order Gauss-Markov process to characterize the acceleration [35].
gaussian whitenoise
α
s+ β1s
1s
positionaccelerationX3
velocityX2 X1
Figure 4.4: PVA model for each position coordinate using a Gauss-Markov process for the acceleration
In addition to the models PV and PVA considered it is necessary to characterize the clock offset as
a state model.
4.3.2 Clock state model
A simple clock model is defined as a state vector with dimension two, in which frequency and phase show
variations of Brownian motion in reasonable time intervals. In figure 4.5 the state model considered in
[35] is shown.
The quantities uφ(t) and uf (t) are independent white noises, with zero mean and are characterized
by the covariance matrix:
Qu =
qφ 0
0 qf
(4.36)
in which qf and qφ are, respectively, the spectral density of power of uf (t) and uφ(t).
31
Gaussian whitenoise
1s
+ 1s
xφ(t) = ∆Txf (t) y(t)
frequency
uf (t)
Phase
Gaussian whitenoise
uφ(t)
Figure 4.5: Clock state model
The dynamics equation is xφ(t)
xf (t)
=
0 1
0 0
xφ(t)
xf (t)
+
uφ(t)
uf (t)
(4.37)
and the equation in discrete time is
xφ,k+1
xf,k+1
=
1 ∆t
0 1
xφ,k
xf,k
+
uφ,k
uf,k
(4.38)
where the covariance noise matrix is
Qk =∫ tk+1
tk
Φ(tk+1, τ)QuΦT (tk+1, τ)dτ
=
qφ∆t+ qf (∆t)3
3qf (∆t)2
2qf (∆t)2
2 qf∆t
≈ ΦQuΦT∆t(4.39)
The entries of matrix (4.36) are given by [35]
qφ ≈h0
2qf ≈ 2π2h−2
(4.40)
where h0 and h−2 are Van Allan variance parameters [40].
The values of h0 and h−2 depend on the clocks used in the GPS receivers. The typical values are
shown in table 4.1 and correspond to the clock offsets measured in seconds.
As these values will be used for clock offsets measured in meters, they have to be multiplied by squared
speed of light.
Type of oscillator h0 h−2
Temperature compensated crystal 2× 10−19 2× 10−20
Crystal oven 8× 10−20 4× 10−23
Rubidium 2× 10−20 4× 10−29
Table 4.1: Typical values of h0 and h−2 depending on the oscillator used [40]
32
For the simulation performed in this thesis it is required to generate the values of
uφ
uf
with
correlated components of matrix 4.39. The values of uφ and uf can be obtained from [27]:
uφ = aW1
uf = bW1 + cW2
(4.41)
where W1 and W2 are independent, zero-mean Gaussian r.v. with zero mean variance, that is
W1 ∼ N(0, 1)
W2 ∼ N(0, 1)(4.42)
thus
σ2uφ
= Eu2φ = a2EW 2
1 = a2 (4.43)
σ2uf
= Eu2f = Eb2W 2
1 + c2W 22 + 2bcW1W2
= b2 + c2 + 2bc× EW1W2 (4.44)
Euφuf = EaW1(bW1 + cW2) = ab (4.45)
Qk =
σ2uφ
σ2uφuf
σ2uφuf
σ2uf
=
a2 ab
ab b2 + c2
(4.46)
So from 4.39
a2 = qφ∆t+ qf (∆t)3
3
ab = qf (∆t)2
2b2 + c2 = qf∆t
(4.47)
Solving for a, b and c yields
a =√qφ∆t+ qf (∆t)3
3
b = qf (∆t)2
2ac =
√qf∆t− b2
(4.48)
4.3.3 Extended Kalman filter: dynamics models
The dimensions of the dynamics models depend on the model used. As stated before in this thesis the
models PV and PVA were implemented, therefore they will be described in detail.
33
PV model
The state space equation of the continuous model for the xu coordinate is: x1(t)
x2(t)
=
0 1
0 0
x1(t)
x2(t)
+
0
uv(t)
(4.49)
where noise vector covariance is E[0uv(t))]T [0uv(τ)] = Qδ(t− τ) and the covariance matrix is
Q = qv
0 0
0 1
(4.50)
For a discrete time model we obtain x1,k+1
x2,k+1
=
1 ∆t
0 1
x1,k
x2,k
+
u1,k
u2,k
(4.51)
where the covariance noise matrix is
Qk = E[u1,ku2,k]T [u1,ku2,k] = qv∆t
(∆t)2
3∆t2
∆t2 1
(4.52)
If xk = [x1,k . . . x8,k]T is the state vector in which x1,k and x2,k are the position and velocity of the xuuser coordinate, x3,k and x4,k are the position and velocity of the yu user coordinate and x5,k and x6,k
are the position and velocity of the zu user coordinate, the dynamics model in discrete time is given by
x1,k+1
x2,k+1
x3,k+1
x4,k+1
x5,k+1
x6,k+1
x7,k+1
x8,k+1
=
1 ∆t
1 0
1 ∆t
1
1 ∆t
1
0 1 ∆t
1
︸ ︷︷ ︸
Φk
x1,k
x2,k
x3,k
x4,k
x5,k
x6,k
x7,k
x8,k
+
u1,k
u2,k
u3,k
u4,k
u5,k
u6,k
u7,k
u8,k
(4.53)
34
where Φk is the dynamics matrix and the elements of the noise covariance matrix Qk are
qii = qv(∆t)3
3
qi,i+1 = qi+1,i = qv(∆t)2
2qi+1,i+1 = qv∆t, i = 1, 3, 5
q77 =[qφ∆t+ qf (∆t)3
3
]c2
q78 = q87 = qf (∆t)2
2 c2
q88 = qfc2∆t
(4.54)
and the other elements are zeros.
The qv quantity can be calculated using (4.51) yielding
acceleration ≈ x2,k+1 − x2,k
∆ t = u2,k
∆t (4.55)
so
qv = Eu22,k ≈ ∆t2(acceleration)2 (4.56)
PVA model
In this model positions xu, yu and zu are modelled as Gauss-Markov processes doubly integrated. So,
if x1, x2 and x3 are the state variables corresponding to position, velocity and acceleration of the xucoordinate, we can obtain
x1(t)
x2(t)
x3(t)
=
0 1 0
0 0 1
0 0 −β
x1(t)
x2(t)
x3(t)
+
0
0
α
u(t) (4.57)
where u(t) is a Gaussian white noise process with unity power spectrum.
The acceleration model is given by x3(t) = −βx3(t) + αu(t), corresponding to a low-pass Gaussian
process defined in the frequency by
j2πfX3(f) = −βX3(f) + αU(f) (4.58)
with transfer function
H(f) = X3(f)U(f) = α
β + j2πf (4.59)
The cutting frequency of x3(t) at −3dB is fc = β
2π and power is given by
∫ +∞
−∞
α2df
β2 + 4π2f2 = α2
2β (4.60)
35
The state transition matrix corresponding to (4.57) is
Φk =
1 ∆t 1
β2 (e−β∆t + β∆t− 1)
0 1 1β
(1− e−β∆t)
0 0 e−β∆t
(4.61)
The covariance matrix of the dynamics noise of discrete time corresponding to (4.57) is
Qk =
q11 q12 q13
q12 q22 q23
q13 q23 q33
(4.62)
where
q11 = α2
β5
[−e−2β∆t
2 − 2β∆te−β∆t − β2∆t2 + 12 + β∆t
]q12 = α2
β4
[e−2β∆t
2 + β∆te−β∆t − e−β∆t + β2∆t2
2 − β∆t+ 12
]q13 = α2
β3
[−e−2β∆t
2 − β∆te−β∆t + 12
]q22 = α2
β3
[−e−2β∆t
2 + 2e−β∆t + β∆t− 32
]q23 = α2
β2
[e−2β∆t
2 − e−β∆t + 12
]q33 = α2
2β[1− e−2β∆t]
(4.63)
To obtain the dynamics model in discrete time we use a state vector xk = [x1,k . . . x11,k] and the
process is the same as for the PV model, where x1,k, x2,k, x3,k are the position, velocity and acceleration
for the xu coordinate, respectively, and the same for yu and zu coordinates. The noise covariance matrix
Qk (11× 11) is block diagonal Qk = diagQk, Qk, Qk, Qk
4.3.4 Extended Kalman filter: observations model
The dynamics equations are linear for the two dynamics models implemented, but the observation’s
equation
zk = h[x(tk)] + vk (4.64)
is nonlinear. In (4.64) zk = [ρ1,k . . . ρn,k]T , with n ≥ 4, is the measured pseudoranges vector and
h[x] =
√
(x1 − xa)2 + (y1 − xb)2 + (z1 − xc)2 + xd...√
(xn − xa)2 + (yn − xb)2 + (zn − xc)2 + xd
(4.65)
36
where xi, yi and zi are the satellite coordinates of the i satellite, with i = 1, . . . , n and xa, xb, xc and xdare the state vector components of xu, yu, zu and xφc. The covariance noise matrix of the observations
is
Rk =
σ2
1,UERE 0
σ22,UERE
...
0 σ2n,UERE
(4.66)
If all the variances of the several pseudoranges are equal to σ2UERE , Rk will be given by
Rk = σ2UERE × I (4.67)
The observation’s matrix of the extended Kalman filter is
Hk =[∂hi[x(k | k − 1)]
∂xj
](n×l)
(4.68)
where n is the satellite number and l is the state vector dimension, depending on the dynamics model
adopted. For the PV model l = 8
Hk = −
ax1 0 ay1 0 az1 0 −1 0...
......
......
......
...
axn 0 ayn 0 azn 0 −1 0
(4.69)
For the PV A model l = 11
hk = −
ax1 0 0 ay1 0 0 az1 0 0 −1 0...
......
......
......
......
......
anx 0 0 ayz 0 0 azn 0 0 −1 0
(4.70)
where
axi = xi − xuri
ayi = yi − yuri
azi = zi − zuri
(4.71)
with
ri =√
(xi − xu)2 + (yi − yu)2 + (zi − zu)2 (4.72)
and
[xu yu zu]T = [xu(k | k − 1) yu(k | k − 1) zu(k | k − 1)]T (4.73)
In figure 4.6 the flowchart represents the Kalman filter applied to the resolution of the navigation
37
equation
Gain calculation:Kk = P−k H
Tk [HkP
−k H
Tk +Rk]−1
Estimation updatex+k = x−k +Kk(zk − zk)
Error covariance updateP+k = (I −KkHk)P−k (I −KkHk)T +KkRkK
Tk
Predictionx−k+1 = Φkx+
k
P−k+1 = ΦkP+k ΦTk +Qk
k + 1⇒ k
Initial conditionsx−0 P
−o
Observationsz0, z1, . . .
Estimatesx+
0 , x+1 , . . .
Figure 4.6: Kalman filter flowchart applied to the resolution of the navigation equation
In figure 4.6:
x−k = x(k | k − 1) x+k = x(k | k)
P+k = P (k | k) P−k+1 = P (k + 1 | k)
zk = h[x(k | k − 1)]
zk = [ρ1,k . . . ρn,k]T
For the initialization of the algorithm in this thesis the following parameters were used for P and x,
considering the PV model
P (1 | 0) =
p11 0
p22. . .
0 p88
(4.74)
pkk →∞ (108considered)
38
x(1 | 0) =
x1
x2
x3
x4
x5
x6
x7
x8
→
→
→
→
→
→
→
→
best x position estimate
0
best y position estimate
0
best z position estimate
0
0
0
(4.75)
For PVA model initialization is similar but the model has dimension 11.
39
40
Chapter 5
Integrity
The positioning estimates obtained with a GNSS system are not absolutely accurate. Besides the errors
discussed in section 3.4 some other malfunctions can lead to bigger errors that could compromise the
navigation solution.
In civil aviation strict requirements are imposed on levels of precision, integrity, continuity and avail-
ability of the service. Integrity is the measure of the trust that can be placed in the correctness of the
information supplied by a navigation system and includes the ability of the system to provide timely
warnings to the user when the service should not be used [30]. Integrity is defined by the integrity risk,
time to alert and alert limit requirements [33]:
• Integrity Risk: Is the probability of an undetected failure of specified accuracy. It is expressed
per hour or per operation.
A position failure is defined to occur whenever the position solution error exceeds the applicable
xPL or xAL (if the equipment is aware of the navigation mode). xPL stands for Horizontal or
Vertical Protection Level and xAL stands for Horizontal or Vertical Alert Limit.
• Time to Alert: It is the maximum allowable time interval between system performance ceasing to
meet operational performance limits and the appropriate integrity monitoring subsystem providing
an alert.
• Alert Limits: For each phase of flight, to ensure that position error is acceptable, alert limits are
defined that represent the largest position error which result in a safe operation.
While horizontal alert limits (HAL) requirements are defined for all the phases of flight, vertical
alert limits (VAL) are only defined for phases of flight under Non-Precision Approach. ICAO
requirements for common phases of flight are shown in table 5.1.
Integrity is one of the most essential aspects in navigation as abnormal positioning results would
reflect in safety. Integrity anomalies are a rare occurrence, accounting only for a couple of times a year,
but can be critical especially in aviation. The three main sources of errors that could lead to integrity
problems are: satellite clocks, ephemeris errors and faults of main control station [27].
41
Typical operations(s) Accuracy 95%Integrity
Time to alert Alert limit Integrity riskEn-route H 3.7 km 5 min H 7.4 km 10−7/h
En-route terminal H 0.74 km 15 s H 1.85 10−7/h
Initial approach,Intermediate approach,
NPA, departureH 220m 10 s H 0.6 km 10−7/h
APV-I H 16 mV 20 m 10 s H 40 m
V 50 m 2× 10−7/app
APV-II H 16 mV 8 m 6 s H 40 m
V 20 m 2× 10−7/app
CAT I H 16 m4 ≤V≤ 6 m 6 s H 40 m
10 ≤V≤ 15 m 2× 10−7/app
Table 5.1: ICAO requirements for common phases of flight
Ground Segment of GNSS systems controls the health status of the satellites to ensure that messages
do not degrade beyond specified operational tolerances. However not all satellites are visible all the time
by control stations so an anomaly in one of the satellites could take up to a few hours to be identified
and disseminated by the control segment [25]. To overcome these limitations there are several integrity
architectures to provide integrity to critical applications like aviation. Three different architectures have
been proposed to provide integrity to the aviation community [16]:
• SBAS - Satellite-Based Augmentation System
• GBAS - Ground base augmentation System
• ABAS- Aircraft-Based Augmentation System
– RAIM - Receiver Autonomous Integrity Monitoring
– AAIM - Airborne Autonomous Integrity Monitoring
5.1 SBAS
SBAS is a satellite-based augmentation system that works as a safety critical system for civil aviation that
supports wide-area or regional augmentation, through the use of geostationary satellites that broadcast
augmentation information [17]. This augmentation method works by providing integrity and correction
information to the system. As external information is incorporated in the calculus process not only
integrity is assured but also accuracy is improved, with position errors bellow 1 meter (1σ) [25].
Some GNSS systems, like GPS, were not designed to provide integrity data required by civil aviation
for safety needs. An Augmentation System like SBAS can overcome this limitation. SBAS is a wide-area
differential augmentation system constituted by a network of ground stations at known positions over
the SBAS service area to monitor signals from the satellite constellation. These ground stations collect
42
and process the information and provide corrections to the original navigation information of the primary
constellation, and integrity information over that region [25].
5.1.1 SBAS around the world
SBAS system is available in many parts of the world, provided by a collection of interoperable systems.
Worldwide SBAS coverage is continuing to grow.
To ensure seamless operation each SBAS system has been developed to the same standard as defined
by [16].
The systems available at the moment are listed below [11]:
• Wide Area Augmentation System (WAAS)
– Serves North America with benefits that extend into Central and South America over the
Atlantic and Pacific oceans.
• European Geostationary Navigation Overlay Service (EGNOS)
– Commissioned for Safety-of-Life in March 2011;
– Serves Europe and northern portion of Africa.
• Multi-functional Transport Satellite (MSAT) Satellite Augmentation System (MSAS)
– Serves Japan and surrounding areas;
– Provides lateral navigation service.
• GPS Aided Geostationary Earth Orbit (GEO) Augmented Navigation (GAGAN)
– Still under development;
– Will serve India and surrounding area.
• System of Differential Correction and Monitoring (SDCM)
– Still under development;
– Augmentation for GPS and GLONASS;
– Will serve Russia and the surrounding area.
5.1.2 WAAS
The Wide Area Augmentation System (WAAS) is the United States Satellite Based Augmentation Sys-
tem. The development started in 1992 and the system is specially developed for civil aviation community.
The system was declared operational since 2003 and its service area includes US, Alaska, Canada and
Mexico.
43
Figure 5.1: SBAS systems worldwide [44]
WAAS Services
WAAS has the objective of providing improved accuracy, integrity, and continuity of the GPS service.
The WAAS provides signal-in-space to WAAS users to support en route through precision approach
navigation. WAAS GEO satellites have ranging capabilities, so their satellites can be used as extra GPS
satellites to enhance the performance achieved in the user location because of the additional statistics
and improved geometry. Additionally, WAAS signals broadcast augmentation information that corrects
GPS ephemeris and ensures integrity.
Presently WAAS supports en-route, terminal and approach operations for the WAAS service area.
WAAS supports the following flight procedures [25]:
• LNAV (Lateral Navigation)
• LNAV/VNAV (Lateral Navigation / Vertival Navigation)
• LP (Localizer Performance)
• LPV (Localizer Performance with Vertical guidance).
WAAS Architecture
WAAS works by processing GPS data collected by a network of reference stations to generate the SBAS
message which is uploaded to the GEO satellites. The GEO satellites broadcast this information to the
user receivers, which compute the aircraft positioning information on potential alert messages [17].
WAAS architecture includes:
• WAAS Ground Segment: The WAAS ground segment includes reference stations (Wide-Area Ref-
erence Stations WRS), master stations (WAAS Master Stations WMS), uplink stations (Ground
Uplink Stations GUS) and operative centers. The WRS collect signals transmitted by GPS satel-
lites and send that information to the WMS. The WMS process all data to build an augmentation
44
message that will contain corrections to the GPS data and confidence limits to those corrections.
The message generated is uplinked from the GUS to the WAAS GEO satellites which will broadcast
them to the users.
• WAAS Space Segment: The space segment is composed by multiple geosynchronous communication
satellites (GEO) that broadcast the WAAS augmentation messages generated by the WMS to the
User Segment.
• User Segment: The user segment is constituted by any user, usually an aircraft, equipped with
approved WAAS avionics.
5.1.3 EGNOS
European Geostationary Navigation Overlay System (EGNOS) is the European SBAS system that com-
plements existing satellite navigation systems like GPS, GLONASS and Galileo. EGNOS reports on the
reliability and accuracy of the positioning data from such systems.
EGNOS Services
EGNOS system supports the following systems:
• Open service (OS) - The open service consists of a set of signals for timing and positioning for general
propose applications. Its main objective is to obtain enhanced positioning accuracy by correcting the
error contributions that affect GPS signals, related with satellite clocks, satellite signal distortions,
satellite positioning uncertainties and ionospheric delays. Effects like tropospheric delay, multipath
and receiver contributions cannot be corrected using a SBAS system. To access this open service the
user only needs a GNSS/SBAS compatible receiver and does not require any specific certification
nor authorization.
• Safety of Life Service (SoL) - EGNOS Safety of Life Service consists of an augmentation system
intended for most transport safety critical applications. This service is intended to support domains
where the degradation in the navigation system performance without a warning would endanger
lives. To have access to SoL service the user should be equipped with an EGNOS certified receiver
and located within the EGNOS SoL Service area. Usually an authorization is needed to use this
service as defined in document [10].
• Commercial Data Distribution Service (CDDS) - EGNOS Commercial Data Distribution Service
provides additional data for professional users not provided by EGNOS signal broadcast by geo-
stationary satellites but by other distribution channels. Access to CDDS is offered on a controlled
access basis and is intended for ground based users who require enhanced performances.
EGNOS Architecture
The EGNOS system is composed by the following systems [10]:
45
• Ground Segment - The Ground Segment is composed by 34 Ranging and Integrity Monitoring
Stations (RIMS) that receive signals from GPS satellites, 4 Mission Control Centers (MCC) that
process data, and 6 Navigation Land Earth Stations (NLES) responsible for accuracy and reliability
data sending to geostationary satellite transponders to allow user devices to receive them.
• Space Segment - EGNOS Space Segment is composed by the three GEO satellites that broadcast
EGNOS signal over the service area.
• User Segment - Composed by the user receivers and user terminals
SOF
GOL
WRS
LAP
KIR
TRO
TRD
GVL
GLG
EGIRKK
CRK
BURSWA
ALB
BRN
LAN
ZUR
ROM
CIA
FUC
CTN
SCZ
PAR
TLS
AUS
PDM
TOR
SDC
ACR
LSB
MLG
MON
KOU
MAD
CNR
NOU
DJA
ALY
HBK
MCC
NLES
EGNOS
RIMS
Figure 5.2: EGNOS map of Ground Segment [43]
5.2 GBAS
A Ground-Based Augmentation System (GBAS) is a civil-aviation system that supports local augmenta-
tion of the primary GNSS constellation by providing enhanced levels of service that support all phases of
approach, landing, departure and surface operations. Mainly its purpose is to provide integrity assurance
but it also increases accuracy with position below 1 meter (1σ) [25].
The GBAS is intended primarily to support precise approach operations. The GBAS system is
constituted by GBAS ground subsystem and a GBAS aircraft subsystem. The ground subsystem can
support an unlimited number of aircrafts within the GBAS coverage volume.
The GBAS ground system is constituted by one or more GNSS receivers that collect pseudo-ranges for
all the primary GNSS satellites in view and computes and broadcasts differential corrections and integrity
information for them based on its own position. The corrections are transmitted from the ground station
via very high frequency (VHF). In the case of GPS these techniques are known as differential GPS
(DGPS).
46
5.3 RAIM
RAIM is a user algorithm that determines the integrity of the GNSS solution. When more satellites are
available than needed to have a position fix (satellite number > 4), the extra pseudoranges should be
consistent with the computed position. If the pseudorange from one satellite differs significantly from
the expected value some fault may be associated with it or with another signal integrity problem. A key
assumption usually made in RAIM algorithms for civil aviation is that only one satellite may be faulty,
mainly because the probability of multiple satellite failures is negligible [25].
In order for a receiver to use a RAIM algorithm it is necessary to have a minimum of five visible
satellites with a good geometry. With five satellites available we can use an algorithm called Fault
Detection (FD). If six or more satellites are available we can use a more sophisticated algorithm called
Fault Detection and Exclusion (FDE).
5.3.1 FD
Fault detection algorithm can be used with only five satellites visible. With five satellites available we can
make five subsets of four satellites. The position solutions obtained by the various subsets are analysed
for consistency, and an alert is provided if that consistency check fails. With this technique the receiver
only detects an anomaly but the satellite in question is not identified.
Exemplifying, let’s suppose 5 satellites are available: Satellites (1, 2, 3, 4, 5). Let’s assume that satellite
1 is faulty. With these 5 satellites, 5 subsets of 4 are possible:
Subset index Subset Solution1 1,2,3,4 Faulty2 1,2,3,5 Faulty3 1,2,4,5 Faulty4 1,3,4,5 Faulty5 2,3,4,5 Correct
Table 5.2: Subsets of the available 5 satellites
If satellite 1 is faulty only the last subset would allow to compute the correct user position but RAIM
algorithms cannot be used in these subsets, as at least 5 satellites are needed because with 4 satellites
there would be no redundancy, so no exclusion can be performed. The navigation solutions obtained
with 5 subsets are not consistent among themselves: they lead to different results. However, the RAIM
algorithm is not able to decide which is the right solution.
5.3.2 FDE
A more sophisticated algorithm is FDE. To use this algorithm a minimum of six visible satellites are
needed, not only to detect a fault but also exclude the faulty satellite from the solution. In fact the
big difference from the FD algorithm is that, as the faulty satellite is excluded, navigation can continue
without interruption.
Exemplifying, let’s suppose 6 satellites are available: Satellites (1, 2, 3, 4, 5, 6). Let’s assume that
satellite 1 is faulty. With these 6 satellites 6 subsets of 5 are possible:
47
Subset index Subset Solution1 1,2,3,4,5 Faulty2 1,2,3,4,6 Faulty3 1,2,3,5,6 Faulty4 1,2,4,5,6 Faulty5 1,3,4,5,6 Faulty6 2,3,4,5,6 Correct
Table 5.3: Subsets of the available 6 satellites
If satellite 1 is faulty, again, only the last solution would allow to compute the right position in a
consistent way. To get to this conclusion the algorithm should analyse the (n − 1) subsets and search
for subsets without fault detection condition, using the test statistics for the subsets. Since the faulty
satellite is included in all subsets but one, only one subset, (2, 3, 4, 5, 6), is free from the error of the
faulty satellite and leads to 5 consistent navigation solutions. Concluding this, the satellite missing from
the subset that does not have the fault condition is identified as the faulty satellite and exclusion can be
performed [18].
5.3.3 RAIM algorithms
There are a variety of RAIM algorithms but all those algorithms include the following functions:
1. Have an observable discriminator called test statistic, which shows the effect of a faulty measurement
with a bias error;
2. Know the likely noise in the system and their interactions with the test statistic, so that the
relationship between the test statistic and the faulty measurement can be statistically described;
3. Establish a fault-free limit for the test statistic which will only, rarely, be exceeded by the observed
test statistic when there is no faulty measurement. This fault-free limit, called the detection thresh-
old, is typically based on a specific false alarm probability for the particular RAIM application;
4. Perform the detection test by comparing the observed test statistic against the detection threshold,
meaning:
• if the test statistic is less than the limit, then declare that no fault is present;
• if the test statistic is equal to or greater than the limit, then declare that a fault has been
detected and issue an integrity alarm.
5. In case of a fault, depending on the satellites available, two techniques can be applied:
• If only 4 satellites are available integrity cannot be provided as at least 5 satellites are needed;
• If 5 satellites are available fault detection can be performed;
• If 6 or more satellites are available fault detection and exclusion can be performed.
6. Compute the protection levels (This step is optional and not taken into account in this thesis).
48
The two methods that are being analysed and performance tested in this thesis are the Least-Square
Residuals and the Range Comparison Method. These methods will be described in detail in the following
sections. The analysis is partially based on [26].
Least-Squares-Residuals (LSR)
Considering noisy pseudoranges from n satellites to be given by
y =
U1...
Un
+
ε1...
εn
(5.1)
and the pseudorange from the satellite i is given by
Ui =√
(Xi − xu)2 + (Yi − yu)2 + (Zi − zu)2 + c∆T (5.2)
where (xu, yu, zu) is the receiver position, (Xi, Yi, Zi) is the satellite position, c∆T is the receiver clock
bias and εi is the measurement error which includes the receiver noise, imprecise knowledge of satellite
position, satellite clock error, vagaries in propagations and possibly unexpected errors due to satellite
malfunctions.
Considering (5.1) and (5.2) the corresponding incremental equations is
∆y = G∆x+ ε (5.3)
with ε = [ε1 . . . εn].
The incremental solution corresponding to (5.3) is
∆x = (GTG)−1GT∆y (5.4)
Thus, the least squares solution is
xls = xpred + (GTG)−1GT (y − ypred) (5.5)
where xpred and ypred are respectively the predicted position and corresponding pseudorange vector, and
G is the linearised measurement connection matrix which consists of the line-of-sight (LOS) vectors to
the satellites, with ones in the fourth column corresponding to the clock bias [8]. That is
G =
∂U1
∂x
∂U1
∂y
∂U1
∂z1
......
......
∂Un∂x
∂Un∂y
∂Un∂z
1
(5.6)
49
The pseudorange vector may be reconstructed from (5.5) as
y = ypred +G(xls − xpred)
= ypred +G(GTG)−1GT (y − ypred)(5.7)
and the residuals w ≡ y − y result from
w = y − ypred −G(GTG)−1GT (y − ypred)
= [I −G(GTG)−1GT ](y − ypred)(5.8)
where P = G(GTG)−1GT is the projection matrix as it projects any vector into the subspace formed by
the columns of G and S = I − P is the projection matrix associated with the complementary subspace
[39]. Assuming convergence of the least-squares algorithm we have ypred ≈ U and y − ypred ≈ ε due to
(5.1). Thus
w = [I −G(GTG)−1GT ]ε (5.9)
We can obtain the sum of the squared errors from the residuals by
SSE = wTw = εTS2ε = εTSε (5.10)
because S is an n× n idempotent matrix (S2 = S).
Considering the test statistic
t =√SSE
n− 4 (5.11)
an orthogonal transformation K can be found which diagonalizes S to a n×n matrix with n−4 diagonal
elements equal to 1 and 4 diagonal elements equal to 0. The sum of the squares of the range residual
errors (SSE) can be expressed as [4]
SSE = wTw = trace(wwT )
= εTSε = trace(SεεTS)
= uT diag(1, . . . , 1, 0, . . . , 0)u
= u21 + . . .+ u2
n−4
(5.12)
where
u = Kε (5.13)
If the measurement errors are independent, zero-mean Gaussian random variables, with variances σ2,
that is, εi ∼ N(0, σ2), then the ui’s are also normally distributed with the same mean and variance, and
u1, . . . , un−4 are independent. Thus
t =
√(u1√n− 4
)2+ . . .+
(un−4√n− 4
)2(5.14)
50
and the pdf of the test statistic is [34]
pt(r) = (n− 4)n−42 rn−5
2n−62 σn−4Γ
(n−4
2)exp [− (n− 4)r2
2σ2
], r ≥ 0 (5.15)
with
Γ(p) = (p− 1)!, p = 1, 2, . . .
Γ(
12
)=√π, Γ
(32
)=√π
2
Γ(n+ 1
2
)= 1 · 3 · 5 · 7 . . . (2n− 1)
2n√π
(5.16)
If the measurement errors are independent, normally distributed random variables, with nonzero
means, εi ∼ N(µi, σ2), then SSE is chi-squared distributed with n − 4 degrees of freedom and non-
centrality parameter [4]
(ui)2 + . . .+ (un−4)2 = µTSµ (5.17)
with µ = [µ1 . . . µm]T . Thus
t2 =(
u1√n− 4
)2+ . . .+
(un−4√n− 4
)2(5.18)
is chi-squared distributed with non-centrality parameter
ρ2 =(
u1√n− 4
)+ . . .+
(un−4√n− 4
)2= µTSµ
n− 4 (5.19)
and the corresponding pdf is [34]
pt(r) = (n− 4)r n−42
σ2ρn−6
2exp
[−(n− 4)r
2 + ρ2
2σ2
]In
2−3
[(n− 4)rρ
σ
2]
(5.20)
where In() is the nth order modified Bessel function of the first kind.
The probability density functions pt(r) for the no-fault case and the pt(r) for the fault case, with
σ = 7.1m and n = 6 visible satellites are shown in figure 5.3.
Consider that a fault affects the ith satellite which corresponds to add a bias b to εi. Thus
µ = [0 0 . . . b . . . 0]T (5.21)
with µk = 0, k 6= i and µi = b. Also
ρ2 = b2Siin− 4 (5.22)
where Sii is the element (ii) of matrix S.
Fault detection is based on the hypothesis testing where the decision variable t is tested against an
51
0 1 2 3 4 5 6 70
0.02
0.04
0.06
0.08
0.1
0.12
0.14
r/σ
Pro
babi
lity
dens
ity fu
nctio
n
pt (r) fault
pt (r) no-fault
σ = 7.1m
ρ/σ = 3
n = 6
Figure 5.3: Probability Density Functions for fault and no fault cases
alert threshold λ. The decision criteria is t ≥ λ→ fault
t < λ→ no fault(5.23)
The test is characterised by the probability of false alarm (Pfa) and probability of missed detection
(Pmd)
The probability of false alarm is
Pfa =∫ ∞λ
pt(r)dr = 1−∫ λ
o
pt(r)dr (5.24)
Expressing (5.24) in terms of the normalized threshold λσ we get
Pfa = 1− (n− 4)n−42
2n−62 Γ
(n−4
2) ∫ λ
σ
0x(n−5) exp
[− (n− 4)x2
2
]dx (5.25)
The probability of false alarm versus λσ is plotted in figure 5.4 for n = 6 and σ = 7.1m.
Intuitively and from figure 5.4, we conclude that for a low value of λ we have high values of false
alarm. Increasing the threshold λ the probability of false alarm decreases.
For a Pfa = 115000 [27] we get the normalized thresholds λ
σ in table 5.4
Number of Satellites Degrees of Freedom λσUERE
5 1 3.996 2 3.107 3 2.718 4 2.479 5 2.31
Table 5.4: Normalized thresholds for Pfa = 115000
52
0 0.5 1 1.5 2 2.5 3 3.5 4 4.50
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
λ/σ
Pfa
n=6
σ=7.1m
Figure 5.4: False Alarm probability versus of λσ
Given this we are able to compute the threshold λ for the decision criteria.
The probability of missed detection is given by
Pmd =∫ λ
0pt(r)dr (5.26)
The expression (5.26) can be expressed in terms of normalized quantities of λσ
and ρ
σresulting:
Pmd = n− 4( ρσ
)n2−3
∫ λσ
0exp
[−(n− 4)
x2 +(ρσ
)22
]In
2−3
[(n− 4) ρ
σx]dx (5.27)
1 1.5 2 2.5 3 3.5 4 4.5 510
−15
10−10
10−5
100
λ/σ
Pro
babi
litie
s
Pfa
ρ/σ = 6ρ/σ = 5ρ/σ = 4
n = 6
σ = 7.1
Figure 5.5: False Alarm and Missed Detection probabilities versus λσ
From figure 5.5 we conclude that with higher values of λ we reduce the probability of false alarm but
on the other hand we are raising the missed detection probability. Also the higher the ρ the lower the
53
probability of missed detection as higher ρ values mean higher bias in the measurements (equation (5.22)).
Note that the probability of missed detection depends also on the constellation geometry through the
parameter Sii (equation (5.22)). Thus, faulty satellite with large values of Sii tend to be better detected.
Range-Comparison Method (RCM)
Another method to provide integrity considered in this thesis is the Range comparison method. With
two methods one can validate the results and compare their performance.
Consider we use n satellites measurements
y =
y
· · ·
y
(5.28)
where
y =
y1...
y4
, y =
y5...
yn
(5.29)
In this method the position is solved for the first four measurements y where the order of the n equa-
tions is immaterial [8]. The resulting solution is then used to predict the remaining n− 4 measurements
and the predicted values are compared with the actual measured y. If the n − 4 residuals are small, we
will have near-consistency in the measurements and the algorithm will declare no failure. On the contrary
if one or several residuals are large, it will declare failure [8].
Let matrix G in (5.6) be partitioned as
G =
G
· · ·
G
(5.30)
with G(4× 4) and G((n− 4)× 4). Then according to (5.8)
y1...
y4
=
y1,pred
...
y4,pred
+ G(xls − xpred) (5.31)
and y5...
yn
=
y5,pred
...
yn,pred
+ G(xls − xpred) (5.32)
54
As
xls = xpred + G−1
y1...
y4
−y1,pred
...
y4,pred
(5.33)
then y5...
yn
=
y5,pred
...
yn,pred
+H
y1...
y4
−y1,pred
...
y4,pred
(5.34)
where H((n− 4)× 4) is defined as
H = GG−1 (5.35)
The residuals of y5, . . . , yn are given by
w1...
wn−4
≡y5 − y5
...
yn − yn
=
y5...
yn
−y5,pred
...
yn,pred
−Hy1 − y1,pred
...
y4 − y4,pred
=
ε1...
εn
−Hε1...
ε4
(5.36)
or
w = −Hε+ ε (5.37)
where
ε = [ε1 . . . ε4]T , ε = [ε5 . . . εn]T (5.38)
Assume a no-fault scenario where the measurement errors are independent, zero-mean Gaussian ran-
dom variables, with variances σ2, that is, εi ∼ N(0, σ2). Thus, w is a Gaussian vector with mean
Ew = 0 and covariance matrix
EwwT = HEεεT HT + EεεT
= σ2[HHT + I](5.39)
55
Consider now a scenario where the kth satellite (with k = 1, . . . , n) has a malfunction such that
Eε =
0
0...
b...
0
← position k
(5.40)
In this method two cases can be distinguished:
1. The faulty satellite belongs to the set used to solve the equation of navigation, this is, 1 ≤ k ≤ 4;
2. The fault satellite does not belong to that set, that is 5 ≤ k ≤ n.
In case 1 the expected value of w is
w = −H
0
0...
b...
0
= −b
h1k
h2k...
hn−4,k
(5.41)
and we have the following diagonal matrices
EεεT =
σ2 0
σ2
. . .
σ2 + b2
. . .
0 σ2
← position k
(5.42)
and
EεεT = σ2
1 0
. . .
0 1
(5.43)
56
According to (5.39)
EwwT = σ2[HHT + T ] +H
0 0 . . . 0...
...
0 . . . b2 . . . 0...
...
0 . . . 0 0
HT
= σ2[HHT + I] + b2
h2
1k h1kh2k . . . h1kh(n−4),k
h2kh1k h22k . . . h2kh(n−4),k
......
. . ....
h(n−4),kh1k h(n−4),k . . . h2(n−4),k
(5.44)
where hij is the element (i, j) of H. The covariance matrix of w is given by
E(w − w)(w − w)T = Ewwt − wwT
= σ2[HHT + I](5.45)
In case 2 the expected value of w is
w = b
0
0...
1...
0
← position k-4
(5.46)
and ones have the following diagonal matrices
EεεT = σ2
1 0
. . .
0 1
(5.47)
and
EεεT =
σ2 0
ffl σ2
. . .
σ2 + b2
. . .
0 σ2
← position k-4
(5.48)
57
so
EwwT = σ2[HHT + I] + b2
0 0 . . . 0...
...
0 . . . 1 . . . 0...
...
0 . . . 0 0
(5.49)
and the covariance matrix of w is still given by (5.45).
Solution for n = 5 satellites
Let us now consider the case when 5 satellites are used in the RCM method. In this case matrix G is
(4× 4) and G is (1× 4). Given (5.35), matrix H is defined by
H =[h11 h12 h13 h14
](5.50)
In this case, the residuals vector w is reduced to a scalar w1 and taking (5.45) into account we have
σ21 = Ew2
1 = σ2(HHT + 1) = σ2
(1 +
4∑i=1
h21i
)(5.51)
The probability density function of w1 in the absence of any satellite malfunction is
pw(w1) = 1√2πσ2
1exp
(− w2
12σ2
1
)(5.52)
Let us now consider the decision rule that divides the real axis in three distinct regions, |w1| < λ1,
corresponding to the hypothesis of no-failure, and |w1| ≥ λ1, corresponding to the hypothesis of satellite
failure. This decision rule is illustrated in figure 5.6.
−λ1 0 λ1w1
Fault No Fault Fault
Figure 5.6: Decision rule for the Range-Comparison Method when 5 satellites are used
The probability of false alarm is
Pfa = 1−∫ λ1
−λ1
pw(w1)dw1 = 2Q(λ1
σ1
)(5.53)
where Q is the error function
Q(x) = 1√2π
∫ ∞x
exp(−y
2
2
)dy (5.54)
58
In the presence of a satellite malfunction the probability density function of w1 is given by
pw(w1) = 1√2πσ2
1exp
[− (w1 − w1)2
2σ21
](5.55)
where w1 is the expected value of w1, given by (5.41) or (5.46) depending whether the faulty satellite
belongs or not to the subset of 4 satellites used to find the receiver coordinates.
Solution for n = 6 satellites
Let us now consider the case when 6 satellites are used in the RCM method. In this case matrix G is
(4× 4) and G is (2× 4). Given (5.35), matrix H is defined by
H =
h11 h12 h13 h14
h21 h22 h23 h24
(5.56)
In this case the vector of residuals is given by w =[w1 w2
]. In a no-fault scenario the covariance
matrix is
EwwT = σ2[HHT + I] =
σ21 ρσ1σ2
ρσ1σ2 σ22
(5.57)
where
σ21 = σ2
(1 +
4∑i=1
h21i
)(5.58)
σ22 = σ2
(1 +
4∑i=1
h22i
)(5.59)
and the correlation coefficient is
ρ =∑4i=1 h1ih2i√
1 +∑4i=1 h
21i
√1 +
∑4i=1 h
21i
(5.60)
The joint probability density function of w is [34]
pw(w1, w2) = 12πσ1σ2
√1− ρ2
exp− 1
2(1− ρ2)
[(w1
σ1
)2− 2ρw1w2
σ1σ2+(w2
σ2
)2]
(5.61)
The integral of pw(w1, w2) over an area A, bounded by the ellipse
(w1
σ1
)2− 2ρw1w2
σ1σ2+(w2
σ2
)2= α2(1− ρ2) (5.62)
is given by [19] ∫ ∫A
pw(w1, w2)dw1dw2 = 1− exp(−α
2
2
)(5.63)
Let us now consider a decision rule that divides the plane into two distinct regions, one hypothesis
corresponding to no failure and other the to failure. A common way to choose the decision boundary is to
59
let it be an equal probability density contour, conditioned to the assumption of no satellite malfunction,
according to (5.62) [8].
The probability of false alarm is
pfa = 1−∫ ∫
A
pw(w1w2)dw1dw2 = exp(−α
2
2
)(5.64)
such that the failure/no failure decision boundary is given by (5.62), that is
(w1
σ1
)− 2ρw1w2
σ1σ2+(w2
σ2
)2= −2(1− ρ2)ln(Pfa) (5.65)
5.3.4 RAIM Availability
Another important concept is RAIM availability because as said before a minimum of five satellites with
a good geometry have to be available. In figure 5.7 the number of available satellites from the different
satellite navigation according to latitude systems is shown.
Figure 5.7: GPS and other GNSS system visibility [36]
Since RAIM requires a minimum of five visible satellites in order to perform fault detection and a
minimum of six for fault detection and exclusion, RAIM and FDE will have a lower availability than the
navigation function [17].
In figure 5.8 the number of visible GPS satellites from the user position is shown for the day of the
simulations. We can see that a minimum of 6 satellites were available so the number of visible satellites
was no limitation.
Besides the minimum of 5 satellites needed, availability in RAIM is determined by comparing the
60
0 1 2 3 4 5 6 7 8 9
x 104
6
7
8
9
10
11
12
Time (seconds)
Num
ber
of V
isib
le S
atel
lites
Number of Satellites
Figure 5.8: Number of visible GPS satellites at receiver position during the simulation day
value of Horizontal Protection Level (HPL) to the maximum alert limit for the intended operation [17].
HPL is the horizontal position error that the fault detection and exclusion algorithm guarantees will not
be exceeded without being detected by the fault detection function, in accordance with the missed alert
and false alert probability requirements [18]. It is a function only of the visible satellites, user geometry
and expected error characteristics.
Define A and B as
A = (GTG)−1GT (5.66)
B = G(GTG)−1GT = GA (5.67)
After A and B have been defined a quantity called SLOPE is computed for each satellite in view:
SLOPE(i) =√
(A21i +A2
2i)n− 4
1−Biifor i = 1, 2, . . . , n (5.68)
defining SLOPEmax as
SLOPEmax = Maxi[SLOPE(i)] (5.69)
There are different methods to calculate the HPL. The method followed in this thesis is one of the
methods used in [18] and [7]. This method states that using the satellite with SLOPEmax the value of
the bias in the measurement of that satellite should be such that the missed detection probability is the
specified value. This critical bias value is called pbias.
HPL = SLOPEmax × pbias (5.70)
61
5.4 Integrity in Galileo
The integrity concept introduced by Galileo consists in providing the users with data enabling them to
monitor their integrity level.
Galileo has the capability to monitor the satellite behaviour through its complex global distributed
ground network consisting of more than 30 sensor stations. Taking these measurements into account,
satellite failures (due to orbit or clock inaccuracies) can be detected and alerts can be disseminated to
the user.
The system takes care of always monitoring the constellation and to broadcast to the user information
about the health status of each satellite through a three states flag (Integrity Flag) related to each satellite
(e.g a "Not OK" flag if something is wrong with the satellite, or an estimated signal in space accuracy
otherwise). This monitoring process is performed by a stations network (GSS stations) located around
the globe. This network carries out pseudorange measurements from every satellite and, through an
inverse navigation algorithm, estimates the pseudorange error relevant to each satellite (SISE, Signal in
Space Error) [9]. The estimation carried out (estimated-SISE) represents the range error contribution
due to satellite contribution, which impacts on the user solution.
5.4.1 Integrity parameters
The SoL service is particularly studied since it is the one to provide users with integrity information. The
nature of the provided information consists in three parameters per satellite:
• Signal-In-Space Accuracy (SISA)
• Signal-In-Space Monitoring Accuracy (SISMA)
• Integrity Flag (IF)
These three parameters relate to Signal-In-Space Error (SISE) and are defined as follows [28] [2]:
• SISE: SISE is related to a satellite and is the maximum error (over the user position) of the SIS
in the range domain caused by the SV, its payload and the navigation message
• SISA: for purposes of integrity monitoring the SISE is estimated and its consistency with SISA
value is checked. As the SISE distribution may not be Gaussian distribution, the methodology of
overbounding is applied to describe the SISE distribution with an overbounding Gaussian distribu-
tion.
The SISE distribution is characterized by SISA which is a prediction of the minimum standard
deviation of a Gaussian distribution that over-bounds the SISE distribution for a fault-free SIS
• SISMA: As the SISE cannot be measured directly, one has to estimate the SISE from measure-
ments. The estimation of SISE results in an estimated SISE (SISE).
The diference between SISE and (SISE) is the SISE estimation error has a distribution. This distri-
bution must be over-bounded by a Gaussian distribution with a standard deviation called SISMA.
62
So, SISMA is defined as the minimum standard deviation of the unbiased Gaussian distribution
which overbounds the error distribution of the estimation of SISE as determined by the integrity
monitoring system
• IF: if the (SISE) for SIS is larger than the integrity flag threshold, the integrity flag for this SIS is
set to "NOT OK". The integrity flag threshold can be computed from the overbounds of the SISE
distribution, the distribution of the difference between SISE and (SISE), and the allowed False
Alarm probability.
Each alert is coded with four bits and therefore 16 different states can be disseminated to the user
[33]:
– "Not OK"
– "NOT MONITORED"
– 14 states for "OK" with corresponding SISMA value in the range of 30cm to 520cm.
If the computed SISMA value is larger than 520cm, the satellite is declared "NOT MONITORED"
5.4.2 Galileo user integrity algorithm
A particular algorithm has been introduced in [29] to make best use from the integrity data provided in
the Safety-of-Life service. The analysis of this topic follows essentially [33].
The algorithm proposed in [29] differs from usual integrity monitoring algorithms, like SBAS, mainly
because:
1. It does not provide primarily protection levels but rather directly computes the user’s integrity risk
at the alert limit. Protection levels can be computed with an additional algorithm.
2. There is no allocation between vertical and horizontal errors. Thus, there is only one threshold
value in the equation.
3. It anticipates a non-declared failure on the satellite with highest impact.
System availability is obtained by comparing the algorithm’s output to the integrity risk requirement
corresponding to the current phase of flight, in table 5.1.
The algorithm is based on the classic assumption that positioning errors distributions are independent
and can be overbounded by centred Gaussians. The independence assumption is realistic because all
measurements are performed at the same epoch. This allows one to take into account the high time
corrections of the measurements errors.
The algorithms inputs are:
• horizontal alert level;
• vertical alert level;
• the SISA of all available satellites;
63
• the SISMA of all available satellites;
• the prediction of the standard deviation of the residual measurement noise for each line-of-sight.
The role of the SISMA is to quantify the maximum error due to a faulty satellite.
The final expression of the global (i.e taking into account vertical and horizontal errors, in both
fault-free and faulty cases) integrity risk PIR at the alert limits HAL and VAL is [33]:
PIR(HAL, V AL) = PIR,V + PIR,H
= 1− erf(
V AL√2σV,FF
)+ exp
−HAL2ξ2FF
+ 12
N∑j=1
PSatFail,j
((1− erf
(V AL+ µV,j√
2σV,j,FM
))+(
1− erf(V AL− µV,j√
2σV,j,FM
)))
+N∑j=1
PSatFail,j
(1− Sχ2
2,δj
(HAL2
ξ2FM
))(5.71)
where
PIR,V : are respectively the vertical and horizontal components of the integrity risk
pSatFail,j : probability satellite j to fail
σV,FF , σV,j,FM : are the standard deviations of the vertical positioning error respectively in fault-free
mode and with satellite j failing
µV,j : is the worst-case vertical error bias due to the failing of satellite j
ξFF , ξFM : are the semi-major axes of the horizontal error ellipse respectively in fault-free and
faulty modes
erf : error function
In equation (5.71) Sχ22,δj
stands for the cumulative distribution function of the chi-squared distribution
with two degrees of freedom.
Sχ22,δj
(x) =∫ x
0
12 exp
[−1
2(t+ δ)] ∞∑j=0
tjδj
22j(j!)2 dt (5.72)
The PIR(HAL, V AL) expression in equation (5.71) amounts to:
horizontal risk with no satellite failure
+ horizontal risk with one failing satellite
+ vertical risk with no satellite failure
+ vertical risk with one failing satellite
64
Chapter 6
Computer Simulation
In this chapter the simulation results from the integrity algorithms described in chapter 5 will be pre-
sented and analysed. For this, a series of Monte Carlo simulations were performed under the considered
trajectory. The comparison of these integrity algorithms is performed for the various simulation scenarios.
6.1 Computer Simulation Procedure
To perform the computer simulations a GPS constellation was simulated with parameters used from
YUMA almanac file format described in Appendix A. After the definition of the GPS constellation and
after the user position is defined, the satellites with an elevation angle above 10 are considered visible.
To be able to perform detection and exclusion a set of 6 satellites is chosen with the lowest GDOP
value, to achieve lower error in position results. After the selection of the 6 satellites a trajectory is
simulated and the user position is calculated, the test statistic t is calculated and compared to the
threshold λ. The results from this comparison can be grouped according:
• No faulty satellites
1. If t < λ we have a normal operation with probability of 1− Pfa
2. If t ≥ λ we have a false alarm with probability Pfa.
• Presence of a faulty satellite
1. If t ≥ λ we have an integrity alarm with probability 1− Pmd
2. If t < λ we have a missed detection with probability of Pmd.
A flowchart of the RAIM algorithm is shown in figure 6.1.
6.2 Computer Simulation Results
As refereed in chapter 4 there are several methods that can be used to obtain a position solution. Two
methods were implemented in this thesis:
65
GPS Constellation Simulation
User Position
Determination of visible Satellites
Subsets of 6 Satellites andselection of lowest available DOP
Trajectory Simulation andposition determination
Test statistic t computation
Threshold λ computation
t< λ?
Faulty Satellite?
Missed Detection Normal Operation
Faulty Satellite?
Integrity fault detection False alarm
n− 1 combinations
Test statistic t computation forn− 1 combinations
Check for fault-free subcombinationand excluse faulty satellite
t→ t+ 1
Yes No
Yes No Yes No
Figure 6.1: RAIM algorithm flowchart
66
• Least-Squares (section 4.1);
• Kalman Filter Solution (section 4.3).
To compute the errors in both methods a trajectory was simulated and the position error performance
was compared for both methods. The trajectory model simulated an aircraft circling around the north
tower of Instituto Superior Técnico, in Lisbon, with a constant speed of 300 Km/h and 2000 m radius
during 240 seconds. The trajectory can be visualized in figure 6.2.
−2000−1000
01000
2000
−2000
0
2000−2000
0
2000
Z p
ositi
on (
met
ers)
X position (meters)Y position (meters)
Figure 6.2: Simulated Trajectory
6.2.1 Error calculation
The 3D RMS position error can be determined taking into account the three dimension components
x, y, z. This 3D RMS error is defined as :
3DRMS =
√√√√1t
t∑k=1
(xk − xk)2 + (yk − yk)2 + (zk − zk)2 (6.1)
and, as in conventional GPS navigation, the final solution accuracy is function of the measurement error,
σUERE , and the satellite geometry or dilution of precision. The theoretical 3D RMS position error is
given by [32] [6]:
3DRMSposition error = σUERE × PDOP (6.2)
The 3D RMS error associated with the position calculation when using the Kalman filter, is shown
in figure 6.3.
The mean value of the 3D RMS error for position calculated with Kalman Filter, not taking into
account the first 10 seconds of simulation, is 14.74 meters (using equation (6.1)).The same trajectory was
used to obtain the error with the Least-Squares method but the error value with this method was higher
than with the Kalman filter.
67
0 50 100 150 200 2500
20
40
60
80
100
Time (seconds)
Err
or (
met
ers)
Error ValueError Mean
Figure 6.3: 3D RMS position error for Kalman Filter Solution method
The position solution for these results was computed from a subset of 6 satellites with value of PDOP
of 2.08. It is assumed that this PDOP value is an average value and that it does not change significantly
during the 240 seconds of trajectory. With this assumption, according to equation (4.22) and equation
(6.2), the theoretical expected value of error for this simulation is 2.08×7.1 = 14.77 meters which is very
close to the practical value obtained.
As for the trajectory considered the solution using Kalman filter has a lower error, this method was
selected in the simulations of this thesis. The estimated trajectory vs the simulated trajectory is shown
in figure 6.4.
−2000−1000
01000
2000
−2000−1000
01000
2000−2000
−1000
0
1000
2000
X position (meters)Y position (meters)
Z p
ositi
on (
met
ers)
ReferencePredicted Trajectory
Figure 6.4: Estimeted trajectory using Kalman filter vs Simulated trajectory
68
6.2.2 RAIM Algorithms Performance Analysis
To measure and compare the performance of the RAIM algorithms discussed in section 5.3.3 a series
of Monte Carlo simulations are performed. Monte Carlo simulations consists of repeating a single test
procedure subject to random conditions. In this case the random condition is noise. The performance of
the RAIM algorithms is investigated in terms of probability of error detection versus the error induced
to the measurements.
To investigate the probability of error detection, two types of error can be induced to the measurements
[18]:
• A slow ramp: an example of a slow ramp error is a satellite clock oscillator failure that results in a
slow measurement drift;
• A step error: this type type of failure results in a large and instantaneous measurement jump, and
could be caused by a bad ephemeris upload. Also the GPS receiver clock may change abruptly
because of the oscillator, a clock bias roll-over or other causes.
To test both algorithms, two epochs were used. The first epoch was on 22/01/2015 at 16:40 and the
second on 22/01/2015 at 19:20. The purpose of using two epochs is to test two distinct geometries to see
how the two algorithms perform under different test scenarios.
For the first epoch, the detection detection test was performed with step and ramp errors and exclusion
was also performed. For the second epoch only the detection test was carried out as there would be no
added value in performing another exclusion as no new conclusions would be extracted.
For the detection tests the trajectory was initiated and at second 50 the step error was induced for
the rest of the trajectory, with the process being repeated 50 times, counting a total of 9500 tests for
each error value, for each satellite. For the exclusion test, each time detection occurs, the algorithm tests
if is able to perform the exclusion successfully.
As for the ramp error test, the error is introduced at the beginning of the trajectory and is incremented
each second according to its slope. When detection occurs the time of detection and respective error value
are then analysed.
Performance analysis with no error
To test the false alert requirement the algorithms should run without any positioning failure induced,
since the false alarm probability assumes that no real positioning failure is present.
The threshold is set defining the Pfa required, as referred in section 5.3.3. With no error induced to
the measurement the algorithms should agree with the Pfa.
The results of this test for the Least-Squares-Residuals method are summarized in table 6.1.
Number of Runs Number of Detections Experimental Pfa Theoretical Pfa
1330000 88 881330000 ≈ 6.6165× 10−5 1
15000 ≈ 6.6666× 10−5
Table 6.1: Experimental Pfa for Least-Squares-Residuals Method
69
From the analysis of the results we can conclude that the Pfa from simulation results is very close
to the expected theoretical value. The small discrepancy found can be due to the finite number of runs
which can influence the final result.
The same performance test was performed for the Range Comparison method. The results from this
test are summarized in table 6.2.
Number of Runs Number of Detections Experimental Pfa Theoretical Pfa
1330000 82 821330000 ≈ 6.1654× 10−5 1
15000 ≈ 6.6666× 10−5
Table 6.2: Experimental Pfa for Range Comparison Method
Performance analysis with error induced
To test the detection capability of the algorithms an error is induced to the measurements as referred in
section 6.2.2.
The first test to be performed is the detection test with several values of step errors. To perform
this test two epochs are analysed and each satellite in the subset will have a step error induced to their
measurements at a time.
In cases of poor satellite geometry DOP values get large, and as stated by equation (4.22), the
navigation accuracy degrades. A similar effect occurs with RAIM algorithms [6]. When the satellite
geometry is poor the performance of the integrity monitoring algorithms degrade and large navigation
errors can occur before they are detected, so it is important to understand how the detection capabilities
of the algorithms varies depending on the satellite affected by the error.
Various criteria have been used for evaluating the quality of the satellite geometry for detection
purposes [8]. The method used in this thesis is the SLOPEmax method. The calculation of SLOPEmaxis given by equations (5.68) and (5.69) from section 5.3.4. With this method one can anticipate which
satellite(s), if any, will be the most difficult to detect. This means that if the noise level is the same for
all satellites in the combination, the satellite with the highest value of SLOPE will be the most difficult
to detect. Also, the SLOPEmax satellite is the one that yields to the smallest test statistic for a given
position error. An illustration of this method is shown in figure 6.5.
SLOPEmax
Position Error
Test Statistic
Figure 6.5: SLOPE method illustration
The first simulation test was performed on 22/01/2015 at 16:40. At this time satellites 5, 13, 15, 21,
70
24, 28, 30 were visible and the subset of 6 satellites with lowest GDOP value was 5, 13, 15, 21, 24, 30
with a correspondent GDOP of 2.3793. The SLOPE values at the beginning of the trajectory for these
satellites are shown in table 6.3.
Sat 1 (ID=5) Sat 2 (ID=13) Sat 3 (ID=15) Sat 4 (ID=21) Sat 5 (ID=28) Sat 6 (ID=30)
SLOPE 1.4005 0.8740 0.2022 3.2774 2.7196 12.0709
Table 6.3: SLOPE values for first epoch
From the analysis of the table 6.3 the SLOPEmax corresponds to the last satellite, so it is expected
that satellite 6 (corresponding to satellite ID=30) will be less sensitive to errors, thus making more
difficult the error detection by the RAIM algorithms.
Let us now analyse the results with LSR method for this test. These results are shown in figure 6.6.
0 50 100 150 200 2500
0.2
0.4
0.6
0.8
1
Error (meters)
Det
ectio
n P
roba
bilit
y
Satellite 1Satellite 2Satellite 3Satellite 4Satellite 5Satellite 6
Figure 6.6: Detection probability versus error for LSR method
From the analysis of figure 6.6 we conclude that satellite 6 (corresponding to satellite ID 30) is the
least sensitive to errors. This is easily noticeable because for the same amount of error induced in the
various satellites of the subset, satellite 6 is the one that requires a larger error to reach 100% probability
of detection. This result is in accordance with what was expected from the analyses of the values of
SLOPES.
From equation (5.27) the theoretical values for the probability of missed detection can be obtained.
With these values we can check the simulation results for consistency. As equation (5.27) is computa-
tionally very time consuming this verification will be performed just for this test and just for satellite
1 (satellite ID 5). If the results are consistent for this particular satellite in this particular test we can
assume that for the other satellites and for the other tests it would also be consistent as the algorithms
remain unchanged.
In figure 6.7 the theoretical probability of detection is shown. The value of this probability is obtained
71
by Pdetection(theoretical) = 1− Pmd.
0 50 100 150 200 2500
0.2
0.4
0.6
0.8
1
Error (meters)
Det
ectio
n P
roba
bilit
y
Satellite 1Satellite 1( theoretical)
Figure 6.7: Theorical and simulated detection probability for satellite ID 5
From the analysis of figure 6.7 for the theoretical probability of detection we can confirm that the
values are according with the values that were obtained from the simulation, as the results consistency is
almost perfect. The small discrepancy in the values may be due to the limited number of runs that were
performed in the test.
From figure 6.8 we can also analyse that the time of first detection for each satellite for each value of
induced error.
From the analysis of figure 6.8 we conclude that for small induced values of error the time of first
detection can vary much and doesn’t have a real important meaning because as the error is so small for
the algorithm to detect, the few detections that are recorded can happen at any time of the trajectory.
As the induced error increases the time of first detection starts to decrease meaning that after the error
is introduced to a satellite the detections occurs each time in less time. Finally with higher error values,
the algorithm detects the failures immediately after the errors are induced.
During the simulations it was also noted that the satellite that required a higher induced error for
detection to occur corresponds to the satellite that is more important to the DOP value of the subset.
This means that when that satellite is removed from the subset the DOP value raises significantly more
than when any other satellite is removed from the subset. An example of this situation is shown in table
6.4 for this test.
From the analysis of table 6.4, and as stated before, we can note that when satellite 6 (ID 30) is
removed from the original subset the GDOP value becomes much higher than when any other satellite is
removed from the original satellite.
Lets now analyse the results with Range Comparison Method for this same test. These results are
shown in figure 6.9.
72
0 50 100 150 200 25040
60
80
100
120
140
160
180
200
220
240
Error (meters)
Tim
e of
Firs
t Det
ectio
n
Satellite 1
Figure 6.8: Time of first detection for sat ID 5
ID Subset GDOP valueOriginal (5, 13, 15, 21, 24, 30) 2.3792
(5, 13, 15, 21, 24) 6.1576
(5, 13, 15, 21, 30) 2.9769
(5, 13, 15, 24, 30) 2.6440
(5, 13, 21, 24, 30) 2.6634
(5, 15, 21, 24, 30) 2.9914
(13, 15, 21, 24, 30) 2.6439
Table 6.4: GDOP values for the specified subsets for first epoch
73
0 50 100 150 200 2500
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Error (meters)
Det
ectio
n P
roba
bilit
y
Satellite 1Satellite 2Satellite 3Satellite 4Satellite 5Satellite 6
Figure 6.9: Detection probability versus error for RCM method
From the analysis of figure 6.9 we can see that the results are very similar for all the satellites. This
lead us to conclude that the two methods are equally sensitive to induced errors in the measurements
and that the methods are also equally sensitive to satellite geometry.
In figure 6.10 the probability of detection difference between the two methods is shown.
It’s easily understandable that the differences are marginal and that the two methods have a very
similar performance in the detection test. Also, these small differences that are verified may be associated
with the limited number of runs that each test used.
After introducing these errors to test the algorithms for detection capabilities, a test of exclusion of
the faulty satellites was performed for the first test case. The method behind the exclusion of the faulty
satellite was previously discussed in section 5.3.2. The results from this test are shown in figure 6.11.
From the analysis of figure 6.11 we understand that the values of error that lead us to an exclusion
level of 100% are substantially higher than the ones needed for detection only. This is due to the fact
that for a satellite to get successfully excluded, that satellite has to be declared as faulty in all subsets,
as explained in section 5.3.2. Actually, some subsets may have such geometries that large errors are
needed for a detection to happen and that leads to large errors for the exclusion process. In table 6.5 the
SLOPE values for the various subsets are presented.
Analysing table 6.5 we can verify that in subset 1 and subset 6, satellite 5 (ID 24) have a high SLOPE
value meaning that in these two particular subsets the error needed for detection will be considerably
higher. The same can be verified in satellite 1 (ID 5) for subset 2. This lead us to expect that these
two satellites in these particular subsets will be very hard to detect for fault leading to a large error of
exclusion for both these satellites. Such can be verified in 6.11 where we see that both satellites 1 and 5
are, by far, the most difficult to exclude.
Let us now analyse the same test with the Range Comparison Method. The results from this test are
74
0 50 100 150 200 250−0.1
−0.08
−0.06
−0.04
−0.02
0
0.02
0.04
0.06
0.08
0.1
Error (meters)
Det
ectio
n pr
obab
ility
dife
renc
e
Satellite 1Satellite 2Satellite 3Satellite 4Satellite 5Satellite 6
Figure 6.10: Detection probability difference between RCM and LSR method for the first epoch
0 1000 2000 3000 4000 5000 60000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Error (meters)
Exc
lusi
on P
roba
bilit
y
Satellite 1Satellite 2Satellite 3Satellite 4Satellite 5Satellite 6
Figure 6.11: First exclusion simulation for LSR method
Satellite 5 Satellite 13 Satellite 15 Satellite 21 Satellite 24 Satellite 301st subset (5, 13, 15, 21, 24) 1.03 4.99 7.18 5.15 23.86 –
2nd subset (5, 13, 15, 21, 30) 77.73 0.84 1.10 1.59 – 2.83
3rd subset (5, 13, 15, 24, 30) 1.70 0.95 2.99 – 1.74 10.36
4th subset (5, 13, 21, 24, 30) 1.52 2.37 – 1.33 0.38 4.65
5th subset (5, 15, 21, 24, 30) 3.29 – 2.23 1.13 1.13 3.18
6th subset (13, 15, 21, 24, 29) – 1.86 0.58 2.68 43.47 5.38
Table 6.5: SLOPE values for the various subsets
75
shown in figure 6.12.
0 1000 2000 3000 4000 5000 60000
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Error (meters)
Exc
lusi
on P
roba
bilit
y
Satellite 1Satellite 2Satellite 3Satellite 4Satellite 5Satellite 6
Figure 6.12: First exclusion simulation for RCM method
From the analysis of figure 6.12 we conclude that, as expected from the detection tests seen before,
the results are very similar to results from exclusion with Least-Squares-Residuals method. There are
some small differences that can be explained due to the random noise conditions and due to the limited
number of runs.
For the test carried out on 22/01/2015 at 19:20, where conditions are slightly similar among the
satellites, detection tests are performed for both methods. In table 6.6 the SLOPE values can be
analysed for this epoch.
Sat 1 (ID=13) Sat 2 (ID=15) Sat 3 (ID=17) Sat 4 (ID=22) Sat 5 (ID=24) Sat 6 (ID=25)
SLOPE 1.3502 4.512 5.094 2.874 2.055 3.517
Table 6.6: SLOPE values for second epoch
From the analysis of table 6.6 all SLOPE values are close, meaning that all these satellites produce
a similar positioning error for a given test statistic, so it is expected that in this case all the satellites
from the subset require a similar value of error to obtain a similar value of detection probability.
The results from detection test for the LSR method are shown in figure 6.13.
From figure 6.13 we can confirm that in this case all satellites require similar values of error for the
same detection probability to be obtained. The DOP values of the subsets was also analysed and the
results are presented in table 6.7.
Also, as expected and unlike the epoch 1, for this epoch all the subsets have very similar GDOP values
meaning none of the satellites of the original subset has a major role in the original subset geometry.
This same test was repeated for range comparison method and the results from this detection test are
shown in figure 6.14.
76
0 20 40 60 80 100 1200
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Error (meters)
Det
ectio
n P
roba
bilit
y
Satellite 1Satellite 2Satellite 3Satellite 4Satellite 5Satellite 6
Figure 6.13: Second detection simulation for LSR method
ID Subset GDOP valueOriginal (13, 15, 17, 22, 24, 25) 2.0861
(13, 15, 17, 22, 24) 2.6178
(13, 15, 17, 22, 25) 2.6582
(13, 15, 17, 24, 25) 2.5799
(13, 15, 22, 24, 25) 2.7981
(13, 17, 22, 24, 25) 2.5259
(15, 17, 22, 24, 25) 2.3473
Table 6.7: GDOP values for the specified subsets for second epoch
77
0 20 40 60 80 100 1200
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Error (meters)
Det
ectio
n P
roba
bilit
y
Satellite 1Satellite 2Satellite 3Satellite 4Satellite 5Satellite 6
Figure 6.14: Second detection simulation for RCM method
As expected from previous comparatives between these two methods the results are very similar, and
some of the residual differences may be due to the limited number of runs. This result increases our
confidence in saying that the two methods show the same sensitiveness to errors and satellite geometry
as for epoch 1 the results were also very similar between the two methods.
Let us now analyse the results from an induced ramp error to the measurements. These tests will be
relative to first epoch.
Two tests will be performed: one with a ramp with a slope of 1m/s and another with a slope of
0.1m/s.
Starting with the higher slope ramp the results in terms of time of first detection are shown in table
6.8.
Mean first time detection Standard deviationSatellite 1 36.29 7.38Satellite 2 34.34 6.58Satellite 3 30.31 6.12Satellite 4 34.92 5.6Satellite 5 36.96 7.03Satellite 6 80.53 15.79
Table 6.8: Mean first detection time for LSR method (ramp 1 m/s)
From table 6.8 we can understand that for the first 5 satellites the first detections occur, in mean, a
few moments after 30 seconds. As the slope of the error is 1m/s this corresponds to a mean value of error
of about 30 meters. These values are according to the expected, as in figure 6.6 the first magnitude of
errors that are being detected are errors of about 30 meters for the first 5 satellites. For the last satellite
the mean value of first detection comes much later in time as for this satellite in this specific geometry a
78
much larger error is needed for it to be detected. The standard deviation values around the first detection
gives us one idea of how much centered about the first detection time the detection is.
In figure 6.15 an illustration of the test statistic variation with this ramp error is shown.
0 50 100 150 200 250 300 350 400 4500
20
40
60
80
100
120
140
160
180
Time (seconds)
Tes
t Sta
tistic
t
Figure 6.15: Test statistic variation over a ramp error of 1 m/s
The same test was performed for Range Comparison Method and the results are presented in table
6.9.
Mean first time detection Standard deviationSatellite 1 37.16 6.32Satellite 2 34.2 5.83Satellite 3 29.16 5.58Satellite 4 35.2 6.7Satellite 5 39.14 6.98Satellite 6 79.73 14.27
Table 6.9: Mean first detection time for RCM method (ramp 1 m/s)
From the analysis of table 6.9 we can conclude that, as expected from the results from previous tests,
results are identical to those obtained with the LSR method. Slightly variations on the values reflect the
limited number of simulations performed.
For the ramp bias with a slope of 0.1 m/s the two methods were also tested. The results for LSR are
shown in table 6.10.
The results from table 6.10 show an obvious higher time to first detection as the slope is now 0.1 m/s.
While with a slope of 1 m/s the magnitude of error for first detection was about 30 meters, for this slope
we have a lower value of about 23 meters (∼ 230s× 0.1m/s). This can be explained because as the slope
is lower more points of the test statistic will be near the threshold, so is more probable that any point
near it, due to random noise, can break the threshold counting for a earlier detection when compared to
79
Mean first time detection Standard deviationSatellite 1 260.5 60.22Satellite 2 223.6 48.79Satellite 3 201.4 44Satellite 4 239.5 55Satellite 5 243 54Satellite 6 513.4 139.4
Table 6.10: Mean first detection time for LSR method (ramp 0.1 m/s)
the higher slope. This fact is illustrated in figure 6.16.
0 100 200 300 400 500 600 700 800 9000
5
10
15
20
25
30
35
40
45
Time (seconds)
Tes
t Sta
tistic
t
Figure 6.16: Test statistic variation over a ramp error of 0.1 m/s
This same test was also performed for the Range Comparison Method. For this method the results
are shown in table 6.11.
The values of table 6.11 show us very similar results comparing to the equivalent test performed with
LSR which validates, once again, that the two methods have very similar performances even for slope
errors.
80
Mean first time detection Standard deviationSatellite 1 258.1 64.87Satellite 2 226.3 53.84Satellite 3 201.5 40.67Satellite 4 234 57.3Satellite 5 241 57.3Satellite 6 502.9 125.7
Table 6.11: Mean first detection time for RCM method (ramp 0.1 m/s)
81
82
Chapter 7
Conclusion
The objectives of this thesis were to study and make a comparison of two algorithms implemented to
provide receiver autonomous integrity. To make this study a GPS constellation was simulated from
YUMA almanac parameters. The position solution from that trajectory was obtained using a Kalman
filter. To test the performance of the algorithms a subset of 6 satellites with the best GDOP parameter
was chosen among the visible satellites at the time of simulation. Two epochs were considered to test
different geometries and to study how those differences could affect the algorithms performance.
The two algorithms studied have different approaches to achieve the solution. The Least-Square-
Residuals uses the estimated position solution from all satellites in the subset to predict the six measure-
ments. The sum of squares of residuals is calculated and used as test statistic. In the range comparison
method with 6 satellites in the subset, the first 4 are used to obtain a solution and then that solution is
used to predict the remaining 2 measurements.
Regardless of the different approaches of the two methods studied, the results from the simulation
showed that the performance of both methods are almost identical in the various tests for the different
geometries studied. The small differences verified are negligible and besides they can be also affected by
the limited number of runs performed in each test.
The Least-Squares-Residuals RAIM method is specially simple in its implementation because the test
statistic is a scalar regardless of the number of satellites in use. For the Range-Comparison-Method such
is not the case and the implementation complexity raises as we use more satellites in the subset as the
decision rule divides the plane in more regions to test the failure hypotheses.
As the Range-Comparison-Method showed no advantages in the tested cases, the Least-Squares-
Residuals method is recommended because its performance is identical and the implementation is con-
siderably less complex.
Future Work Carry out some simulations with the Galileo integrity algorithm in order to understand
the real performance of the presented Galileo integrity concept.
83
84
Bibliography
[1] Department of Defense world geodetic system, 1984 (WGS-84), its definition and relationships with
local geodetic systems. Defense Mapping Agency, 3 edition, January 2000.
[2] C. Hernández Medel A. Mozo García and M. Romay-Merino. Galileo navigation and integrity algo-
rithms. Proceedings of the ION GNSS 18th International Meeting, 2005.
[3] European Space Administration. Galileo mission high level definition. Technical report, European
Comission, 2002.
[4] P. Axelrad B. Parkinson. Autonomous GPS Integrity Monitoring Using the Pseudorange Residual,
volume 35. NAVIGATION: Journal of The Institute of Navigation, Summer 1988.
[5] James J. Spilker Jr. Bradford W. Parkinson. Global Positioning System:Theory and Applications,
volume 163. American Institute of Aeronautics and Astronautics, 1996.
[6] A. Brown and M. Sturza. The Effect of Geometry on Integrity Monitoring Performance. Proceedings
of the 46th Annual Meeting of The Institute of Navigation, 1990.
[7] R. Brown and G. Chin. RAIM:Calculation of Threshold and Protection Radius Using ChiSquare
Methods. The Institute of Navigation, 1997.
[8] R. Grover Brown. A Baseline GPS RAIM Scheme and a Note on the Equivalence of Three RAIM
Methods, volume 39. NAVIGATION: Journal of The Institute of Navigation, Fall 1992.
[9] M. Ciollaro. GNSS Multisystem Integrity for Precision Approaches in Civil Aviation. PhD thesis,
Università degli Studi di Napoli "Federico II", 2008.
[10] European Commission. EGNOS Mission Requirements Document. 2006.
[11] European Commission. Quick Facts:SBAS Around the World, 2013.
[12] F Crawford. Berkeley Physics Course, volume 3. Mc Graw-Hill, 1968.
[13] Wayne D. McClain David A. Vallado. Fundamentals of Astrodynamics and Applications. Microcosm
Press, 4 edition, 2013.
[14] G. L. Dieter, G. E. Hatten, and J. Taylor. MCS Zero Age of Data Measurement Techniques. December
2003.
85
[15] ESA. Galileo Fact Sheet. 2013.
[16] ICAO, editor. Standard and Recommended Procedures. International Civil Aviation Organization.
[17] Elliott D. Kaplan and Christopher J. Hegarty. Understanding GPS. Artech House, second edition,
2006.
[18] Y. Lee, K. Van Dyke, B. Decleene, J. Studenny, , and M. Bekmann. Summary of RTCA SC-159
GPS Integrity Working Group Activities. Navigation: Journal of The Institute of Navigation, 1996.
[19] I. Stegun M. Abramowitz. Handbook of Mathematical Functions. Dover Publications, 1970.
[20] MathWorks, editor. Matlab Primer. 2014.
[21] NASA. Real-Time Ionospheric Maps. http://iono.jpl.nasa.gov/latest_rti_global.html,
2015. [accessed 04-April-2015].
[22] Navipedia. Error Sources. http://navipedia.net/index.php/Category:GNSS_Measurements_
Modelling, 2015. [accessed 25-January-2015].
[23] Navipedia. Galileo. www.navipedia.net/index.php/Category:GALILEO, 2015. [accessed 15-
January-2015].
[24] Navipedia. GNSS receiver. http://www.navipedia.net/index.php/GNSS_Receivers_General_
Introduction, 2015. [accessed 24-April-2015].
[25] Navipedia. Integrity. http://www.navipedia.net/index.php/Integrity, 2015. [accessed 01-
February-2015].
[26] F. D. Nunes. Notes on RAIM. Internal Report IT/IST, June 2011.
[27] F. D. Nunes. Sistemas de Controlo de Trafego. IST, Portugal, 2013.
[28] V. Oehler, F. Luongo, J.-P. Boyero, R. Stalford, H. L. Trautenberg, J. Hahn, F. Amarillo, M. Crisci,
B. Schlarmann, , and J.F. Flamand. The GALILEO integrity concept. Proceedings of the ION GNSS
17th International Meeting, September 2004.
[29] V. Oehler, H. L. Trautenberg, F. Luongo, J.-P. Boyero, , and B. Lobert. User integrity risk calculation
at the alert limit without fixed allocations. Proceedings of the ION GNSS 17th International Meeting,
September 2004.
[30] Department of Defense, editor. Federeal Radionavigation Plan. Department of Defense, Department
of Homeland Security, and Department of Transportation of USA, 2008.
[31] U.S. Department of Defense, editor. Global Positioning System Standard Positioning Service Per-
formance Standard. DoD, 4 edition, September 2008.
[32] P. Enge P. Misra. Global Positioning System, Signals, Measurements, and Performance. Ganga-
Jamuna Press, 2001.
86
[33] M. Paimblanc. Integrity risk in satellite radionavigation systems. PhD thesis, L’ Institut National
Polytechnique de Toulouse, 2007.
[34] J. Proakis. Digital Communications. McGraw-Hill, second edition, 1989.
[35] Patrick Y. C. Hwang R. G. Brown. Introdution to Random Signals and Applied Kalman Filtering.
Wiley, third edition, 1997.
[36] C. Rizos and B. Higgins. GNSS availability. http://www.fig.net/resources/monthly_articles/
2005/rizos_higgins_hewitson_october_2005.asp, 2015. [accessed 23-January-2015].
[37] B. Tapley, B. Schutz, and G. Born. Statistical Orbit Determination. Elsevier Academic Press, 2004.
[38] J. Taylor and E. Barnes. GPS Current Signal-in-Space Navigation Performance. The Institute of
Navigation, January 2005.
[39] C. Therrien. Discrete Random Signals and Statistical Signal Processing. Prentice-Hall, 1992.
[40] F. L. Walls and D. W. Allan. An Introduction to Frequency Standards, volume 74. IEEE, January
1986.
[41] D. L. M. Warren and J. F. Raquet. Broadcast vs. Precise GPS Ephemerides: A Historical Perspective.
Springer-Verlag, January 2002.
[42] Wikipedia. ECEF reference frame. https://en.wikipedia.org/wiki/ECEF#/media/File:ECEF.
svg, 2015. [accessed 24-April-2015].
[43] Wikipedia. EGNOS map. http://en.wikipedia.org/wiki/European_Geostationary_
Navigation_Overlay_Service#/media/File:EGNOS_map.svg, 2015. [accessed 21-March-2015].
[44] Wikipedia. SBAS worldwide. http://en.wikipedia.org/wiki/GNSS_augmentation#/media/
File:SBAS_Service_Areas.png, 2015. [accessed 21-March-2015].
87
88
Appendix A
YUMA Almanac definitions
ID PRN of the SVNHealth 000=usable
Eccentricity This shows the amount of the orbit deviation fromcircular (orbit). It is the distance between the foci di-vided by the length of the semi-major axis (our orbitsare very circular).
Time of Applicability The number of seconds in the orbit when the almanacwas generated. Kind of a time tag. It is reset at thestart of the GPS week.
Orbital Inclination The angle to which the SV orbit meets the equator(GPS is at approximately 55 degrees). Roughly, theSV’s orbit will not rise above approximately 55 degreeslatitude. The number is part of an equation: # = π
180= the true inclination.
Rate of Right Ascension Rate of change in the measurement of the angle of rightascension as defined in the Right Ascension mnemonic.√
A Square Root of Semi-Major Axis This is defined as the measurement from the center ofthe orbit to either the point of apogee or the point ofperigee.
Right Ascension at Time of Almanac (TOA) Right Ascension is an angular measurement from thevernal equinox Ω0.
Argument of Perigee An angular measurement along the orbital path mea-sured from the ascending node to the point of perigee,measured in the direction of the SV’s motion.
Mean Anomaly Angle (arc) travelled past the longitude of ascendingnode (value = 0 ± 180 degrees). If the value exceeds180 degrees, subtract 360 degrees to find the meananomaly. When the SV has passed perigee and head-ing towards apogee, the mean anomaly is positive. Af-ter the point of apogee, the mean anomaly value willbe negative to the point of perigee.
af0 SV clock bias in seconds.af1 SV clock drift in seconds per seconds.Week GPS week (0000–1023), every 7 days since 1999 Au-
gust 22.
Table A.1: YUMA almanac definitions
89