275
RICHARD BROUGHTON EVALUATION OF A NEW SATELLITE NAVIGATION INTEGRITY MONITORING ALGORITHM SCHOOL OF ENGINEERING MSC IN ASTRONAUTICS AND SPACE ENGINEERING INDIVIDUAL THESIS PROJECT

RICHARD BROUGHTON EVALUATION OF A NEW SATELLITE …

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

RICHARD BROUGHTON

EVALUATION OF A NEW SATELLITE NAVIGATIONINTEGRITY MONITORING ALGORITHM

SCHOOL OF ENGINEERING

MSC IN ASTRONAUTICS AND SPACE ENGINEERINGINDIVIDUAL THESIS PROJECT

SCHOOL OF ENGINEERING

MSc in Astronautics and Space EngineeringIndividual Thesis Project

2003

RICHARD BROUGHTON

Evaluation of a New Satellite Navigation Integrity MonitoringAlgorithm

Supervisors:Dr. Stephen Hobbs

Mr. John Loizou (VEGA)Mr. Alec Bastin (VEGA)

Presented: September 2003

This thesis is submitted in partial fulfilment of the requirements for the Degree of MScin Astronautics and Space Engineering

© Cranfield University 2003. All rights reserved. No part of this publication may bereproduced without the written permission of the copyright owner.

i

Abstract

Professional users of satellite navigation systems such as GPS or the proposed EuropeanGalileo often need to be aware of the integrity of the signals. In this context, "Integrity"means that the user is provided with timely information regarding the accuracy of thesignals being received, and the health of the system. This is vital for "safety-of-life"applications, such as landing aircraft.

Receiver Autonomous Integrity Monitoring (RAIM) is an approach to providingintegrity information, which may be used by GPS, Galileo or a combination of the two.By taking measurements from more satellites than the minimum required for a simplenavigation solution, RAIM algorithms can determine if any of the received rangingsignals are outside acceptable accuracy limits. VEGA Systems have developed a newRAIM algorithm, which on initial analysis appears to give very good performancecompared to existing algorithm. The subject of this thesis is to characterise this newalgorithm.

In standard least squares residuals algorithms there is the assumption that theobservation matrix is known and that all the errors can be lumped together as a userequivalent range error. The errors in variables (EIV) method recognises that ephemeriserrors will perturb the observation matrix, and that the positioning model is bettersolved as a linear equation with errors in both the observation matrix and themeasurement error vector.

The study analyses the performance of the algorithm using numerical, computation andanalytical methods in an attempt to understand the physical characteristics of thealgorithm. This is used to explain the results from dedicated software and to highlightthe strengths and weaknesses of the algorithm compared to those currentlyimplemented.

Following comparative simulation work, the total least squares approach of the EIVmethod appears to be more sensitive to errors in both pseudorange and ephemeris data,than the simple least squares approach. It appears to be more robust for multiplesatellite failures and corruptions to ephemeris data.

One application of the algorithm is the precision landing approaches of civil aircraft.The feasibility of using RAIM specifically and satellite navigation in general iscompared with competing methods. There are problems with satellite navigation as solemeans particular with regards to jamming and interference. Methods of overcomingthese problems are outlined with suggested solutions for future systems.

ii

Acknowledgments

The author wishes to thank the following people for their help and assistance:

John Loizou at VEGA systems for offering the project and for his support as asupervisor.

Alec Bastin for his help with the MatLab harness and using NavEng.

Steve Hobbs for supervising my project at Cranfield.

Vito Bavaro for supplying information on interference and jamming.

Finally, I wish to thank my granny for helping me to fund this course at Cranfield.

iii

Contents

Abstract.............................................................................................................................. iAcknowledgments ............................................................................................................ iiContents ........................................................................................................................... iiiList of Figures.................................................................................................................. viList of Tables ................................................................................................................... xiNomenclature.................................................................................................................. xii

Symbols Used ............................................................................................................. xiiAbbreviations ............................................................................................................ xiv

1. Introduction .............................................................................................................. 11.1 Background....................................................................................................... 11.2 Thesis Objectives.............................................................................................. 21.3 Thesis Strategy ................................................................................................. 31.4 Report Outline .................................................................................................. 3

2. Literature Review ..................................................................................................... 62.1 Satellite Navigation .......................................................................................... 62.2 Previous Work at Cranfield .............................................................................. 62.3 RAIM................................................................................................................ 62.4 Software............................................................................................................ 72.5 Precision Approaches ....................................................................................... 7

3. GPS, GLONASS and Galileo................................................................................... 83.1 Global Positioning System (GPS) .................................................................... 8

3.1.1 Design of GPS .......................................................................................... 83.1.2 GPS Satellite Frequencies ...................................................................... 113.1.3 Modelling the Current GPS Constellation in STK................................. 123.1.4 Summary of GPS system........................................................................ 15

3.2 Overview of GLONASS................................................................................. 163.3 Galileo ............................................................................................................ 18

3.3.1 Design of Galileo.................................................................................... 183.3.2 Galileo Frequencies ................................................................................ 203.3.3 Simulation of Galileo in STK................................................................. 20

3.4 GPS & Galileo Combined Constellation........................................................ 223.5 Coverage Using STK...................................................................................... 233.6 Facility Accesses calculated using STK......................................................... 263.7 Position Determination................................................................................... 29

4. Integrity Monitoring ............................................................................................... 344.1 RAIM Methods............................................................................................... 39

4.1.1 Range Comparison Method.................................................................... 404.1.2 Least Squares Residuals Method............................................................ 424.1.3 Poor Detection Geometries..................................................................... 44

iv

4.1.4 Standard RAIM Algorithm..................................................................... 474.1.4 Weighted Least Squares Residuals Method ........................................... 484.1.5 Missed detection and False Alarm Probabilities .................................... 56

4.2 Errors in Variables RAIM .............................................................................. 584.2.1 Singular Value Decomposition............................................................... 594.2.2 Total Least Squares in EIV RAIM ......................................................... 634.2.3 Accuracy of EIV RAIM ......................................................................... 644.2.4 EIV RAIM Test Statistics....................................................................... 694.2.5 Sigma 5 test statistic ............................................................................... 704.2.6 H/e test statistic....................................................................................... 714.2.7 Combining the 2 test statistics ................................................................ 734.2.8 LSR Backstop Threshold........................................................................ 76

4.3 Investigations Using NavEng ......................................................................... 774.3.1 Introduction to NavEng .......................................................................... 774.3.2 NavEng Procedure.................................................................................. 794.3.3 D matrix Tuning using NavEng.............................................................. 80

4.4 Modelling using MatLaB Harness.................................................................. 824.4.1 Input Data ............................................................................................... 834.4.2 Calculation of Test Statistics .................................................................. 874.4.3 Calculation of detection Thresholds ....................................................... 874.4.4 Calculating the Protection Limits ........................................................... 894.4.5 Program functions and results ................................................................ 91

5. Precision Approaches for Civil Aviation.............................................................. 1125.1 Current Guidance.......................................................................................... 113

5.1.1 VOR...................................................................................................... 1135.1.2 DME ..................................................................................................... 1145.1.3 INS........................................................................................................ 1145.1.4 ILS ........................................................................................................ 1155.1.5 MLS...................................................................................................... 1165.1.6 WAAS/EGNOS.................................................................................... 1165.1.7 LAAS.................................................................................................... 118

5.2 Jamming and Interference ............................................................................ 1185.3 Anti Jamming Methods ................................................................................ 121

5.3.1 Adaptive Arrays.................................................................................... 1225.3.2 Multiple Aperture Techniques.............................................................. 1245.3.3 Single Aperture techniques................................................................... 1245.3.4 Summary............................................................................................... 126

5.5 The future of Navigation .............................................................................. 1266. Conclusions .......................................................................................................... 128

6.1 Thesis Objectives.......................................................................................... 1286.2 Summary....................................................................................................... 1286.3 Statement of Conclusions ............................................................................. 129

6.3.1 Simulation of Satellite Constellations .................................................. 1296.3.2 Analytical Understanding of EIV RAIM.............................................. 129

v

6.3.3 D matrix tuning..................................................................................... 1306.3.4 Computational Comparison of EIV method with WLSR method........ 1306.3.5 RAIM for Precision Approach ............................................................. 130

6.4 Further Work ................................................................................................ 131References .................................................................................................................... 132Bibliography ................................................................................................................. 136Appendix A: United States Naval Observatory (USNO) ............................................. 138Appendix B: Output from AUGUR website ................................................................ 140Appendix C: STK AER access reports......................................................................... 141Appendix D: D matrix Tuning ..................................................................................... 153Appendix E: MatLaB Harness Code ............................................................................ 169Appendix F: Results from MatLaB harness ................................................................. 228Appendix G: DGPS.0.32 Software............................................................................... 256

vi

List of Figures

Figure 3-1: Current GPS constellation created in STK 4.3 and viewed using theVisualisation Tool, the satellites are denoted by circles on each of the orbit rings.. 9

Figure 3-2: Lockheed Martin Space Systems Global Positioning System Satelliteconstruction in Valley Forge, PA, (Lockheed Martin, 2003)................................... 9

Figure 3-3: Diagram of Space, Control and User Segment reproduced from HewlettPackard application note 1272 on GPS and Timing............................................... 10

Figure 3-4: GPS satellite signal structure, reproduced from (Sandstrom, 2001). ......... 12Figure 3-5: Simulated image of GPS satellite over Cranfield using STK’s Visualisation

Tool......................................................................................................................... 14Figure 3-6: GPS constellation projected on STK’s map tool for July 15th 2003........... 14Figure 3-7: A GPS satellite, space vehicle 17 packed and ready to be shipped to the

launch site, reproduced from (Lockheed Martin, 2003)......................................... 16Figure 3-8: Model of a GLONASS satellite, reproduced from (USNO, 2003).............. 17Figure 3-9: Galileo Satellite orbits simulated in STK 4.3 using Visualisation Tool, the

constellation was modelled using a Walker metric tool. ........................................ 19Figure 3-10: Image of current design of Galileo satellite in orbit, reproduced from

(Galileo, 2003)........................................................................................................ 19Figure 3-11: Screen shot of Walker metric tool in STK used to generate the simulated

Galileo Constellation. ............................................................................................. 21Figure 3-12: The simulated Galileo constellation viewed in the map tool of STK........ 21Figure 3-13: Current GPS, and simulated Galileo constellation orbits in Visualisation

Tool of STK 4.3...................................................................................................... 22Figure 3-14: The combined GPS and Galileo Constellation viewed in STK 4.3’s map

tool. ......................................................................................................................... 23Figure 3-15: GPS constellation coverage in July 2003, calculated using STK 4.3 and

viewed in map tool. ................................................................................................ 25Figure 3-16: Galileo Constellation Coverage calculated using STK 4.3 and displayed in

map window. .......................................................................................................... 25Figure 3-17: Combined GPS and Galileo Constellation Coverage modelled in STK 4.3

and viewed using map tool. .................................................................................... 26Figure 3-18: Diagram of Azimuth and Elevation relative to a user on the earth’s surface.

Azimuth is denoted A, reproduced from Galileo (2003)........................................ 26Figure 3-19: Current GPS constellation with Cranfield access illustrated. The image is

from STK’s Visualisation Tool. The epoch is 12:55.27 July 15th 2003. ............... 27Figure 3-20: Current GPS constellation with Cranfield access illustrated. The image is

from STK’s map tool. The orange lines from the satellites to Cranfield showwhich satellites are visible 5 degrees above the horizon. The epoch is 12:55.27July 15th 2003. ........................................................................................................ 28

vii

Figure 3-21: Graphic representation of visible satellites on 15th July 2003 at 12:55.27generated by AUGUR website. .............................................................................. 29

Figure 3-22: Definition of vectors, reproduced from (Jwo, 2001). ................................ 30Figure 4-1: The figure on the left (4-1a) shows when the directions to the two satellites

are orthogonal, the noise measurement uncertainty is equally distributed in alldirections. The figure on the right (4-1b) shows when two satellites lie nearly onthe same line, the noise measurement in along this line is excellent. However, thelack of positioning information in the North-South direction increases positioninguncertainty in this direction, reproduced from Ober (1999)................................... 35

Figure 4-2: This figure illustrates four GPS satellite positions by plotting elevationagainst azimuth to give their position in the sky. The satellites are evenly spreadthroughout the sky giving an accurate user position with small errors. ................. 36

Figure 4-3: This figure illustrates four GPS satellite positions by plotting elevationagainst azimuth to give their position in the sky. The satellites are clustered inazimuth giving a poor user position solution.......................................................... 36

Figure 4-4: The figure on the left (4-4a) shows the ideal situation where there are nomeasurement errors and hence no residuals. The figure on the right (4-4b) showswhen satellite one contains a measurement error of size e, the estimated positionlies somewhere in the middle of the three intersections of all sets of two arcs. Theresiduals are used for error detection, as they measure the extent to which themeasurements disagree, reproduced from (Ober, 1999)......................................... 37

Figure 4-5: Figure (4-5a) on the left shoes that when satellite one contains ameasurement error and the remaining satellites lie in the same plane giving largeresiduals, making error detection easy, hence providing a high degree of integrity.The figure on the right (4-5b) shows the converse condition with superb accuracy,giving small residuals and making error detection hard. Therefore, the integrity ofthis geometry is very low, reproduced from (Ober, 1999). .................................... 38

Figure 4-6: Range Comparison Method using satellites reproduced from (Lee, 1992). 40Figure 4-7: Test Statistic Plane for the six satellites in view case (y1 and y2 are the

observed residuals) reproduced from (Brown, 1992)............................................. 41Figure 4-8: Error test trajectory, reproduced from (Brown, 1992)................................. 46Figure 4-9: A generic RAIM algorithm, reproduced from (Sandstrom, 2001). ............. 48Figure 4-10: The distribution of vertical errors and the RAIM test statistic shown for

normal operation and illustrating the 4 detection regions reproduced from (Walter,1995)....................................................................................................................... 51

Figure 4-11: The distribution of vertical errors and the RAIM test statistic for the caseof a failed satellite, reproduced from (Walter, 1995) ............................................. 52

Figure 4-12: Trajectory through decision planes for different thresholds or teststatistics, reproduced from (Lee, 1992). ................................................................. 53

Figure 4-13: a) A non-singular matrix A maps a vector space into one of the samedimension. The vector x is mapped into b, so that x satisfies the equation A . x =b. b) A singular matrix A maps a vector space into one of lower dimensionality,here a plane into a line, called the range of A. The nullspace of A is mapped tozero. The solutions of A . x = d consist of any one particular solution plus any

viii

vector in the nullspace, here forming a line parallel to the nullspace. SVD selectsthe particular solution closest to zero, as shown. The point c lies outside of therange of A, so A . x = c’, as shown. Reproduced from Press (1992). ................... 61

Figure 4-14: Relation of the confidence region ellipse 12 to quantities computedby SVD value decomposition. The vectors V(i) are unit vectors along the principalaxes of the confidence region. The semi-axes have lengths equal to the reciprocalof the singular values wi. If the axes are all scaled by some constant factor α, 2is scaled by the factor α2, reproduced from Press et al (1992). .............................. 68

Figure 4-15: Fault detection plane, reproduced from (Juang, 2000) .............................. 69Figure 4-16: Comparison between 5 with the square root of WSSE’ probability density

function, reproduced from (VEGA, 2003). ............................................................ 70Figure 4-17: Plot of Vertical error against 5 test statistic for GPS + Galileo simulated

constellation without bias (red) and with 20m bias applied to vertical pin satellite(blue). The lines mark the vertical protection limit and the 5 threshold, splittingthe plot into four detection states, produced using bias_plotter.m. ........................ 71

Figure 4-18: Plot of Vertical error against H/e test statistic for GPS + Galileo simulatedconstellation without bias (red) and with 20m bias applied to vertical pin satellite(blue). The line marks the vertical protection limit produced using bias_plotter.m................................................................................................................................. 72

Figure 4-19: Ideally tuned H/e Test Statistic Probability Density function is a halfnormal distribution, reproduced from (VEGA, 2003). ........................................... 73

Figure 4-20: Plot of 5 test statistic against H/e test statistic for GPS + Galileosimulated constellation without bias. The lines mark the 5 threshold and the H/ethreshold produced for 1000 iterations using bias_plotter.m. ................................ 74

Figure 4-21: Plot of 5 test statistic against H/e test statistic for GPS + Galileosimulated constellation without bias (blue) and with a 20m bias to the vertical pinsatellite (red). The lines mark the EIV VPL and the WLSR VPL for 1000iterations using bias_plotter.m................................................................................ 75

Figure 4-22: Three dimensional plot of 5 test statistic against H/e test statistic andvertical error for GPS + Galileo simulated constellation without bias (blue) andwith a 20m bias to the vertical pin satellite (red). .................................................. 75

Figure 4-23: 5 test statistic characteristic, illustrating that the critical satellite does nothave the steepest gradient in EIV RAIM, reproduced from (VEGA, 2003). ......... 76

Figure 4-24: Navigation Engine (NavEng) data input window...................................... 77Figure 4-25: Graph of interpolation equation used for UERE calculation, reproduced

from Wood (2001). ................................................................................................. 84Figure 4-26 : Calculation of EIV Worst case Bias, reproduced from (VEGA, 2003).... 90Figure 4-27: Output from Bias_characteristics.m for the Galileo simulated constellation

with no bias applied to the pin satellite. ................................................................. 92Figure 4-28: Output from Bias_characteristics.m for the Galileo simulated constellation

with a 15m bias applied to the vertical pin satellite. .............................................. 93

ix

Figure 4-29: Output from Bias_characteristics.m for the Galileo simulated constellationwith a 15m bias applied to the horizontal pin satellite. .......................................... 94

Figure 4-30: Output from decision.m for GPS and Galileo combined constellation withno bias applied. The WLSR method and EIV methods are compared and bothshow no detection. .................................................................................................. 95

Figure 4-31: Output from decision.m showing a combined GPS and Galileoconstellation with 5m bias applied to the vertical pin satellite............................... 97

Figure 4-32: Output from decision.m with no bias applied to a simulated Galileoconstellation file. .................................................................................................... 98

Figure 4-33: Output from decision.m with a 9m bias applied to the vertical criticalsatellite of the simulated Galileo file...................................................................... 99

Figure 4-34: Output from detection.m for simulated current GPS constellation with a10m bias applied to the vertical pin satellite. ....................................................... 100

Figure 4-35: Output from decision.m for RINEX data with simulated errors with no biasapplied to the vertical pin satellite....................................................................... 101

Figure 4-36: Output from decision.m for GPS data with a 10m bias applied to thevertical and horizontal pin satellites. ................................................................... 102

Figure 4-37: Diagram representing how a small change in elevation position of asatellite makes a large change to its actual position on the sky P . ................... 102

Figure 4-38: Output from decision.m, for RINEX data with and without a 1 radian errorazimuth applied to the vertical pin satellite. ......................................................... 103

Figure 4-39: Output from decision.m, illustrating the effect of altering the elevationangle of the vertical pin satellite by 1 radian compared with no alteration for theRINEX data. ......................................................................................................... 104

Figure 4-40: Output from decision.m, illustrating the effect of altering the elevationangle of the pin satellite by 1 radian for the compared with no alteration Galileosimulated constellation. ........................................................................................ 105

Figure 4-41: Output from decision.m, illustrating the effect of altering the elevationangle of the pin satellite by 1 radian for the compared with no alteration GPSsimulated constellation. ........................................................................................ 106

Figure 4-42: Output from decision.m, illustrating the effect of altering the elevation andazimuth of the vertical pin satellite and applying 20m bias to both the horizontaland vertical critical satellite.................................................................................. 107

Figure 4-43: Four plots of 10 000 data points with no bias applied, produced usingMonte Carlo iterations using bias_plotter.m for the simulated GPS satelliteconstellation.......................................................................................................... 108

Figure 4-44: The plots of 10 000 data points for vertical error plotted against H/e teststatistic with bias applied, produced using NavEng spreadsheet EIV Post Processorfor the simulated GPS satellite constellation........................................................ 108

Figure 4-45: The plots of 10 000 data points for horizontal error plotted against H/e teststatistic with bias applied, produced using NavEng spreadsheet EIV Post Processorfor the simulated GPS satellite constellation........................................................ 109

Figure 4-46: Four plots of 10 000 data points with no bias (red), 5m bias (blue) and 10mbias (green) applied. The biases have been applied to the vertical pin satellite in

x

all cases. These plots were produced using Monte Carlo iterations usingbias_plotter.m for the simulated GPS satellite constellation................................ 109

Figure 4-47: Four plots of 10 000 data points with no bias (red), 5m bias (blue) and 10mbias (green) applied. The biases have been applied to the vertical pin satellite inthe top two plots and the horizontal pin satellite in the bottom two plots. Theseplots were produced using Monte Carlo iterations using bias_plotter.m for thesimulated GPS satellite constellation. .................................................................. 110

Figure 4-48: 3D plot for simulated Galileo constellation showing the vertical andhorizontal errors plotted against each of the two test statistics. ........................... 111

Figure 5-1: The )(kR delta R vector connects the true location of the kth satellite to thesatellite location as indicated by the GPS navigation message. The scalar )(kB isthe difference between the true transmission time indicated by the GPS navigationmessage. )(k

uI and )(kuT are pseudorange measurement error due to unmodelled

ionospheric and tropospheric refraction. In this case, the subscript u denotes theuser, reproduced from (Enge, 1996). .................................................................... 117

Figure 5-2: Future Signal Architecture, showing the newly proposed introduction ofadditional frequencies to L1 and L2, reproduced from Bavaro (2003). ............... 119

Figure 5-3: Photos of simple GPS jammers. The picture on the left shows a singletransistor oscillator with an output of around 75mW and a cost of just 50p. Thepicture on the right shows a synthesiser controlled very high frequency oscillator,with a component cost of £20 and an output of around 5mW, reproduced fromBavaro (2003). ...................................................................................................... 119

Figure 5-4: Diagram of spot jamming to the GPS L1 and L2 signals. ......................... 120Figure 5-5: Diagram showing the function of a CRPA nulling array. A jamming signal

in introduced, so the CRPA produces an adaptive null to overcome the jammingsignal and allow the receiver to detect the GPS signal......................................... 122

Figure 5-6: Space time adaptive beam former utilising a 7 element CRPA array,reproduced from (Hatke, 1998). ........................................................................... 122

Figure 5-7: A small CRPA antenna produced by NAVSYS and a typical sizedcommercially available CRPA on the right reproduced from (Brown, 2001)...... 123

Figure 5-8: Tightly couple GPS/INS architecture, reproduced from (Lee, 2000)........ 125

xi

List of Tables

Table 3-1: Table of active GPS satellites on July 15th 2003, with their designations andlaunch dates. Adapted from (USNO, 2003). ......................................................... 13

Table 3-2: GLONASS constellation status on July 16th 2003 reproduced from (GIBS,2003)....................................................................................................................... 17

Table 4-1: Specimen input data for MatLaB Harness scripts, in this case for simulatedGalileo Constellation created in STK. Note that 11 satellites are visible and thatAzimuth and Elevation are given in radians........................................................... 83

Table 4-2: Table for UERE for different angles of elevation for both the GPSaugmented system, and the Galileo system with E1 and E5 signals, reproducedfrom EUROCAE (2003). ........................................................................................ 83

Table 4-3: Specimen data format of vertical error for each satellite plotted againstincreasing bias. ....................................................................................................... 91

Table 5-1: Precision approach categories and requirements for ILS adapted from(Parkinson, 1996). ................................................................................................ 112

Table 5-2: Precision approach requirements for the Galileo System reproduced from(VEGA, 2003). ..................................................................................................... 113

Table 6-1: Table of protection limits calculated for each constellation at the chosenepoch and hence satellite geometry. ..................................................................... 131

xii

Nomenclature

Symbols Used

b Error associated with GPS receiverc Speed of lightd Dimensiondt Offset of satellite clocke Errors in pseudorange vectorei Pseudorange errorsgi Observation matrix componentsk Number of standard deviationsm Meann Number of unknownspi Pseudoranger Difference between user position and linearization pointr Residual Solutiontu Receiver clock offsetusv Satellite Positionu User Positionx Position Vectorxls Least squares calculated position vectorxsv Satellite x positionxtls Total least squares calculated position vectorxu User x positiony Pseudorange minus ranging errorsyls Least squares pseudorange minus ranging errorsysv Satellite y positionytls Total least pseudorange minus ranging errorsyu User y positionzsv Satellite z positionzu User z position

km kilometresm metresmins minutesrads radianss seconds

xiii

C N by N matrix used to weight the significance of different rangemeasurements

D 5 by 5 matrix, with diagonal entries related to relative importance ofNorth, East, Up, Clock and residual errors

G Observation matrixH Errors related to ephemeris dataI N by N unit matrixK Weighted pseudo inverse of G matrixPFA Probability of False AlarmPMD Probability of Missed Detection

SP Probability of satellite failureN Number of Visible Satellites/measurementsT Detection thresholdTDi True distanceW Inverse Covariance Matrix used as weighting matrix

δ Difference between clock errors in receiver and linearization pointε Range Residuals errorλ Non centrality parameter Mean pseudorange biasσ User Ranging Accuracyσ5 Model mismatch between observation matrix and measurement vectorσ0 Standard Deviationχ2 Chi squared

svu Position difference to ephemeris errors

xiv

Abbreviations

AER Azimuth, Elevation, RangeAPACS Autonomous Precision Approach and Landing SystemARP Approximate Radial-Error ProtectedCDMA Code Division Multiple AccessCW Continuous WaveDGPS Differential GPSDH Decision HeightDME Distance Measuring EquipmentDOD Department of DefenceDOP Dilution of PrecisionDLL Dynamic Linked LibrariesECEF Earth Centred, Earth FixedEGNOS European Geostationary Navigation Overlay ServiceESA European Space AgencyEU European UnionFAA Federal Aviation AdministrationFDE Fault Detection and ExclusionFDI Fault Detection and IsolationGBAS Ground Based Augmentation SystemsGDOP Geometric Dilution of PrecisionGLONASS Global Navigation SystemGNSS Global Navigation Satellite SystemGPS Global Positioning SystemHAL Horizontal Alert LimitHDOP Horizontal Dilution of PrecisionHPL Horizontal Protection LimitHUD Head Up DisplayHUL Horizontal Alert LimitILS Instrument Landing SystemsLAAS Local Area Augmentation SystemLS Least SquaresMLS Microwave Landing SystemsMMR Multirole receiversMSAS Multifunctional Transport Satellite Augmentation SystemNATS National Air Traffic ServicesP PrecisionPPS Precise Positioning ServicePRN Pseudo Random NoiseRA Right AscensionRAIM Receiver Autonomous Integrity Monitoring

xv

RF Radio frequencyRINEX Receiver Independent Exchange FormatRMS Root Mean SquaredSA Selective AvailabilitySNR Signal to Noise RatioSPS Standard Positioning ServiceSSE Some of the squared errorsSSTL Surrey Satellite Technology LtdSTK Satellite Tool KitSV Space VehiclesSVD Singular Value DecompositionTLS Total Least SquaresTOA Time of ArrivalUERE User Equivalent Range ErrorURA User Ranging AccuracyUS United StatesUSNO US Naval ObservatoryVDOP Vertical Dilution of PrecisionVHF Very High FrequencyVOR VHF Omnidirectional RangeVPL Vertical Protection LimitWAAS Wide Area Augmentation SystemWLSR Weighted Least Squares ResidualsWMS Wide Area Reference StationsWRS Wide Area Master StationsWSSE Weighted Sum of the Squared Errors

Introduction Richard Broughton

1

1. Introduction

1.1 Background

Traditional navigation has been carried out in aviation, shipping, military and vehicleapplications. The most widely known navigation system has been the GlobalNavigation System (GPS).

In recent years it has been taken up for consideration as the sole means of aircraftnavigation in augmented form (Crow, 1998). This is due to the decreased price of GPSreceivers and above all to the improvement of the positioning accuracy in GPSperformance. The accuracy has improved greatly as a result of the decision made by theUnited States (US) government and Department of Defence (DOD) on the 1st May 2000to remove the intentional degradation of the GPS signals (Van Dyke, 2000). Thedegradation of GPS signals deteriorated the position measurements, leading tosomewhat poor navigation solutions.

However, GPS is fundamentally a US military system operated by the DOD with a largenumber of commercial users. These international commercial users ultimately have nocontrol over the system which has led to a European Consortium to develop their ownposition and timing satellite navigation system called Galileo (AATL, 2003). Such acommercially operated system becomes important for integrity monitoring involvedwith safety of life applications, as Galileo will provide integrity services which arecurrently not part of the GPS.

The focus of this thesis is integrity monitoring applied to precision approaches forcommercial aircraft. Currently such aircraft are guided using Instrument LandingSystems (ILS), VOR (VHF Omnidirectional Range)/DME (Distance MeasuringEquipment) and occasionally Microwave Landing Systems (MLS). In the future it maybe possible to land aircraft using an augmented satellite navigation system. Currentlythe US use Wide Area Augmentation System (WAAS), a derivative of Differential GPS(DGPS) which is used for category I approaches (Walter, 1995). Europe has alsodeveloped its own augmentation system the European Geostationary NavigationOverlay Service (EGNOS) both systems utilising the Inmarsat 3 satellites (Kayton,1997). In this project, the feasibility of using satellite navigation as the sole guidancefor category III approaches is investigated.

Introduction Richard Broughton

2

The method of Integrity Monitoring used in this report is Receiver AutonomousIntegrity Monitoring (RAIM), (Wood, 2000). One particular algorithm developed byVEGA Systems utilising so called Errors in Variables (EIV) RAIM is investigated(Juang, 2000). RAIM detects inconsistencies in the received satellite data by making aconsistency check on the measurements, and informs the user of a detected fault.

The application of satellite navigation to innumerable civil users has grown rapidlyover the past several years. In fact, in 1994 the Federal Radio navigation Plan statedthat GPS would become the ‘sole means’ for navigation and landing guidance startingin 2010 when the last of the 70 year old VOR/DME and ILS guidance facilities would beretired. However, analyses, tests and unintentional interference have shown that verylow level GPS signals are vulnerable to terrorist or military jamming over wide earthareas (Crow, 2002).

1.2 Thesis Objectives

The purpose of this thesis is to characterise the EIV RAIM method. As far as the authoris aware it has not previously been implemented in industry perhaps because it has notbeen considered outside academia before. It is important to demonstrate that the EIVmethod’s performance is at least as good as currently implemented methods.

Also of importance is to illustrate the commercial applications that satellite navigationand RAIM in particular have, to demonstrate that this esoteric work is worthwhile.Such research is timely in Europe with the proposed Galileo project definition studyunder way. One safety of life application is using satellite navigation as sole means forprecision approaches of civil aircraft. The feasibility and problems with this applicationare studied.

The thesis objectives have been divided into five main tasks:

1. Background understanding of global navigation satellite systems (GNSS) with asimulation of GPS, Galileo and a combined constellation using Satellite Tool Kit(STK). Access reports from these simulations are used as input data for theRAIM algorithms.

2. Analytical understanding of EIV method using matrix and statisticalmathematics. In particular gaining an understanding in SVD and TLS methods.

3. Investigate how the EIV RAIM algorithm can be tuned to improve itsperformance. The D which weights different components of a covariance matrixfor the errors in variables model. Study what changing these parameters meanand how the algorithm can be tuned automatically.

Introduction Richard Broughton

3

4. Comparing the EIV method with the more conventional Weighted Least SquaresResiduals (WLSR) method using computational simulation using MatLaB.

5. Application of RAIM and satellite navigation to precision approaches for civilaviation.

These five main objectives are presented throughout the report. The outline of thereport is listed in section 1.4.

1.3 Thesis Strategy

To understand RAIM, it is first necessary to understand satellite navigation systems andpositioning methods. STK was used as a visualisation tool and a simulator to propagatethe required constellations. Actual GPS RINEX data was manipulated using a DGPSprogram created at Cranfield University (appendix G).

It was necessary to understand the mathematics and statistical underpinnings of errors invariables and SVD, so a thorough literature review of the subject was conducted. Thenature of the EIV method requires that a particular matrix, the D matrix be tunedcorrectly. Software called NavEng developed by VEGA Systems was used to tune thismatrix and understand how this process operated.

To understand the entire algorithm without any black boxes, it was necessary to code aharness in MatLaB to control all the inputs of the algorithm. This allowed comparison(using simulated input data and actual GPS data) to another RAIM algorithm, theWLSR method. Further, MatLaB code was developed to validate and understand theNavEng software written by VEGA systems.

1.4 Report Outline

Below is an outline of the thesis.

Chapter 1, Introduction, provides a brief introduction to satellite navigation and how itis applied to civil aviation. The principles of how RAIM is implemented areintroduced.

Chapter 2, Literature Review, the aim of this chapter is to identify and discuss literaturethat is of direct relevance to this project. It includes background references for satellitenavigation, RAIM, software used in this project, and jamming/interference.

Introduction Richard Broughton

4

Chapter 3, GPS, GLONASS and Galileo, describes the fundamentals of satellitenavigation. A brief background of GPS, GLONASS and the proposed Galileo systemsare given. The GPS and Galileo constellations were modelled using Satellite Tool Kit(STK) to provide the input data for the EIV algorithm. The method used for theirgeneration is described. The end of the chapter outlines position determination whichintroduces notation and input matrices used for RAIM algorithms in this project.

Chapter 4, Integrity Monitoring, introduces Integrity Monitoring starting with somephysical understanding of positioning and how it affects integrity. Integrity itself isintroduced by describing three currently implemented RAIM algorithms: Rangecomparison method, LSR, WLSR. Then the more complex EIV RAIM method isdescribed and all the theoretical underpinnings explained. Later on in the chapter thecomputational work is described including the VEGA software tool NavEng and theauthor’s MatLaB harness.

Chapter 5, Precision Approaches for Civil Aviation, explains the most stringent use ofRAIM, precision approaches for aviation. Firstly non satellite methods are discussedfollowed by the problems with using satellite navigation methods notably with respectto interference and jamming. The chapter ends with the author’s ideas of the future ofnavigation for aircraft and in general.

Chapter 6, Conclusions, formally concludes the report and presents furtherrecommendations.

Appendix A, USNO, contains GPS status data from the United States NavalObservatory.

Appendix B, Output from AUGUR website, contains data from the AUGUR predictiveRAIM software found on the internet.

Appendix C, STK AER access reports, contains input data for the RAIM algorithmsproduced using STK.

Appendix D, D matrix Tuning, contains an outline of the actual steps used to tune the Dmatrix using NavEng.

Appendix E, MatLaB harness code, contains complete listing of MatLaB softwarewritten and used in this thesis.

Appendix F, Results from MatLaB harness, contains results produced using the MatLaBcode.

Introduction Richard Broughton

5

Appendix G, DGPS.0.32 software, contains a short description of how the DGPSsoftware was used to generate data used in this thesis.

Literature Review Richard Broughton

6

2. Literature Review

The aim of this chapter is to identify and discuss literature that is of direct relevance tothis project. The references can be found at the end of the thesis in the referencessection.

2.1 Satellite Navigation

Firstly the references that were used as general background texts describing an overviewof satellite navigation were: Kaplan (1996), Parkinson, (1996) and Hoffman, (2001).These sources provide the most complete description of satellite navigation, inparticular GPS. They also include descriptions of RAIM and precision approaches foraviation.

For a background into the Galileo System a paper entitled ‘Galileo: The EuropeanProgramme for Global Navigation’ was used (Galileo, 2003). This describes the stateof the Galileo project including services, system architecture and funding at the time ofwriting of this thesis.

2.2 Previous Work at Cranfield

There has been previous work on both the Galileo System and RAIM at CranfieldUniversity. There are two relevant MSc theses, one by Middleton (2000) comparing theperformance of Galileo and GPS. The other by Wood (2001) describes the use ofRAIM for both GPS and Galileo. Both of these theses were useful in outlining how tomodel GPS and Galileo satellite constellations using STK.

2.3 RAIM

In terms of describing RAIM, a number of papers were particularly useful. The first ofthese is Brown (1992) which outlines three different methods of RAIM algorithm andhow to implement them for GPS. A good description of the weighted least squaresresiduals (WLSR) approach, (most similar to the EIV method), is given by Walter(1995) and explains how this technique can be applied to precision approaches.Specifically for the EIV RAIM method, the only papers that the author could find were(Juang, 1998, 2000).

Literature Review Richard Broughton

7

Of the pair of these the latter is more complete in its description of the method. TheTotal Least Squares (TLS) approach used in both these papers is based on the work ofHuffel (1989).

Useful mathematical texts describing the TLS method and Singular ValueDecomposition (SVD) are Golub (1996) and Press et al (1992). Of these twocomprehensive texts, Golub contains more mathematically in depth matrix analysis andPress is more descriptive with regards to statistical techniques.

The most comprehensive document available to the author that includes elements of allthe previous references is a report by (VEGA, 2003). This report forms the basis of thisthesis and is particularly useful at providing technical data for both Galileo and RAIMalgorithms. It outlines VEGA Systems, NSL and NATS work on the Galileo definitionstudy, but is currently not in open literature.

2.4 Software

With regards to software reference books, the STK help pages STK (2003), wereessential in understanding the modelling of GPS/Galileo constellations. The bestdescription of the AUGUR software can be found in Ober (1999), and includes someuseful physical insights into RAIM in general. For MatLaB, the book ‘MasteringMatLaB 6’ by Hanselman (2001) and the MatLaB help pages MatLaB (2003) wereused.

2.5 Precision Approaches

Descriptions of guidance methods for aircraft other than satellite navigation are given in(Kayton, 1997). This book also gives a good description of the background to precisionapproaches and aircraft navigation in general.

The work on interference and jamming is largely based on a presentation by Bavaro(2003). This was kindly provided by Vito Bavaro a member of the Italian Air Force andan expert in Navigation warfare. For a more general description of the limitationsimposed by interference on GPS the papers by (Crow, 2002, 2000, 1998) are highlyilluminating. Military anti jamming techniques are outlined in Hatke (1998), Rao(1998) and Pittman (2000). The paper by Lee (2000) describes the augmentation ofGPS with INS to improve RAIM performance in a jamming/interference environment.

Finally the doctorial dissertation by Whelan (2001) provides a good description of thefuture of navigation for civil aviation.

GPS, GLONASS and Galileo Richard Broughton

8

3. GPS, GLONASS and Galileo

This chapter describes the different global satellite navigation systems and architectures.It explains the modelling of Galileo and GPS constellations using STK. At the end ofthe chapter a mathematical description of the positioning methods and notations used inthis thesis is given.

3.1 Global Positioning System (GPS)

The Global Positioning System (GPS) is a satellite navigation system, which is fundedand controlled by the US DOD. The system provides accurate, continuous, worldwidethree dimensional position and velocity information to users with the appropriatereceiving equipment. The system utilises the concept of one way time of arrival (TOA)ranging (Kaplan, 1996).

3.1.1 Design of GPS

GPS consists of three major segments: space, control and user (Kaplan, 1996). Thespace segment consists of a nominal constellation of 24 space vehicles (SV’s) arrangedin six 11hr58min orbital planes with four satellites in each plane. The orbits are nearlycircular with inclination angles of 55 degrees relative to the equator and radii ofapproximately 20200km. The six orbital planes are equally spaced around the equator,resulting in a 60 degree separation.

Currently there are 29 active GPS satellites in the Block II/IIA/IIR constellation and afurther launch is scheduled in October 2003 (Spaceflight now, 2003). The current GPSconstellation as modelled in STK is shown in figure (3-1). The design life for thecurrent block II/IIA satellites was around 7.3 years (US Naval Observatory, 2003), butseveral satellites seem to have greatly exceeded this. The design lifetimes of the blockIIR satellites, (which are currently being launched) is 7.8 years. Figures (3-2, 3-7) showthe design and scale of the block IIR satellites. The status of the active GPS satellites inJuly 2003 is provided in (appendix A). GPS satellite current status can be found on theUSNO website (USNO, 2003).

GPS, GLONASS and Galileo Richard Broughton

9

Figure 3-1: Current GPS constellation created in STK 4.3 and viewed using theVisualisation Tool, the satellites are denoted by circles on each of the orbit rings.

Figure 3-2: Lockheed Martin Space Systems Global Positioning System Satelliteconstruction in Valley Forge, PA, (Lockheed Martin, 2003).

GPS, GLONASS and Galileo Richard Broughton

10

The satellite constellation ensures availability, reliability, coverage and accuracy of thenavigation service for a user located anywhere on the globe. The SV’s transmit codedradio signals that a GPS receiver will decode to determine important navigation systemparameters.

The control segment is a worldwide ground control network, which is responsible formonitoring health and the status of the space segment. This consists of a system oftracking stations located around the world, including six monitoring stations, fourground antennas and a master control station. The master control station determines theorbital model and the clock correction parameters for each satellite. These parametersare sent to the ground antennas for transmission to the satellites, which broadcast themto the user segment.

Figure 3-3: Diagram of Space, Control and User Segment reproduced from HewlettPackard application note 1272 on GPS and Timing.

GPS, GLONASS and Galileo Richard Broughton

11

The user segment consists of receivers that measure and decode the satellitetransmissions to provide positioning, velocity and precise timing information to theuser. Since the user receiver operates passively, the GPS space segment can provideservices to an unlimited number of users.

GPS provides two services: the Standard Positioning Service (SPS) and the PrecisePositioning Service (PPS). The SPS is designed for the civil community and isavailable for all users worldwide while the PPS is available only for users authorised bythe US government, and the access to PPS is controlled through cryptography(Hoffman, 2001).

3.1.2 GPS Satellite Frequencies

The GPS SV’s transmit two carrier frequencies called L1 (1575.42 MHz), the primaryfrequency, and L2 (1227.60 MHz) the secondary frequency (Kaplan, 1996). The carrierfrequencies are modulated by spread spectrum codes with a unique pseudorandom noise(PRN) sequence associated with each SV and by the navigation data message. Thenavigation message includes data unique to the transmitting satellite and data commonto all satellites (Kaplan, 1996). The L1 frequency carries the navigation message andthe SPS code signals. The L2 frequency is mainly used to measure the ionospheric delayby PPS equipped receivers. The C/A code (Coarse Acquisition) is a repeatingpseudorandom noise code and it modulates the L1 carrier phase. The C/A code is thebasis for the civil SPS. The code has a length of 1023 chips and a 1.023 MHz chip rateresulting in a period of 1ms (Parkinson, 1996). There is a different C/A code PRN foreach SV and each C/A PRN code is nearly orthogonal to all other C/A PRN codes.Since the C/A codes for each satellite are unique and nearly orthogonal, the cross-satellite interference is small with rather equal received signal power.

The receiver is able to replicate all the PRN codes and thus can separate the signalsfrom the noise and from each other. It achieves this by using a technique called codedivision multiple access (CDMA) (Kaplan, 1996). The Precision (P) code modulatesboth the L1 and L2 carrier phases. The P code has a rate of 10.23 MHz and a repeattime of one week. In the Anti Spoofing mode of operation, the P code is encrypted intothe Y code. The encrypted Y code requires a classified anti spoofing module for eachreceiver channel and is for use only by authorized users with cryptographic keys. The P(Y) code is the basis for the PPS (Kaplan, 1996). Both the L1 and L2 signals have alsonavigation data of 50 Hz modulo-2 added with the C/A and P (Y) codes. The navigationdata consists of data bits that describe the GPS satellite orbits, clock corrections, andother system parameters. The GPS satellite signal structure is described in the figurebelow.

GPS, GLONASS and Galileo Richard Broughton

12

Figure 3-4: GPS satellite signal structure, reproduced from (Sandstrom, 2001).

3.1.3 Modelling the Current GPS Constellation in STK

In order to analyse the GPS constellation it was modelled using Satellite Tool Kit (STK)following the work of Wood (2001) and Middleton (2000). The constellation shown isfor July 2003. As data is available for the current GPS constellation USNO (2003), it ispossible to validate results obtained using STK.

GPS satellite information is available within the satellite database of STK. An up todate database can be downloaded from the STK website (STK, 2003). This was thenchecked against the US Naval Observatory website (USNO, 2003) and appeared to beconsistent.

GPS, GLONASS and Galileo Richard Broughton

13

Table 3-1: Table of active GPS satellites on July 15th 2003, with their designations andlaunch dates. Adapted from (USNO, 2003).

LAUNCH LAUNCH FREQ US SPACEORDER PRN SVN DATE STD PLANE COMMAND **--------- ----- ------- ------------ ------ ---------- --------------

II-2 2 13 10-Jun-89 Cs B5 20061II-5 17 17 11-Dec-89 Cs D6 20361II-9 15 15 01-Oct-90 Cs D5 20830

IIA-10 23 23 26-Nov-90 Cs E5 20959IIA-11 24 24 04-Jul-91 Cs D1 21552IIA-12 25 25 23-Feb-92 Cs A2 21890IIA-14 26 26 07-Jul-92 Rb F2 22014IIA-15 27 27 09-Sep-92 Rb A4 22108IIA-16 1 32 22-Nov-92 Cs F4 22231IIA-17 29 29 18-Dec-92 Rb F5 22275IIA-18 22 22 03-Feb-93 Cs B6 22446IIA-19 31 31 30-Mar-93 Rb C3 22581IIA-20 7 37 13-May-93 Rb C4 22657IIA-21 9 39 26-Jun-93 Cs A1 22700IIA-22 5 35 30-Aug-93 Cs B4 22779IIA-23 4 34 26-Oct-93 Rb D4 22877IIA-24 6 36 10-Mar-94 Cs C1 23027IIA-25 3 33 28-Mar-96 Cs C2 23833IIA-26 10 40 16-Jul-96 Cs E3 23953IIA-27 30 30 12-Sep-96 Rb B2 24320IIA-28 8 38 06-Nov-97 Rb A3 25030IIR-2 13 43 23-Jul-97 Rb F3 24876IIR-3 11 46 07-Oct-99 Rb D2 25933IIR-4 20 51 11-May-00 Rb E1 26360IIR-5 28 44 16-Jul-00 Rb B3 26407IIR-6 14 41 10-Nov-00 Rb F1 26605IIR-7 18 54 30-Jan-01 Rb E4 26690IIR-8 16 56 29-Jan-03 Rb B1 27663IIR-9 21 45 31-Mar-03 Rb D3 27704

The constellation was modelled using an MSG4-P propagator, as this is how thesatellite database function appears to propagate the orbits. The MSG4-P propagatortakes into account variations of orbital elements due to oblateness of the Earth,solar/lunar gravitational effects and atmospheric drag. There are several differentsatellite databases available, but since the current constellation was required, the searchwas conducted within the active satellite database. Within this database, a search wasperformed for US military navigation satellites. This brought up the current, 29 satelliteconstellation in several designations. However STK recognises duplication and will notpropagate the same object more than once.

GPS, GLONASS and Galileo Richard Broughton

14

The ‘create constellation’ option was selected and then it is possible to alter the day ortime interval over which the analysis is conducted.

Figure 3-5: Simulated image of GPS satellite over Cranfield using STK’s VisualisationTool.

Figure 3-6: GPS constellation projected on STK’s map tool for July 15th 2003.

GPS, GLONASS and Galileo Richard Broughton

15

Ground tracks are not shown in this figure as it would make it difficult to read.Although there are six different orbit planes in which GPS satellites are located, eachsatellite has its own individual ground track. GPS uses repeating ground tracks withperiods of one sidereal day (23hr58 mins). This means that at the same time every day,the same group of satellites are in view from any given position.

3.1.4 Summary of GPS system

This section has been included to give a brief introduction to GPS. Much informationcan be found elsewhere, so particular topics have been highlighted. The constellationdescription was important for the generation of input data for the RAIM algorithms(chapter 4).

The discussion of general system architecture describes GPS limitations (section 3.1.1).GPS integrity is not constantly monitored in a constant two way manner as the Galileosystem will be. Currently satellite ephemeris data is only uploaded every two hours andhence other satellite based augmentation systems are being used to try to improveintegrity, such as the Inmarsat communications satellites (section 5.1.6). This isprimarily because GPS was designed to guide military assets and not provide safety oflife information to commercial users.

The GPS frequency description (section 3.1.2) is included so that jamming andinterference issues may be introduced in (chapter 5), giving the reader some backgroundinto the configuration of the current constellation.

GPS, GLONASS and Galileo Richard Broughton

16

Figure 3-7: A GPS satellite, space vehicle 17 packed and ready to be shipped to thelaunch site, reproduced from (Lockheed Martin, 2003).

3.2 Overview of GLONASS

In 1982, the Russians entered the field of satellite navigation systems when theyintroduced GLONASS. This is an abbreviation for Globalnaya Sputnikovaya Sistenna(Wood, 2001). The official accuracy of GLONASS was 65m but the actual accuracywas nearer to 20m.

The GLONASS constellation was very similar to GPS and consisted of 21 satelliteswith three in orbit spares. The lifetime for each satellite was approximately three yearswhich meant the system required regular renewal at a high maintenance cost to theRussian Defence Ministry. In 1988 responsibility of GLONASS was transferred to theRussian Space Agency.

GPS, GLONASS and Galileo Richard Broughton

17

Figure 3-8: Model of a GLONASS satellite, reproduced from (USNO, 2003)

Due to the large number of launches to maintain the operation of GLONASS, thesystem fell into decline in the 1990’s as a result of financial shortages. There arecurrently just eight operational GLONASS satellites at the time of writing (GIBS,2003). Due to the reduced capabilities of the GLONASS system it is cannot be used byRAIM, and will not be mentioned further in this thesis.

Table 3-2: GLONASS constellation status on July 16th 2003 reproduced from (GIBS,2003).GLONASS Cosmos Frequency Launch Intro Status Outagenumber number channel date date date

789 2381 12 01.12.2001 04.01.2002 operating711 2382 2 01.12.2001 15.04.2003 operating790 2380 9 01.12.2001 04.01.2002 unusable 08.01.2003786 2362 7 30.12.1998 29.01.1999 unusable 08.05.2003784 2363 8 30.12.1998 29.01.1999 unusable 14.07.2003787 2375 5 13.10.2000 04.11.2000 operating783 2374 10 13.10.2000 05.01.2001 operating792 2395 5 25.12.2002 31.01.2003 operating791 2394 10 25.12.2002 10.02.2003 operating793 2396 11 25.12.2002 31.01.2003 operating788 2376 3 13.10.2000 21.11.2000 operating

GPS, GLONASS and Galileo Richard Broughton

18

3.3 Galileo

Galileo is an initiative of the European Union (EU), in collaboration with the EuropeanSpace Agency (ESA) and European industry, to launch a European financed globalsatellite navigation system under civilian control. Following ratification by theEuropean transport ministers, ESA will begin launching Galileo satellites in 2005 with afull constellation ready to begin operational service in 2007 (Galileo, 2003). TheGalileo System Test Bed demonstrator contract has been awarded to Surrey SatelliteTechnology Ltd (SSTL) (SSTL, 2003).

Galileo is a system that will benefit all modes of transport, but particularly will result indirect benefits to civil aviation. The clearest of these is the fact that satellite navigationwill become a fully redundant service for civil aviation users in the event of a satellite orsystem failure. The number of satellites in view will grow dramatically and the twoconstellations are fully independent in the case of failure of either GPS or Galileo.Galileo will work with GPS to provide greatly improved satellite coverage andavailability, ensuring that sufficient satellites are always in view to obtain an optimalnavigation solution.

Unlike GPS, certified services will be offered, guaranteeing service levels in terms ofaccuracy, redundancy, integrity reliability and availability.

The open service and will provide signals for timing and position free of charge. The commercial service is aimed at market applications requiring higher

performance than offered by the open service. It will provide added valueservices on payment of a fee.

The public regulated service will be used by such groups as police and customs.This service is required to be operational at all times and in all circumstances,notably during periods of crisis, when other services may be jammed.

The search and rescue service is Europe’s contribution to internationalcooperative effort on humanitarian search and rescue.

The safety of life service will be used for most transport applications where livescould be endangered if the performance of the navigation system is degradedwithout real time notice, such as civil aviation.

3.3.1 Design of Galileo

The core of the Galileo system is the global constellation of 30 satellites in three planesinclined at 56 degrees to the equator at 23616km altitude (Galileo, 2003). Ten satelliteswill be evenly spread around each plane, with each taking about 14 hours to orbit theearth. Each plane has one active spare, able to cover for any failed satellite in thatplane.

GPS, GLONASS and Galileo Richard Broughton

19

Figure 3-9: Galileo Satellite orbits simulated in STK 4.3 using Visualisation Tool, theconstellation was modelled using a Walker metric tool.

The satellites will use largely proven technology, the body rotating around its Earthpointing axis for its solar wings to point towards the sun generating a peak power of1500W. A basic box structure will group the payload and platform elements onseparate structural panels. Care will be taken to position sensitive elements like atomicclocks away form any disturbances arising from moving elements, such as momentumwheels. The launch mass of each Galileo satellite will be around 700kg (Galileo, 2003).

Figure 3-10: Image of current design of Galileo satellite in orbit, reproduced from(Galileo, 2003)

GPS, GLONASS and Galileo Richard Broughton

20

Two Galileo control centres in Europe will control the constellation, as well as thesynchronisation of the satellite atomic clocks, integrity of signal processing and datahandling of all internal external elements. A dedicated global communications networkwill interconnect all the ground stations and facilities. Data transfer to and fromsatellites will be performed through a global network of Galileo Uplink Stations, eachwith Telemetry, Telecommunications and Tracking Station and Mission Uplink Station.Galileo sensor stations around the world will monitor the quality of the satellitenavigation signal. Information from these stations will be relayed by the GalileoCommunications network to the two Ground Control Centres. A time to alert of sixseconds has been set as a designed guarantee that users will always receive integritydata through at least two satellites, each with a minimum elevation of 25 degrees(AATL, 2003).

3.3.2 Galileo Frequencies

Galileo will transmit 10 signals: six serving open and safety of life services, two forcommercial services and two for public regulated services. In the current design theywill be broadcast in the following frequency bands (Galileo, 2003):

- ESA-ESB, 1164-1125 MHz- E6, 1260-1300 MHz- E2-L1-E1, 1559-1591 MHz, already used by GPS.

Sharing this band with GPS services will be on a non interference basis, in order toavoid affecting current GPS services, while offering user’s simultaneous access to GPSand Galileo at minimal increases in terminal cost and complexity. However at the timeof writing negotiations are still on going and these may not be the final frequencies(Galileo, 2003).

3.3.3 Simulation of Galileo in STK

The Galileo constellation was created in STK using the J4 orbit propagator. This givesthe greatest accuracy with the information available, there being insufficient data on theGalileo satellites to use the more accurate MSGP4 propagator (Middleton, 2000).

GPS, GLONASS and Galileo Richard Broughton

21

Figure 3-11: Screen shot of Walker metric tool in STK used to generate the simulatedGalileo Constellation.

The constellation was generated using a Walker metric which is built into STK. Theinclination and altitude information for an initial ‘seed’ satellite is first entered. Thenumber of satellites and orbit planes is then incorporated into the Walker tool, whichgenerates the constellation. The resulting constellation is shown in figure (3-12). Theconstellation used is obviously an ideal case, and does not take into account that thesatellite orbits will drift as in the case of GPS.

Figure 3-12: The simulated Galileo constellation viewed in the map tool of STK.

GPS, GLONASS and Galileo Richard Broughton

22

3.4 GPS & Galileo Combined Constellation

A combined constellation of the current GPS and simulated Galileo constellation wascreated. The three planes of the Galileo constellation were placed optimally with GPS,with a 30 degree offset between the Right Ascension (RA) of the first Galileo plane anthe first GPS plane (VEGA, 2003).

Figure 3-13: Current GPS, and simulated Galileo constellation orbits in VisualisationTool of STK 4.3.

GPS, GLONASS and Galileo Richard Broughton

23

Figure 3-14: The combined GPS and Galileo Constellation viewed in STK 4.3’s maptool.

3.5 Coverage Using STK

The integrity algorithms studied in this thesis (RAIM) require at least five satellites tobe visible. It was hence necessary to simulate the availability and coverage given byGPS, Galileo and the combined constellation. The same technique as used by Wood(2001) was implemented. STK allows the user to calculate the coverage given by aconstellation. To do this the following steps were implemented:

1. A ‘coverage area’ was created using the left hand tool bar in the STK mainwindow.

2. Its ‘basic properties’ (grid bar) were assigned to encompass the entire globe bysetting the latitude bounds from -90 to +90 degrees. The ‘asset’ bar washighlighted and all the active satellites in the constellation were selected andassigned. For the GPS constellation the active satellites for 15th July 2003 werechecked using the US Naval Observatory website (USNO, 2003). For thesimulated Galileo constellation all satellites were assigned, apart from the first ineach of the three planes to give the nominal 27 satellite constellation with threespares.

3. In the ‘2D graphics properties’ all the graphics were switched off.

GPS, GLONASS and Galileo Richard Broughton

24

4. The accesses were then computed by right clicking the coverage area andselecting the ‘compute accesses option’.

5. With the coverage area highlighted a new ‘figure of merit’ was created.

6. The ‘basic properties’ of the ‘figure of merit’ were assigned. In the define barthe type was selected as number of accesses and the total was computed. Thesatisfaction was enabled with a threshold of greater than zero (which willobviously be all the time for our constellations).

7. The ‘2D graphics’ for the ‘figure of merit’ were then selected. The staticgraphics were switched off and the animation graphics and the fill points wereswitched on. The contours bar was then selected. The type was set to animationand the show bar highlighted. The number of satellites visible was then definedfor the contours legend. The colour method selected was colour ramp fromwhite to black.

8. The legend was set to block fill and the legend button clicked. The display onmap was selected, with x pixels set to five and y pixels set to 875. Whenmaximised and the aspect ratio fixed to 2:1 this would place the legend at thebottom left hand corner of the map display. The colour options were set to blackfor background and white for text. Finally the colour square height was alteredto 10 pixels.

Cranfield was chosen as the facility and is located at 52.0727 degrees North latitude, -0.6250 degrees West Longitude with an altitude of 167.33m (Wood, 2001). In order toachieve sensible and realistic results for GPS/Galileo accuracy a masking angle needs tobe considered. For an aircraft on final approach the mask elevation will be higher thanan aircraft cruising at altitude, due to tall buildings and the distance to the horizon. Forall of the analysis a five degree mask angle was used.

Below are static screenshots of a dynamically changing contour map. In the case of theGPS constellation there is a minimum of five satellites in view and a maximum of 17over the one year that was simulated. For the majority of the time, there areapproximately 9 or 10 satellites in view.

GPS, GLONASS and Galileo Richard Broughton

25

Figure 3-15: GPS constellation coverage in July 2003, calculated using STK 4.3 andviewed in map tool.

The analysis was repeated for the simulated Galileo constellation. Being a similarsystem to GPS the results are similar, but generally Galileo gives better coverage athigher latitude and with greater masking angles (Middleton, 2000). It was discoveredthat a minimum of six satellites and a maximum of 17 could be seen. This confirms thatthe Galileo system has been designed with integrity in mind, more so than GPS.

Figure 3-16: Galileo Constellation Coverage calculated using STK 4.3 and displayed inmap window.

GPS, GLONASS and Galileo Richard Broughton

26

In the case of the combined coverage, there will always be more than six satellites inview. The minimum number of satellites visible is 11 and the maximum number ofsatellites visible is 25.

Figure 3-17: Combined GPS and Galileo Constellation Coverage modelled in STK 4.3and viewed using map tool.

3.6 Facility Accesses calculated using STK

To provide useful data for the RAIM algorithm studied in this thesis information isrequired about the visible satellites. This requires data to be generated about accessfrom a ground facility or aircraft. For this project Cranfield was selected. Azimuth andelevation angles from the facility are calculated as input data. Azimuth (A) is measuredpositive in an easterly direction from the local north in a plane tangential to the surfaceof the earth at the location of the facility.

Figure 3-18: Diagram of Azimuth and Elevation relative to a user on the earth’ssurface. Azimuth is denoted A, reproduced from Galileo (2003).

GPS, GLONASS and Galileo Richard Broughton

27

Elevation is the angle between the relative position vector and the plane tangential to thesurface of the earth at the location of the facility. When using elevation angles, maskelevation angles need to be considered. This is the angle above the horizon at which thesatellite is not visible due to objects, such as tall buildings or mountains, blocking thepath of the signal. In this project the masking angle was set to 5 degrees for continuity.

Reports in STK can be generated giving Azimuth, Elevation and Range (AER) to thevisible satellites. This was generated in the following way:

1. A new facility is created in STK from the main menu tool bar. It is namedCranfield and in its basic properties, the longitude = 52.072 degrees, latitude = -0.625 degrees and altitude = 0.16733km are set.

2. The constraints for the facility are set in this case to a minimum elevation of fivedegrees to simulate masking angle.

3. The Access for Cranfield is then calculated and the active satellites from theconstellation are selected using the same procedure as for coverage. Theaccesses are computed and the time period specified to one epoch (15th July,12:55.27 2003). From the reports menu the AER button is depressed generatingthe required report (appendix B).

Figure 3-19: Current GPS constellation with Cranfield access illustrated. The image isfrom STK’s Visualisation Tool. The epoch is 12:55.27 July 15th 2003.

GPS, GLONASS and Galileo Richard Broughton

28

Figure 3-20: Current GPS constellation with Cranfield access illustrated. The image isfrom STK’s map tool. The orange lines from the satellites to Cranfield show which

satellites are visible 5 degrees above the horizon. The epoch is 12:55.27 July 15th 2003.

To validate STK data was collected from a website AUGUR (2003). For moreinformation on AUGUR see the paper ‘Augur: RAIM for dummies’ (Ober, 1999). Thiscan be used to generate similar information as STK. The latitude, longitude and altitudeof the receiver are entered into the spreadsheet along with the chosen mask elevationangle of five degrees. Comparing (appendix B) and the first part of (appendix C) it isseen that the two outputs are very similar. To identity the satellites on the two differentlists, table (3-1) is required. The epoch used is the same as illustrated in figure (3-19),and can be compared with the overhead map generated by (AUGUR, 2003) below.

GPS, GLONASS and Galileo Richard Broughton

29

Figure 3-21: Graphic representation of visible satellites on 15th July 2003 at 12:55.27generated by AUGUR website.

There are small differences in the figures in (appendix B and C); however the errorsappear to be less than half a degree validating the GPS model generated in STK bycomparing it to AUGUR.

3.7 Position Determination

Satellite navigation is based on time of arrival (TOA) ranging. The receiver contains aninternal clock that is used to note the time of arrival of the satellite ranging code. Fromthis information the receiver determines the time required for the signal to propagatefrom the satellite to the receiver. Since the signals travel at the speed of light, this timeinterval can be converted to a distance when it is multiplied by the speed of light,denoted by c.

GPS, GLONASS and Galileo Richard Broughton

30

These range measurements are biased among other things by the receiver and satelliteclock errors and therefore are referred to as pseudoranges. The pseudorange pi ispresented in Equation (3-1), where TDi is the true distance, tu is the offset of thereceiver clock from system time and dt is the offset of the satellite clock from systemtime (advance is positive, delay is negative). The number of visible satellites is denotedN and each individual satellite is labelled i in the matrix, from (Kaplan, 1996).

),...,1()( Nidttc uii TDp (3-1)

The position of the user receiver is where the pseudoranges from a set of satellitesintersect. In order to determine user position in three dimensions (xu, yu, zu) and theoffset of the receiver from system time tu, pseudorange measurements are made tomultiple satellites resulting in a system of equations. In normal navigation foursatellites are used to determine three position dimensions and time. Position dimensionsare computed by the receiver in Earth-Centred, Earth-Fixed X, Y, Z (ECEF XYZ)coordinates. Equation (3-1) can be expanded to Equation (3-2), where xsv, ysv and zsv

denote each satellite’s position in three dimensions, which the receiver computes fromthe ephemeris data of the navigation message, and pi is the pseudorange from eachsatellite (Kaplan, 1996).

),,,,()()()( 21

222 dttzyxfcdtctzzyyxxp uuuuuusvusvusvi (3-2)

The nonlinear equations formed from Equation (3-2) for multiple satellites can besolved for the unknowns (xu, yu, zu) and tu by employing either closed form solutions,iterative techniques based on linearization or Kalman filtering (Kaplan, 1996). Analternative description of equation (3-3) is that b = ctu represents the error associatedwith the receiver and ei = - cdt stands for the errors due to the ith satellite. If urepresents the user position and usv represents the satellite position, this gives equation(3-3) from Juang (2000).

Figure 3-22: Definition of vectors, reproduced from (Jwo, 2001).

GPS, GLONASS and Galileo Richard Broughton

31

isvi b euup |||| (3-3)

In the GPS positioning equation (3-3), both the pseudorange pi and the broadcastposition usv are subject to errors due to: ephemeris errors, SA effects, environmentaleffects, satellite failure, interferences, noises and so on. Thus a more accuratemeasurement model is (Juang, 2000).

isvsvi b euuup |||| (3-4)

where svu is the difference between the broadcast position (ephemeris errors) and trueposition of the ith GPS satellite and ei accounts for all other errors. Now show the threedimensional vector components by letting:

u

u

u

zy

x

u ,

sv

sv

sv

sv

zy

x

u and

sv

sv

sv

sv

zy

x

u

Suppose that the linearization point is at:

0

0

0

0

zy

x

uu and 0bb

then the estimate of the pseudorange measurement is given by:

02

02

02

0

000

)()()(

||||

bzzzyyyxxx

b

svsvsvsvsvsv

svsv

uuup

Where r is defined as the difference between user position and linearization point. Thenδ is defined as the difference between clock errors in the receiver and linearizationpoint. Finally x becomes a four dimensional position vector (north, east, up and clock)about which the linearization has been made.

0

0

0

zzyy

xx

u

u

u

r , 0bb and

r

x

the linearised equation (3-4) becomes:

GPS, GLONASS and Galileo Richard Broughton

32

rgxepp Tiiiiii ggg 1'

3'2

'10

where the following are the observation matrix components (north, east and up).

20

20

20

0'3

20

20

20

0'2

20

20

20

0'1

)()()(

)()()(

)()()(

zzzyyyxxx

zzzg

zzzyyyxxx

yyyg

zzzyyyxxx

xxxg

svsvsvsvsvsv

svsvi

svsvsvsvsvsv

svsvi

svsvsvsvsvsv

svsvi

It is noted that the vector

'3

'2

'1

'

i

i

i

i

g

g

g

g

is a unit vector from the linearization point u0 to the broadcast position of the ithsatellite usv. When there are N satellites in view, the linearised equations can beassembled as a linear matrix equation (3-5).

exGy .' (3-5)

where G is the observation matrix, y is an N dimensional vector containing the rawpseudorange measurements minus the expected ranging values based on the location ofthe satellites and the initial estimated location of the user (x). Finally e is an Ndimensional vector containing the errors not associated with the observation matrix.

1

1

1

'32

'1

'2322

'21

'1312

'11

'

i'ii

'

'

ggg

ggg

ggg

G ,

isv

i

sv

sv

pp

pp

pp

0

220

110

y and

ie

e

e

2

1

e

The observation matrix G’ is subject to uncertainty mainly due to ephemeris errors inthis more realistic model.

GPS, GLONASS and Galileo Richard Broughton

33

Let G’= G + H where H is the perturbation that represents the errors associated with theobservation matrix. The resulting linear matrix equation becomes (VEGA, 2003).

exH)(Gy . (3-6)

This model is termed the unstructured Errors in Variables (EIV) model as the H matrixrepresents the errors associated with the observation matrix and no previous structure onthe H is being imposed. The model in (3-6) can be more applicable than merelyaddressing ephemeris error. Indeed, the observation matrix G is composed of the unitvector from the linearised point to the GPS satellite position. The linearization pointmay be susceptible to error, especially in the initial period. Such an error can becaptured in H matrix. The position of a GPS satellite is obtained from decoding thenavigation data, and hence the position may be wrong. Again the H matrix can be usedto model this error. Finally the H matrix can be used to take into account the differencebetween the synchronisation of the different clocks.

Integrity Monitoring Richard Broughton

34

4. Integrity Monitoring

This chapter introduces the basics of integrity monitoring, specifically RAIM. SimplerRAIM algorithms are introduced to the reader, before the more advanced EIV RAIMmethod is discussed.

In order to examine the required navigation performance of a system, it must bespecified in terms of four parameters: accuracy, integrity, continuity and availability.Accuracy is the most readily understood parameter and is defined as the degree ofconformance of an estimated or measured solution at a given time, to the true position.

The Horizontal Dilution of Precision (HDOP) is a measure of horizontal accuracy. It isthe ratio between the measurement uncertainty noise level on each of the satellite rangesand the resulting position uncertainty. An example in two dimensions shows how theHDOP varies as a function of geometry when there are only two satellites available.For simplicity, the fact that one extra satellite is required to solve for the receiver’sclock is neglected.

Figure (4-1a) shows the optimal situation in which the two visible satellites are locatedin orthogonal directions. When the uncertainty in the measurements (indicated by twosmall markers) is the same on both satellites, the resulting position uncertainty becomesa circle between these markers. Figure (4-1b) depicts a less ideal solution, where thesatellites lie almost in a straight line. In this case, the resulting position uncertainty inthe North-South direction becomes much larger, simply because there is no satellite thatprovides much information in that direction.

Integrity Monitoring Richard Broughton

35

Figure 4-1: The figure on the left (4-1a) shows when the directions to the two satellitesare orthogonal, the noise measurement uncertainty is equally distributed in all

directions. The figure on the right (4-1b) shows when two satellites lie nearly on thesame line, the noise measurement in along this line is excellent. However, the lack ofpositioning information in the North-South direction increases positioning uncertainty

in this direction, reproduced from Ober (1999).

An example using real GPS data in three dimensions is outlined below. The data weregenerated from a DGPS programme (DPS.032) written at Cranfield University by DrSteven Hobbs (appendix G). The data comes from a snapshot of seven visible satellitesdetected by a GPS receiver at Cranfield University. The software uses just four of theseseven satellites in seven different combinations to predict user position errors in (ECEFXYZ) coordinates. A Least Squares Residuals (LSR) method (section 4.2.1) is used tomake the error predictions. The positions of the four satellites are plotted in terms ofAzimuth and Elevation to illustrate the constellation geometry.

Integrity Monitoring Richard Broughton

36

Satellite Positions 2

0102030405060708090

0 30 60 90 120 150 180 210 240 270 300 330 360

Azimuth

Ele

vati

on

Errors Metresx 78.78y 42.04z 59.59Mean 60.14

Figure 4-2: This figure illustrates four GPS satellite positions by plotting elevationagainst azimuth to give their position in the sky. The satellites are evenly spread

throughout the sky giving an accurate user position with small errors.

The figure above shows an evenly spread satellite geometry giving accurate userposition and small errors. In contrast the figure below gives much poorer estimatedposition errors due to the satellites being clustered from 0-120 degrees azimuth. Thisgives particularly poor errors in the x, and y coordinates, but reasonable errors in the zcoordinate due to he good spread in elevation.

Errors Metresx 280.74y 241.36z 86.44Mean 202.85

Figure 4-3: This figure illustrates four GPS satellite positions by plotting elevationagainst azimuth to give their position in the sky. The satellites are clustered in azimuth

giving a poor user position solution.

Integrity Monitoring Richard Broughton

37

Such positioning geometries have an impact on navigation system integrity. Integrityrefers to the ability of the system to provide timely warnings to users via the navigationmessage, but this may not be timely enough for some applications. ReceiverAutonomous Integrity Monitoring, referred to simply as RAIM, is an additional meansof providing integrity.

For integrity, it is necessary to have at least one redundant satellite to enable thereceiver to check the mutual consistency of the satellite measurements. Therefore, atleast three satellites are required for two dimensional positioning. The lines in thefigures represent the sets of points with the same distance to a particular satellite.

Figure (4-4a) shows the case in which there are no measurement errors at all. In thatcase, the user position lies exactly at the intersection of the three lines. In practice,measurement uncertainty will cause small deviations in each of the measurements. Thereceiver will estimate the user position somewhere in between the three possibleintersections of the two arcs that theoretically provides optimal accuracy where there areno satellite failures. In figure (4-4b) the position is estimated is this way, while satelliteone is providing the estimated position deviation from the actual one. Thisdemonstrates how receivers can derive an error detection signal to decide on thepresence of an error.

Figure 4-4: The figure on the left (4-4a) shows the ideal situation where there are nomeasurement errors and hence no residuals. The figure on the right (4-4b) shows when

satellite one contains a measurement error of size e, the estimated position liessomewhere in the middle of the three intersections of all sets of two arcs. The residuals

are used for error detection, as they measure the extent to which the measurementsdisagree, reproduced from (Ober, 1999).

Integrity Monitoring Richard Broughton

38

In figure (4-5a), there is maximal redundancy in the East-West direction because allsatellites are on an almost straight line. This provides superb redundancy and a highlevel of integrity, but very poor accuracy. Figure (4-5b) shows two satellites that can beused to check the range of satellite one. Both are orthogonal to the faulty satellite whichis beneficial for accuracy, but not integrity. There is hardly any redundancy available inthe East-West direction, as satellite two and three both provide North-South ranges.

Figure 4-5: Figure (4-5a) on the left shoes that when satellite one contains ameasurement error and the remaining satellites lie in the same plane giving large

residuals, making error detection easy, hence providing a high degree of integrity. Thefigure on the right (4-5b) shows the converse condition with superb accuracy, giving

small residuals and making error detection hard. Therefore, the integrity of thisgeometry is very low, reproduced from (Ober, 1999).

To guarantee integrity, it must be possible to always detect when a satellite failure hasoccurred. RAIM allows errors to be detected by the receiver itself without expensiveground equipment. For some applications such as non precision approaches, the systemmust not only be able to detect the presence of an anomaly, but it also must be able toremove the faulty satellite from the navigation solution. This can be achieved byidentifying which satellite is causing the problem, referred to as an isolation, oralternatively selecting another set of satellites that does not include the anomaloussatellite, denoted as exclusion. This capability is known as fault detection and isolation(FDI) or fault detection and exclusion (FDE), (Kaplan, 1996). For precision approaches(chapter 5) fault detection is not required to exclude bad measurements, if a fault isdetected a missed approach is conducted (Enge, 1996).

Integrity Monitoring Richard Broughton

39

For RAIM to be effective there must be some redundancy of navigation information.One redundant measurement is necessary for detecting a faulty measurement source. Ifadditional redundant measurements are available, it is possible to isolate the faultymeasurement source or exclude it from the navigation solution. Overall RAIM is atechnique that uses an over determined solution to perform a consistency check(Kaplan, 1996).

4.1 RAIM Methods

Many RAIM schemes have been proposed in literature (Parkinson, 1996) and they areall based on some kind of self consistency check among the available measurements.The schemes described are snapshot approaches because they use a single set ofnavigation measurements collected simultaneously. Several methods are outlined, toaid understanding of RAIM, before introducing the more complex (Errors in Variables)EIV RAIM algorithm which is the focus of this study.

It is important to have integrity checking at the user because this is the only place whereall the information used to form the position solution is present. There are manypossible error modes that may only affect the user. These include: excessive multipath,receiver error, poor differential corrections resulting from data drop out and localisedionosphere or troposphere effects. While these error modes are unlikely, they may notbe detectable anywhere else. Therefore, some form of integrity checking must takeplace within the user’s equipment. RAIM is easily implemented, requires no additionalhardware and is capable of providing the final layer of integrity (Walter, 1995).

Before a specific RAIM method can be introduced, it is necessary to present the processby which range measurements are translated into an estimate of position. The rangeequations are linearised about some assumed value of receiver position and clock bias(section 3.8). The basic measurement relationships are described by an over determinedsystem of linear equations of the form presented in equation (3-5) and below:

exGy '. (4-1)

In equation (4-1) the y vector has the dimension N by 1 (N is the number of visiblesatellites) and y is the difference between the actual measured pseudorange and thepseudorange predicted from the assumed position and clock bias. The vector x has thedimension 4 by 1 and is the three components of true position deviation from theassumed position plus the user clock bias deviation.

Integrity Monitoring Richard Broughton

40

The vector e has the dimension N by 1 and is the measurement error vector due to usualreceiver noise, anomalies in propagation, imprecise knowledge of satellite position,satellite clock error and unexpected errors due to satellite malfunctions. The G’ matrixis the observation matrix, has dimension N by 4 and is the linear connection matrixarrived at by linearising about the assumed user position and clock bias (Brown, 1992).

The decision whether to raise a flag to declare the presence of a fault requires twoquantities, a test statistic, which is an observed quantity, and a detection thresholdagainst which the test statistic is compared. The selection of the test statistic dependson the integrity monitoring method being used. Typically the detection threshold ischosen on the basis of the statistical characteristics of the test statistic. So that a falseintegrity alert, which is an alert that occurs in a fault free condition, occurs no more thansome specified rate (section 4.1.5).

4.1.1 Range Comparison Method

One simple and often suggested RAIM method is called the range comparison method.In this method, the user receiver estimates its own position using all satellites in viewand then predicts the range to each satellite, using the estimated user position and thesatellite position estimated from the satellite ephemeris data. The difference betweenthe predicted range and the measured range to each satellite is called a range residual.From the range residuals for all satellites in view, a test statistic is derived, which iscompared with a decision threshold for an integrity decision (Brown, 1992).

Figure 4-6: Range Comparison Method using satellites reproduced from (Lee, 1992).

Integrity Monitoring Richard Broughton

41

If the two differences (residuals) were small there would be near consistency in themeasurements, and the detection algorithm would declare no failure. On the other hand,if either or both of the residuals were large, it would declare a failure. This is theessence of the range comparison method. It remains only to quantify what us meant bysmall and large and assess the decisions rule’s performance.

The differences that are obtained with the range comparison method can be thought as ak-tuple, where k denotes the number of redundant measurements (degrees of freedom).The k-tuple represents a point in a test statistic plane as shown in the figure (4-5) for sixvisible satellites. A common way of choosing the decision boundary, that divides theplane into two distinct regions corresponding to the no failure and failure hypothesis, isto let it be an equal probability density contour conditioned on the assumption of nosatellite malfunction. If the statistics of the noise are Gaussian, the contour will beelliptical as shown in the figure (4-7) and the particular contour chosen is the one thatsets the alarm rate at a desired value. Setting the decision boundary quantitatively thenfirms up the decision rule (Brown, 1992).

Figure 4-7: Test Statistic Plane for the six satellites in view case (y1 and y2 are theobserved residuals) reproduced from (Brown, 1992)

The elliptical contour or the closed surface in hyperspace makes the decision rule a bitawkward computationally. However, the rule is simple: decide no failure if the teststatistic lies inside the hypersurface and decide failure if it lies outside the hypersurface.

Integrity Monitoring Richard Broughton

42

4.1.2 Least Squares Residuals Method

Just as with the range comparison example, imagine there are six satellites in viewyielding six equations and four unknowns. Now, instead of solving the first fourequations as if there were no noise, let us look at the least squares (LS) solution. Theleast squares estimate xls of the position and clock bias deviation vector is presented inequation (4-2). The least squares solution to x is denoted by xtls and is obtained by leftmultiplying equation (4-1) by the Moore Penrose pseudo inverse of G (Van Diggelen,1994). Where G* = (GTG)-1GT. The predicted pseudorange difference vector, denotedas yls, which is the least squares solution is then presented in equation (4-2).

yGGGx .)( 1 TTls

(4-2)

lsls Gxy (4-3)

The least squares solution can now be used to predict the six measurements and sixresiduals formed in much the same manner as was done in the range comparisonmethod. The six residuals can then be grouped together as a 6 by 1 vector, called therange residuals vector ε (Walter, 1995).

eGGGGIeGxGGGGI

yGGGGIyGGGGyyyε 1

.)().()(

.)()(11

1

TTTT

TTTTlsls

(4-4)

In equation (4-4), I is an N by N unit matrix. This process is the linear transformationthat takes the range measurement error into resulting residual vector. In our example, εis a six tuple. However, it can be shown that there are constraints among the elementsofε . For example, in the case at hand, if the elements of ε are independent zero meanGaussian random variables with the same variance, then the sum of the squares of theelements of ε has an unnormalised chi-squared distribution with only two degrees offreedom, rather than six degrees one might expect at first glance. The sum of thesquares of residuals plays the role of the basic observable in the RAIM method underdiscussion, and is called the SSE in the equation below (Brown, 1992).

lsTlsSSE εε (4-5)

This basic observable has three very special properties that are important in the leastsquares residuals decision rule.

Integrity Monitoring Richard Broughton

43

1. The SSE is a nonnegative scalar quantity, which makes for a simple decisionrule. Namely the semi infinite real line has to be partitioned into two parts, onefor no failure and the other for failure. The dividing point is called the threshold(Parkinson, 1996).

2. If all the elements of ε have the same independent zero mean Gaussiandistributions, then the statistical distribution of SSE is completely independent ofthe satellite geometry for any N. This makes it especially simple to implement aconstant alarm algorithm. All is required is to precalculate the thresholds(partitions) that yield the desired alarm rate for the various anticipated values ofN. Then the real algorithm sets the threshold approximately for the number ofsatellites in view at the moment.

3. For the zero mean Gaussian assumption mentioned in two, SSE has anunnormalised chi square distribution with (N - 4) degrees of freedom.

It is mentioned in (Parkinson, 1996) that it is more convenient to use as a test statisticthe quantity that is outlined below, as the theoretical distribution for that test statistic isrelatively insensitive to the user/satellite geometry.

)4(

NSSE

statistictest (4-6)

To determine the threshold for the number of satellites in view using the SSE value asthe test statistic, the chi-square statistics are applied with a constant alarm rate (Kaplan,1996).

In satellite navigation positioning, the accuracy is characterised as the product of theuser equivalent pseudorange error and the dilution of precision factor (DOP). Theformer is related to the uncertainties in the errors sources and the later is due to thegeometry of the visible satellites. The covariance of the least squares estimate is knownto be (Juang, 2000) where 0 is the standard deviation caused by errors.

120 )()cov( GGx T

ls (4-7)

Therefore the Geometric Dilution of precision (GDOP) is defined as (Jwo, 2001).

1)( GGTtrGDOP (4-8)

Based on equation (4-8), several forms of DOPs are defined as (where HDOP isHorizontal DOP and VDOP is Vertical DOP), according to Jwo (2001).

Integrity Monitoring Richard Broughton

44

2

113,3

21

12,2

11,1

)(

)()(

GG

GGGG

T

TT

VDOP

HDOP(4-9)

4.1.3 Poor Detection Geometries

Various criteria have been used for evaluating the quality of satellite geometry forfailure detection purposes. Of these the best known methods are the δHmax method, theApproximate Radial-Error Protected (ARP) method (Parkinson, 1996), and the HPLmethod (Kaplan, 1996).

4.1.3.1 δHmax Method

The δHmax parameter depends only on the satellite geometry at hand, and it gives a goodmeasure of the geometry’s ability to support failure detection. In the δHmax method, thefirst things to compute are the HDOPs associated with the N subset solution, denoted byHDOPi. The HDOP associated with the full satellite least squares solution is calculated,and is denoted simply as HDOP (Sandstrom, 2001).

21

2max )( HDOPHDOPMaxH ii (4-10)

The parameter δHmax is an inverse measure of the quality of the satellite geometry forfailure detection purposes. If the calculated δHmax for the geometry at hand exceeds theceiling value, it is declared inadmissible (Parkinson, 1996).

4.1.3.2 ARP Method

The ARP method derives from looking at a plot of position radial error versus teststatistic. The radial position error and the test statistic have the same dimensions and abias error. Any particular satellite projects linearly into both the position error and teststatistic domains (Parkinson, 1996). For failure detection purposes the satellite whosebias error causes the largest slope is the one that is the most difficult to detect (lowest inhorizon) and produces the largest error for a given test statistic. The slope associatedwith the most difficult to detect satellite is (Brown, 1992).

Integrity Monitoring Richard Broughton

45

TT

TT

ii

ii

iii

SLOPEMaxSLOPE

BNAA

SLOPE

GGGGB

GGGA1

1

max

21

22

21

)(

)(

)(

)1()4)((

(4-11)

If the threshold has been set to yield the desired alarm rate and it is required that thetrajectory stays below the critical point or else a miss will occur. Therefore theintersection of the maximum slope line and the vertical threshold line defines the keyparameter. The radial error value at the intersection is the ARP parameter.

With no noise (idealised conditions), the geometry will support any alarm limit settinggreater than ARP (Brown, 1992).

thresholdSLOPEARP max (4-12)

The Least Squares Residuals (LSR) method is based on the LS estimationyGGGx .)( 1 TT

ls equation (4-2) and on the range residual vector

lsls yyε equation (4-4). The sum of the residuals εεTSSE , is a central chi-squaredistribution with N - 4 degrees of freedom, where N is the number of visible satellites.The RAIM system’s threshold is (Hein, 1997).

4)1( 21

42

NPF

threshold FAN (4-13)

The function )(14

2 zF N

is the inverse of the central 2 distribution function. Thevalue FAP is the maximum allowable false alarm rate. The value is the realisticnoise, and (z) denotes the gamma function such that (Kaplan, 1996).

dsN

sezF

z

N

Ns

N

0

24

12

4

2

42

24

2)( (4-14)

Integrity Monitoring Richard Broughton

46

Figure 4-8: Error test trajectory, reproduced from (Brown, 1992).

To achieve a low miss rate, the actual alarm must be set considerably above the ARPvalue to keep the noise induced trajectory out of the miss region. Ceiling values for theARP parameter, denoted ARPceiling, are the maximum allowable values within aparticular class of satellites in view. Geometries whose ARP value is greater thanARPceiling sound an alarm. An exact relationship between ARP and δHmax is derived in(Brown, 1992).

4

4 max

NSSE

threshold

HthresholdNARP (4-15)

4.1.3.3 HPL Method

In the Horizontal Protection Limit (HPL) method the availability of the integrityfunction is determined by comparing HPL and Horizontal Alert Limit (HAL). The HPLis determined by equation (4-16) where pbias is equal to the standard deviationmultiplied by a non centrality parameter. The non centrality parameter λ is defined in terms of normalised mean (m) of the squared measurement residuals and the number ofdegrees of freedom (k), (Kaplan, 1996).

Integrity Monitoring Richard Broughton

47

4

2

max

Nkkm

P

pSLOPEHPL

bias

bias

(4-16)

The HAL is the maximum position allowable for a given navigation mode without analert being raised. The HPL is an upper bound that a horizontal position error shallexceed without being detected. The HPL varies as a function of the user to satellitegeometry. The horizontal uncertainty level (HUL) is an estimate of horizontal positionuncertainty, based on measurement inconsistency, which bounds the true error with highprobability (Lee, 2002). There are limits and statistics for the vertical protection limit(VPL), which are just as important for aircraft navigation particularly on precisionapproaches (chapter 5).

4.1.4 Standard RAIM Algorithm

A RAIM algorithm should provide a procedure for detection of a navigation failure, anda procedure for screening out geometries that may be satisfactory for navigationpurposes, but cannot provide failure detection within the required specifications. Thetypical steps are outlined below:

1) Determine the number of visible satellites N.

2) Calculate the Observation matrix G.

3) Select the proper threshold corresponding to the number of visible satellites N.

4) Determine whether the geometry is admissible

5) If the geometry is admissible, the test statistic is calculated. If the geometry isinadmissible, an appropriate warning should be given.

6) A comparison of the test statistic with the precomputed threshold. If the test statisticis greater than the threshold declare ‘failure’ otherwise declare ‘no failure’.

7) The continuation to the next sample point in time, and repetition of steps 1 to 6.

Integrity Monitoring Richard Broughton

48

Figure 4-9: A generic RAIM algorithm, reproduced from (Sandstrom, 2001).

4.1.4 Weighted Least Squares Residuals Method

This technique comes from (Walter, 1995) and relies on the idea that some satellitesmay have predictably larger errors than others. As an example, it may be desirable togive higher elevation satellites more weighting when performing a position solution.Low elevation satellites suffer greatly from multipath effects, increased troposphericdelay uncertainty and usually have a lower Signal to Noise Ratio (SNR).

Integrity Monitoring Richard Broughton

49

There are several advantages to weighted position solutions: the position fix is moreaccurate, it is more robust because satellites that are more likely to have errorscontribute less to the solution and the discontinuities in the position fix caused by risingand setting satellites are greatly reduced. Starting from the basic linearised GPSmeasurement equation written below, (Walter, 1995).

exGy ' (4-17)

The weighted least squares solution for x according to Walter (1995) can be found by.

yKyWGGWGx ...... 1 TTls (4-18)

where the definition has been made for K (the weighted pseudo inverse of G) and whereW is the N by N inverse of the covariance matrix.

1000

001

0

0001

2

22

21

NUERE

UERE

UERE

W (4-19)

For simplification it is assumed that the error sources for each satellite are uncorrelatedwith the error sources for any other satellite. Therefore, the off diagonal elements areset to zero. While this assumption may not strictly be true, it should be a reasonablygood approximation. The equations subsequently derived do not depend on thisassumption.

Since the satellites are weighted unequally, it is no longer possible to separate theexpected positioning errors into a geometrical factor (DOP) and a user rangingaccuracy. Instead these values are combined into expected positioning confidences.Instead of the vertical dilution of precision (VDOP) being given by (Walter, 2001).

33

1.

GGTVDOP (4-20)

we now have VDOP’ given by

Integrity Monitoring Richard Broughton

50

33

1..'

GWGTVDOP (4-21)

as a measure of the confidence of the vertical accuracy. In a similar manner the otherDOP’s can be given by:

44

1

33

1

22

1

11

1

22

1

11

1

........'

....'

GWGGWGGWGGWG

GWGGWG

TTTT

TT

GDOP

HDOP(4-22)

These measures give the 1 sigma expected accuracy in the vertical dimension and thetwo dimensional Root Mean Squared (RMS) expected accuracy in the horizontaldimensions respectively. The accuracies of these measurements depend on theaccuracies of the satellite covariances in the W matrix.

So far only the weighted position solution has been presented. Now it is necessary toassess the accuracy of the least squares fit to the data. The quantity of most interest isthe positioning error (xls - x). Unfortunately it is not possible to obtain a directmeasurement of this quantity, unless there was access to an independent, more accuratepositioning system. Instead, the overall consistency of the solution can be examined.Provided there are more than four satellites are in view, the system is over determinedand cannot be solved exactly. Since all of the conditions cannot be met exactly, there isa remaining error residual to fit. By quantifying how closely it is possible to make theobservations agree, it is possible to obtain an estimate of goodness of fit. Theassumption is then made that if the fit was good, then the error in position is most likelysmall.

It is possible to estimate the ranging errors from the least squares fit and the basicmeasurement equation (4-17).

yPIyKGIxGyε ).()..(. lsls (4-23)

where the definition K has been made previously in equation (4-18).

WGGWGGKGP ..)...(. 1 TT (4-24)

From these error estimates we can define a scalar measurement defined as the WeightedSum of the Squared Errors (WSSE).

yPIWyyPIWyPIεWε ).(..).(..).(.. TTTWSSE (4-25)

Integrity Monitoring Richard Broughton

51

The square root of WSSE is used as a test statistic in order to judge the goodness of theleast squares fit. This statistic is observable whereas the positioning error of the leastsquares solution (xl s- x) is not. Therefore, for integrity purposes the statistic is used toflag bad position solutions.

4.1.4.1 Test Statistics

RAIM performance is based on two quantities: the position error and a test statistic.The position error is an unknown quantity to the user avionics, and it is of primaryimportance to know whether this error is within the position error protection limit ornot. The test statistic is the quantity that the user avionics uses to make an integritydecision. In a normal condition, that is, with no satellite having an unusually largeerror, the distribution of position error versus the test statistic would look as in figure(4-10).

Figure 4-10: The distribution of vertical errors and the RAIM test statistic shown fornormal operation and illustrating the 4 detection regions reproduced from (Walter,

1995).

The scatter plots are due to different combinations of random errors with comparablevariance on all the satellite ranges. In this case, almost all the points would be wellwithin the region defined by the protection limit and decision threshold. In contrast, ifany one of the satellites has an unusually large range bias error, the distribution wouldbe as in figure (4-11).

Integrity Monitoring Richard Broughton

52

Figure 4-11: The distribution of vertical errors and the RAIM test statistic for the caseof a failed satellite, reproduced from (Walter, 1995)

Ideally, it is desired to have all the points in either the Normal region or the successfuldetection region that is to raise an alarm if and only if the protection limit is violated.However (Brown, 1992) recognised that what should be of concern are mainly thosecases represented by the missed detection region and not those in the false alarm region.This is since those in the False Alarm region represent alarms in the presence of asatellite with an unusually large range error before the protection is violated. Thesefalse alarms may be acceptable provided that they do not significantly increase theoverall alarm rate. Therefore, for the detection function, it is sufficient to ensure thatthe missed detection probability is smaller than a certain specified value considered tobe acceptable.

If a satellite malfunctions in such a way that its range error starts to increase, the effecton the position error and the test statistic would follow either one of the paths shown infigure (4-12). For the detection function, a tight decision threshold may be used inorder to minimise the missed detection so that a data point would pass through the FalseAlarm region rather than the Missed detection region in figure (4-12).

Integrity Monitoring Richard Broughton

53

In case only the detection function is required, false alarms in that region are notconsidered a problem for the reason discussed above. However, in the case of that theidentification function is also required, a false alarm is as undesirable as a misseddetection. The alarm might be followed by identification of a wrong satellite andnavigation continued using the faulty satellite, with an unacceptably large position errorfor the remainder of the flight. In the case of precision approaches a false alarm willcause the aircraft to abort an approach (chapter 5).

Figure 4-12: Trajectory through decision planes for different thresholds or teststatistics, reproduced from (Lee, 1992).

The threshold T, is chosen such that the probability of false alarm is commensurate withthe continuity requirement for precision approach. Under normal conditions, if weassume ε is a normally distributed mean random variable with a standard deviation of σi

for all N satellites in view, then the statistic is a 2 distributed variable with N - fourdegrees of freedom. Therefore the threshold T can be selected analytically. T(N, PFA)will only be a function of the number of satellites N and the desired probability of falsealarms (PFA). By examining the distribution it is possible to find the value T(N, PFA)such that, for normal conditions, the statistic only has a probability of PFA of exceedingit. Given the probability of false alarms, the threshold is found by inversing theincomplete gamma function (Parkinson, 1988).

2

0

12

4

)(1

1T N

sFA dsse

aP (4-26)

Integrity Monitoring Richard Broughton

54

The best way to find the values for T(N, PFA) is through an iterative root finding process(as used in MatLaB harness code, section 4.4.4 and appendix E). Note that these valuescan be easily be computed beforehand and stored for use later in a RAIM algorithm.

Unfortunately, the N errors in the vector are mapped into two orthogonal spaces; oneof dimension four corresponding to the position solution error and one of dimension N -4 corresponding to our statistic (Walter, 1995). Thus, in the most general case, thestatistic cannot be used absolutely to indicate a bad or a good position solution.However, in the case of a single satellite failure, it is possible to restrict the satellitegeometries such that a large bias that is mapped into a position error is also mapped intothe statistic with certainty. Thus, for this failure mode we can guarantee that the positionerror will not grow too large without a corresponding growth in the statistic.

This restriction is not necessarily unreasonable because it is assumed that groundmonitoring will pick up and isolate any faulty satellite within a relatively short period oftime. Thus the likelihood of multiple satellite errors not being detected by the groundmonitoring network are expected to be exceedingly small (Walter, 1995).

We can use the method developed by Brown (1992) to guarantee integrity by onlyaccepting geometries which provide adequate redundancy to determine if there is anerror on any one channel of the receiver. This method trades availability for integrity. Inthe vertical dimension, this method requires that the vertical slope for each satellite (i),given by (Walter, 1995).

iiii

iii

iiii

ii

Hslope

Vslope

WP

KK

WP

K

)1(

)1(2

22

1

3

(4-27)

where K3i represents the item on the third row of the K matrix associated with satellite i.P is defined in equation (4-24) and K is defined in equation (4-18). For the horizontalslope the values of K1i and K2i are required to account for the two elements, (North andEast) of the horizontal plane. The value W is the weighting applied to the satellitedepending on its height in the sky equation (4-19). It takes the form of the standarddeviation for the particular satellite in question which is one of the diagonals of the Wmatrix. This value represents the relationship between an applied bias on satellite i andthe induced vertical position error, in the absence of any other bias on any othersatellite.

Integrity Monitoring Richard Broughton

55

4.1.4.2 Protection Limits

If there is a failure of a single satellite, the expected distribution of operation points inthe statistic vertical error plane is still an ellipse with roughly the same contours as inthe absence of failures. The difference is that now the ellipse is no longer centred nearthe origin. Instead, its centre has moved out along the line with the correspondingVslope for the failed satellite see figure (4-11). How far it moves along the line dependson the magnitude of the bias. A valid integrity algorithm should alert the pilot to thisfailure before the vertical error exceeds the desired vertical protection limit (VPL), thuskeeping all points in this ellipse out of region of missed detections (Walter, 1995).

From Figure (4-11) we can see that the maximum allowable slope is a function of thedesired probability of false alarms, the acceptable probability of missed detection, thevertical error we are trying to protect and VDOP’ (Brown, 1992). Integrity is onlydeclared available if each Vslope is less than (Walter, 1995).

),(')(

FA

MD

PNTVDOPPkVPL

Vslope

(4-28)

where k(PMD) is the number of standard deviations corresponding to the specified PMD.

The equation above can be rearranged to give the vertical protection level that the faultdetection algorithm is capable of protecting (VPLFD or HPLFD in the horizontal plane).These values are given by (Walter, 1995).

')(),(max

')(),(max

HDOPPkPNTHslopeHPL

VDOPPkPNTVslopeVPL

MDFAFD

MDFAFD

(4-29)

While this analysis determines the capability of RAIM in the presence of a singlesatellite failure, this form of RAIM cannot be made robust against any type of multiplesatellite error. One can always conceive of a satellite pair failure that would yield zerocontribution to the statistic and yet result in a large positioning error. Despite theselimitations, RAIM would very likely detect a random multi-satellite failure. For acomputational example see (section 4.4.5 and appendix F).

Integrity Monitoring Richard Broughton

56

4.1.5 Missed detection and False Alarm Probabilities

This section will explain how the probabilities of missed detection ( MDP ) and falsealarm ( FAP ) are computed. The distributions of the position error and the test statisticboth contain an unknown measurement bias. Therefore, it is only possible to computethe probabilities having made the following assumptions about the bias:

During normal system operations all the measurements are unbiased, thatis 0 .

When satellite i is in error, the corresponding element can have any value. The probability that a satellite is in error in a certain sample ( SP ) is known.

For simplicity it is assumed that at most one measurement is biased simultaneously.Hence a sample can contain zero or one biased measurement. The MDP and FAP arenothing but the sum of missed detection and false alarm probabilities under the zero andone bias case (Ober, 1997).

iFA

N

iibiasbiasnoFAbiasnoFAFAFA

iMD

N

iibiasbiasnoMDbiasnoMDMDMD

PPPPPPP

PPPPPPP

\1

__\_10

\1

__\_10

..

..

(4-30)

These probabilities can be written as a product of the occurrence of the zero or one biascase and the conditional probability that MDP or FAP results (Ober, 1997).

iFA

N

iibiasMD

biasnoFAbiasnoFA

iMD

N

iibiasMD

biasnoMDbiasnoMD

PPP

PPP

PPP

PPP

\1

_1

_\_0

\1

_1

_\_0

.

.

.

.

(4-31)

Where the following notations have been introduced:

iMDP \ : Probability of missed detection given a bias is applied to satellite i.

iFAP \ : Probability of false alarm given a bias is applied to satellite i.

biasnoMDP _\ : Probability of missed detection given no bias is applied.

Integrity Monitoring Richard Broughton

57

biasnoFAP _\ : Probability of false alarm given no bias is applied.

biasnoP _ : Probability that no measurement is biased.

ibiasP _ : Probability that measurement i is biased.

The probabilities that a sample contains no biases, or a bias in measurement i, are afunction of the probability of a satellite failure SP and the number of measurements N(Ober, 1997).

Nsbiasno

Nssbiasno

PP

PPP

)1(

)1(

_

1_

(4-32)

In the case of no bias, the distribution of position error and test statistic are well knownand the computation of biasnoMDP _\ and biasnoFAP _\ is straightforward. However, noinformation is available on the behaviour of failed satellites, so nothing is known aboutthe size of the biases. The only approach available is to assume that this bias has theworst possible size, leading to the highest probabilities of missed detection and falsealarm.

Consider the case in which the ith measurement is biased. The measurement bias willthen have the following form in which i is unknown.

Tie 0000 i (4-33)

The measurement bias influences the non centralities of the distributions of both the teststatistics and position error. When noise is added, a scattered cloud that describes thestochastic relation between the test statistic and position error is produced. The worstcase value of i will depend on the: threshold of the test statistic, the allowed positionerror or protection limit, the noise covariance W matrix and the ratio of thenoncentrality of the position error distribution and the test statistic distribution.

Integrity Monitoring Richard Broughton

58

4.2 Errors in Variables RAIM

The errors in variables (EIV) method described below is adapted from work producedfrom Professor Jyh-Ching Juang at the national Cheung Kung University Taiwan(Juang, 2000) and developed by VEGA systems (VEGA, 2003).

Typically in Satellite Navigation signal processing, the observation matrix G is assumedto be known. In practice, the observation matrix G consists of a set of unit vectors fromthe actual user position to the actual satellite positions. Hence, the matrix is subject toperturbations associated with the ephemeris errors and user’s position errors. Thisdiscrepancy may be significant in the detection process and in the presence of satellitefailure or signal interferences. Mathematically, the resulting linearised model containserrors in its variables, within the observation matrix. It is thus appropriate to use theerror in variables model (EIV) to describe the positioning system. The method of totalleast squares (TLS) is used to solve this problem (Press, 1992). In comparison with theleast squares method, the total least squares method enjoys the properties of greaterrobustness at the expense of more computations (Van Huffel, 1989).

An estimate of model mismatch is derived, which can thus serve as an indication ofsatellite fault detection. In RAIM methods the signal processor within the receivercomputes the measurement residue and compares it against a prespecified threshold forfalse declaration. The EIV model essentially separates the equivalent pseudorange errorand ephemeris error. This enables a more balanced design in separating errors sourcesand monitoring integrity. In (section 3.8) the measurement model has been outlinedyielding equation (3-6), which is presented again.

exH)(Gy . (4-34)

Where G is the observation matrix, H represents to errors in the observation matrix, x isthe user position and e represents the errors in the pseudorange. To find the bestsolution to x, both H and e are subject to errors. This motivates the use of the Frobeniusnorm of the augmented matrix [H e] as the objective function to be minimised. TheFrobenius norm of a matrix is by definition the square root of the sum of the squares ofits entries. The idea is to find a vector y that best fits the model in the sense that themodel mismatch characterised by H and e is as small as possible.

F

min DeHCx

(4-35)

Integrity Monitoring Richard Broughton

59

Where C and D are compatible, non-singular, diagonal weighting matrices. The entriesin C are used to weight the significance of different satellite range measurements, whilethe entries in D are related to the relative importance of satellite position, user clock andpseudorange errors.

The D matrix offers some flexibility that cannot be achieved in the weighted leastsquares problems. In fact the EIV model enables the user to emphasize the horizontalpositioning error, vertical positioning error, or clock bias by adjusting different elementsof the D matrix (section 4.3.3).

4.2.1 Singular Value Decomposition

There exists a very powerful set of techniques for dealing with sets of equations ormatrices that are either singular or very close to singular. It is known as Singular ValueDecomposition (SVD) and is the method of choice for solving linear least squaresproblems (Press, 1992). SVD methods are based on the following theorem of linearalgebra. Any N by n matrix A whose rows N are greater than or equal to its number ofcolumns n, can be written as the product of an N by n column orthogonal matrix U, an nby n diagonal matrix sigma with position or zero elements (singular values), and thetranspose of an n by n orthogonal matrix V.

TVUA (4-36)

4.2.1.1 SVD of a square matrix

If the matrix A is square, n by n, then U, V and Σ are all square matrices of the samesize. Their inverses are trivial to compute as U and V are orthogonal, so their inversesare equal to their transposes. If Σ is diagonal its inverse is the diagonal matrix whoseelements are reciprocals of the elements of σi. From (4-36) it follows that the inverse ofA is

T

i

diag UVA .11

(4-37)

If one of the σi’s is zero, or for one of them to be small enough that its value isdominated by round off error then the procedure will fail.

Formally, the condition number of a matrix is defined as the ratio of the largest (inmagnitude) of the σi’s to the smallest σi’s. A matrix is singular if its condition isinfinite, and is ill conditioned if its condition number is too large. For singular matrices,the concepts of nullspace and range are important. Consider

Integrity Monitoring Richard Broughton

60

bxA . (4-38)

This equation defines A as a linear mapping vector space x to vector space b. If A issingular, then there is some subspace x, called nullspace, that is mapped to zero,

0. xA . The dimension of the nullspace (the number of linearly independent vectors xthat can be found by it) is called the nullity of A. Now there is some subspace that canbe ‘reached’ by A, in the sense that there exists some x which is mapped there. Thissubspace b is called the range of A. The dimension of the range is called the rank of A.If A is non-singular, then its range will be all of the vector space b, so its rank is n. If Ais non-singular, then its range will be all of the vector space b, so then the rank will beless than n.

SVD explicitly constructs orthonormal bases for the nullspace and range of a matrix.Specifically, the columns of U whose same number elements σi are non zero are anorthonormal set of basis vectors that space the range; the columns of V whose samenumbered elements σi are zero, are an orthonormal basis for nullspace. Now look atsolving the set of simultaneous linear equations in the case A is singular. First, the setof homogeneous equations, where b = 0, is solved immediately by SVD. Any columnof V whose corresponding σi is zero leads to a solution. When the vector b on the righthand side is not zero, the important question is whether it lies in the range of A or not.If it does, then the singular set of equations does have a solution x; in fact it has morethan one solution, since any vector in the nullspace (any column of V with acorresponding zero σi) can be added to x in any linear combination.

If a particular member of this solution set of vectors is picked out as a representative itwould be the one with the smallest length magnitude of x squared.

bUVx ..1

diag. T

i

(4-39)

This will be the solution vector of the smallest length. The columns of V that are in thenullspace complete the specification of the solution set. Consider, where x’ lies in thenullspace. Then, if Σ-1 denotes the modified inverse of Σ with some elements zeroed,the following expression may be derived (Press, 1992).

'...

'.)...(

'...'

1

1

1

xVbUΣ

xVbUΣV

xbUΣVxx

TT

TT

(4-40)

Integrity Monitoring Richard Broughton

61

The 2nd and 3rd equalities come from the orthonormality of V. Examining the two termsthat make up the sum on the right hand side, it can be seen that the first has non zero icomponents only when σi = 0. Therefore the minimum length obtaining x’ = 0. If b isnot in the range of the singular matrix A, then equation (4-39) can be used to construct asolution vector x. This vector x will not exactly solve A.x = b. But, it will produce theclosest possible solution in the least squares sense. Equation (4-39) finds that, where ris called the residual solution.

bxAx .minimisewhich r (4-41)

Figure 4-13: a) A non-singular matrix A maps a vector space into one of the samedimension. The vector x is mapped into b, so that x satisfies the equation A . x = b. b)A singular matrix A maps a vector space into one of lower dimensionality, here a planeinto a line, called the range of A. The nullspace of A is mapped to zero. The solutionsof A . x = d consist of any one particular solution plus any vector in the nullspace, hereforming a line parallel to the nullspace. SVD selects the particular solution closest to

zero, as shown. The point c lies outside of the range of A, so A . x = c’, as shown.Reproduced from Press (1992).

Integrity Monitoring Richard Broughton

62

The total least squares method can be used to solve the equation (4-36), the procedurecomes from (Golub, 1996). If the SVD of the N by n matrix A is given by and the SVDof the N by (n + d) matrix [A B] is given by:

TVUBA (4-42)

Where d is the dimension which in the case of EIV RAIM is equal to one. The matricesV and sigma are partitioned as follows (Van Huffel, 1989).

)()(

)*(1)*(

)*()*(1

)(55

)*(51

)(15

)*(11

&

n*nn*n

ddnd

nnnn

d*dnd

n*dnn

00

Σ0

VV

VV(4-43)

4.2.1.2 SVD in EIV RAIM

In the EIV RAIM Singular Value Decomposition (SVD) is performed on the augmentedC[G y]D matrix such that

TVUDyGC ][ (4-44)

In which U is an N by 5 orthogonal matrix and V is a 5 by 5 orthogonal matrix such that

5

4

3

2

1

000000000000

00000000

Σ (4-45)

The singular values of C[G y]D are in descending order with the assumption that σ4 >σ5. The least singular value σ represents the amount of model mismatch thatcharacterises the compatibility between the observation matrix G and the measurementvector y. The partitions of U, V, Σ and D are as follows (Juang, 2000).

Integrity Monitoring Richard Broughton

63

5)4*1(

1)*(4)4*4(1

5)4*1(

1)*(4)4*4(1

1)*(155

)4*1(51

1)*(415

)4*4(11

)1(5

)4*(1

d

N*N

0

0DD

0

0ΣΣ

VV

VVV

UUU

(4-46)

4.2.2 Total Least Squares in EIV RAIM

The total least squares solution of x is given by (Juang, 2000).

151555

tls d1

VDV

x (4-47)

The mismatches in the H matrix and e vector are given by (Juang, 2000).

11555155

15tls

DVVUCeH Ttls (4-48)

Thus the linear matrix equation now becomes

tlstlstlstls exHGy ).( (4-49)

The main computational requirement in the total least squares solution is the singularvalue decomposition (SVD) described in (section 4.2.1). This yields not only the bestsolution of xtls but also the mismatches in Htls and etls. The vector xtls can then be usedfor position/clock bias update. The mismatches between the model and data can beused for integrity monitoring. It is also noted that the resulting error equals (Juang,2000).

5min FtlstlsF

DeHCDeHCx

(4-50)

Integrity Monitoring Richard Broughton

64

The least singular value σ5 represents the amount of model mismatch that characterisesthe compatibility between the observation matrix G and the measurement vector y.Further, the total least squares estimate of xtls is related to the mismatches Htls and etls by(Juang, 2000).

0 Ttlstlstls xeH (4-51)

In the above it is assumed that σ4 > σ5 for simplicity and clarity. In the case that theyare equivalent the solution may no longer be unique (Golub, 1996). However all theinterpretations remain similar except that certain manipulations become involved.When the weighting matrices are identity matrices, the total least squares estimate canbe expressed as, adapted from Van Huffel (1989).

yWGIGWG

yWGIGWGx

.)..(

.)..(1

425

121

TT

Tnn

Ttls

(4-52)

provided that an inverse exists. Where n is the number of unknowns (North, East, Upand Clock). The least squares estimate and the total least squares estimate are related,adapted from Van Huffel (1989).

lsT

lsT

tls

xIGWGI

xGWGIx

])..([

])..([1

425

254

1254

(4-53)

This implies that the least squares estimate is equal to the total least squares estimatewhen σ5 = 0. In this case the vector y is the range space of G. The augmented matrix [Gy] would then have a rank of four. Thus in the ideal case, both the total least squaresestimate and the least squares estimate are the same.

4.2.3 Accuracy of EIV RAIM

In GPS positioning, the accuracy is characterised as the product of the user equivalentpseudorange error and the dilution of precision factor (DOP). The former is related tothe uncertainties in the errors sources and the later is due to the geometry of the visiblesatellites. If the components of the pseudorange residual vector are independent,identically distributed, zero mean Gaussian processes with standard deviations σ0, thenthe covariance of the positioning vector xtls is presented below, adapted from Juang(2000).

14

25

125

20 )..(..)..()cov( IGWGGWGGWGx TTT

tls (4-54)

Integrity Monitoring Richard Broughton

65

In contrast, the covariance of the least squares estimate is known to be as below(Walter, 1995).

120 )..()cov( GWGx T

ls (4-55)

It can be shown that, adapted from Juang (2000).

114

25

14

25 )..det()..(..)..det( GWGIGWGGWGIGWG TTTT σ (4-56)

This means that the error ellipse associated with the total least squares estimate is largerthan the least squares. This is since in the TLS method, errors resulting from theobservation matrix are accounted for. Since there are more error sources, thedistribution of the solution spreads out. One can further define a modified geometricDOP as below, adapted from Juang (2000).

WGIGWGG

IGWGGWGIGWG

.)..(

)..(..)..(''2

425

14

25

14

25

TT

TTT

tr

trGDOP

(4-57)

Similar notions can be carried out to define modified HDOP’’ and VDOP’’. WhereHDOP’’ would be the sum of the first two diagonal elements of covariance matrix andVDOP’’ would be 3rd diagonal element of the covariance matrix (Jwo, 2001).

WGIGWGG

WGIGWGG

WGIGWGG

...''

...

...''

3,32

453,33,33,3

21

2,22

452,22,22,2

2,22

451,11,11,1

VDOP

HDOP(4-58)

Using the equation y = G’. x + e, a residue for integrity monitoring can be derived usingthe TLS method. The range residual vector becomes (Juang, 2000).

tlstls xGyε . (4-59)

It is possible to define the modified WSSE as (VEGA, 2003).

tlsTtlsWSSE εWε ..' (4-60)

As y = (G + Htls).xtls + etls, the range residual vector can be rewritten as

Integrity Monitoring Richard Broughton

66

tlstlstls

tlstlstlstlstlstls

exH

G.xexHGε

.

).((4-61)

Using the partitions equations (4-48) & (4-49) according to Juang (2000).

2555555

51

5

Ve

VUC

xdd

tlstls

(4-62)

This implies, the range residual vector is along the same direction as etls. Assuming C& D to be identity matrices and remembering U5 is a unit vector, the modified WSSE’can be calculated as, adapted from Juang (2000).

W

CW

CεWε

.

....

255

25

555

51

5

555

51

5

V

VdU

VdU

WSSE'T

tlsTtls

(4-63)

Recalling 5 is the smallest singular value of the augmented matrix [G y]. When y isin the range space of G, the rank of the augmented matrix is four. In presence of noisesand failures, the rank of the augmented matrix becomes five. The σ5 characterises howclose the rank of the augmented matrix is to four or how compatible the linear matrixequation is. When σ5 is large, the linear equations associated with (G + H).x + e = ybecome less compatible and a fault is likely to occur.

When the weighting are identities, the range residual vector εtls = y – G xtls can bewritten as, adapted from Juang (2000).

yWGWGI

yWGIGWGyε

.)..-(

..)..(12-

54

14

25

T

TTtls

(4-64)

Both εtls and xtls are nonlinear functions of y. But it can be shown that they are linearlyrelated giving

tlsT

tls εGx 25 (4-65)

The positioning error revealed in xtls depends linearly on the test statistic obtained fromthe norm of the residual vector εtls. This linear dependency is important and means thatσ5 and H/e may be used as two independent test statistics.

Integrity Monitoring Richard Broughton

67

Consequently, may RAIM schemes base on the LSR can be modified to the TLSmethod given yWGWGIy .)..-( 22-2

54 TTWSSE' . If the components of the

pseudorange vector have the same independent zero mean Gaussian distribution, then itcan be shown that the statistical distribution of the modified WSSE’ is the summation ofan N - 4 degrees of freedom 2 distribution and four gamma distributions withdifferent parameters (due to different weights).

More precisely, the modified WSSE' can be represented as54321 yyyyyWSSE' y . The joint density function of

54321 yyyyy is (Juang, 2000):

24

21

exp.2

1

21

2exp

2),,,,(

520

12

4

5

21

20

4 20

2212

20

2

54321

N

yy

yy

yyyyyp

N

i

ii

ii

(4-66)

where is the Gamma function and i are diagonal elements where:

Ni,,,i ii

i ,...,6,5for1and4321for1 2

2

Given iN &, 0 for i = 1, 2, 3, 4 the distribution p(y) can be evaluated usingconvolutions.

Given a prescribed false alarm rate, the threshold can be computed using the statisticaldistribution and come up with a RAIM scheme. The resulting probability densityfunction of WSSE’ has a similar form. However its amplitude is smaller and its tail islonger then the WSSE probability density function. Given the same false alarm rate, thenumber of observable satellites, the pseudorange error, the threshold determined by theWSSE’ is greater than WSSE. This is consistent with the result of comparing thecovariance xtls with xls.

Integrity Monitoring Richard Broughton

68

4.2.3.1 Confidence limits on SVD

When the 2 fit has been obtained by SVD, the information about the fit’s formal errorscomes in a convenient form. The columns of the matrix V are an orthonormal set of Nvectors that are the principal axes of constant2 ellipsoids. The lengths of theseaxes are inversely proportional to corresponding singular values n ...1 as below, (Presset al, 1992).

Figure 4-14: Relation of the confidence region ellipse 12 to quantities computedby SVD value decomposition. The vectors V(i) are unit vectors along the principal axes

of the confidence region. The semi-axes have lengths equal to the reciprocal of thesingular values wi. If the axes are all scaled by some constant factor α, 2 is scaled

by the factor α2, reproduced from Press et al (1992).

The boundaries of the ellipsoids are thus given by

2)(

22)1(

21

2 ).(...).( aVaV nn (4-67)

Integrity Monitoring Richard Broughton

69

4.2.4 EIV RAIM Test Statistics

In the EIV RAIM method σ5, Htls, etls each act as test metrics. Since Htls and etls

represent the mismatches between the observation model and the measurement data, itis possible to assess the extent of ephemeris and pseudorange error. The easiest way tocompare these mismatches is to convert Htls and etls into simple scalar values. The twodimensional

FH and e plane is called the fault detection plane see figure (4-15).

The point Ftlstls He , is located at 2

555555 1, VV in the plane where theweightings C and D are identities. The distance from point to origin, σ5 serves as ameasure for fault detection. The angle formed by the point and the e axis isindependent of σ5 and can be used to characterise the relative significance betweenmeasurement error e and the observation matrix error H (Juang, 2000).

21

55

2551 1

tan

VV

(4-68)

Figure 4-15: Fault detection plane, reproduced from (Juang, 2000)

The magnitude of square root of WSSE’ can be shown to be (Juang, 2000).

cos' 5

55

5 V

WSSE (4-69)

The factorcos

1can be regarded as the contribution of the mismatch in the observation

matrix on the test statistic WSSE’. When the mismatch in the observation matrix ismore significant, the angle θ increases and the WSSE’ increases accordingly.

Integrity Monitoring Richard Broughton

70

Conversely if the model mismatch due to the observation matrix is small, the norm tlseis close to the square root of WSSE’. The two dimensional metric, either the point

Ftlstls He , in the fault detection plane or measuring ),( 5 can be used for faultdetection and health monitoring.

4.2.5 Sigma 5 test statistic

When the C matrix is set to the square root of W, 5 is directly proportional to the

WLSR test statistic 'WSSE (VEGA, 2003). When D is not an identity matrix, thevalue 5 is equal to 5*' dWSSE . Thus when the appropriate values are used for

weighting matrices C and D, the test statistic 5 has the same 2 distribution as

'WSSE , and the detection thresholds for a given alarm rate are readily evaluated. Thefigure (4-16) shows a comparison of the probability density for the test statistic 5

and 'WSSE (VEGA, 2003).

Figure 4-16: Comparison between 5 with the square root of WSSE’ probability densityfunction, reproduced from (VEGA, 2003).

The close fit between the 5 and the WSSE has only been observed empirically, withlittle analytical justification for the assumption. From an analytical viewpoint, they areclosely related when WC due to equation (4-63), which according to Juang (2000)

states W.255

25

VWSSE'

.

Integrity Monitoring Richard Broughton

71

Figure 4-17: Plot of Vertical error against 5 test statistic for GPS + Galileosimulated constellation without bias (red) and with 20m bias applied to vertical pinsatellite (blue). The lines mark the vertical protection limit and the 5 threshold,

splitting the plot into four detection states, produced using bias_plotter.m.

4.2.6 H/e test statistic

The ratio of H/e provides an independent test statistic for EIV RAIM. The distributionof this test statistic is affected greatly by the tuning parameters selected for the D matrix(section 4.3.3, appendix D). Remember that the EIV algorithm is ‘tunable’. Thisallows increased integrity in a specific dimension. For instance the vertical plane can betuned up at the expense of the other dimensions including lateral and time.

Integrity Monitoring Richard Broughton

72

Figure 4-18: Plot of Vertical error against H/e test statistic for GPS + Galileosimulated constellation without bias (red) and with 20m bias applied to vertical pin

satellite (blue). The line marks the vertical protection limit produced usingbias_plotter.m.

The probability density for the H/e test statistic in the correctly tuned case appears toclosely match the theoretical curve for a ‘Half Normal Distribution’. These has onlybeen observed empirically, and there is no analytical justification for this assumption.

A half normal distribution is a zero mean normal distribution folded around the mean,so that all the values are positive see figure below (VEGA, 2003). This is important, asit greatly simplifies the task of setting the detection thresholds for this test statistic. Ifthe standard deviation of the distribution is determined the appropriate threshold for thegiven alarm rate is readily determined. The major investigation to be undertaken on theEIV algorithm is to formulate a method for setting the D matrix such that thedistribution of the H/e test statistic is bounded by a half normal distribution, and that thestandard deviation of this distribution may be evaluated analytically (VEGA, 2003).

Integrity Monitoring Richard Broughton

73

Figure 4-19: Ideally tuned H/e Test Statistic Probability Density function is a halfnormal distribution, reproduced from (VEGA, 2003).

4.2.7 Combining the 2 test statistics

Either of the test statistics described in the previous sections could potentially be usedas the fault detection mechanism in a RAIM algorithm. The advantage of the EIVmethod occurs when the two test statistics are used together. When a fault occurs, it isonly declared when both test statistics exceed the specific threshold (VEGA, 2003).

The figure below is a computational representation of the fault detection plane describedby Juang (2000) and illustrated in figure (4-15).

Integrity Monitoring Richard Broughton

74

Figure 4-20: Plot of 5 test statistic against H/e test statistic for GPS + Galileosimulated constellation without bias. The lines mark the 5 threshold and the H/e

threshold produced for 1000 iterations using bias_plotter.m.

Consider the simplified case in which the continuity requirement leads to a specifiedprobability of false alarm of one in a million. Using the EIV method, the 5 thresholdcould be set to yield one detection per thousand samples as long as the H/e threshold isset to the same alarm rate. Since the test statistics are entirely uncorrelated the overallprobability of false alarm would be one in a million, as required. Therefore, the PFA

component of VPL derived from this method would be significantly smaller than thePFA component of VPL using the WLSR method.

Figure (4-20) shows the relationship between the 5 test statistic and the H/e teststatistic. It includes a region in the top right hand corner marked by the H/e detectionthreshold and 5 detection threshold. These values have been set to yield the samecombined detection rate as the WLSR detection threshold. The optimal method todetermine the balance between the two thresholds is not known. Experimentation onthe EIV method shared the detection probability equally between the two test statistics,giving a VPL improvement of typically 10% compared to the WLSR method (VEGA,2003). This can be observed in (tables F-2, 4, 6, 8) and is a significant performanceadvantage. It is similar to having more satellites in orbit/visible to achieve the sameprotection levels when using the WLSR algorithm.

Integrity Monitoring Richard Broughton

75

Figure 4-21: Plot of 5 test statistic against H/e test statistic for GPS + Galileosimulated constellation without bias (blue) and with a 20m bias to the vertical pinsatellite (red). The lines mark the EIV VPL and the WLSR VPL for 1000 iterations

using bias_plotter.m.

Figure 4-22: Three dimensional plot of 5 test statistic against H/e test statistic andvertical error for GPS + Galileo simulated constellation without bias (blue) and with a

20m bias to the vertical pin satellite (red).

Integrity Monitoring Richard Broughton

76

4.2.8 LSR Backstop Threshold

The EIV RAIM method has an additional test statistic. It is noted that the satellitewhich has the greatest vertical error for a given applied bias does not have the steepestslope. There are other satellites for which a large applied bias on either one could leadto large errors without generating large values for the H/e test statistic. In the figurebelow an example is given by satellite GSA S1, which has the greatest slope, but doesnot give the greatest vertical error. If this satellite was selected to represent the worstcase error it would underestimate the vertical error by nearly 14m, the greatest verticalerror being produced by satellite GSA S9.

H/e test stat Characteristic

0

2

4

6

8

10

12

14

16

18

20

0.00E+00 2.00E-05 4.00E-05 6.00E-05 8.00E-05 1.00E-04

Test Statistic

Ver

tica

lErr

or

(m)

GSAS27

GSAS26

GSAS20

GSAS19

GSAS18

GSAS17

GSAS16

GSAS9

GSAS8

GSAS1

GPSIIF22

GPSIIF21

GPSIIF19

GPSIIF18

GPSIIF10

Figure 4-23: 5 test statistic characteristic, illustrating that the critical satellite doesnot have the steepest gradient in EIV RAIM, reproduced from (VEGA, 2003).

In the WLSR method, the satellite with the steepest characteristic slope is also the mostsensitive satellite, the measurement for which an applied bias creates the largest positionerror. This is the case for the 5 test statistic, (similar to WSSE ), but is not generallytrue for the H/e tests statistic. In order to provide with certainty that a bias on anysatellite will be detected by the EIV algorithm without exceeding VPL, for specified PFA

and PMD. It is necessary to add another test statistic threshold acting on the 5 teststatistic, which if exceeded will generate an alarm regardless of the H/e test statistic.

The current value of the backstop threshold is given by the d5 term multiplied by thevalue which exceeds a certain fixed probability in the 2 distribution with N – 4degrees of freedom.

Integrity Monitoring Richard Broughton

77

4.3 Investigations Using NavEng

4.3.1 Introduction to NavEng

Navigation Engine Simulation (NavEng) is a piece of software designed and written byVEGA systems. Detailed information is available from (VEGA, 2003). EssentiallyNavEng allows the user to conduct RAIM analysis for GPS, Galileo and combinedconstellations. It produces Monte Carlo simulations on a single, snapshot combinationof user position and epoch. The user is prompted for: Epoch, Receiverlatitude/longitude, receiver altitude, minimum masking angle, False alarm probability(PFA), Missed detection probability (PMD), number of pseudo random samples required.The software prompts for a constellation file. Three were available for this project: aGPS IIF file (flight trials data), simulated Galileo file and a combined GPS/Galileo file.Contained with these files are the appropriate UERE errors for varying elevations. Theappropriate algorithm is selected, which for this thesis is obviously EIV RAIM.

Figure 4-24: Navigation Engine (NavEng) data input window.

Integrity Monitoring Richard Broughton

78

Random noise is applied by NavEng and the user may: disable any satellite in view,apply a bias to the ranging signal from any satellite, or increase the noise by multiplyingthe UERE for a satellite by any desired amount. After confirmation of the inputs thefollowing are displayed:

The number of useable satellites in view. The VPL, calculated using the WLSR algorithm. The critical satellite, which is the satellite with the steepest slope of vertical error

against test statistic. The critical bias, the bias which, in the presence of any other noise, would just

generate the LSR test statistic when applied to the Critical Satellite.

After running the Navigation Engine Simulator the software displays four figures,representing the number of samples falling into each of the four categories:

Normal Operations – vertical error is below the VPL and the test statistic isbelow test statistic threshold.

Alarm – vertical error is above VPL and test statistic is above threshold. False Alarm – vertical error is below VPL and test statistic is above test

threshold. Missed Detection – vertical error is above VPL and test statistic is below test

threshold.

When the characteristic simulator button is depressed the NavEng writes a text file tothe hard drive, with the date and time of the run included in the file name for ease ofreference. The output file from the NavEng Characteristics Simulator is a set of tablespresenting the variation of: vertical error with bias applied to each satellite, horizontalerror with bias applied to each satellite, LSR test statistic with bias applied to eachsatellite and variation of the EIV RAIM test statistics with bias applied to each satellite.These data are then put into an excel spreadsheet which generates graphicalrepresentations of each test statistic.

When the Navigation Engine Simulation button is depressed the NavEng tool writesanother text file the content of which is in three parts:

Header data – presenting the input case specified by the user. Columns of data representing: vertical error, horizontal error, LSR RAIM test

statistic, EIV RAIM test statistic. The probability density associated with each tests statistic. The maximum and

minimum value occurring for each test statistic is evaluated and the rangebetween the two extremes divided into 50 bins.

Integrity Monitoring Richard Broughton

79

These data are cut and pasted into the EIV Navigation post processor in the form ofanother spreadsheet. This calculates the H/e test statistic and compares it to a halfnormal distribution. The final post processing spreadsheet is the Bias plotter, whichplots different Monte Carlo distributions for H/e and 5 test statistics, in bothhorizontal and vertical planes for three different biases.

4.3.2 NavEng Procedure

NavEng was used to tune the D matrix of the EIV method, see (section 4.2). To achievethis, the following steps were executed:

1. The RAIM D matrix text file was opened and the chosen values were entered.The file was saved and closed.

2. NavEng was opened and EIV v 1.4 beta dll was selected as the chosenalgorithm. The probability of missed detection was altered to 0.005 and theprobability of false alarm was altered to 0.001. The 24 GPS flight trial satellitefile was selected and the characteristic simulator button depressed.

3. The bias step was set to two and the simulation run. The time stamped text filewas then opened and the entire contents copied into the Vertical Biascharacteristic data spreadsheet. The graph sheet was selected and the teststatistics were checked to see if the 5 and H/e test statistic lines were straight.

4. NavEng was reopened and the NavEng simulation button was depressed to runthe simulation. This created another time stamped data file.

5. This new text file was opened and the first block from ‘output filename’ to Dmatrix was copied. The EIV NavEng Post processor was opened and the headerspreadsheet selected. The copied data was pasted in the ‘Output filename’ celland below.

6. The newly created text file was reselected and the bottom chunk of data wereselected. This part of the file started at ‘Large Samples’ and ended at the bottomof the text file.

7. The EIV NavEng Post Processor was reselected and the data tab chosen. The‘Large samples’ data was then pasted into the correct data block.

Integrity Monitoring Richard Broughton

80

8. The text file was reselected and the middle block of information including10000 samples was highlighted using the shift click method on the keyboard.These data were then copied into the data tab of the NavEng Post Processorspreadsheet. The output spreadsheet was selected and the H/e Test StatisticProbability Density graph viewed.

9. The Bias plotter spreadsheet was then opened and the previously selected datawere pasted into the left had of the three data tables.

10. NavEng was reselected and a 5m bias was applied to the pin satellite. TheNavEng simulation button was once again depressed generating another text file.This text file was reopened and the middle block selected. These data were thenpasted into the middle block of the Bias Plotter ‘data’ spreadsheet.

11. NavEng was reselected again and a 10m bias applied to the pin satellite. TheNavEng simulation button was depressed creating the text file. The middleblock of this text file was copied into the right had side of the Bias Plotter ‘data’spreadsheet.

12. The two test statistics could then be viewed in the graph tab plotted againsthorizontal and vertical error illustrating the effects of the implemented bias.

4.3.3 D matrix Tuning using NavEng

The EIV RAIM algorithm is different from other algorithms as it can be tuned toimprove its performance. There is a 5 by 5 diagonal matrix called the D matrix whichacts as a weighting matrix for the EIV model. The D matrix was tuned for the flighttrials data for a constellation of 24 GPS satellites. There is empirical evidence tosuggest that different D matrices are required for different satellite constellations.

The terms d1 and d2 represent the weighting of the orthogonal axes in the horizontalplane (North and East). There is no clear reason to have these values set differentlyfrom one another as it is the composite horizontal performance (HDOP) the user isinterested in. They were hence both set to the values of one. The d3 terms representsthe weighting in the vertical direction. The d4 term represents the weighting of theclock errors and the d5 is the range residuals weighting factor.

The process of changing the terms of the D matrix was driven by the requirement for theRAIM algorithm to exhibit a variety of different characteristics. Firstly the vertical andhorizontal errors against both the EIV RAIM statistics (σ5 and H/e) were compared.The desired results were straight line graphs for each spacecraft.

Integrity Monitoring Richard Broughton

81

This linear relationship was often the first of the desired characteristics to break downwhen unsuitable values were used in the D matrix. It appears that the gradient andspread of the scatter plots usually improves gradually approaching optimisation beforethe point where its linearity breaks down.

The H/e Test statistic probability density curve is used to approximate a half normaldistribution as closely as possible. This is in order that the inverse normal distributionfunction can be employed to set detection thresholds for the test statistic for any givenalarm rate. The final statistics were the error versus test statistic scatter plots. Theseincluded: vertical error versus H/e, vertical error versus σ5, horizontal error versus H/eand horizontal error versus σ5. For each of these four plots, three sets of clustered datapoints were created. They were generated by NavEng and relate to cases when there areapplied biases of 0m, 5m, and 10m on the critical satellite (one with the highestweighting). The desired characteristic of these plots is that they have low gradients anda large spreads. This means that lower vertical and horizontal errors exist for a givenvalue of the test statistic. This allows the detection part of the algorithm to be moresensitive.

According to Juang (2000), the values at the start of sigma matrix must be greaterthan the values at the bottom. It is believed that this must be repeated for the D matrix,but not understood why this is the case, hence d1 > d2 > d3 > d4 > d5. For this reasond3 was originally set to one and then decreased. The d4 term represents the clock offsetweighting and finally the d5 term represents the residuals.

The starting point for the D matrix tuning was with all the diagonals equal to one.Initially the d5 element was altered, then the d4, the d3 and then the d4 and finally thed5 in an iterative pattern. The D matrix was tuned using a ‘guided search’ technique,(appendix D) includes the results.

The d5 term was reduced in factors of 10 to see the results. The continued reduction ofthe d5 term to 0.001 improves the linearity of the σ5 test statistic which it appears todirectly affect. However further reduction appears to have little effect other than toincrease the spreads and gradients of the ‘error versus test statistic’ scatter plots.

It was then the term of the d4 element to be reduced from one by factors of 10. As thed4 element approaches the d5 (d4 = 0.01) linearity breaks down in the σ5 test statistic. Itappears that the d4 must be between 50 and 100 times greater than the d5 term. The d4element was set to 0.1 for this first coarse tuning.

Integrity Monitoring Richard Broughton

82

Now the d3 term was reduced and as it approaches the d4 value it removes the linearityof the H/e test statistic. It would appear that the d3 term must be between 5 and 10times greater than d4 for linearity of the test statistics to be preserved. Raising the d3term appears to improve the H/e test statistic probability density at to a value of two butthen has little further effect.

Further raising d3 tends to reduce the calculated HPLs and VPLs, which is notdesirable. The d3 term can be reduced to 0.11 before the linearity of the H/e teststatistic starts to break down. Unfortunately the H/e Test Statistic Probability densitystarts to deviate from a half normal distribution at d3=0.6. When the various testsstatistics do not match the prescribed distributions, the ability to calculate the necessarythresholds for the statistics is lost. Hence the d3 must be set to greater than 0.6.Following fine tuning the chosen matrix was d1=1, d2=1, d3=0.6, d4=0.04, d5=0.0006.For more details and graphical output, see appendix D.

4.4 Modelling using MatLaB Harness

To further understand the EIV method, a MatLaB harness with some of the functions ofNavEng was created. This allows the user to control every input to the algorithm andsee every function. The NavEng program which is written in DLL (dynamic linkedlibraries) is a combination of Graphical User Interfaces and spreadsheets with limiteduser input. The detection.m programs (appendix E) compare the EIV method withWLSR RAIM. It calculates VPL, HPL, VDOP, HDOP, vertical errors, horizontal errorsand all the thresholds/test statistics for the two algorithms. It is adapted from a programwritten by Alec Bastin of VEGA systems called single_epoch_bis_sec_brent.m whichwas designed to analyse flight trials data (Leighton, 2001). Detection states arecomputed in the four regions of normal operations, false alarm, missed detection andgood detection figure (4-12).

The program bias_characteristics.m calculates the horizontal and vertical errors onevery satellite in view for an increasing bias. It then plots these errors against 5 andH/e test statistics, much like the similarly named NavEng spreadsheet.

The program bias_plotter.m plots the complete solution of vertical/horizontal errorsagainst both test statistics in a scatter plot format. Like the NavEng spreadsheetbias_plotter, the MatLaB harness then applies 5m and 10m biases to the vertical andhorizontal pin satellites and shows the effect this has on the plot. For a full set of resultssee (appendix F), and tables (F-2, 4, 6, 8), which give exact figures for eachcomputational run.

Integrity Monitoring Richard Broughton

83

4.4.1 Input Data

Two sources of data were used: Firstly STK simulations of GPS (section 3.1.3), Galileo(section 3.3.3) and a combined constellation (section 3.4) were created. The othersource was the RINEX GPS data collected from a previous Cranfield University projectand manipulated using a piece of software called DGPS.0.32 (appendix G). All the datafiles were produced in single epoch format as follows:

Table 4-1: Specimen input data for MatLaB Harness scripts, in this case for simulatedGalileo Constellation created in STK. Note that 11 satellites are visible and thatAzimuth and Elevation are given in radians.

Range(m) Azimuth(rad) Elevation(rad) UERE(m)25549649.15 4.44947258 0.68643799 0.7623667140.75 4.77801336 1.44785533 0.7624751574.03 1.20879758 0.89950779 0.7628111380.53 1.25218647 0.19472638 1.6927658896.64 1.92284669 0.26947883 1.4927062248.46 1.20103087 0.37800340 0.7627912134.82 0.49544661 0.23010420 1.2726236842.56 5.43052215 0.53880059 0.7624786526.13 4.53672159 0.88727303 0.7625783960.40 3.53483278 0.63055255 0.7628643110.44 3.05371532 0.10311405 1.76

The values used for User Equivalent Range Error (UERE) were taken from(EUROCAE, 2003) for varying values of elevation. The values taken for GPS includedsatellite based augmentation (SBAS) and for Galileo included the E1 and E5frequencies see table (4-2). These ranging errors are the best possible and wouldinclude the use of such augmentation systems as EGNOS and WAAS (section 5.1.6).

Table 4-2: Table for UERE for different angles of elevation for both the GPSaugmented system, and the Galileo system with E1 and E5 signals, reproduced fromEUROCAE (2003).

Elevation in degreesUERE (m) 5 10 15 20 30 40 50 60 90GPS/SBAS L1 2.07 1.66 1.44 1.27 1.05 0.91 0.83 0.78 0.73Galileo E1/E5 1.88 1.34 1.13 1.02 0.93 0.9 0.89 0.88 0.88

In order to gain more accurate UERE values between the elevation increments, it wasassumed that the graph of UERE against elevation was a straight line betweenconsecutive points on the curve. Using the method demonstrated in the figure (4-25)and equation (4-70), a more accurate UERE was obtained (Wood, 2001).

Integrity Monitoring Richard Broughton

84

Figure 4-25: Graph of interpolation equation used for UERE calculation, reproducedfrom Wood (2001).

1212

11 YY

XXXX

YY

(4-70)

This significantly improves the accuracy of the result, particularly for small elevationangles which correspond to large UEREs. A spreadsheet was created to produceUEREs for any elevation between 0 and 90 degrees.

The weighting matrix W was produced from the UERE values and is defined as where iis the number of visible satellites (VEGA, 2003).

2i

21

21

UERE1

00

0UERE

10

00UERE

1

W (4-71)

The matrix C in this thesis was defined as the square root of the matrix W. It is used inthe singular value decomposition process, equation (4-35). The D matrix is read intothe programs as a list of five values and then diagonalised.

Integrity Monitoring Richard Broughton

85

The user is able to alter this matrix to see the affects of tuning, (section 4.3.3) and(appendix D). The tuned D matrix used for the analysis was, see (appendix D).

0.000600000.004000000.60000001000001

D (4-72)

For test statistic thresholds to be calculated and for detection states to be set, values forthe probability of missed detection (PMD) and probability of false alarm (PFA) arerequired. The PMD is the integrity risk divided by the probability of constellation failureover a determined period of time. The PFA is the product of the false alarm occurrenceand of the correlation time of measurements. These were obtained from an unpublisheddocument (EUROCAE, 2003) and the document (VEGA, 2003). The PFA is driven bythe Continuity requirement for aviation precision approach.This is a probability of alarm not greater than 8e-6 in 15 secs. Since it isassumed the measurements are correlated over 15 sec it can be assumed that therequired PFA is 8e-6. The PMD is more difficult to set definitively, but to simplify theanalysis it was set to 0.001 regardless of the constellation type (the results are not verysensitive to this assumption). The backstop probability BP is an invention purely for theEIV algorithm, and work to define this number better is still incomplete (section 4.2.8).

Once again to simplify the analysis it was set to100

1 FAP . In the program, the user is

prompted for these values in all programs (VEGA, 2003).

The user is permitted to apply a bias to the vertical and horizontal critical satellites, (theones with the greatest weighting factor in those planes). These applied pseudorangebiases correspond to the e vector in equation (4-34). The observation matrix may alsobe corrupted by adding values to the Azimuth or Elevation angles for the vertical criticalsatellite. This corresponds to adding an H ephemeris error matrix in equation (4-34).

The observation matrix G, can now be generated. It is comprised of line of sightvectors and a clock offset value set to one (section 4.2). Each row represents a differentvisible satellite. The first column represents the North measurement, the second East,the third the altitude and the final is clock offset. Hence the observation matrix is an Nby 4 matrix, where N is the number of visible satellites in view. It is calculated usingthe following equation and the Azimuth and Elevation measurements (Enge, 1996).

Integrity Monitoring Richard Broughton

86

1EsinAcosEcosAsinEcos

1EsinAcosEcosAsinEcos1EsinAcosEcosAsinEcos

22222

22222

11111

G (4-73)

Where Ei refers to the elevation angle of the ith satellite and Ai refers to the Azimuthangle of the ith satellite.

To produce the y vector it is necessary to produce noise as the STK simulation filesonly include exact ranges, and not pseudorange errors. Noise was created using thefollowing random number generator, where ‘rand’ is a random number produced byMatLaB, between 0 and 1 (VEGA, 2003).

))(2cos()ln(2 randrandNoise (4-74)

A simulated pseudorange matrix for each satellite is produced. The noise calculatedabove is multiplied by the UERE so that satellites lower in the receiver’s horizon havegreater errors (VEGA, 2003).

)( NoiseUERERangeePseudorang (4-75)

Finally the y vector in equation (4-34) is simulated using the equation presented belowwhere each satellite is labelled i (VEGA, 2003).

iii RangeePseudorang y (4-76)

To allow the user to apply a pseudorange bias (simulating a faulty satellite), to thevertical critical satellite, slopeV must be calculated using equation (4-27). The satellite

with the greatest slopeV is as the satellite with the greatest influence on the vertical errorof the algorithm. Correspondingly to allow the user to bias the horizontal criticalsatellite slopeH needs to be calculated form equation (4-27). User defined bias can beadded to the y vector of either or both these satellites which will have the greatestinfluence on the overall solution.

Integrity Monitoring Richard Broughton

87

4.4.2 Calculation of Test Statistics

A number of calculations can be made for the WLSR method which are: VDOP,HDOP, horizontal errors, vertical errors and test statistic (square root of WSSE). Thedecision thresholds for WLSR RAIM are calculated by assuming the distribution to be a

2 . The VPL and HPL’s are then calculated as outlined in (section 4.1.4).

For the EIV method the 5 and H/e test statistics are calculated for both the entireposition solution and for each satellite in turn. The equations used are presented in(section 4.2).

4.4.3 Calculation of detection Thresholds

The thresholds for the EIV method are calculated in the following manner described by(VEGA, 2003). Assuming the value that represents the largest bias which need bedetected is 20m, (for which this algorithm has linear characteristics). The followingsteps are applied to each visible satellite.

A vector q is produced where every element is set to zero except the elementcorresponding to the current satellite, which is set to 20. SVD is once more performedon an augmented matrix (VEGA, 2003).

TVUDqGC ][ (4-77)

The H/e test statistic for each satellite is produced using the equation presented below.

ii

tlsFtlsivectorTSEIV

W

eH

20

/__ )1,( (4-78)

This represents the value tlsFtls eH / test statistic generated using a bias on thesatellite in question equal to a one sigma UERE value. The 20m term is used tominimise non linearity effects of the characteristic close to the origin. The EIV slopevector is then calculated using (VEGA, 2003).

ii

ii

vectorTSEIVvectorslopeEIV

W

K

____ 3

)1,( (4-79)

Integrity Monitoring Richard Broughton

88

These steps are then repeated for the next satellite in the list until all the satellites inview have been accounted for. The standard deviation of the H/e test statistic iscalculated by evaluating the norm (square root of the sum of the squared errors) of theEIV_TS_vector. The GDOPs are calculated for the EIV method and then converted toVDOPs and HDOPs. The EIV vertical and horizontal errors are calculated from the

tlsx vector.

A value from EIV_Slope_Vector that corresponds to the critical satellite is obtained andnamed EIV_Critical_Characteristics. Vslope_2 is then calculated and defined as thehighest value for a satellite which has a steeper EIV test characteristic than the criticalsatellite. If no satellite has a steeper EIV_TS_Characteristic than the critical satellite,Vslope_2 is set to the second highest slope of the WLSR characteristic. The process isthen repeated for slopeH .

To set the detection thresholds for the EIV method requires the following explanation.The total allowable false alarm rate is driven by the specification of PFA. An alarm isgenerated if the 5 threshold and the H/e threshold are both exceeded simultaneouslyor the Least Squares Residuals (LSR) backstop threshold is exceeded. The 5 test

statistic has a 2 distribution, with N – 4 degrees of freedom (section 4.2.5) and the H/etest statistic has a half normal distribution (section 4.2.6). In order to set the 5 andH/e thresholds correctly it is necessary to find when the following criteria are met(VEGA, 2003).

sticCharacteriCriticalEIVThresholdeHdVThreshold slope __/5(max)5 (4-80)

The combined probability of false alarm (taking into account the probability ofexceeding the LSR Backstop Threshold) is specified by PFA. Thus PFA has twocomponents (VEGA, 2003). Firstly the probability of the 5 (PSigma 5) threshold beingexceeded and the H/e (PH/e) threshold 5 being exceeded simultaneously. Secondly theprobability of the LSR backstop being exceeded without the PH/e threshold beingexceeded is (VEGA, 2003).

BeHeH PPP )1( // (4-81)

The value of 5P can therefore be found by solving the following expression for x = 0.

factorBackstopP

PPxPxF FAeHeHFA )1()()( // (4-82)

Integrity Monitoring Richard Broughton

89

The next step is to calculate the probability of the 5 threshold being exceeded duringnormal operations. This is solved using the bisection method. Given that (VEGA,2003):

sticcharactericriticalEIVsigmaTSEIV

NxinvchiVcdfnormP slope

eH ____

)4,1(2(2 max_/

(4-83)

Where “cdfnorm” represents the cumulative density function of the Normal Distributionand “invchi2” represents the inverse of the 2 cumulative distribution function.Having found the required probabilities for the two EIV RAIM detection thresholds tobe exceeded in order to meet the required PFA specification, the detection thresholdsare readily found:

5_Threshold = D5*sqrt(invchi2(1- P5, N-4))

EIV_H_over_e_Threshold = EIV_TS_sigma*abs(invnorm(PH/e / 2))

LSR_Backstop = D5*sqrt(invchi2(1- PB, N-4))

All these functions can be found in the MatLaB harness code listing,(appendix E).

4.4.4 Calculating the Protection Limits

In the EIV method because the worst case bias is not found from some simple generalrelationship, an iterative method is required. This must determine the worst case biasgiven threshold5 and EIV_H_over_e_Threshold values. The following steps describethe logic used to find the worst case bias, and hence to set the Vertical Protection Limitusing the EIV method. These steps are reproduced from VEGA (2003).

1. Consider a case where no bias is applied to any satellite, but each measurement issubject to random noise with a variance as defined by the assumed UERE value forthat satellite. In this case the 5 Test Statistic has a central distribution, with N-4degrees of freedom.

2. Now consider the same case, but with a bias applied to the Critical Satellite. Thetest statistic distribution is now a non-central distribution, with a non-centralityparameter which can be derived as follows:

Integrity Monitoring Richard Broughton

90

Given that equation (4-27) presents the relationship between LSR Test Statisticand Vertical error, and the K3i term represents the relationship between appliedbias and vertical error, the value of Test Statistic for a given applied bias, in theabsence of any noise on any signals, is readily found. Similarly the componentsfor the horizontal error are the sum of the squares of K1i and K2i terms.

By assuming that this value would be the central value for the new distribution,the value of the non-centrality parameter is easily derived.

3. As an increasing bias is applied to the Critical Satellite, the “cloud” representingits distribution moves along the line representing the Critical Characteristic inFigure 4-26. For any particular applied bias, there is some probability ofmeasurements having a value of 5 Test Statistic less than the derived 5 Threshold.We refer to this probability as “P(subsigma5)”.

σ5 threshold backstop

VPL

PMD

PFA component

ki

Vertical error

Test statistic

σ5 test statistic

Figure 4-26 : Calculation of EIV Worst case Bias, reproduced from (VEGA, 2003).

4. Given all the terms required to define a non-central distribution for a givenapplied bias, the value of P(subsigma5) is readily derived as a function of appliedbias.

5. In the absence of noise, the assumed applied bias will induce a vertical error whichwe refer to us as the “PFA Component” since this is the component of VPL which isa function of the detection threshold, which is in turn a function of PFA. This isshown in Figure 4-26. A similar result can be derived for the HPL.

Integrity Monitoring Richard Broughton

91

6. When noise is applied to each measurement, the value of vertical error at anyinstant will have a normal distribution, with a mean equal to PFA Component and astandard deviation equal to v, the 1-sigma vertical error derived previously. Theterm “ki” in Figure 4-26 represents the number of standard deviations associatedwith a given probability, which when multiplied by v yield a term we refer to as the“PMD Component”, since this is related to the required Missed Detectionprobability.

7. For any assumed applied bias, it is possible to calculate a value for ki such that theregion marked as “PMD” in Figure 4-26 represents the probability of the randomnoise exceeding the threshold represented by ki, whilst simultaneously being belowthe 5 Threshold. This area should be, by definition, equal to PMD, since thisrepresents a Missed Detection.

The iterative process defined in the associated MatLaB file is therefore a routine to findthe maximum value of Vertical Protection Limit that meets these constraints

4.4.5 Program functions and results

All the MatLaB harness codes are included in (appendix E).

4.4.5.1 bias_characteristics.m

This program emulates the function of the bias_characteristics spreadsheet attached toNavEng. It takes input and calculates test statistics in the same manner as all the otherprograms, but also calculates horizontal and vertical errors for each visible satellite. Aloop then creates the following table format for four different cases: vertical error,horizontal error, H/e test statistic and 5 test statistic.

The purpose of bias_characteristics.m is to identify which satellites are the vertical andhorizontal pins (the most highly weighted satellites in the vertical and horizontal sense).It appears that in general they are different satellites.

Table 4-3: Specimen data format of vertical error for each satellite plotted againstincreasing bias.

Bias(m) 0 2 4 6 8 10 12 14 16 18Sat 1 0.04 0.25 0.54 0.83 1.12 1.42 1.72 2.03 2.35 2.69Sat 2 1.66 4.33 7.02 9.73 12.47 15.25 18.08 20.96 23.90 26.90Sat 3 0.06 0.13 0.33 0.54 0.77 1.03 1.33 1.68 2.08 2.56Sat 4 0.13 1.00 2.13 3.29 4.46 5.67 6.92 8.21 9.56 10.98Sat 5 5.18 2.19 0.79 3.77 6.77 9.81 12.89 16.05 19.29 22.62Sat 6 0.43 1.74 3.05 4.37 5.71 7.08 8.47 9.90 11.38 12.91

Integrity Monitoring Richard Broughton

92

The script then plots the bias characteristic of each visible satellite in the four casespreviously mentioned. It is possible to apply a bias to the vertical and horizontal criticalsatellite to identify which they are. It is observed that the critical satellite calculated bythe slopeV function is always the steepest slope of the 5 test statistic plotted against

vertical error figure (4-27). The critical satellite calculated by slopeH is always the

steepest slope of 5 test statistic plotted against horizontal error, see figure (4-29).

Figure 4-27: Output from Bias_characteristics.m for the Galileo simulatedconstellation with no bias applied to the pin satellite.

Note how all the plots are linear. This was NavEng’s first test to see if the D matrixwas correctly tuned section (4.3.3). This partially validates the MatLaB script as itappears to give similar results to NavEng’s Bias_characteristics spreadsheet (appendixD). However, it should be noted that the constellations used are different.

Integrity Monitoring Richard Broughton

93

Figure 4-28: Output from Bias_characteristics.m for the Galileo simulatedconstellation with a 15m bias applied to the vertical pin satellite.

The vertical pin satellite is clearly illustrated in the top left plot in the figure above.Also note that the pin satellite in terms of vertical error is not the same as for horizontalerror, see figure (4-29). This means that the satellites that have the greatest influence onthe horizontal and vertical errors need not be the same, perhaps neither being the highestvisible satellite in the sky. Additionally, the critical satellite, whether it be horizontal orvertical is very often not the steepest slope when plotted against the H/e test statistic.This is the reason behind the LSR backstop factor in (section 4.2.8).

Integrity Monitoring Richard Broughton

94

Figure 4-29: Output from Bias_characteristics.m for the Galileo simulatedconstellation with a 15m bias applied to the horizontal pin satellite.

Note how the critical horizontal satellite is the steepest slope of the bottom left plot.However, it is only the third steepest slope of the vertical error plotted against the 5test statistic figure (4-29). In the GPS + Galileo constellation it was observed that thevertical and horizontal critical pin satellites were the same, table (F-2), figures (F-11 &F-12).

4.4.5.2 Detection.m

This program calculates the fault detection states for both WLSR method and EIVmethod which are:

Normal Operations – vertical error is below the VPL/HPL and test statistic isbelow test threshold (detection state 0).

False Alarm – vertical error is below VPL/HPL and test statistic is above testthreshold (detection state 1).

Integrity Monitoring Richard Broughton

95

Alarm – vertical error is above VPL/HPL and test statistic is above threshold.(detection state 2).

Missed Detection – vertical error is above VPL/HPL and test statistic is belowtest threshold (detection state 3).

The fault detection for the WLSR algorithm is:

If thresholdWSSEWSSE then declare an alarm.

For the EIV method the logic is more complex:

ifbackstop

tlstls

LSR

threshold

5

F55

OR

ld_E_threshoEIV_H_over/AND

eHthen declare alarm.

The program was used to analyse the four prepared input files: GPS + Galileo, Galileo,GPS and RINEX data. A bias was applied to the critical satellite in each case and theresults are outlined below.

Figure 4-30: Output from decision.m for GPS and Galileo combined constellation withno bias applied. The WLSR method and EIV methods are compared and both show no

detection.

Integrity Monitoring Richard Broughton

96

In the figure above, the four diagrams on the left describe the WLSR method, and thefour diagrams on the right describe the EIV method. The program was originallyintended to read time varying files, but for one epoch simply plots a value for each run.The top four diagrams plot vertical error, VPL and 5.33*VDOP. The VDOP ismultiplied by the factor which corresponds to the statistical significance of one sigmaerror. It is observed that the VPL for the EIV method is lower than for the WLSRmethod. Otherwise the VDOP and vertical error characteristics are surprisingly similar.The equations describing VDOP and vertical error can be found in (section 4.1.4 and4.2).

In the top centre two diagrams the Horizontal error, HPL and HDOP are plotted. It isnoticeable that the HPL is very slightly lower for the EIV method than the WLSRmethod. This is perhaps due to the way the D matrix has been tuned favouring verticalover horizontal planes (section 4.3.3). This is an advantage as it means that the EIVmethod will always make a good detection in both horizontal and vertical planes beforethe WLSR method.

The centre bottom diagram compares the detection states of the WLSR and EIVmethods, in both the horizontal and vertical planes. Since there is no applied biasnormal operations are shown. Finally the bottom two diagrams illustrate the teststatistics and decision thresholds for both methods.

Integrity Monitoring Richard Broughton

97

Pseudorange Corruption

Figure 4-31: Output from decision.m showing a combined GPS and Galileoconstellation with 5m bias applied to the vertical pin satellite.

Following the application of a 5m bias in pseudorange to the vertical pin satellite, thevertical error increases from around 0.8m to 3.4m, exceeding the VPL for the EIVmethod. In the bottom diagrams the WSSE test statistic has exceeded its thresholdmoving the detection to state one (false alarm). For the EIV method the 5 test statistichas also exceeded its threshold value. This combined with the vertical error exceedingthe VPL moves the vertical detection state to region two (good detection).

The horizontal detection is moved to region one (false alarm) for both methods as thehorizontal error has not exceeded the HPL. In all the analysis conducted with verticalbias application, the vertical error always exceeds the VPL before the horizontal errorexceeds HPL. This is unsurprising as it is effectively the same as increasing the rangeto an overhead satellite by the applied vertical bias value.

Integrity Monitoring Richard Broughton

98

Hence vertical errors are always detected first and are more critical for precisionapproaches as greater accuracy is required. A bias of 10m has to be applied before theWLSR method detects an error showing the EIV method’s greater detection accuracyfor this particular constellation. This is all due to the EIV method’s lower VPL.

Figure 4-32: Output from decision.m with no bias applied to a simulated Galileoconstellation file.

For the Galileo constellation it is observed that the errors and protection limits aregreater than the GPS + Galileo constellation. This is due to there being fewer satellitesvisible. Errors and protection limits are also a function of geometry, but with a largenumber of satellites in view, bad geometries are rarer than when there are a smallernumber of satellites in view. This implies that there are fewer bad geometries for largerconstellations than for smaller constellations. So a combined GPS/Galileo constellationwill help to solve the problem of changing satellite geometries and hence provide moreconstant protection limit performance at changing epochs.

Integrity Monitoring Richard Broughton

99

Figure 4-33: Output from decision.m with a 9m bias applied to the vertical criticalsatellite of the simulated Galileo file

Figure (4-33) shows that it takes a 9m bias before the EIV method makes a gooddetection and slightly greater bias (depending on the random noise generate) before theWLSR method makes a good detection. This illustrates the greater detection sensitivityof the EIV method, again due to the lower VPL.

Integrity Monitoring Richard Broughton

100

Figure 4-34: Output from detection.m for simulated current GPS constellation with a10m bias applied to the vertical pin satellite.

For the simulation of the current GPS constellation, it is observed that the errors areslightly greater than for the Galileo constellation, see figure (4-34). For the RINEXdata it can be seen that the errors are somewhat larger, than the simulated GPSconstellation due to there being fewer satellites in view (only 6 for RINEX, compared to10 for the simulated GPS constellation) see figure (4-35).

Integrity Monitoring Richard Broughton

101

Figure 4-35: Output from decision.m for RINEX data with simulated errors with no biasapplied to the vertical pin satellite.

Combined satellite corruption

In this analysis both the horizontal pin satellite and vertical pin satellite had bias errorsapplied to simulate multiple satellite failure. The application of such bias is applied tothe two most critical satellites and is liable to have a detrimental affect not only to theerrors, but also to the algorithms ability to detect the fault.

In figure (4-34) we can see that the EIV method detects a fault when a 10m bias isapplied to the vertical critical satellite. However when a 10m bias is applied to thevertical and horizontal critical satellites figure (4-36), it is observed that the verticalerror actually appears to decrease. Hence a detection is not made by either RAIMmethod. This is since there are now two inconsistencies in the solution, making itdifficult for the fitting procedure to decide which solution set is correct.

Integrity Monitoring Richard Broughton

102

Figure 4-36: Output from decision.m for GPS data with a 10m bias applied to thevertical and horizontal pin satellites.

Pseudorange corruption

The program was then used to corrupt the observation matrix by adding errors to theElevation and Azimuth tables. This has the same effect as altering the ephemeris dataor adding an error matrix H to the G matrix in equation (4-34). Altering the satellite’selevation by a small amount will change the satellite’s position in the sky by a largeamount, due to the large distance it is located from the observer.

Figure 4-37: Diagram representing how a small change in elevation position of asatellite makes a large change to its actual position on the sky P .

ePseudorang

P

Integrity Monitoring Richard Broughton

103

From the figure above the following equation can be derived, where P , is the changein satellite position and is the change in either elevation or azimuth.

!176723.57sin21000sin

kmePseudorangP

(4-84)

Hence a large change in angle such as 1 radian (57.3 degrees) is likely to totally changethe satellite’s position in the sky. It is therefore surprising how small the effects ofchanging the ephemeris data are.

Figure 4-38: Output from decision.m, for RINEX data with and without a 1 radian errorazimuth applied to the vertical pin satellite.

It is observed that altering the Azimuth of the G matrix has very little effect on thecalculated protection limits. But in the case of the EIV method it does appear toincrease the DOPs, errors and test statistics. In particular the VDOPs, vertical errors,

WSSE test statistic and 5 test statistic are significantly increased, but not the H/e teststatistic, see tables (F-2, 4, 6, 8).

Integrity Monitoring Richard Broughton

104

Altering the elevation angle appears to have a much larger impact on both the horizontaland vertical errors and DOPs. However, once again the vertical errors and VDOPs arealtered more than the horizontal elements.

Figure 4-39: Output from decision.m, illustrating the effect of altering the elevationangle of the vertical pin satellite by 1 radian compared with no alteration for the

RINEX data.

The results for the Galileo constellation appear to be very similar. In the case of theGPS constellation observation matrix the effects are much more pronounced. This isperhaps due to the fewer number of visible satellites or the satellite geometry at thechosen epoch.

It is noticeable that the EIV method is considerably more sensitive to changes in theephemeris data than the WLSR method. What is meant by this is that the protectionlimits are not altered so much in the EIV method as the WLSR method however theerrors are. This is unsurprising as this was the initial premise under which Juang (2000)introduced the concept.

Integrity Monitoring Richard Broughton

105

Figure 4-40: Output from decision.m, illustrating the effect of altering the elevationangle of the pin satellite by 1 radian for the compared with no alteration Galileo

simulated constellation.

Integrity Monitoring Richard Broughton

106

Figure 4-41: Output from decision.m, illustrating the effect of altering the elevationangle of the pin satellite by 1 radian for the compared with no alteration GPS simulated

constellation.

Combined satellite and ephemeris corruption

Finally both horizontal and vertical pin satellites were biased in addition to corruptionof ephemeris data for the vertical pin satellite in both azimuth and elevation. With somany errors the results are likely to be unpredictable, however as unlikely thatcombined satellite failure is, it still must be considered for safety of life applications.

Integrity Monitoring Richard Broughton

107

Figure 4-42: Output from decision.m, illustrating the effect of altering the elevation andazimuth of the vertical pin satellite and applying 20m bias to both the horizontal and

vertical critical satellite.

From the figure above it is noticed that the EIV algorithm has declared a fault in thehorizontal and vertical states, whereas the WLSR algorithm has only declared a fault inthe horizontal plane. This is since somehow according to the WLSR algorithm all thefaults have cancelled out and given an infinitesimal error, whereas according to the EIVmethod as the results a added together producing a very large vertical error some 80m!This shows the unpredictability of multiple failures and the greater robustness of theEIV method.

4.4.5.3 bias_plotter.m

This program performs the same function as the bias plotter spreadsheet attached toNavEng. Both the 5 and H/e test statistics are calculated and plotted against thehorizontal and vertical error. This process is repeated 10 000 times using Monte Carloiterations producing different errors each run.

Integrity Monitoring Richard Broughton

108

A bias of 5m is then added and the process is repeated. Finally a bias of 10m is addedand this creates three clouds of data in different colours on each of the four plots. Thisis another attempt once again to validate some of the code in decision.m by comparingoutput with NavEng.

Figure 4-43: Four plots of 10 000 data points with no bias applied, produced usingMonte Carlo iterations using bias_plotter.m for the simulated GPS satellite

constellation.

Figure 4-44: The plots of 10 000 data points for vertical error plotted against H/e teststatistic with bias applied, produced using NavEng spreadsheet EIV Post Processor for

the simulated GPS satellite constellation.

Integrity Monitoring Richard Broughton

109

Figure 4-45: The plots of 10 000 data points for horizontal error plotted against H/etest statistic with bias applied, produced using NavEng spreadsheet EIV Post Processor

for the simulated GPS satellite constellation.

Figure 4-46: Four plots of 10 000 data points with no bias (red), 5m bias (blue) and10m bias (green) applied. The biases have been applied to the vertical pin satellite in

all cases. These plots were produced using Monte Carlo iterations using bias_plotter.mfor the simulated GPS satellite constellation.

Integrity Monitoring Richard Broughton

110

The figure above shows biases only applied to the vertical pin satellites in each plot.This has the effect of increasing the vertical error and test statistic for each plot. For thetop two plots the data points are shifted diagonally to the right. In the bottom two plotsthe horizontal error has not been altered much, but the test statistics have beenincreased. This causes the data points to be shifted to the right of the diagram towardsthe false alarm region.

The figure below shows a similar plot, but with the bias applied to the vertical pinsatellite in the top plots and to the horizontal pin satellite in the bottom plots. This hasthe effect of the horizontal error plots being shifted diagonally right into the gooddetection region, like the vertical error plots in figure (4-46). This validates the programis applying bias to the correct pin satellites, having identified them usingbias_characteristics.m. This in turn validates some of the code in decision.m and theanalysis conducted through applying biases.

Figure 4-47: Four plots of 10 000 data points with no bias (red), 5m bias (blue) and10m bias (green) applied. The biases have been applied to the vertical pin satellite inthe top two plots and the horizontal pin satellite in the bottom two plots. These plotswere produced using Monte Carlo iterations using bias_plotter.m for the simulated

GPS satellite constellation.

Another version of bias_plotter plots the vertical and horizontal errors together againsteach test statistic in 3 dimensional plots. One of these for the Galileo constellation isincluded below.

Integrity Monitoring Richard Broughton

111

Figure 4-48: 3D plot for simulated Galileo constellation showing the vertical andhorizontal errors plotted against each of the two test statistics.

This chapter has introduced integrity monitoring and RAIM methods. Then thetheoretical underpinnings of the EIV RAIM method were explained. This was followedby simulation work in NavEng to tune the D matrix and simulation work using MatLaBto compare the EIV method and the WLSR method. The next chapter explains theapplication of satellite navigation and RAIM to precision approaches for civil aviationand compares satellite methods to ground based guidance methods.

Precision Approaches for Civil Aviation Richard Broughton

112

5. Precision Approaches for Civil Aviation

This chapter introduces precision approaches for aviation beginning with non satellitemethods then considering satellite based systems. The problems of jamming andinterference of satellite signals are addressed, followed by the role of satellite navigationand how RAIM can be implemented. The chapter ends with an outlook of the future ofsatellite navigation with regards to aviation.

Augmented satellite navigation systems make it possible to conduct precisionapproaches at any runway within the coverage area, which in the case of Galileo andGPS will be globally. Precision approach is the most demanding application of satellitebased systems to air navigation. Firstly, the sensor accuracy requirements are of order20 times more stringent as for non precision approach, and it involves the need for veryaccurate vertical guidance (Parkinson, 1996). It is known that satellite navigationvertical accuracy is usually significantly less than horizontal accuracy (the average ratioof VDOP/HDOP = 1.4). This is due to the vertical plane only depending on one matrixelement, whereas the horizontal plane is the root sum of the squares of two matrixelements. Secondly, the position update rate requirement is much higher especially forautopilot coupled approaches. Thirdly, the integrity and continuity requirements are themost stringent. Thus, for precision approach some type of differential augmentation isneeded to achieve very accurate position and velocity determinations.

The lateral and vertical sensor accuracies for precision approach have been based onthree categories of approach: category I, II, III. The operational definitions of thesecategories are based on visibility or runway visual range and decision height (DH). TheDH is a specified height at which a missed approach must be initiated if the requiredvisual reference to continue the approach to land has not been established. The tablebelow contains a summary of the ILS visibility and DH requirements.

Table 5-1: Precision approach categories and requirements for ILS adapted from(Parkinson, 1996).Category Visibility Decision Height VPL(m) HPL(m) Max Error duration(s) PMD

CAT I 1800ft 200ft 4.8 13.5 10 2*10-7

CAT II 1200ft 100ft 2.3 8.2 6 2*10-7

CAT IIIa >700ft <100ft 2.3 6.1 2 5*10-8

CAT IIIb 150<700ft <50ft 2.3 6.1 2 5*10-8

CAT IIIc <150ft 0ft 2.3 6.1 2 5*10-8

Precision Approaches for Civil Aviation Richard Broughton

113

One of the major benefits of satellite navigation will be its ability to provide accurateguidance for curved precision approaches. This type of approach capability introducesgreat flexibility in the terminal manoeuvring area for sequencing traffic and for aircraftnoise abatement on parallel flight paths. The current requirements for the Galileosystem integrity are outlined in the table below (VEGA, 2003).

Table 5-2: Precision approach requirements for the Galileo System reproduced from(VEGA, 2003).Category VPL(m) HPL(m) HAL(m) VAL(m) PMD Time to Alert(s)CAT I 16m 6-4m 40m 15-10m 2*10-7 6CAT II TBD TBD 21m 10-5m 5*10-8 1

5.1 Current Guidance

In Oceanic and remote areas the past navigation systems are LORAN C and selfcontained Inertial Navigation System (INS). Currently overland with dense trafficconditions VOR (VHF Omni directional radio range), DME (distance measuringequipment) and barometric altimetry are used. The terminal guidance uses MicrowaveLanding systems (MLS) and Instrument landing systems (ILS) (Whelan, 2001).

GPS is beginning to be instigated for some phases of flight such as Oceanic (Lee, 1992),and DGPS is used in augmented form with WAAS for category I precision approaches(Interavia, 2003). WAAS, the wide area augmentation system transmits correctivesignals from Inmarsat 3 satellites to ground stations and aircraft, (section 5.1.6).

5.1.1 VOR

By 1946, the VHF Omnidirectional range (VOR) had become the U.S. Standard andwas later adopted by the International Civil Aviation Organisation as an internationalstandard.

The principle operation is that the ground station radiates a cordioid pattern that rotatesat 30rps, generating a 30Hz sine wave to the airborne receiver. The ground station alsoradiates an omnidirectional signal, which is frequency modulated with a fixed 30Hzreference tone. The phase difference between the two 30Hz tones varies directly withthe heading of the aircraft acting as a marker beacon (Kayton, 1997).

Precision Approaches for Civil Aviation Richard Broughton

114

5.1.2 DME

Distance measuring equipment (DME) is an international standard pulse ranging systemfor aircraft. The aircraft navigation interrogator transmits pulses on one of 126frequencies, spaced 1MHz apart in the 1025 to 1150MHz band. The pulses are in pairs,12 micro secs apart each pulse lasting 3.5 micro secs. Paired pulses are used in order toreduce interference from other pulse systems.

The ground beacon (transponder) receives these pulses and, after a 50 micro sec delay,retransmits them back to the aircraft. The airborne interrogation automaticallycompares the elapsed time between transmission and reception displaying the result ona meter calibrated in nautical miles.

5.1.3 INS

Inertial Navigation (IN) is a technique for determining a vehicle’s position and velocityby measuring its acceleration and processing the acceleration information in a computer.The advantages of IN are (Kayton, 1997):

Its indications of position and velocity are instantaneous and continuous,allowing high data rates and bandwidths to be easily achieved.

It is completely self contained, since it is based on measurements of accelerationand angular rate made within the vehicle itself. It is non radiating and nonjammable.

Navigation information is obtainable at all latitudes, in all weather, without theneed for ground stations.

The inertial system provides outputs of position, ground speed, azimuth, andvertical. It is the most accurate means of measuring azimuth and vertical on amoving vehicle.

The disadvantages of inertial navigators are:

The position and velocity information degrades with time. This is true whetherthe equipment is moving or stationary.

The equipment is expensive ($50 000 to $120 000 for the airborne systems in1996).

Initial alignment is necessary. The accuracy of navigation information is somewhat dependant on vehicle

manoeuvres.

Precision Approaches for Civil Aviation Richard Broughton

115

The instruments used in IN platforms are generally gyroscopes and accelerators.Accelerometers are devices that measure the force required to accelerate a proof massand thus, it measures the acceleration of the vehicle containing the accelerometer.Several accelerometer designs are used in aircraft including: Pendulums supported onflexure pivots, electrically restrained in the null. Micro machined siliconaccelerometers with electrostatic nulling and vibrating beam accelerometers whosefrequency of vibration is a measure of tensile force and hence acceleration are also used.

The purpose of gyroscopes in an inertial navigation system is to space stabilise theaccelerometers. In gimballed platforms, the gyros measure rotation of the platform,which is angularly isolated from the vehicle’s motions. Most current gyroscopes areoptical two mode ring laser gyros which (even with their high cost) are found on allrecent civil aircraft.

According to Kayton (1997): In the future high performance military navigators withprecise IN instruments will be used in hostile conditions when reliable GPS signals maynot be available. On the commercial side, inertial systems are being incorporated intolanding aids.

5.1.4 ILS

The instrument landing system (ILS) is a collection of radio transmitting stations usedto guide aircraft to a specific airport runway, especially during times of limited visibility(Kayton, 1997). ILS has been in civil use since 1939 and is certified for category I, II,II landing approaches. Typically ILS includes:

The localiser antenna on the runway beyond the step end to provide lateralguidance.

The glide slope, located beside the runway near the threshold to provide verticalguidance.

Marker beacons located at discrete positions along the approach path to alertpilots of their progress along the glide path.

Radiation monitors that, in the case of ILS failure alert the control tower.

Increasingly, DME is located with the ILS, distance readouts in the cockpit are usedinstead of marker beacons.

According to the current FAA’s navigation and transition strategy road map, ILScategory II/III will end its service life in 2015 and will need replacing, (Interavia, 2003).

Precision Approaches for Civil Aviation Richard Broughton

116

5.1.5 MLS

During the late 1960’s, the requirements of civil aviation were forecast to exceed thecapabilities and ILS. Before GPS, the U.S. military services, had been developingmicrowave approach guidance systems to support tactical deployments and aircraftcarrier operations. The runway resident architecture of ILS was carried forward tomicrowave landing systems (MLS) because, as the landing aircraft approaches therunway, linear offsets continually decrease, while the SNR increases. Thus, in the mostdemanding phase of flight close to the ground, the positioning accuracy is constantlyimproving and the noise content is generally decreasing.

A basic MLS consists of azimuth and elevation ground stations with a convectionalDME. This is used for 3D positioning on approach courses to 40 deg on either side ofthe centre line and to 15 deg elevation above the runway, (Kayton, 1997). MLS allowscurved approaches and is used to guide the space shuttle to landing approach.

5.1.6 WAAS/EGNOS

The Wide Area Augmentation System (WAAS) has been deployed by the FederalAviation Administration (FAA) to augment GPS. A similar system in Europe is beingdeveloped and is known as EGNOS. Both systems are similar, but since WAAS iscurrently in service its operation will be described. WAAS consists of a groundnetwork that computes and transmits GPS integrity and correction data to users andprovides a ranging signal. The ground network includes a geographically distributed setof GPS receivers monitoring all the GPS satellites, and are known as Wide areaReference Stations (WRS). These WRS’s send raw GPS measurements back toredundant Wide area Master Stations (WMS). One such is shown in the figure below.

The WMS processes the WRS observations to determine four corrective measurementsfor each monitored satellite (North, East, Altitude and Clock). The WMS also estimatesa set of corrections for ionospheric delays. If any of these corrections cannot bedetermined with sufficient confidence, then the WMS does not send a correction. Itsends a do not use flag for the troublesome satellite or ionospheric data forming anintegrity warning. All this correction and integrity data is packed in the WAASmessage, which is broadcast to airborne users via communications satellites (Enge,1996).

Precision Approaches for Civil Aviation Richard Broughton

117

Figure 5-1: The )(kR delta R vector connects the true location of the kth satellite to thesatellite location as indicated by the GPS navigation message. The scalar )(kB is the

difference between the true transmission time indicated by the GPS navigation message.)(k

uI and )(kuT are pseudorange measurement error due to unmodelled ionospheric and

tropospheric refraction. In this case, the subscript u denotes the user, reproduced from(Enge, 1996).

The WAAS signals carry GPS integrity and correction data to users in addition toranging signals that augment the primary GPS constellation. The WAAS signals arebroadcast to users from geostationary communications satellites. Inmarsat 3 are the firstsatellites to carry the WAAS navigation payload, soon to be replaced by the Inmarsat 4constellation. These payloads broadcast GPS like signals which can be received bymodified GPS equipment. These WAAS ranging signals augment the ranging signalsprovided by GPS, and in doing so improve the time, availability and continuity of thecombined service.

The WAAS ranging signals carry integrity warning and differential calculationsdeveloped by the GPS satellites as well as the WAAS communications satellites. It willallow WAAS to warn all aircraft in the coverage area of integrity threats within 6s. TheWAAS message will send the differential corrections often enough to provide verticalpositioning accuracy better than 8m (Enge, 1996).

In summary, WAAS augments GPS so that it can be used as primary navigation systemfor aircraft in all phases of flight up to precision approach. EGNOS is another verysimilar system that will be used to augment GPS and Galileo over the skies of Europe.

Precision Approaches for Civil Aviation Richard Broughton

118

5.1.7 LAAS

Local Area Augmentation Systems (LAAS) are ground based augmentation systems(GBAS), which operate by sending signals from pseudo satellites (pseudolites) on theground. For Category I & II, LAAS will provide vertical and horizontal information.Below the decision height (DH) the aircraft will be controlled manually by the pilot.For completely automatic landing (Category III), LAAS will provide horizontalinformation to the aircraft as it flares, touches down and rolls down the runway.However LAAS will not provide vertical information for the final flare manoeuvre.Once the aircraft is over the runway, onboard radar altimeters provide the verticalinformation used to control the aircraft through touchdown (Enge, 1999). LAAS willprobably make use of the inertial reference systems. These could provide enoughinformation to replace a satellite signal that failed after the landing procedure started.Ground monitoring will compare GPS measurements form two or more of the referencereceivers. This comparison is used to detect faulty measurements before they influencethe broadcast correction. At the time of writing it is unknown whether LAAS will bebuilt and implemented (Interavia, 2003).

5.2 Jamming and Interference

Satellite navigation’s purpose is to provide users with low cost, high accuracy position,velocity and universal time throughout the world. For this reason, reliability in aninterference environment is valuable for both military and civilian approaches. Suchinterference may result from ‘unintentional’ sources (such as TV/FM harmonics,Radar), or may result from hostile ‘jamming’ (Ndili, 1998). The studies of jammingand interference in this thesis are entirely restricted to GPS. This is because Galileo isnot yet an operational system and no empirical data exists for the system.

Because of the spread spectrum gain inherent in the GPS signals, relatively low powerscan be transmitted by the satellites and still be strong enough to have adequate SNR foraccurate user location. In fact, the P code signal, before coherent integration, has anSNR between -20 & -30 dB (Hatke, 1998). This low received power makes GPS alikely, and lucrative jamming target for the enemy.

The ability of terrestrial jammers to produce high power jamming waveforms, coupledwith the extreme distance to the satellites, makes jamming with huge jam to signalratios possible.

Precision Approaches for Civil Aviation Richard Broughton

119

Figure 5-2: Future Signal Architecture, showing the newly proposed introduction ofadditional frequencies to L1 and L2, reproduced from Bavaro (2003).

In the future L5 code will be introduced as an extra frequency band likely to come intouse around 2012. It is designed as a safety of life signal for aeronautical use. Thesignal characteristics are that it gives a 24MHz band centred on 1176.45MHz. Thesignal design gives 6dB higher power than L1 C/A code, with a better weak signalperformance and better multipath rejection. It will allow direct acquisition without L1or L2 and improved interference rejection.

Figure 5-3: Photos of simple GPS jammers. The picture on the left shows a singletransistor oscillator with an output of around 75mW and a cost of just 50p. The picture

on the right shows a synthesiser controlled very high frequency oscillator, with acomponent cost of £20 and an output of around 5mW, reproduced from Bavaro (2003).

Precision Approaches for Civil Aviation Richard Broughton

120

There are a number of ways to jam GPS signals, but a high altitude weather balloonwith a jamming transmitter on board could blank these signals over an 800 mile widearea on the ground, and substantially larger area at altitude. Such a balloon would bedifficult to locate and very difficult to disable. It is not difficult to imagine a number ofscenarios for multiple disasters, as well as total disruption of air traffic, if during heavyweather three or four balloons were sent aloft in central Europe with overlappingcoverage (Crow, 2002).

GPS digital data can be detected and processed even if the RF carrier reception isprevented by interference, but high accuracy is attained when the signal carrier isavailable. This is generally possible because of the GPS high inherent spectrum antijam capability. However the low receive signal level makes GPS vulnerable to lowpower interference and jamming. From both selective military protection and denial,and from civilian interference perspectives, it is important to minimise susceptibilityand establish an adequate anti jam capability.

GPS receivers exhibit different levels of vulnerability to different types of interferenceand jamming emitter waveforms: broadband Gaussian noise, continuous wave (CW),swept CW, pulsed CW, amplitude modulated CW, phase shift keying CW, pseudonoise, narrow band and wide band frequency modulated signals, and so on. BroadbandGaussian noise jamming is the most critical interference type because of the difficulty infiltering broadband noise without GPS quietening, and intrinsic high cost, size andperformance impact associated with spatial filtering.

Figure 5-4: Diagram of spot jamming to the GPS L1 and L2 signals.

Precision Approaches for Civil Aviation Richard Broughton

121

Even worse than jamming, since the C/A codes are open and published, it is possible tospoof GPS. False signals can be generated that would appear genuine to a GPSreceiver. These same signals would also appear genuine to an anti jamming system.However in practice it would be technically difficult and expensive to preciselysynchronise the signals.

To spoof SPS, the PRN code, frequency and satellite data are required. A similar spoofsignal to the true signal can be created with a varying carrier frequency. To spoof PPSthe encrypted pseudo random noise is required perhaps from a military receiver. Then itis necessary to capture a signal from one satellite and induce a small delay to diluteprecision.

5.3 Anti Jamming Methods

A variety of GPS interference suppression techniques have been developed over the pasttwo decades. What are needed for civil aviation are interference suppression techniquesthat: add significant margin to receiver interference tolerance, are effective on all typesof interference, use small low cost antenna systems, can be cost effectively added tonew GPS receivers or retrofit existing devices. The common interference mitigationdiscipline can be grouped into three categories based on technique:

Adaptive arrays - Null steering- Beam steering

Multiple aperture techniques - Beam switching- Multi element cancellers

Single aperture arrays - Frequency Domain Filtering- Temporal filtering- GPS/INS integration and aiding- Polarisation technology

Precision Approaches for Civil Aviation Richard Broughton

122

Figure 5-5: Diagram showing the function of a CRPA nulling array. A jamming signalin introduced, so the CRPA produces an adaptive null to overcome the jamming signal

and allow the receiver to detect the GPS signal.

5.3.1 Adaptive Arrays

5.3.1.1 Null Steering

Figure 5-6: Space time adaptive beam former utilising a 7 element CRPA array,reproduced from (Hatke, 1998).

Precision Approaches for Civil Aviation Richard Broughton

123

This involves the use of the controlled reception pattern antenna (CRPA) incombination with the GPS receiver. The CRPA is an array of antenna elements whichhas the ability to modify its reception pattern for the purpose of rejecting interferencesignals and emphasizing the GPS satellite signal. A seven element CRPA array is inproduction for military aircraft (Hatke, 1999). The nulling technique can robustlyaddress multiple wideband noise and narrow band interference sources producing 15-25dB suppression against each source. The technique requires a large antenna package,which is generally high cost. It addresses the complex military environment and is thetechnique of choice for high value aircraft.

Figure 5-7: A small CRPA antenna produced by NAVSYS and a typical sizedcommercially available CRPA on the right reproduced from (Brown, 2001)

5.3.1.2 Beam Steering

Generally uses a adaptive planar arrays to provide beam control with varying degrees ofGPS satellite selectivity and interference rejection. High gain and side lobe rejectionlevels are used to improve anti jam ratios. Planar arrays in L band tend to be largestructures in order for the technique to produce narrow beam widths, and generallyrequire satellite ephemeral tracking capability to be effective. The technique requires alarge antenna array and electronics package, which can be costly and requires muchspace making it inappropriate for civil aviation.

Precision Approaches for Civil Aviation Richard Broughton

124

5.3.2 Multiple Aperture Techniques

Are generally dual aperture techniques that use direct modulated signal cancellation.The technique is generally limited in capability to a single source (due to requirement ofcomplex architecture for multiple sources), or time sorted pulsed interference sources(Landry, 1998). The amplitude domain processing techniques use two different antennapatterns commonly located on the top and bottom of an aircraft to receive theinterference signal and the composite GPS plus interference signal. The two signals arethen combined to cancel the interference signal in the GPS path. The techniques canproduce 20-30 dB suppression of single and multiple wideband narrow bandinterference sources. The technique is sensitive to the host altitude.

5.3.3 Single Aperture techniques

5.3.3.1 Temporal Filtering

Time domain filtering uses digital signal processing methods to implementprogrammable filters and correlators for spectral discrimination. The technique is asingle aperture method that can be applied to multiple narrow band noise and CWinterference sources, and can address limited degrees of freedom agility. The temporaltechnique is robust for bounded interference sources because of its ability tosimultaneously implement multiple rejection filter criteria. It can suppress narrow bandinterference by greater than 30 dB and address multiple narrow band interferers at lowcost, with small impact to size. The temporal technique can address multiple band andCW interferers by narrow band excision, but limited by total residual processingbandwidth which can prevent effective signal processing

5.3.3.2 Polarisation technology

This exploits polarisation nulling with the use of electric field vector cancellation toeliminate interference signals. The polarisation nulling implementation utilises adetection and tracking channel to identify and track the interference signal in phase andamplitude. It also uses a hybrid junction cancelling circuit to null interferencecomponents of the composite received signal. The technique creates a polarisationmismatch and a null versus similarly polarised interference sources to significantlyimprove the effective anti jam ratio between signal and interference. The null created iswideband and suppresses all types of interference, including wideband noise. Thesystem provides greater than 25dB suppression of wideband noise interference andgreater than 40dB of suppression in narrow band/CW interference. It is small, low costand easily integrated on small vehicles and into new or existing installations because ofthe single aperture.

Precision Approaches for Civil Aviation Richard Broughton

125

5.3.3.3 GPS/Inertial Coupling

Inertial coupling between GPS and INS provide a good solution for high ratemanoeuvring platforms such as missiles and aircraft. Aiding can be performed inseveral ways: GPS can be used to periodically update the INS to establish minimumbias error. The GPS and INS can be linked via Kalman techniques to fuse navigationinformation and handle short intervals of GPS outage, interference or jamming. Thelevels of performance achieved are dependent on INS accuracy, GPS visibility and aredriven by miss distance requirements. The luxury and expense of coupling lends itselfto manned aircraft that carry both systems and all recent civil aircraft carry INS.

Embedded GPS enhances anti jam capability, the velocity aiding of the GPS receiverresults in improved receiver performance under high dynamic conditions (Sturza, 1988).Inertial systems have been used for decades by commercial airliners. In particular theyhave been used as a sole means of navigation in transoceanic flights. An inertial systemhas almost no high frequency noise, but it can have large low frequency bias errors thatgrow with time. GPS, on the other hand has high frequency noise but good long termaccuracy (small bias errors). Exploitation of such complimentary systems is possible ina tightly coupled architecture in which the GPS and inertial measurements are integratedin the pseudorange domain in a full Kalman filter (Lee, 2000).

The system architecture used for a tightly coupled GPS/inertial system is illustrated infigure (5-8). The system consists of three units: a GPS receiver, an inertial referencesystem, and integration processor. The GPS receiver generates the pseudorangemeasurements and satellite positions and passes these measurements to the integrationprocessor. The inertial reference system generates a position solution and passes thisinformation to the integration processor. Using these inputs from the GPS receiver andthe inertial reference system, the integration processor generates the corrections to theinertial solutions using a set of Kalman filters (Lee, 2000).

Figure 5-8: Tightly couple GPS/INS architecture, reproduced from (Lee, 2000).

Precision Approaches for Civil Aviation Richard Broughton

126

5.3.4 Summary

Each approach can achieve different levels of suppression and performance based on theinterference environments. No single suppression technique can satisfy all the GPSinterference anti jam objectives. Or solve all combinations of problems, simultaneouslymeeting size, weight, cost and performance objectives. Spatial nulling and temporalfiltering are the most mature techniques. However spatial nulling has an impact on GPSvisibility and performance in addition to being sensitive to pitch/roll platform dynamics.Temporal nulling does not adequately address the wideband noise jamming waveform.The most promising for commercial aircraft would be CRPA antennas in addition toINS augmentation. This is the best solution for military aircraft, but is expensive.

5.5 The future of Navigation

Global Navigation satellite systems (GNSS) will provide en-route navigation from nowon into the future. GNSS is also capable of performing precision approaches andlandings with augmentation. To overcome system limitations and to meet theperformance accuracy, integrity, availability and continuity requirements for all phasesof flight, GNSS requires varying degrees of augmentation to support each phase ofoperation. Based on GPS, Inmarsat and planned Japanese satellite systems, threesatellite based augmentation systems (SBAS), should be operational by 2005: the WideArea Augmentation System (WAAS), (EGNOS) in Europe and the Multifunctionaltransport satellite augmentation system (MSAS) in Japan (Whelan, 2001). CurrentlyWAAS is being used for precision category I approaches in the US (Interavia, 2003).SBAS systems operate by reducing range measurement error by sending differentialcorrections for each satellite. It improves the geometry by adding new ranging signalsto the set of available measurements (Enge, 1996).

Other technologies are being developed such as a completely airborne system automaticprecision approach landing system (APACS), Head up displays (HUD) and multirolereceivers (MMR) to enable the aircraft to use combinations of ILS, MLS and satellitebased systems (Whelan, 2001). This complex avionics suite may prove too expensivecommercial airlines who will be reluctant to change systems at great cost if the newsystem is not a considerable improvement on current systems.

According to the Volpe report problems with interference and jamming mean thatsatellite navigation as sole means and in augmented form for precision approach/landingis unfeasible. What is required is a system with great redundancy that can keep suchoperations very safe and elevate air traffic problems. Such a system could be to useaugmented GNSS systems coupled with INS. In this way the primary guidance issatellite based that is backed up by the IN system.

Precision Approaches for Civil Aviation Richard Broughton

127

This would eliminate the need for much costly ground equipment (as LAAS requires),simply using the current WAAS in the US and proposed Galileo/EGNOS in Europe.The combined Galileo and GPS constellations provide the initial layer of redundancy asa failure of one constellation will not affect the other. RAIM would be used todetermine satellite integrity at the receiver and would be the final layer of protection forthe satellite navigation part of the system. Then in the event of interference or jamming(perhaps detected by RAIM), an IN system using highly accurate Laser Ring Gyroscould be coupled with radar altimetry to land aircraft in all conditions.

This chapter has introduced precision approaches for civil aviation. It has discussed thegradual replacement of ground based systems with satellite navigation and the problemsassociated with jamming/interference. Predictions of future navigation systems aregiven. The next chapter draws conclusions from all the previous work in this thesis.

Conclusions Richard Broughton

128

6. Conclusions

6.1 Thesis Objectives

The thesis objectives were divided into five main tasks:

1. Simulation of GPS, Galileo and a combined constellation using Satellite ToolKit (STK).

2. Analytical understanding of EIV method using matrix and statisticalmathematics. In particular gaining an understanding in SVD and TLS methods.

3. Investigation of how the EIV RAIM algorithm can be tuned to improve itsperformance. The D which weights different components of a covariance matrixfor the errors in variables model.

4. Comparing the EIV method with the more conventional Weighted Least SquaresResiduals (WLSR) method using computational simulation using MatLaB.

5. Application of RAIM and satellite navigation to precision approaches for civilaviation.

6.2 Summary

In this work, a new integrity monitoring algorithm, the EIV method has been evaluated.It has been compared with the WLSR method, a currently implemented and moreconventional algorithm. The EIV algorithm appears to be more sensitive in terms ofdetection and more robust with regards to ephemeris data corruption.

The input data for the RAIM algorithm was simulated in chapter 3 using STK andcompared with actual GPS data to validate it. In chapter 4, the mathematical aspects ofRAIM were introduced culminating with a description of the EIV method.

Later on in chapter 4 the NavEng software was introduced and used to tune the D matrixof the EIV algorithm. Having tuned the D matrix a MatLaB harness was written andused as a tool to simulate the performance of the EIV algorithm. This was validated bycomparing its output with the NavEng software and similar MatLaB work conducted byVEGA Systems. The MatLaB harness was used to compare the WLSR method with theEIV method.

Conclusions Richard Broughton

129

In chapter 5 the feasibility of using RAIM for precision approach was described. Theproblems of interference and jamming were oultined with satellite methods beingcompared with more conventional systems. Finally the need for redundancy for suchsafety of life operations was discussed and recommendations for future commercialaviation approach systems made.

6.3 Statement of Conclusions

6.3.1 Simulation of Satellite Constellations

A current GPS constellation, simulated Galileo constellation and a combinedGPS/Galileo constellation were modelled. Currently GPS provides coverage of enoughsatellites (greater than five), to ensure RAIM availability at all times. This is largelydue to there being 26 rather than the nominal constellation of 24 satellites operating, dueto the longer than expected operational lifetime of many of the older block II satellites.In the case of the Galileo constellation, there will always be more than six satellitesvisible. This means that one satellite can fail and RAIM will still always be available.Finally for the combined GPS/Galileo constellation the minimum visible number ofsatellites is 11, meaning that barring catastrophic failure, or local interference RAIMwill always be available.

6.3.2 Analytical Understanding of EIV RAIM

The fundamental benefits of the EIV method are in its ability to account for errors inephemeris data in addition to bias applied to pseudoranges. The EIV method producestwo test statistics ( 5 and H/e), which can be combined to give higher detection limitsthan any other RAIM method. More work is required to understand the balancing ofthese to statistics to optimise performance.

From empirical analysis it is observed that the 5 test statistic of the EIV method has

very similar properties to the WSSE of the WLSR method. There is some analyticalevidence in Juang’s paper (2000), which explains why these two test statistics areclosely related when WC .

The H/e test statistic appears to approach a half normal distribution, followingcomputational tuning of the D matrix. However there is no analytical justification forthis assumption.

Conclusions Richard Broughton

130

6.3.3 D matrix tuning

There is the option to tune the EIV algorithm (using the D matrix) for either horizontalor vertical accuracy depending on the user requirements. The D matrix elements mustbe set in ascending order of value for tuning to be successful. It is possible to tune thed3 element down to 0.11 without destroying linearity in the test statistics, but at a muchhigher value the half normal distribution of the H/e test statistic breaks down making itimpossible to set detection thresholds.

6.3.4 Computational Comparison of EIV method with WLSR method

The EIV algorithm gives lower VPL’s than the WLSR method in all observed instancesmaking it more sensitive to detecting biases in the vertical plane. In the horizontalplane the HPL generated by the EIV method is only lower than the WLSR method forgeometries with large numbers of satellites, such as the combined GPS/Galileoconstellation. This is thought to be as a result of the applied D matrix values in the EIValgorithm.

The EIV method is more sensitive in detection of faulty ephemeris data. It achieves thisthrough only increasing the protection limits by small amounts and greatly increasingpositioning errors when the observation matrix is corrupted. In contrast the WLSRmethod greatly increases its protection limits, but not position errors, making it lesslikely to detect these errors.

6.3.5 RAIM for Precision Approach

It was discovered that satellite navigation and RAIM can provide the required VPL’sand HPL’s necessary for precision category I and II approaches in augmented form.The combined GPS/Galileo constellation can provide accuracies competitive with ILSand MLS (Table 6-1). It is unlikely that satellite navigation could provide category IIIapproaches without ground augmentation. Since the worst case coverage given byGPS/Galileo combined constellation is only 11 satellites. Protection limits are afunction of the number of visible satellites and their geometry, 11 satellites roughlycorresponds to the Galileo case in the table below.

Conclusions Richard Broughton

131

Table 6-1: Table of protection limits calculated for each constellation at the chosenepoch and hence satellite geometry.

GPS+Galileo Galileo GPS RINEXVisible satellites 21 11 10 6VPL (m) 3.5 12.6 12.7 24.8HPL (m) 2.6 5.8 4.8 26.9

Due to the low powered broadcast signals at extreme range, satellite navigation isvulnerable to jamming/interference, effectively eliminating the feasibility of satellitenavigation for sole means guidance. RAIM would probably detect such interference asgreatly increased UERE’s, but would not detect spoofing. Therefore to ensure safetyother redundant systems are required. These can either take the form of ground basedpseudolites (like LAAS), which are still jammable, but are less vulnerable due to theirgreater signal strength. Or INS equipment can be carried on aircraft and used toaugment satellite navigation at times of system outages, (as used on military aircraft).This system eliminates the need for costly ground systems, since all the equipment iscarried on the aircraft.

6.4 Further Work

From the above conclusions there are six avenues of further work:

Development of analytical method to automatically tune the D matrix for allsatellite geometries.

Further development of the LSR backstop factor and the balancing of the 5and H/e test statistics for highest EIV RAIM performance.

Development of analytical justifications for the relationship between the 5 test

statistic and the WSSE test statistic.

Mathematical analysis of why the H/e test statistic matches a half normaldistribution, when the EIV algorithm is tuned.

Simulation of time varying RAIM matrix inputs for all three constellations:GPS, Galileo and combined following validation of the GPS data through flighttrials. This would allow the changing satellite geometries to be observed.

Modelling of the structured EIV method described by Juang and comparisonwith the unstructured method which is described in this report.

References Richard Broughton

132

References

1. Advanced Aviation Technology Ltd (AATL) (2003), Galileo – European Satellite NavigationSystem, http://www.aatl.net/publications/galileo.htm. (last accessed July 2003).

2. Bavaro, V. (2003), Personal correspondence relating to navigation warfare.

3. Brow, A. & Morley, D. (2001), Test Results of a 7 Element Small Controlled Reception PatternAntenna, Proceedings of ION GPS 2001, Salt Lake City, Utah, Sept. 2001.

4. Brown, R. G. (1992), A Baseline GPS RAIM Scheme and a Note on the Equivalence of ThreeRAIM Methods, Navigation: Journal of the Institute of Navigation, Volume 39, Number 3, Fall1992, pp 101-116.

5. Crow, R. P. (1998), Federal Radionavigation Plan – Pie in The Sky for Civil Aviation? IEEEPosition Location & Navigation Symposium, 20-23rd April 1998, pp. 115-122.

6. Crow, R.P. (2000), Civil aviation’s next generation global CNS/ATM System, IEEE PositionLocation and Navigation Symposium, San Diego, CA, USA, pp 66-73.

7. Crow, R.P. (2002), Aviation’s next generation global CNS/ATM System, IEEE PositionLocation and Navigation Symposium, San Diego, CA, USA, pp 291-298.

8. Crow, R.P. & Crow, K. (2002), Civil aviation’s next generation global surveillance and guidanceSystem, IEEE Position Location and Navigation Symposium, pp 52-59.

9. Enge, P., Walter, T., Pullen, S., Kee, C., Chao, Y. & Tsai, Y. (1996), Wide Area Augmentationof the Global Positioning System, Proceedings of IEEE, August 1996, Volume 84, Issue 8, pp.1063-1088.

10. Enge, P. (1999), Local Area Augmentation of GPS for the Precision Approach of Aircraft,Proceedings of IEEE, January 1999, Volume 87, Issue 1, pp. 111-132.

11. EUROCAE (2003), Reference Set of Parameters for RAIM availability Simulations, EuropeanOrganisation for Civil Aviation Equipment (EUROCAE WG-62), 8-9th April 2003, Madrid,Spain, currently unpublished.

12. Galileo (2003), The European Programme for Global Navigation Services,http://europa.eu.int/comm/dgs/energy_transport/galileo/intro/index_en.htm, (last accessed July2003).

13. GIBS (2003), GPS Information and Observation System - A Service for Users of the GlobalPositioning System (GPS), GLONASS, Current Constellation of GLONASS satellites,http://gibs.leipzig.ifag.de/cgi-bin/glo_constell.cgi?en, (last accessed July 2003).

14. Golub, G. H. & Van Loan, C. F. (1996), Total Least Squares, Special Topics, In: MatrixComputations, 3rd edition, chapter 12.3, pp 595ff, published by Baltimore : The John HopkinsUniversity Press, ISBN 0-8018-5413-8.

References Richard Broughton

133

15. Hanselman, D. & Littlefield, B. (2001), Mastering MatLaB 6: A comprehensive Tutorial andReference, published by Prentice-Hall Inc, Upper Saddle River, New Jersey, ISBN 0-13-019468-9.

16. Hatke, G. F. (1998), Adaptive processing for wideband nulling GPS systems, Signals, Systemsand Computers, Conference Record of 32nd Asilomar conference, 1-4 Nov 1998, at PacificGrove, CA, USA, Volume 2, pp 1332-1336.

17. Hatke, G. F., Phuong, T. T., Lee, C. F. & Callahan, R. G. (1999), Multipath effects on F-15 andF-16 multi channel GPS antenna performance, Signals, Systems, and Computers, ConferenceRecord of the 33rd Asilomar conference on 10/24/1999-10/27/1999, at Pacific Grove, CA, USA,Volume 2, pp 922-926.

18. Hein, G. W., Pielmeier, J., Zink, T. & Eissfeller, B. (1997), GPS & GLONASS RAIMAvailability Analysis Over Europe, Proceedings of the Institute of Navigation (ION), GPS-97September 1997, pp. 465-474.

19. Hoffman-Wellenhof, B., Lichtenegger, H. & Collins, J. (2001), GPS Theory and Practice, 5th

Edition, published by Springer-Verlag/Wien, printed in Austria, ISBN 3-211-83534-2.

20. Interavia (2003), How to sort out the WAAS/LAAS mess, Interavia: Business & Technology,Air Transport & General Aviation, Volume 58, No 670, June 2003, pp 30-33.

21. Jwo, D. J. (2001), Efficient DOP Calculation for GPS with and without Altimeter Aiding, TheJournal of Navigation, volume 54, issue 2, pp 269-281.

22. Juang, J. C., Cheng Keung University, Taiwan (2000), On GPS positioning and IntegrityMonitoring, IEEE – Transactions on Aerospace & Electronic Systems, June 2000, Volume 36,Issue 1, pp. 327-336.

23. Kaplan, E. D. (1996), Page 306, Chapter 7: Performance of Stand Alone GPS, In UnderstandingGPS: Principles and Applications, Artech House Inc, ISBN 0-89006-793-7.

24. Kayton, M., Fried, W. R. (1997), Satellite Radio Navigation. In: Avionics Navigation Systems,2nd edition, John Wiley & Sons, Inc, published in Canada, ISBN 0-471-54795-6.

25. Landry, R. J., Calmettes, V., Bousquet, M. (1998), Impact of interference on a generic GPSreceiver assessment of mitigation techniques, Spread Spectrum Techniques and ApplicationsProceedings, IEEE 5th International Symposium, 2-4th September, at Sun City, South Africa,Volume 1, pp. 87-91.

26. Lee, Y. C., MITRE Corporation (1992), Receiver Autonomous Integrity Monitoring (RAIM)Capability for Sole-Means GPS Navigation in the Oceanic Phase of Flight, IEEE Aerospace andElectronic Systems Magazine, Volume: 7 Issue: 5 , May 1992, pp. 29 -36.

27. Lee, Y. C. & O’Laughlin, D. G., MITRE Corporation (2000), Performance Analysis of a TightlyCoupled GPS/Inertial System for Two Integrity Monitoring Methods, Navigation: Journal of theInstitute of Navigation, Volume 47, Number 3, Fall 2000, pp. 175-189.

References Richard Broughton

134

28. Leighton, S. J., McGregor, A. E., Lowe, D., Wolfe, A. & Macaulay, A. A. (2001),GNSSGuidance for All Phases of Flight: Practical Results, The Journal of Navigation, January 2001,Volume 54, Number 1, pp. 1-13.

29. Lockheed Martin (2003), Space Systems – Missiles and Space Operations, Military SpacePhotos, GPS,http://lmms.external.lmco.com/photos/military_space/global_pos_sat_2r_gps_2r/global_pos_sat_gps.html, (last accessed July 2003).

30. MatLaB (2003), MatLaB Help Pages, can be accessed through MatLaB 6.5 software, (lastaccessed August 2003).

31. Middleton, P. (2000), Galileosat Architecture Study: Comparative Performance Study of Galileoand GPS, MSc Thesis, College of Aeronautics, Cranfield University.

32. Ndili, A. & Enge, P. (1998), GPS Autonomous Interference Detection, IEEE Position Locationand Navigation Symposium, 20-23rd April 1998, pp. 123-130.

33. Ober, P. B. (1997), Ways to improve RAIM/AAIM availability using position domainperformance computations, Proceedings of the 1997 National Technical Meeting of the Instituteof Navigation, January 14-16, Loews Santa Monica Beach Hotel, Santa Monica, California, pp.485-498.

34. Ober, P. B. (1999), Augur: RAIM for Dummies, IEEE Aerospace Conference, Volume 2, 6-13th

March 1999, pp. 395-405.

35. Parkinson, B. W. & Axelrad, P. (1988), Autonomous GPS Integrity Monitoring Using thePseudorange Residual, Navigation: The Journal of the Institute of Navigation, Volume 35,Number 2, Summer 1988, pp. 49-68.

36. Parkinson, B. W. & Spilker, J. J. (1996), Global Positioning System: Theory and Applications,Volume II, AIAA, Progress in Astronautics and Aeronautics, ISBN 1-56347-107-8.

37. Pittman, D. N. & Roberts, C. E. (1994), Determining GPS anti-jamming performance on tacticalmissiles, Position Location and Navigation Symposium, IEEE, 11-15th April, at Las Vegas, NV,USA, pp. 641-648.

38. Press, W. H., Teukolsky, S. A., Vetterling, W. T. & Flannery, B. P. (1992), Numerical Recipesin C: The Art of Scientific Computing, 2nd Edition, Cambridge University Press, ISBN 0521-43108-5.

39. Rao, B. R., Solomon, M. N, Rhines, M. D., Teig, L. J., Davis, R. J., Rosario, E. N. (1998),Research on GPS antennas at Mitre, Position Location and Navigation Symposium, IEEE, 20-23rd April, at Palm Springs, CA, USA, pp. 643-641.

40. Sandstrom, H (2001), GPS RAIM and Measurement Signal Analysis in Personal Positioning,MSc Thesis, Tampere University of Technology, Department of Information Technology.

41. Spaceflight Now (2003), Launch Schedule, http://www.spaceflightnow.com/tracking/index.html,(last accessed July 2003).

References Richard Broughton

135

42. SSTL (Surrey Satellite Technology Ltd) (2003), News,http://www.sstl.co.uk/news/subpage_news.html, (last accessed July 2003).

43. Satellite Tool Kit (STK) (2003), STK Help Pages, can be accessed through STK 4.3 software(last accessed July 2003).

44. Satellite Tool Kit (STK) (2003), Resources, Satellite Database,http://www.stk.com/resources/satdb/satdb1.cfm, (last accessed July 2003).

45. Sturza, M. A. & Richards, C. C. (1988), Embedded GPS solves the installation problem, Positionand Location Symposium, ‘Navigation in to the 21st century’, IEEE PLANS, 29th Nov-2 Dec, inOrlando, Florida, USA, pp 374-380.

46. US Naval Observatory (USNO) (2003), USNO GPS Timing Operations, Current GPSConstellation, http://tycho.usno.navy.mil/gpscurr.html, (last accessed July 2003).

47. Van Diggelen, F. & Brown, A., NAVSYS Corporation (1994), Mathematical Aspects of GPSRAIM, IEEE Position and Location Symposium, 11-15th April 1994, pp. 733-738.

48. Van Dyke, K. L. (2000), The World after SA: Benefits to GPS Integrity. In: IEEE Position andLocation Navigation Symposium, 13th-16th March 2000, pp. 387-394.

49. Van Huffel, S. & Vandewalle, J (1989), On the accuracy of total least squares techniques in thepresence of errors on all data, Automatica, Volume 25, Number 5, pp. 765-769.

50. Van Huffel, S & Vandewalle, J (1989), Algebraic Connections between the Least Squares andTotal Least Squares Problems, Numerische Mathematik, Volume 55, pp. 431-449.

51. VEGA Systems (2003), GSTB V1 Stand-Alone Test Case, Integration of Galileo SISA/IF withAdvanced User Algorithms, Documentation Set STC-1 to STC-8, DT-DS-VEGA-STX-0195,issue 2.0, 11th April 2003, report in preparation.

52. VEGA Systems (2003), GSTB V1 Stand-Alone Test Case 3, Integration of Galileo SISA/IF withAdvanced User Algorithms, Detailed Processing Model, GT-DS-VEGA-STC-0193, issue 1.1,31st July 2003, report in preparation.

53. Walter, T. & Enge, P. (1995), Weighted RAIM for Precision Approach. Proceedings of theInstitute of Navigation (ION) GPS. http://einstein.stanford.edu/gps/ABS/wraim_tfw95.html. (lastaccessed July 2003).

54. Whelan, C. (2001), Evolution of Air Navigation Services during this Decade, Journal ofNavigation, volume 53, issue 3, pp. 447-462.

55. Whelan, C. (2001), Evolution and Improving Worldwide Implementation of Future AirNavigation Systems, PhD Thesis, College of Aeronautics, Cranfield University.

56. Wood, J. H. (2001), GPS / GalileoSat RAIM Analysis, MSc Thesis, College of Aeronautics,Cranfield University.

Bibliography Richard Broughton

136

Bibliography

1. Brown, R. G. (1997), Introduction to Random Signals and Applied Kalman Filtereing, 3rd

Edition, Published by John Wiley and Sons, ISBN 0-471-12839-2, printed in US.

2. Geier, J. G. (1995), Prediciton of the Time Accuracy and Integrity of GPS Timing, IEEEInternational Frequency Control Symposium, 49th Proceedings of 1995 IEEE International, 31st

May-2nd June, pp. 266-274.

3. Gilat, A. (2004), MatLaB: An Introduction with Applications, Published by John Wiley & Sons,ISBN 0-471-43997-5, Printed in US.

4. Gray, R. (2001), An Integrated GPS/INS/Baro and Radar Altimeter System for AircraftPrecision approach Landings, IEEE proceedings, Aerospace and Electronics Conference,Volume 3, 10-17th March, 2001, pp. 161-168.

5. Huang, B. (2001), Detection of Abrupt Changes of Total Least Squares Models and Applicationin Fault Detection, IEEE Transactions on Control Systems Technology, Volume 9, Number 2,March 2001, pp. 357-367.

6. James, G. (1999), Advanced Modern Engineering Mathematics, 2nd Edition, Addison-Wesley,ISBN 0-201-59621-0.

7. Jang, C. W. (2000), Adaptive Fault Detection in Real Time GPS Positioning, IEEE Proceedings,Radar, Sonar and Navigation, Volume 147, Issue 5, October 2000, pp. 254-258.

8. Kuusniemi, H. (2002), Fault Detection in Personal Positioning with GPS RAIM, ENC-GNSS2002, The European Navigation Conference, 27-30th May 2002, Copenhagen, Denmark.

9. Kuusniemi, H. (2002), Fault Detection and Isolation in High-Sensitivity Assisted GPS, ION GPS2002, 24-27th September 2002, Portland, OR, USA.

10. Kuusniemi, H. (2002), Fault Detection in and Exclusion in Personal Satellite NavigationApplications, ENC-GNSS2003, The European Navigation Conference, 22-25th April 2003, Graz,Austria.

11. Leung, J. S (1995), GPS Standard Positioning Service (SPS) Aircraft En Route RAIMAvailability for Continental United States, Digital Avionics Systems Conference, 1995, 14th

DASC, 5-9th November, pp. 245-251.

12. Ober, P. B. (2000), Integrity According to Bayes, IEEE Position Location and NavigationSymposium, pp. 325-332.

13. Ping-Ya, K. (1996), Continuity Improvements via Inertial Augmentation of GPS-based LandingSystem, IEEE Position Location and Navigation Symposium, 22-26th April 1996, Atlanta, GA,USA, pp.153-160.

Bibliography Richard Broughton

137

14. Virball, V. G. (1994), A GPS Integrity Channel Based Fault Detection and Exclusion AlgorithmUsing Maximum Solution Separation, IEEE Position Location and Navigation Symposium, 11-15th April 1994, pp. 747-754.

15. Wan Jeon, C (1996), On Updating the Singular Value Decomposition, CommunicationTechnology Proceedings, ICCT 96, Volume 2, 5-7th May, pp. 675-678.

Appendix A Richard Broughton

138

Appendix A: United States Naval Observatory (USNO)GPS CONSTELLATION STATUS

**********************************************************************Information in this file is retained for approximately sevendays or until completion of the event; be aware that theinformation provided below may change.

**********************************************************************A. BLOCK II/IIA/IIR INDIVIDUAL SATELLITE STATUSSVN PRN13 02 Launched 10 JUN 89; usable 10 AUG 89; operating on Cs std15 15 Launched 01 OCT 90; usable 15 OCT 90; operating on Cs std17 17 Launched 11 DEC 89; usable 06 JAN 90; operating on Cs std

Unusable 26 Jun 1942 UT and will remain unusable untilfurther notice (NANU 2003063)

22 22 Launched 03 FEB 93; usable 04 APR 93; operating on Cs stdUnusable 03 Dec 02 1402 UT and will remain unusable untilfurther notice (NANU 2002145)

23 23 Launched 26 NOV 90; usable 10 DEC 90; operating on Cs std24 24 Launched 04 JUL 91; usable 30 AUG 91; operating on Cs std25 25 Launched 23 FEB 92; usable 24 MAR 92; operating on Cs std26 26 Launched 07 JUL 92; usable 23 JUL 92; operating on Rb std

Unusable 15 Jul 0432 to 1511 UT due to repositioningmaintenance (NANUs 2003065, 2003067/15 JUL)

27 27 Launched 09 SEP 92; usable 30 SEP 92; operating on Rb std29 29 Launched 18 DEC 92; usable 05 JAN 93; operating on Rb std30 30 Launched 12 SEP 96; usable 01 OCT 96; operating on Rb std

Scheduled unusable 17 Jul 0415 to 1615 UT forrepositioning maintenance (NANU 2003066)

31 31 Launched 30 MAR 93; usable 13 APR 93; operating on Rb std32 01 Launched 22 NOV 92; usable 11 DEC 92; operating on Cs std33 03 Launched 28 MAR 96; usable 09 APR 96; operating on Cs std34 04 Launched 26 OCT 93; usable 22 NOV 93; operating on Rb std35 05 Launched 30 AUG 93; usable 28 SEP 93; operating on Cs std36 06 Launched 10 MAR 94; usable 28 MAR 94; operating on Cs std37 07 Launched 13 MAY 93; usable 12 JUN 93; operating on Rb std38 08 Launched 06 NOV 97; usable 18 DEC 97; operating on Rb std39 09 Launched 26 JUN 93; usable 20 JUL 93; operating on Cs std40 10 Launched 16 JUL 96; usable 15 AUG 96; operating on Cs std41 14 Launched 10 NOV 00; usable 10 DEC 00; operating on Rb std43 13 Launched 23 JUL 97; usable 31 JAN 98; operating on Rb std44 28 Launched 16 JUL 00; usable 17 AUG 00; operating on Rb std45 21 Launched 31 MAR 03; usable 12 APR 03; operating on Rb std46 11 Launched 07 OCT 99; usable 03 JAN 00; operating on Rb std51 20 Launched 11 MAY 00; usable 01 JUN 00; operating on Rb std54 18 Launched 30 JAN 01; usable 15 FEB 01; operating on Rb std56 16 Launched 29 JAN 03; usable 18 FEB 03; operating on Rb std

last updatedTue Jul 15 18:35:03 UTC 2003

Appendix A Richard Broughton

139

CURRENT BLOCK II/IIA/IIR SATELLITES===================================

LAUNCH LAUNCH FREQ US SPACEORDER PRN SVN DATE STD PLANE COMMAND **

---------------------------------------------------------------*II-1 14 14 FEB 89 19802II-2 02 13 10 JUN 89 Cs B5 20061

*II-3 16 18 AUG 89 20185*II-4 19 21 OCT 89 20302II-5 17 17 11 DEC 89 Cs D6 20361

*II-6 18 24 JAN 90 20452*II-7 20 26 MAR 90 20533*II-8 21 02 AUG 90 20724II-9 15 15 01 OCT 90 Cs D5 20830IIA-10 23 23 26 NOV 90 Cs E5 20959IIA-11 24 24 04 JUL 91 Cs D1 21552IIA-12 25 25 23 FEB 92 Cs A2 21890

*IIA-13 28 10 APR 92 21930IIA-14 26 26 07 JUL 92 Rb F2 22014IIA-15 27 27 09 SEP 92 Rb A4 22108IIA-16 01 32 22 NOV 92 Cs F4 22231IIA-17 29 29 18 DEC 92 Rb F5 22275IIA-18 22 22 03 FEB 93 Cs B6 22446IIA-19 31 31 30 MAR 93 Rb C3 22581IIA-20 07 37 13 MAY 93 Rb C4 22657IIA-21 09 39 26 JUN 93 Cs A1 22700IIA-22 05 35 30 AUG 93 Cs B4 22779IIA-23 04 34 26 OCT 93 Rb D4 22877IIA-24 06 36 10 MAR 94 Cs C1 23027IIA-25 03 33 28 MAR 96 Cs C2 23833IIA-26 10 40 16 JUL 96 Cs E3 23953IIA-27 30 30 12 SEP 96 Rb B2 24320IIA-28 08 38 06 NOV 97 Rb A3 25030

***IIR-1 42 17 JAN 97IIR-2 13 43 23 JUL 97 Rb F3 24876IIR-3 11 46 07 OCT 99 Rb D2 25933IIR-4 20 51 11 MAY 00 Rb E1 26360IIR-5 28 44 16 JUL 00 Rb B3 26407IIR-6 14 41 10 NOV 00 Rb F1 26605IIR-7 18 54 30 JAN 01 Rb E4 26690IIR-8 16 56 29 JAN 03 Rb B1 27663IIR-9 21 45 31 MAR 03 Rb D3 27704

* Satellite is no longer in service.** US SPACE COMMAND, previously known as the NORAD object number;

also referred to as the NASA Catalogue number. Assigned atsuccessful launch.

*** Unsuccessful launch.

Appendix B Richard Broughton

140

Appendix B: Output from AUGUR website

Latitude : 52.07270Longitude : -0.62500Altitude : 167.33000Mask Elevation : 5.0Samples Required : 1Query Period: Tue 15 Jul 2003 - 12:55:27 -> Tue 15 Jul 2003 - 12:56:27 UTCDuration : 00:01

Visibility Check Executed : Tue 15 Jul 2003 - 12:55:27 UTC

Azimuth and Elevation results are in Decimal Degrees.

Sample No. 1GPS Week = 203 , GPS Secs = 219327Sat PRN Azim Elev Status

01 065.52 029.31 VISIBLE02 057.59 015.79 VISIBLE03 071.74 -028.00 NOT VISIBLE04 198.70 043.35 VISIBLE05 287.93 -035.49 NOT VISIBLE06 336.39 006.31 VISIBLE07 202.32 -016.81 NOT VISIBLE08 179.31 025.44 VISIBLE09 241.61 -057.79 NOT VISIBLE10 295.13 022.44 VISIBLE11 140.95 -036.40 NOT VISIBLE13 065.15 061.85 VISIBLE14 067.07 -070.93 NOT VISIBLE15 006.40 -056.26 NOT VISIBLE16 036.02 011.37 VISIBLE18 293.53 -063.53 NOT VISIBLE20 115.63 000.56 NOT VISIBLE21 342.94 -027.36 NOT VISIBLE23 281.58 -085.98 NOT VISIBLE24 264.56 055.82 VISIBLE25 022.06 -025.08 NOT VISIBLE26 246.07 -025.06 NOT VISIBLE27 156.11 050.11 VISIBLE28 171.41 -021.47 NOT VISIBLE29 247.72 -002.56 NOT VISIBLE30 310.19 -026.66 NOT VISIBLE31 099.99 -034.43 NOT VISIBLE

Current Almanac Week 203, Time of Applicability 61440

Appendix C Richard Broughton

141

Appendix C: STK AER access reports

Educational Use OnlyFacility-Cranfield-To-Satellite-GPS_2-02, Satellite-GPS_2-09,Satellite-GPS_2-10, Satellite-GPS_2-11, Satellite-GPS_2-12, Satellite-GPS_2-15, Satellite-GPS_2-16, Satellite-GPS_2-17, Satellite-GPS_2-19,Satellite-GPS_2-20, Satellite-GPS_2-21, Satellite-GPS_2-22, Satellite-GPS_2-23, Satellite-GPS_2-24, Satellite-GPS_2-25, Satellite-GPS_2-26,Satellite-GPS_2-28, Satellite-GPS_IIR-02, Satellite-GPS_IIR-03,Satellite-GPS_IIR-04, Satellite-GPS_IIR-05, Satellite-GPS_IIR-06,Satellite-GPS_IIR-07, Satellite-GPS_IIR-08, Satellite-GPS_IIR-09: Inview Azimuth, Elevation, & Range

Cranfield-To-GPS_2-02---------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range(km)---------------------- ------------- ------------- ----------15 Jul 2003 12:55:27.00 57.174 15.871 24697.392913

Cranfield-To-GPS_2-09---------------------No Access Found

Cranfield-To-GPS_2-10---------------------No Access Found

Cranfield-To-GPS_2-11---------------------

Time (UTCG) Azimuth(deg) Elevation(deg) Range(km)---------------------- ------------- ------------- ----------15 Jul 2003 12:55:27.00 263.933 55.854 21269.376805

Cranfield-To-GPS_2-12---------------------No Access Found

Cranfield-To-GPS_2-15---------------------

Time (UTCG) Azimuth(deg) Elevation(deg) Range(km)---------------------- ------------- --------------- ----------15 Jul 2003 12:55:27.00 156.194 50.000 21789.267623

Cranfield-To-GPS_2-16---------------------

Time (UTCG) Azimuth(deg) Elevation(deg) Range km)----------------------- ------------- --------------- ---------15 Jul 2003 12:55:27.00 65.559 29.388 22970.239409

Appendix C Richard Broughton

142

Cranfield-To-GPS_2-17---------------------No Access Found

Cranfield-To-GPS_2-19---------------------No Access Found

Cranfield-To-GPS_2-20---------------------No Access Found

Cranfield-To-GPS_2-21---------------------No Access Found

Cranfield-To-GPS_2-22---------------------No Access Found

Cranfield-To-GPS_2-23---------------------

Time (UTCG) Azimuth(deg) Elevation(deg) Range(km)----------------------- ------------- --------------- ---------15 Jul 2003 12:55:27.00 198.492 42.997 21962.996989

Cranfield-To-GPS_2-24---------------------

Time (UTCG) Azimuth(deg) Elevation(deg) Range(km)----------------------- ------------- --------------- ---------15 Jul 2003 12:55:27.00 336.506 6.437 25246.279319

Cranfield-To-GPS_2-25---------------------No Access Found

Cranfield-To-GPS_2-26---------------------

Time (UTCG) Azimuth(deg) Elevation(deg) Range(km)----------------------- ------------- --------------- ---------15 Jul 2003 12:55:27.00 295.179 22.778 23333.409777

Appendix C Richard Broughton

143

Cranfield-To-GPS_2-28---------------------

Time (UTCG) Azimuth(deg) Elevation(deg) Range(km)----------------------- ------------- --------------- ---------15 Jul 2003 12:55:27.00 179.356 25.287 23350.341416

Cranfield-To-GPS_IIR-02-----------------------

Time (UTCG) Azimuth(deg) Elevation(deg) Range(km)----------------------- ------------- --------------- ---------15 Jul 2003 12:55:27.00 65.250 62.016 20745.969113

Cranfield-To-GPS_IIR-03-----------------------No Access Found

Cranfield-To-GPS_IIR-04-----------------------No Access Found

Cranfield-To-GPS_IIR-05-----------------------No Access Found

Cranfield-To-GPS_IIR-06-----------------------No Access Found

Cranfield-To-GPS_IIR-07-----------------------No Access Found

Cranfield-To-GPS_IIR-08-----------------------

Time(UTCG) Azimuth(deg) Elevation(deg) Range(km)----------------------- ------------- --------------- ------------15 Jul 2003 12:55:27.00 35.726 11.483 24625.800266

Cranfield-To-GPS_IIR-09-----------------------No Access Found

Appendix C Richard Broughton

144

20 Jul 2003 17:58:16Educational Use OnlyFacility-Cranfield-To-Satellite-Galileo1102, Satellite-Galileo1103,Satellite-Galileo1104, Satellite-Galileo1105, Satellite-Galileo1106,Satellite-Galileo1107, Satellite-Galileo1108, Satellite-Galileo1109,Satellite-Galileo1110, Satellite-Galileo1202, Satellite-Galileo1203,Satellite-Galileo1204, Satellite-Galileo1205, Satellite-Galileo1206,Satellite-Galileo1207, Satellite-Galileo1208, Satellite-Galileo1209,Satellite-Galileo1210, Satellite-Galileo1302, Satellite-Galileo1303,Satellite-Galileo1304, Satellite-Galileo1305, Satellite-Galileo1306,Satellite-Galileo1307, Satellite-Galileo1308, Satellite-Galileo1309,Satellite-Galileo1310: In view Azimuth, Elevation, & Range

Cranfield-To-Galileo1102------------------------No Access Found

Cranfield-To-Galileo1103------------------------No Access Found

Cranfield-To-Galileo1104------------------------No Access Found

Cranfield-To-Galileo1105------------------------No Access Found

Cranfield-To-Galileo1106------------------------No Access Found

Cranfield-To-Galileo1107------------------------

Time(UTCG) Azimuth(deg) Elevation(deg) Range(km)----------------------- ------------- --------------- ---------15 Jul 2003 12:55:27.00 297.711 41.648 25390.901488

Cranfield-To-Galileo1108------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)---------------------- ------------- --------------- -----------15 Jul 2003 12:55:27.00 268.102 85.222 23646.513034

Cranfield-To-Galileo1109------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 123.239 49.154 24882.684260

Appendix C Richard Broughton

145

Cranfield-To-Galileo1110------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 120.902 9.064 28315.281473

Cranfield-To-Galileo1202------------------------No Access Found

Cranfield-To-Galileo1203------------------------No Access Found

Cranfield-To-Galileo1204------------------------No Access Found

Cranfield-To-Galileo1205------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 180.121 38.916 25570.132857

Cranfield-To-Galileo1206------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 117.752 62.183 24213.557048

Cranfield-To-Galileo1207------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 54.925 39.185 25571.969186

Cranfield-To-Galileo1208------------------------No Access FoundCranfield-To-Galileo1209------------------------No Access Found

Cranfield-To-Galileo1210------------------------No Access Found

Appendix C Richard Broughton

146

Cranfield-To-Galileo1302------------------------No Access Found

Cranfield-To-Galileo1303------------------------No Access Found

Cranfield-To-Galileo1304------------------------No Access Found

Cranfield-To-Galileo1305------------------------No Access Found

Cranfield-To-Galileo1306------------------------No Access Found

Cranfield-To-Galileo1307------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 339.823 9.155 28334.342407

Cranfield-To-Galileo1308------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 300.826 12.172 28009.540918

Cranfield-To-Galileo1309------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 262.879 5.225 28734.619085

Cranfield-To-Galileo1310------------------------No Access Found

Appendix C Richard Broughton

147

20 Jul 2003 18:05:30Educational Use OnlyFacility-Cranfield-To-Satellite-Galileo1102, Satellite-Galileo1103,Satellite-Galileo1104, Satellite-Galileo1105, Satellite-Galileo1106,Satellite-Galileo1107, Satellite-Galileo1108, Satellite-Galileo1109,Satellite-Galileo1110, Satellite-Galileo1202, Satellite-Galileo1203,Satellite-Galileo1204, Satellite-Galileo1205, Satellite-Galileo1206,Satellite-Galileo1207, Satellite-Galileo1208, Satellite-Galileo1209,Satellite-Galileo1210, Satellite-Galileo1302, Satellite-Galileo1303,Satellite-Galileo1304, Satellite-Galileo1305, Satellite-Galileo1306,Satellite-Galileo1307, Satellite-Galileo1308, Satellite-Galileo1309,Satellite-Galileo1310, Satellite-SVN-13, Satellite-SVN-15, Satellite-SVN-21, Satellite-SVN-23, Satellite-SVN-24, Satellite-SVN-25,Satellite-SVN-27, Satellite-SVN-29, Satellite-SVN-31, Satellite-SVN-32, Satellite-SVN-33, Satellite-SVN-34, Satellite-SVN-35, Satellite-SVN-36, Satellite-SVN-37, Satellite-SVN-38, Satellite-SVN-39,Satellite-SVN-40, Satellite-SVN-41, Satellite-SVN-43, Satellite-SVN-44, Satellite-SVN-46, Satellite-SVN-51, Satellite-SVN-54: In viewAzimuth, Elevation, & Range

Cranfield-To-Galileo1102------------------------No Access Found

Cranfield-To-Galileo1103------------------------No Access Found

Cranfield-To-Galileo1104------------------------No Access Found

Cranfield-To-Galileo1105------------------------No Access Found

Cranfield-To-Galileo1106------------------------No Access Found

Cranfield-To-Galileo1107------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 297.711 41.648 25390.883100

Appendix C Richard Broughton

148

Cranfield-To-Galileo1108------------------------Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 268.102 85.222 23646.485460

Cranfield-To-Galileo1109------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 123.239 49.154 24882.663329

Cranfield-To-Galileo1110------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 120.902 9.064 28315.277114

Cranfield-To-Galileo1202------------------------No Access Found

Cranfield-To-Galileo1203------------------------No Access Found

Cranfield-To-Galileo1204------------------------No Access Found

Cranfield-To-Galileo1205------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 180.121 38.916 25570.115475

Cranfield-To-Galileo1206------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 117.752 62.183 24213.532576

Appendix C Richard Broughton

149

Cranfield-To-Galileo1207------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 54.925 39.185 25571.951703

Cranfield-To-Galileo1208------------------------No Access Found

Cranfield-To-Galileo1209------------------------No Access Found

Cranfield-To-Galileo1210------------------------No Access Found

Cranfield-To-Galileo1302------------------------No Access Found

Cranfield-To-Galileo1303------------------------No Access Found

Cranfield-To-Galileo1304------------------------No Access Found

Cranfield-To-Galileo1305------------------------No Access Found

Cranfield-To-Galileo1306------------------------No Access Found

Cranfield-To-Galileo1307------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 339.823 9.155 28334.338004

Appendix C Richard Broughton

150

Cranfield-To-Galileo1308------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 300.826 12.172 28009.535084

Cranfield-To-Galileo1309------------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 262.879 5.225 28734.616566

Cranfield-To-Galileo1310------------------------No Access Found

Cranfield-To-SVN-13-------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 58.103 15.975 24679.791078

Cranfield-To-SVN-15-------------------No Access Found

Cranfield-To-SVN-21-------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 294.950 20.276 24210.346486

Cranfield-To-SVN-23-------------------No Access Found

Cranfield-To-SVN-24-------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)----------------------- ------------- --------------- -------15 Jul 2003 12:55:27.00 247.155 57.206 21192.194040

Appendix C Richard Broughton

151

Cranfield-To-SVN-25-------------------No Access Found

Cranfield-To-SVN-27-------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 162.146 46.966 21944.926606

Cranfield-To-SVN-29-------------------No Access Found

Cranfield-To-SVN-31-------------------No Access Found

Cranfield-To-SVN-32-------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 65.515 13.138 24478.000298

Cranfield-To-SVN-33-------------------No Access Found

Cranfield-To-SVN-34-------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 228.498 54.200 21276.437016

Cranfield-To-SVN-35-------------------No Access Found

Cranfield-To-SVN-36-------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 330.381 7.948 25072.495961

Appendix C Richard Broughton

152

Cranfield-To-SVN-37-------------------No Access Found

Cranfield-To-SVN-38-------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 173.008 32.425 22697.430416

Cranfield-To-SVN-39-------------------No Access Found

Cranfield-To-SVN-40-------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 295.199 31.014 22628.702665

Cranfield-To-SVN-41-------------------No Access Found

Cranfield-To-SVN-43-------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 64.702 71.104 20432.057477

Cranfield-To-SVN-44-------------------No Access Found

Cranfield-To-SVN-46-------------------No Access Found

Cranfield-To-SVN-51-------------------

Time (UTCG) Azimuth (deg) Elevation (deg) Range (km)------------------ ------------- --------------- ------------15 Jul 2003 12:55:27.00 115.861 7.772 24908.189792

Cranfield-To-SVN-54-------------------No Access Found

Appendix D Richard Broughton

153

Appendix D: D matrix Tuning

Initially the D matrix was set to

1000001000001000001000001

where the diagonals are denoted d1, d2,

d3, d4, d5. From now on the above will be annotated as D = 1, 1, 1, 1, 1. The order oftuning was to alter the d5 first, then the d4, and finally the d3. The d1 and d2 termswhere allows set to 1 as these represent the 2 horizontal planes that are weighted by thematrix.

Coarse Tuning

D5 tuning

The d5 element was coarsely tuned by reducing the value by an increment of a decimalpoint: from 1, 0.1, 0.01 to 0.001. When the d5 element was reduced to 0.001 the 5test statistic became linear, however the H/e test statistic remained non linear even whenthe values were further reduced.

Appendix D Richard Broughton

154

Sigma 5 Test Statistic Characteristic

0

5

10

15

20

25

30

0.00E+00 5.00E-03 1.00E-02 1.50E-02 2.00E-02

Test Statistic

Ver

tica

lErr

or

(m)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-1: Plot of vertical error against 5 test stat for D = 1, 1, 1, 1, 0.001,produced by NavEng spreadsheet Bias_characteristics.

H/e test stat Characteristic

0

5

10

15

20

25

30

0.00E+00

5.00E-06 1.00E-05 1.50E-05 2.00E-05 2.50E-05 3.00E-05 3.50E-05 4.00E-05

Test Statistic

Ver

tica

lErr

or

(m)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-2: Plot of vertical error against H/e test stat for D = 1, 1, 1, 1, 0.001,produced by NavEng spreadsheet Bias_characteristics.

Appendix D Richard Broughton

155

D4 Tuning

Now the d4 term was reduced to try and linearise the H/e test statistic. Reducing the d4term to 0.1 appeared to give a good linear fit for the H/e test characteristic and areasonably good test statistic probability density.

Sigma 5 Test Statistic Characteristic

0

5

10

15

20

25

0.00E+00 5.00E-03 1.00E-02 1.50E-02 2.00E-02

Test Statistic

Ver

tica

lErr

or

(m)

GS21

GS20

GS19

GS14

GS13

GS12

GS3

GS2

SV24

SV23

SV17

SV15

SV14

SV10

SV3

Figure D-3: Plot of vertical error against 5 test stat for D = 1, 1, 1, 0.1, 0.001,produced by NavEng spreadsheet Bias_characteristics.

H/e test stat Characteristic

0

5

10

15

20

25

0.00E+00 2.00E-04 4.00E-04 6.00E-04 8.00E-04 1.00E-03 1.20E-03

Test Statistic

Ver

tica

lErr

or

(m)

GS21

GS20

GS19

GS14

GS13

GS12

GS3

GS2

SV24

SV23

SV17

SV15

SV14

SV10

SV3

Figure D-4: Plot of vertical error against H/e test stat for D = 1, 1, 1, 0.1, 0.001,produced by NavEng spreadsheet Bias_characteristics.

Appendix D Richard Broughton

156

H/e Test Statistic Probability Density

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

H/e

Half-Normal Distribution

Figure D-5: Plot of Half Normal Distribution compared to H/e test stat probability forD = 1, 1, 1, 0.1, 0.001, produced by NavEng spreadsheet EIV Post Processor.

Reducing the d4 term further resulted in both test statistics linearity breaking downcompare figures (D-6 and D-7).

Sigma 5 Test Statistic Characteristic

0

5

10

15

20

25

30

0.00E+00

1.00E-03

2.00E-03

3.00E-03

4.00E-03

5.00E-03

6.00E-03

7.00E-03

8.00E-03

Test Statistic

Ver

tica

lErr

or

(m)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-6: Plot of vertical error against 5 test stat for D = 1, 1, 1, 0.01, 0.001,produced by NavEng spreadsheet Bias_characteristics.

Appendix D Richard Broughton

157

H/e test stat Characteristic

0

5

10

15

20

25

30

0.00E+00

1.00E-01

2.00E-01

3.00E-01

4.00E-01

5.00E-01

6.00E-01

7.00E-01

8.00E-01

9.00E-01

Test Statistic

Ver

tical

Err

or(m

)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-7: Plot of vertical error against H/e test stat for D = 1, 1, 1, 0.01, 0.001,produced by NavEng spreadsheet Bias_characteristics.

D3 Tuning

Now it was the turn of the d3 element to be altered in factors of 10 for the coarse tuning.Reducing the D3 term had the effect of disrupting the H/e test statistic and the H/e teststatistic probability density match with the half normal distribution. This is since asbefore d3 > d4 > d5 otherwise linearity appears to break down.

H/e test stat Characteristic

0

5

10

15

20

25

0.00E+00 5.00E-04 1.00E-03 1.50E-03 2.00E-03 2.50E-03 3.00E-03 3.50E-03

Test Statistic

Ver

tica

lErr

or(m

)

GS21

GS20

GS19

GS14

GS13

GS12

GS3

GS2

SV24

SV23

SV17

SV15

SV14

SV10

SV3

Figure D-8: Plot of vertical error against H/e test stat for D = 1, 1, 0.1, 0.1, 0.001,produced by NavEng spreadsheet Bias_characteristics.

Appendix D Richard Broughton

158

H/e Test Statistic Probability Density

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

H/e

Half-Normal Distribution

Figure D-9: Plot of Half Normal Distribution compared to H/e test stat probability forD = 1, 1, 0.1, 0.1, 0.001, produced by NavEng spreadsheet EIV Post Processor.

Conversely increasing the d3 term seemed to improve the H/e test statistic probabilitydensity match and the linearity of the H/e test statistic.

Sigma 5 Test Statistic Characteristic

0

5

10

15

20

25

30

0.00E+00 5.00E-03 1.00E-02 1.50E-02 2.00E-02

Test Statistic

Ver

tica

lErr

or

(m)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-10: Plot of vertical error against 5 test stat for D = 1, 1, 10, 0.1, 0.001,produced by NavEng spreadsheet Bias_characteristics.

Appendix D Richard Broughton

159

H/e test stat Characteristic

0

5

10

15

20

25

30

0.00E+00 2.00E-04 4.00E-04 6.00E-04 8.00E-04 1.00E-03 1.20E-03 1.40E-03

Test Statistic

Ver

tical

Err

or(m

)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-11: Plot of vertical error against H/e test stat for D = 1, 1, 10, 0.1, 0.001,produced by NavEng spreadsheet Bias_characteristics.

H/e Test Statistic Probability Density

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

H/e

Half-Normal Distribution

Figure D-12: Plot of Half Normal Distribution compared to H/e test stat probability forD = 1, 1, 10, 0.1, 0.001, produced by NavEng spreadsheet EIV Post Processor.

Appendix D Richard Broughton

160

Figure D-13: Plot of vertical error against H/e test statistic with D = 1, 1, 10, 0.1,0.001, for 3 different biases to the vertical pin satellite: no bias (blue), 5m bias (pink)

and 10m bias (yellow), produced by NavEng bias_plotter spreadsheet.

However this will decrease the weighting of the vertical plane with regard to thehorizontal plane. This reduces the vertical protection limit of the algorithm spoiling theresults. See the graphs of the vertical errors for the H/e test statistics above and below.

Figure D-14: Plot of vertical error against H/e test statistic with D = 1, 1, 1, 0.1, 0.001,0.001, for 3 different biases to the vertical pin satellite: no bias (blue), 5m bias (pink)

and 10m bias (yellow), produced by NavEng bias_plotter spreadsheet.

Appendix D Richard Broughton

161

Fine tuning

Having found a reasonable starting point through iteration using coarse tuning, it nowbecame necessary to fine tune the D matrix. This time the d3 element was tuned first,followed by the d4 and finally d5 terms.

D3 Tuning

It was discovered that reducing the d3 term had an effect of improving the verticalprotection limit of the algorithm. For this reason the d3 element was reduced to seewhen the linearity of the 5 and H/e test statistics broke down. However such a lowvalue for d3 meant that the H/e test statistic probability density no longer matched a halfnormal distribution. This is a problem as it means that the ability to calculate the teststatistic thresholds is lost.

Sigma 5 Test Statistic Characteristic

0

5

10

15

20

25

30

0.00E+00

2.00E-03

4.00E-03

6.00E-03

8.00E-03

1.00E-02

1.20E-02

1.40E-02

Test Statistic

Ver

tica

lErr

or

(m)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-15: Plot of vertical error against 5 test stat for D = 1, 1, 0.11, 0.1, 0.001,produced by NavEng spreadsheet Bias_characteristics.

Note the linearity of the 5 test statistic is starting to fail for GPS17 with the greatestvertical error.

Appendix D Richard Broughton

162

H/e test stat Characteristic

0

5

10

15

20

25

30

0.00E+00 5.00E-04 1.00E-03 1.50E-03 2.00E-03 2.50E-03 3.00E-03 3.50E-03

Test Statistic

Ver

tical

Err

or(m

)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-16: Plot of vertical error against H/e test stat for D = 1, 1, 0.11, 0.1, 0.001,produced by NavEng spreadsheet Bias_characteristics.

H/e Test Statistic Probability Density

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

H/e

Half-Normal Distribution

Figure D-17: Plot of Half Normal Distribution compared to H/e test stat probability forD = 1, 1, 0.11, 0.1, 0.001, produced by NavEng spreadsheet EIV Post Processor.

It can be seen that the H/e test statistic probability density no longer matches a halfnormal distribution. It was noted that the H/e test statistic probability density started tolose its match with the half normal distribution at a value of around d3 = 0.6.

Appendix D Richard Broughton

163

Sigma 5 Test Statistic Characteristic

0

5

10

15

20

25

30

0.00E+00

2.00E-03

4.00E-03

6.00E-03

8.00E-03

1.00E-02

1.20E-02

1.40E-02

Test Statistic

Ver

tica

lErr

or

(m)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-18: Plot of vertical error against 5 test stat for D = 1, 1, 0.6, 0.1, 0.001,produced by NavEng spreadsheet Bias_characteristics.

H/e test stat Characteristic

0

5

10

15

20

25

30

0.00E+00 5.00E-04 1.00E-03 1.50E-03 2.00E-03 2.50E-03

Test Statistic

Ver

tica

lErr

or

(m)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-19: Plot of vertical error against H/e test stat for D = 1, 1, 0.6, 0.1, 0.001,produced by NavEng spreadsheet Bias_characteristics.

Appendix D Richard Broughton

164

H/e Test Statistic Probability Density

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

H/e

Half-Normal Distribution

Figure D-20: Plot of Half Normal Distribution compared to H/e test stat probability forD = 1, 1, 0.6, 0.1, 0.001, produced by NavEng spreadsheet EIV Post Processor.

Hence the d3 element was left at a value of 0.6.

D4 Tuning

Now it was the turn of the d4 element to be fine tuned. The d4 term was reduced inincrements of 0.01 until the linearity of the H/e test statistic started to break down.

H/e test stat Characteristic

0

5

10

15

20

25

30

0.00E+00 2.00E-03 4.00E-03 6.00E-03 8.00E-03 1.00E-02 1.20E-02

Test Statistic

Ver

tica

lErr

or(m

)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-21: Plot of vertical error against H/e test stat for D = 1, 1, 0.6, 0.03, 0.001,produced by NavEng spreadsheet Bias_characteristics.

Appendix D Richard Broughton

165

Hence the d4 term was raised to 0.04 and set there.

H/e test stat Characteristic

0

5

10

15

20

25

30

0.00E+00 1.00E-03 2.00E-03 3.00E-03 4.00E-03 5.00E-03 6.00E-03

Test Statistic

Ver

tical

Err

or(m

)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-22: Plot of vertical error against H/e test stat for D = 1, 1, 0.6, 0.04, 0.001,produced by NavEng spreadsheet Bias_characteristics.

D5 Tuning

With the D = 1, 1, 0.6, 0.04, 0.001 the H/e test statistic curls downwards slightly and the5 test statistic appears to curl upwards slightly. It was hence decided to reduce the d5

element in increments of 0.0001 until this trend was reversed. Reducing the d5 value to0.0006 seemed to give the best linearity with the following results.

S ig m a 5 Test S ta tistic C h aracteris tic

0

5

1 0

1 5

2 0

2 5

3 0

0 .00E+00 2 .00E-03 4 .00E-0 3 6.00E-03 8 .00E-03 1 .00E-02

Te s t Sta tistic

Ver

tica

lErr

or

(m)

G PS24

G PS23

G PS17

G PS15

G PS14

G PS10

G PS3

Figure D-23: Plot of vertical error against 5 test stat for D = 1, 1, 0.6, 0.04, 0.0006,produced by NavEng spreadsheet Bias_characteristics.

Appendix D Richard Broughton

166

H/e test stat Characteristic

0

5

10

15

20

25

30

0.00E+00 5.00E-04 1.00E-03 1.50E-03 2.00E-03 2.50E-03 3.00E-03

Test Statistic

Ver

tical

Err

or(m

)

GPS24

GPS23

GPS17

GPS15

GPS14

GPS10

GPS3

Figure D-24: Plot of vertical error against H/e test stat for D = 1, 1, 0.6, 0.04, 0.0006,produced by NavEng spreadsheet Bias_characteristics.

H/e Test Statistic Probability Density

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

H/e

Half-Normal Distribution

Figure D-25: Plot of Half Normal Distribution compared to H/e test stat probability forD = 1, 1, 0.6, 0.04, 0.0006, produced by NavEng spreadsheet EIV Post Processor.

Appendix D Richard Broughton

167

Figure D-26: Plot of errors against test statistics with D = 1, 1, 0.6, 0.04, 0.0006, for 3different biases to the vertical pin satellite: no bias (blue), 5m bias (pink) and 10m bias

(yellow), produced by NavEng bias_plotter spreadsheet.

Appendix D Richard Broughton

168

Although further reduction will improve the linearity of the 2 test statistics further, ithas another effect. It increases the slopes and decreases the spreads of the errors plottedagainst the test statistics. This is undesirable, so that d5 term must be raised to a large avalue as possible without breaking down the linearity of the test statistics. The desiredcharacteristics for the error versus test statistic plots is that they have as low a gradientas possible and as large a spread. This would mean that lower vertical and horizontalerrors exist for a given value of test statistic.

Appendix E Richard Broughton

169

Appendix E: MatLaB Harness Code

Bias_characteristics.m

% bias_characteristics.m v2.0% Written by Richard Broughton 18/08/2003

% Having loaded a txt file with Range, Azimuth (rad), Elevation (rad), UERE% this program calculates the observation matrix.% Re configured program for Galileo and GPS.% Plots test statistics for each satellite against vertical and horizontal% errors, having applied bias in 2m increments to horizontal and vertical% pin satellites. The user may apply additional bias to both pin% satellites to identify them.

clear;

% This part of the program reads the txt for Galileo and GPS constellation

load Galileo_GPS_access.txt

% Load the required data format as a table: Range, Azimuth, Elevation, UERE

Range = Galileo_GPS_access(:,1);Azimuth = Galileo_GPS_access(:,2);Elevation = Galileo_GPS_access(:,3);UERE = Galileo_GPS_access(:,4);

% Count the number of visible satellites

Visible_sats = length(Azimuth); % Defines the number satellites

% -------------------------------------------------------------------------

% User inputs% User enters a value of "PFA", the probability of false alarms.

PFA = input...('Enter the desired value of PFA, the probability of false alarms> ');

Appendix E Richard Broughton

170

% User enters the desired value of "PMD", the probability of missed-detection.

global PMD

PMD = input...('Enter the desired value of PMD, the probability of missed-detection> ');

% User enters a value of "backstop_factor" which is the factor equal to PFA/PB% where PB is the probability that the backstop threshold will be exceeded.

backstop_factor = 1 - PFA*0.01; % Still under analysis

% The user is prompted for a satellite bias value

bias_vert = input('Enter the desired bias for the vertical pin satellite in metres> ');bias_horiz = input('Enter the desired bias for the horizontal pin satellite in metres> ');

% -------------------------------------------------------------------------

% Input matrix generation

% produces the G matrix: North, East, Up, Clock

for i = 1:1:Visible_sats

G(i,1) = cos (Elevation(i,1)) * sin (Azimuth(i,1));G(i,2) = cos (Elevation(i,1)) * cos (Azimuth(i,1));G(i,3) = sin (Elevation(i,1));G(i,4) = 1;

end

% Produces W matrix from UERE

for i = 1:1:Visible_sats

W(i,1) = (1/(UERE(i,1)))^2;

end

W = diag(W);

% Produces C matrix from UERE

Appendix E Richard Broughton

171

for i = 1:1:Visible_sats

C(i,1) = (1/(UERE(i,1)));

end

C = diag(C);

% Create D matrix, already prepared in the correct format as a list

load D.txtD = diag(D);

% Create the SIGMA matrix from UERE

SIGMA = diag (UERE);

% -------------------------------------------------------------------------% Generate noise using 2 random numbers

for i = 1:1:Visible_sats

Noise(i,1) = (-2*log(rand(1))*cos(2*pi*rand(1)));

end

% Produce simulated pseudorange matrix

for i = 1:1:Visible_sats

Pseudorange(i,1) = Range(i,1) + (UERE(i,1) * Noise(i,1));

end

% Produces y vector: y = Range - Pseudorange

for i = 1:1:Visible_sats

y(i,1) = Pseudorange(i,1) - Range(i,1);

end

Appendix E Richard Broughton

172

%-----------------------------------------------------------------------% Weighted LSR calculations

% Need to define K matrix from G and W matrices, Calculate the "K-matrix",% the weighted pseudo-inverse of the G-matrix.

K = (G'*W*G)^-1*G'*W; % For LSR algorithm

% Calculate the "P matrix", this is the Observation% matrix multiplied by the K matrix.

global P

P = G * K;

% ------------------------------------------------------------------------

% To allow bias to be added to the pin satellite, it must first be found which% is the critical satellite (highest observable).

% Create a Nx2 matrix containing the values of Vslope and satellite% number for each satellite in view. Also create a Nx1 column vector% containing the bias rate for each satellite.

Vslope = zeros(Visible_sats,2);

% (pre-allocated memory for Vslope).

Hslope = zeros(Visible_sats,2);

bias_rates_vector = zeros(Visible_sats,1);

% (pre-allocated memory for the bias rates vector).

for sat_num = 1:Visible_sats

bias_rates_vector(sat_num,1) = sqrt(1-P(sat_num,sat_num));

Vslope(sat_num,:) = [abs((K(3,sat_num))*sqrt(1/W(sat_num,sat_num)).../bias_rates_vector(sat_num,1)) sat_num];

Hslope(sat_num,:) = [abs(sqrt((K(1,sat_num))^2 + (K(2,sat_num))^2))...* sqrt(1/W(sat_num,sat_num)) / bias_rates_vector(sat_num,1) sat_num];

Appendix E Richard Broughton

173

end

% Sorts the rows of Vslope as a group in ascending order, based on the% column specified, in this case 1.

Vslope_sorted = sortrows(Vslope,1);Hslope_sorted = sortrows(Hslope,1);

% Find the maximum value of Vslope.

max_Vslope = max(Vslope(:,1));max_Hslope = max(Hslope(:,1));

% Find the number of the critical satellite (that with the highest Vslope).

global critical_satellite_vertglobal critical_satellite_horiz

critical_satellite_vert = Vslope_sorted(Visible_sats,2);critical_satellite_horiz = Hslope_sorted(Visible_sats,2);

% Need to create a bias matrix all zeros except the critical satellite

bias_matrix_vert = zeros(Visible_sats,1);bias_matrix_horiz = zeros(Visible_sats,1);

% Add bias to the row of the critical satellite

bias_matrix_vert(critical_satellite_vert,1) = bias_vert;bias_matrix_horiz(critical_satellite_horiz,1) = bias_horiz;

% Adds bias to y vector

y = y + bias_matrix_vert;y = y + bias_matrix_horiz;

% The following steps are performed for each of the satellites in view.

% Clear the previous EIV_TS_vector if one has already been created for a% previous epoch.

clear EIV_TS_vector

Appendix E Richard Broughton

174

% Clear the previous EIV_slope_vector if one has already been created for a% previous epoch.

clear EIV_slope_vector

% Create a Visible_sats_x1 vector "q-vector".

q_vector = zeros(Visible_sats,1);

% (pre-allocated memory for the vector).% Create the "q-vector", containing all zeros except for the row element% corresponding to the current satellite (sat_num), for which the value% will be the value of the UERE for this satellite.

for sat_num = 1:Visible_sats

q_vector = zeros(Visible_sats,1);q_vector(sat_num,1) = 20;

% Create an "augmented matrix" for satellite number = sat_num, formed% from the pre and post multiplication of the concatenated G and y% matrices by the C and D matrices respectively.

augmented_matrix_sat_num = C*[G q_vector]*D;

% Perform singular value decomposition upon the augmented matrix for% satellite number = sat_num. In this case produces a diagonal matrix% sigma of the same dimension as augmented for each satellite and unitary% matrices such that X=U*Sigma*V'.

[U_matrix_sat_num, SIGMA_matrix_sat_num, V_matrix_sat_num] = ...svd(augmented_matrix_sat_num);

% Define test statistic "sigma-5" for satellite number = sat_num,% taken from the SIGMA-matrix

sigma5_sat_num = SIGMA_matrix_sat_num(5,5);

% Derive the matrix containing the mismatches in the model and the% pseudo-range for satellite number = sat_num.

Htls_etls_matrix_sat_num = -sigma5_sat_num*inv(C)*...

Appendix E Richard Broughton

175

U_matrix_sat_num(:,5)*V_matrix_sat_num(:,5)'*inv(D);

% Create the threshold Htls-matrix, containing the mismatches in the% model for satellite number = sat_num.

Htls_matrix_sat_num = Htls_etls_matrix_sat_num(:,1:4);

% Create the threshold etls-vector, containing the mismatches in the% pseudo-range for satellite number = sat_num.

etls_vector_sat_num = Htls_etls_matrix_sat_num(:,5);

% Create a vector to contain the EIV test statistic for each satellite in% view. The test statistic is the ratio of the norms of the threshold% Htls-matrix and the threshold etls-matrix.

EIV_TS_vector(sat_num,1) = (norm(Htls_matrix_sat_num,'fro').../norm(etls_vector_sat_num))*(1/sqrt(W(sat_num,sat_num)))/20;

% Create a vector to contain the EIV slope for each satellite in view.

EIV_slope_vector(sat_num,1) = ...abs(K(3,sat_num))*(1/sqrt(W(sat_num,sat_num))).../EIV_TS_vector(sat_num,1);

end

% -------------------------------------------------------------------------% Calculate errors for each satellite in view, then apply 2m bias and repeat.

vertical_bias_matrix = [];horizontal_bias_matrix = [];

% Look which applies 2m bias each iteration

for z = 1:1:10

for sat_num = 1:Visible_sats

% Gives an equivalent y value for each satellite in turn

z_vector = zeros(Visible_sats,1);z_vector(sat_num,1) = y(sat_num);

Appendix E Richard Broughton

176

% Create an "augmented matrix" for satellite number = sat_num, formed% from the pre and post multiplication of the concatenated G and y% matrices by the C and D matrices respectively.

augmented_matrix_sat_num = C*[G z_vector]*D;

% Perform singular value decomposition upon the augmented matrix for% satellite number = sat_num. In this case produces a diagonal matrix% sigma of the same dimension as augmented for each satellite and unitary% matrices such that X=U*Sigma*V'.

[U_matrix_sat_num, SIGMA_matrix_sat_num, V_matrix_sat_num] = ...svd(augmented_matrix_sat_num,0);

% Define test statistic "sigma-5" for satellite number = sat_num,% taken from the SIGMA-matrix

sigma5_sat_num = SIGMA_matrix_sat_num(5,5);

% Creates table where rows are for one bias value for each satellite and% columns represent different biases on the y vector

sigma5_bias_matrix(sat_num,z) = sigma5_sat_num;

% Derive the matrix containing the mismatches in the model and the% pseudo-range for satellite number = sat_num.

Htls_etls_matrix_sat_num = -sigma5_sat_num*inv(C)*...U_matrix_sat_num(:,5)*V_matrix_sat_num(:,5)'*inv(D);

% Create the threshold Htls-matrix, containing the mismatches in the% model for satellite number = sat_num.

Htls_matrix_sat_num = Htls_etls_matrix_sat_num(:,1:4);

% Create the threshold etls-vector, containing the mismatches in the% pseudo-range for satellite number = sat_num.

etls_vector_sat_num = Htls_etls_matrix_sat_num(:,5);

% Create a vector to contain the EIV test statistic for each satellite in% view. The test statistic is the ratio of the norms of the threshold

Appendix E Richard Broughton

177

% Htls-matrix and the threshold etls-matrix.

EIV_TS_vector(sat_num,1) = (norm(Htls_matrix_sat_num,'fro').../norm(etls_vector_sat_num))*(1/sqrt(W(sat_num,sat_num)))/20;

% Creates table where rows are for one bias value for each satellite and% columns represent different biases on the y vector

EIV_TS_bias_matrix(1:Visible_sats,z) = EIV_TS_vector;

% Used to calculate the errors

x_vector_tls = -D(1:4,1:4)*V_matrix_sat_num(1:4,5)/...(V_matrix_sat_num(5,5)*D(5,5));

% Extract vertical error for each satellite

vertical_error_sat_num = sqrt((x_vector_tls(3,1))^2);

% Creates table where rows are for one bias value for each satellite and% columns represent different biases on the y vector

vertical_bias_matrix(sat_num,z) = vertical_error_sat_num;

% Extract horizontal error for each satellite

horizontal_error_sat_num = sqrt((x_vector_tls(1,1))^2 + (x_vector_tls(2,1))^2);

% Creates table where rows are for one bias value for each satellite and% columns represent different biases on the y vector

horizontal_bias_matrix(sat_num,z) = horizontal_error_sat_num;

end

y = y + 2;

end

% ---------------------------------------------------------------------------

% Define plotting parameters% Produce plots from the data calculated above.

Appendix E Richard Broughton

178

for i=1:1:sat_num

% Top left plot, vertical error, Sigma5 test statistic.subplot(2,2,1)hold on;plot(sigma5_bias_matrix(i,:),vertical_bias_matrix(i,:),'r:d')title...

('Vert Error for each satellite, plotted against sigma5'),ylabel('Vertical Error (m)'),xlabel('Sigma5 test stat'),

endhold off;

for i=1:1:sat_num

% Top right plot, vertical error, H/e test statistic.subplot(2,2,2)hold on;plot(EIV_TS_bias_matrix(i,:),vertical_bias_matrix(i,:),'r:d')title...

('Vert Error for each satellite, plotted against H/e'),ylabel('Vertical Error (m)'),xlabel('H/e test stat'),

endhold off;

% Horizontal errors

for i=1:1:sat_num

% Bottom left plot, horizontal error, Sigma5 test statistic.subplot(2,2,3)hold on;plot(sigma5_bias_matrix(i,:),horizontal_bias_matrix(i,:),'r:d')title...

('Horiz Error for each satellite, plotted against sigma5'),ylabel('Horizontal Error (m)'),xlabel('Sigma5 test stat'),

end

Appendix E Richard Broughton

179

hold off;

for i=1:1:sat_num

% Bottom right plot, horizontal error, H/e test statistic.subplot(2,2,4)hold on;plot(EIV_TS_bias_matrix(i,:),horizontal_bias_matrix(i,:),'r:d')title...

('Horiz Error for each satellite, plotted against H/e'),ylabel('Horizontal Error (m)'),xlabel('H/e test stat'),

endhold off;

decision.m

% decision.m v5.2% Written by Richard Broughton 26/08/2003% Adapted from single_epoch_bis_sec_brent.m written by VEGA Systems

% Having loaded a txt file with Range, Azimuth (rad), Elevation (rad), UERE this% program calculates the observation matrix. It uses the functions defined% by stats package and is based on sec_brent by Alec Bastin

% Re configured program for GPS and Galileo combined constellation data% This program calculates EIV position errors and calculates VPL's and HPL's% for LSR and EIV methods.% EIV RAIM/WLSR test statics are then calculated

% The user can put a bias on the vertical and horizontal pin satellite.% The user can corrupt the vertical pin satellite's observation matrix (G).

clear;

% This part of the program reads the txt for Galileo

load Galileo_GPS_access2.txt

% Load the required data format as a table: Range, Azimuth, Elevation, UERE

Appendix E Richard Broughton

180

Range = Galileo_GPS_access2(:,1);Azimuth = Galileo_GPS_access2(:,2);Elevation = Galileo_GPS_access2(:,3);UERE = Galileo_GPS_access2(:,4);

% Count the number of visible satellites

Visible_sats = length(Azimuth); % Defines the number satellites

% Produces W matrix from UERE

for i = 1:1:Visible_sats

W(i,1) = (1/(UERE(i,1)))^2;

end

W = diag(W);

% Produces C matrix from UERE

for i = 1:1:Visible_sats

C(i,1) = (1/(UERE(i,1)));

end

C = diag(C);

% Create D matrix, already prepared in the correct format as a list

load D.txt

D = diag(D);

% User enters a value of "PFA", the probability of false alarms.

PFA = input...('Enter the desired value of PFA, the probability of false alarms> ');

% User enters the desired value of "PMD", the probability of missed-detection.

global PMD

Appendix E Richard Broughton

181

PMD = input...('Enter the desired value of PMD, the probability of missed-detection> ');

% User enters a value of "backstop_factor" which is the factor equal to PFA/PB% where PB is the probability that the backstop threshold will be exceeded.

backstop_factor = 1 - PFA*0.01;

% The user is prompted for a satellite bias value and ephemeris corruption.

bias_vert = input('Enter the desired bias for the vertical pin satellite in metres> ');bias_horiz = input('Enter the desired bias for the horizontal pin satellite in metres> ');

Azimuth_error = input...('Enter the azimuth ephemeris error for the vertical pin satellite in radians> ');

Elevation_error = input...('Enter the elevation ephemeris error for the vertical pin satellite in radians> ');

% produces the G matrix: North, East, Up, Clock

for i = 1:1:Visible_sats

G(i,1) = cos (Elevation(i,1)) * sin (Azimuth(i,1));G(i,2) = cos (Elevation(i,1)) * cos (Azimuth(i,1));G(i,3) = sin (Elevation(i,1));G(i,4) = 1;

end

% Generate noise using 2 random numbers

for i = 1:1:Visible_sats

Noise(i,1) = (-2*log(rand(1))*cos(2*pi*rand(1)));

end

% Produce simulated pseudorange matrix

for i = 1:1:Visible_sats

Pseudorange(i,1) = Range(i,1) + (UERE(i,1) * Noise(i,1));

Appendix E Richard Broughton

182

end

% Produces y vector: y = Range - Pseudorange

for i = 1:1:Visible_sats

y(i,1) = Pseudorange(i,1) - Range(i,1);

end

% ------------------------------------------------------------------------% To allow bias to be added to the pin satellite, it must first be found which% is the critical satellite (highest observable).

% Create a Nx2 matrix containing the values of Vslope and satellite% number for each satellite in view. Also create a Nx1 column vector% containing the bias rate for each satellite.

Vslope = zeros(Visible_sats,2);

% (pre-allocated memory for Vslope horizontal and vertical).

Hslope = zeros(Visible_sats,2);

bias_rates_vector = zeros(Visible_sats,1);

% (pre-allocated memory for the bias rates vector).

% Need to define K matrix from G and W matrices, Calculate the "K-matrix",% the weighted pseudo-inverse of the G-matrix.

K = (G'*W*G)^-1*G'*W; % For LSR algorithm

% Calculate the "P matrix", this is the Observation% matrix multiplied by the K matrix.

global P

P = G * K;

for sat_num = 1:Visible_sats

Appendix E Richard Broughton

183

bias_rates_vector(sat_num,1) = sqrt(1-P(sat_num,sat_num));

Vslope(sat_num,:) = [abs((K(3,sat_num))*sqrt(1/W(sat_num,sat_num)).../bias_rates_vector(sat_num,1)) sat_num];

Hslope(sat_num,:) = [abs(sqrt((K(1,sat_num))^2 + (K(2,sat_num))^2))...* sqrt(1/W(sat_num,sat_num)) / bias_rates_vector(sat_num,1) sat_num];

end

% Sorts the rows of Vslope as a group in ascending order, based on the% column specified, in this case 1.

Vslope_sorted = sortrows(Vslope,1);Hslope_sorted = sortrows(Hslope,1);

% Find the maximum value of Vslope.

max_Vslope = max(Vslope(:,1));max_Hslope = max(Hslope(:,1));

% Find the number of the critical satellite (that with the highest Vslope).

global critical_satellite_vertglobal critical_satellite_horiz

critical_satellite_vert = Vslope_sorted(Visible_sats,2);critical_satellite_horiz = Hslope_sorted(Visible_sats,2);

% Need to create a bias matrix all zeros except the critical satellite

bias_matrix_vert = zeros(Visible_sats,1);bias_matrix_horiz = zeros(Visible_sats,1);

% Add bias to the row of the critical satellite

bias_matrix_vert(critical_satellite_vert,1) = bias_vert;bias_matrix_horiz(critical_satellite_horiz,1) = bias_horiz;

% Adds bias to y vector

y = y + bias_matrix_vert;y = y + bias_matrix_horiz;

Appendix E Richard Broughton

184

% To corrupt the ephemeris data, values can be added to the Observation% matrix G. This is similar to the creation of the H matrix. Need to% create Azimuth and Elevation corruption matrices only affecting the% critical satellite.

Azimuth_corruption = zeros(Visible_sats,1);

% Add corruption to the row of the critical satellite

Azimuth_corruption(critical_satellite_vert,1) = Azimuth_error;Azimuth = Azimuth + Azimuth_corruption;

% Now repeat for elevation

Elevation_corruption = zeros(Visible_sats,1);

% Add corruption to the row of the critical satellite

Elevation_corruption(critical_satellite_vert,1) = Elevation_error;Elevation = Elevation + Elevation_corruption;

% Recalculates Observation matrix with ephemeris errors

for i = 1:1:Visible_sats

G(i,1) = cos (Elevation(i,1)) * sin (Azimuth(i,1));G(i,2) = cos (Elevation(i,1)) * cos (Azimuth(i,1));G(i,3) = sin (Elevation(i,1));G(i,4) = 1;

end

%------------------------------------------------------------------------% Calculations for weighted LSR method% The Least squares mismatch value is

x_vector_ls = K * y;

% Need to define the geometric dilution of precision matrix% which is the inverse of the weighted observation matrix

GDOP_LSR = inv(G'*W*G);

Appendix E Richard Broughton

185

% Calculate the Vertical DOP from GDOP

global VDOP_LSR

VDOP_LSR = sqrt(GDOP_LSR(3,3)^2);

% Calculate vertical error from xtls

vertical_error_LSR = sqrt((x_vector_ls(3,1))^2);

% Same steps for horizontal DOPs and Errors

HDOP_LSR = sqrt(GDOP_LSR(1,1)^2 + GDOP_LSR(2,2)^2);

horizontal_error_LSR = sqrt(x_vector_ls(1,1)^2 + x_vector_ls(2,1)^2);

% Create unity (identity) matrix of dimensions NxN% (where N is the number of visible satellites).

I = eye(Visible_sats);

% Calculate the weighted sum of the squared errors, "WSSE".

WSSE = y' * W * (I - P) * y; % For LSR algorithm

% Calculate the square root of WSSE, the test statistic.

RootWSSE = sqrt(WSSE);

% The value of the decision threshold based on PFA, to be used in the% weighted LSR method.% CHI2INV takes the inverse chi squared cumulative distribution function at% a value 1 - PFA and N-4 degrees of freedom.

decision_threshold_LSR = sqrt(invchi2(1-PFA,Visible_sats -4));

% Calculate "k", the number of standard deviations associated with the% probability of mis-detection. The invnorm takes the inverse of the% normal distribution with a mean of 0, a standard deviation of 1 evaluated% at PMD(Probability of missed detection

k = abs(invnorm(PMD,0,1));

Appendix E Richard Broughton

186

% Calculate the vertical protection limit, calculated using the WLSR% method, "VPL_LSR". This is the VPL method of RAIM.

VPL_LSR = (decision_threshold_LSR*max_Vslope)+(k*VDOP_LSR);

% Calculate the horizontal protection limit, "HPL_LSR".

HPL_LSR = (decision_threshold_LSR*max_Hslope)+(k*HDOP_LSR);

% ------------------------------------------------------------------------% the following steps are used in the EIV RAIM method

% Create the "augmented matrix", formed from the pre and post multiplication% of the concatenated G and y matrices by the C and D matrices respectively.

augmented = C * [G y] * D;

% Perform singular value decomposition upon the augmented matrix.% In this case (augmented, 0) produces 'economy size' decomposition.% If augmented is a N by n matrix then SVD computes only the first n% columns of V and sigma is n by n.

[U, SIGMA, V] = svd(augmented, 0);

% Define test statistic "sigma-5", taken from the SIGMA-matrix.

sigma5 = SIGMA(5,5);

% Calculate the x-matrix according to the total least squares method.

x_vector_tls = -D(1:4,1:4)*V(1:4,5)/(V(5,5)*D(5,5));

% Derive the matrix containing the mismatches in the model and the% pseudo-range. H/e test statistic

Htls_etls_matrix = -sigma5*inv(C)*U(:,5)*V(:,5)'*inv(D);

% Create the "Htls-matrix", containing the mismatches in the model.

Htls_matrix = Htls_etls_matrix(:,1:4);

% Create the "etls-vector", containing the mismatches in the pseudo-range.

Appendix E Richard Broughton

187

etls_vector = Htls_etls_matrix(:,5);

% Calculate the test statistic, being the ratio of the norms of the% Htls-matrix and the etls-matrix.

H_over_e = norm(Htls_matrix,'fro')/norm(etls_vector);

% ---------------------------------------------------

% The following steps are performed for each of the satellites in view.

% Clear the previous EIV_TS_vector if one has already been created for a% previous epoch.

clear EIV_TS_vector

% Clear the previous EIV_slope_vector if one has already been created for a% previous epoch.

clear EIV_slope_vector_vertclear EIV_slope_vector_horiz

% Create a Visible_sats_x1 vector "q-vector".

q_vector = zeros(Visible_sats,1);

% (pre-allocated memory for the vector).% Create the "q-vector", containing all zeros except for the row element% corresponding to the current satellite (sat_num), for which the value% will be the value of the UERE for this satellite.

for sat_num = 1:Visible_sats

q_vector = zeros(Visible_sats,1);q_vector(sat_num,1) = 1/20;

% Create an "augmented matrix" for satellite number = sat_num, formed% from the pre and post multiplication of the concatenated G and y% matrices by the C and D matrices respectively.

augmented_matrix_sat_num = C*[G q_vector]*D;

Appendix E Richard Broughton

188

% Perform singular value decomposition upon the augmented matrix for% satellite number = sat_num. In this case produces a diagonal matrix% sigma of the same dimension as augmented for each satellite and unitary% matrices such that X=U*Sigma*V'.

[U_matrix_sat_num, SIGMA_matrix_sat_num, V_matrix_sat_num] = ...svd(augmented_matrix_sat_num);

% Define test statistic "sigma-5" for satellite number = sat_num,% taken from the SIGMA-matrix

sigma5_sat_num = SIGMA_matrix_sat_num(5,5);

% Derive the matrix containing the mismatches in the model and the% pseudo-range for satellite number = sat_num.

Htls_etls_matrix_sat_num = -sigma5_sat_num*inv(C)*...U_matrix_sat_num(:,5)*V_matrix_sat_num(:,5)'*inv(D);

% Create the threshold Htls-matrix, containing the mismatches in the% model for satellite number = sat_num.

Htls_matrix_sat_num = Htls_etls_matrix_sat_num(:,1:4);

% Create the threshold etls-vector, containing the mismatches in the% pseudo-range for satellite number = sat_num.

etls_vector_sat_num = Htls_etls_matrix_sat_num(:,5);

% Create a vector to contain the EIV test statistic for each satellite in% view. The test statistic is the ratio of the norms of the threshold% Htls-matrix and the threshold etls-matrix.

EIV_TS_vector(sat_num,1) = (norm(Htls_matrix_sat_num,'fro').../norm(etls_vector_sat_num))*(1/sqrt(W(sat_num,sat_num)))/20;

% Create a vector to contain the EIV slope for each satellite in view.

EIV_slope_vector_vert(sat_num,1) = ...abs(K(3,sat_num))*(1/sqrt(W(sat_num,sat_num))).../EIV_TS_vector(sat_num,1);

EIV_slope_vector_horiz(sat_num,1) = ...

Appendix E Richard Broughton

189

abs(sqrt((K(1,sat_num))^2 + (K(2,sat_num))^2))*(1/sqrt(W(sat_num,sat_num))).../EIV_TS_vector(sat_num,1);

end

% ----------------------------------------------% Calculate the standard deviation of the H/e test statistic,% "EIV-TS-sigma"% Norm returns the largest singular value

global EIV_TS_sigmaEIV_TS_sigma = norm(EIV_TS_vector);

% The Geometric dilution of precision matrix for the EIV method is% calculated below

GDOP_EIV = (G'*W*G-((sigma5)^2*eye(4)))^-1*G'*W*G*...(G'*W*G-((sigma5)^2*eye(4)))^-1;

% Calculate the confidence of the vertical accuracy, VDOP,% for EIV method

global VDOP_EIV

VDOP_EIV = sqrt(GDOP_EIV(3,3)^2); % Otherwise known as VDOP_EIV

vertical_error_EIV = sqrt((x_vector_tls(3,1))^2);

% Calculate the confidence of the horizontal accuracy,% Horizontal Root Mean Square "HRMS". Otherwise known as HDOP

HDOP_EIV = sqrt(GDOP_EIV(1,1)^2 + GDOP_EIV(2,2)^2);

horizontal_error_EIV = sqrt(x_vector_tls(1,1)^2 + x_vector_tls(2,1)^2);

% ------------------------------------------------------------------------

% Extract the value of the EIV slope vector which corresponds to the critical% satellite from the LSR method.

global EIV_critical_characteristic_vert

EIV_critical_characteristic_vert = EIV_slope_vector_vert(critical_satellite_vert,1);

Appendix E Richard Broughton

190

% Create an array to hold the satellite numbers of those satellites for% which the EIV_slope_vector element is greater than its% EIV_critical_characteristic element. This is to assist with the% calculation of the new variable "Vslope2".

sat_num_array = zeros(1,1);

for sat_num = 1 : Visible_sats

if EIV_slope_vector_vert(sat_num,1) > EIV_critical_characteristic_vert

sat_num_array = [sat_num_array sat_num];

end

end

% Now for horizontal plane

global EIV_critical_characteristic_horiz

EIV_critical_characteristic_horiz = EIV_slope_vector_horiz(critical_satellite_horiz,1);

% Create an array to hold the satellite numbers of those satellites for% which the EIV_slope_vector element is greater than its% EIV_critical_characteristic element. This is to assist with the% calculation of the new variable "Vslope2".

sat_num_array = zeros(1,1);

for sat_num = 1 : Visible_sats

if EIV_slope_vector_horiz(sat_num,1) > EIV_critical_characteristic_horiz

sat_num_array = [sat_num_array sat_num];

end

end

% Delete and reuse the variable "Vslope_sorted" to contain the values of% Vslope for all satellites for which the EIV_slope_vector element is greater

Appendix E Richard Broughton

191

% than its EIV_critical_characteristic element. (All those satellite% numbers contained in "sat_num_array".

clear Vslope_sorted

Vslope_sorted(1,1) = 0;

for counter = 2:size(sat_num_array,2)

Vslope_sorted(1,counter) = Vslope(sat_num_array(counter),1);

end

% Define the variable "Vslope_2 which is the largest value contained in the% array Vslope_sorted for the vertical plane.

Vslope_2 = max(Vslope_sorted);

% For horizontal plane

clear Hslope_sorted

Hslope_sorted(1,1) = 0;

for counter = 2:size(sat_num_array,2)

Hslope_sorted(1,counter) = Hslope(sat_num_array(counter),1);

end

% Define the variable "Hslope_2 which is the largest value contained in the% array Hslope_sorted for the horizontal plane.

Hslope_2 = max(Hslope_sorted);

% -----------------------------------------------

% The next steps solve for P_sigma5, the probability of the sigma-5 threshold% being exceeded during normal operations. P_sigma5 is solved for using the% bisection method.

% P_sigma5 is the root of the expression for the balancer function% f(x) = PFA - (x*P_H_over_e) - ((1-P_H_over_e)-PB).

Appendix E Richard Broughton

192

% Where P_H_over_e and PB are the probabilities of the H_over_e and the% backstop thresholds respectively being exceeded. The root is known to lie% between 0 and 1. x1 and x2 are chosen to be approximately 0 and 1 because% the statistical functions will break down when values of exactly 0 and 1% are used.

x1 = 0.999999;x2 = 0.000001;

% cdfnorm takes the normal cumulative distribution function evaluated at% the value returned by invchi2.% invchi2 returns the inverse chi squared cumulative distribution function% with measurements-4 (degrees of freedom) at 1-x1.

P_H_over_e_vert = 2*cdfnorm(max_Vslope*sqrt(invchi2(1-x1,Visible_sats-4))/-...(EIV_TS_sigma*EIV_critical_characteristic_vert));

% The value of x necessary to balance the PFA components of the VPL's% calculated using LSR and EIV methods.

balance_function_vert = PFA - (x1*P_H_over_e_vert) - ((1-P_H_over_e_vert)*PFA/backstop_factor);

P_H_over_e_mid_vert = 2*cdfnorm(max_Vslope*sqrt(invchi2(1-x2,Visible_sats-4))/-...

(EIV_TS_sigma*EIV_critical_characteristic_vert));

balance_function_mid_vert = PFA - (x2*P_H_over_e_mid_vert) -...((1-P_H_over_e_mid_vert)*PFA/backstop_factor);

if balance_function_vert*balance_function_mid_vert >= 0.0

pause

disp(['The selected values of x1 and x2 do not bracket the root.'])

end

if balance_function_vert < 0.0

P_sigma5 = x1;

dx = x2 - x1;

Appendix E Richard Broughton

193

else

P_sigma5 = x2;

dx = x1 - x2;

end

end_loop = 0;

iteration_counter = 0;

%-----------------------------------------------------------------------% For horizontal plane

P_H_over_e_horiz = 2*cdfnorm(max_Hslope*sqrt(invchi2(1-x1,Visible_sats-4))/-...(EIV_TS_sigma*EIV_critical_characteristic_horiz));

% The value of x necessary to balance the PFA components of the HPL's% calculated using LSR and EIV methods.

balance_function_horiz = PFA - (x1*P_H_over_e_horiz) - ((1-P_H_over_e_horiz)*PFA/backstop_factor);

P_H_over_e_mid_horiz = 2*cdfnorm(max_Hslope*sqrt(invchi2(1-x2,Visible_sats-4))/-...

(EIV_TS_sigma*EIV_critical_characteristic_horiz));

balance_function_mid_horiz = PFA - (x2*P_H_over_e_mid_horiz) -...((1-P_H_over_e_mid_horiz)*PFA/backstop_factor);

if balance_function_horiz*balance_function_mid_horiz >= 0.0

pause

disp(['The selected values of x1 and x2 do not bracket the root.'])

end

if balance_function_horiz < 0.0

Appendix E Richard Broughton

194

P_sigma5 = x1;

dx = x2 - x1;

else

P_sigma5 = x2;

dx = x1 - x2;

end

end_loop = 0;

iteration_counter = 0;

% Solve iteratively for P_sigma5.

while end_loop == 0

iteration_counter = iteration_counter + 1;

dx = dx/2;

x_mid = P_sigma5 + dx;

% cdfnorm takes the normal cumulative distribution function evaluated at% the value returned by invchi2% invchi2 returns the inverse chi squared cumulative distribution function% with measurements - 4 (degrees of freedom) at 1-x1.

P_H_over_e_mid_vert = ...2*cdfnorm(max_Vslope*sqrt(invchi2(1-x_mid,Visible_sats-4))/-...

(EIV_TS_sigma*EIV_critical_characteristic_vert));

balance_function_mid_vert = PFA - (x_mid*P_H_over_e_mid_vert) - ...((1-P_H_over_e_mid_vert)*PFA/backstop_factor);

if iteration_counter == 20

end_loop = 1;

end

Appendix E Richard Broughton

195

% 20 iterations gives an accuracy on P_sigma5 of approximately 1x10^-6.

if balance_function_mid_vert == 0.0

end_loop = 1;

end

if balance_function_mid_vert < 0.0

P_sigma5 = x_mid;

end

end

P_sigma5 = x_mid;

P_H_over_e_vert = P_H_over_e_mid_vert;

%--------------------------------------------------------------------------% For horizontal plane

P_H_over_e_mid_horiz = ...2*cdfnorm(max_Hslope*sqrt(invchi2(1-x_mid,Visible_sats-4))/-...

(EIV_TS_sigma*EIV_critical_characteristic_horiz));

balance_function_mid_horiz = PFA - (x_mid*P_H_over_e_mid_horiz) - ...((1-P_H_over_e_mid_horiz)*PFA/backstop_factor);

if iteration_counter == 20

end_loop = 1;

end

% 20 iterations gives an accuracy on P_sigma5 of approximately 1x10^-6.

if balance_function_mid_horiz == 0.0

end_loop = 1;

Appendix E Richard Broughton

196

end

if balance_function_mid_horiz < 0.0

P_sigma5 = x_mid;

end

end

P_sigma5 = x_mid;

P_H_over_e_horiz = P_H_over_e_mid_horiz;

% -------------------------------------------

% Calculate "EIV_sigma5_threshold", the new threshold to be applied to the test% statistic, sigma5 for a particular satellite number (sat_num).

global EIV_sigma5_threshold

% invchi2 returns the inverse of the chi squared cumulative density function% with degrees of freedom at a value 1-P sigma5. This calls invgamma of% the gamma cdf with parameters 1-psigma5, degrees of freedom and 2.

EIV_sigma5_threshold = D(5,5)*sqrt(invchi2(1-P_sigma5,Visible_sats - 4));

% Calculate "EIV_H_over_e_threshold", the threshold to be applied to the test% statistic, H_over_e.

global EIV_H_over_e_threshold

% invnorm returns the normal cumulative distribution function at the% specified value.

EIV_H_over_e_threshold = EIV_TS_sigma*abs(invnorm(P_H_over_e_vert/2));

% Calculate "LSR_backstop", the secondary threshold acting upon the test% statistic, sigma5.

% Invchi2 returns the inverse of the chi squared cumulative distribution% function at a value (1-PFA/backstop_factor) and N-4 degrees of freedom

Appendix E Richard Broughton

197

LSR_backstop = D(5,5)*sqrt(invchi2((1-PFA/backstop_factor),Visible_sats-4));

% Calculate "VPL_PFA_component", the component of VPL due only to PFA.

if max_Vslope*EIV_sigma5_threshold < Vslope_2*LSR_backstop

VPL_PFA_component = Vslope_2*LSR_backstop/D(5,5);

else

VPL_PFA_component = max_Vslope*EIV_sigma5_threshold/D(5,5);

end

% Calculate "VPL_EIV1", the vertical protection limit calculated using the EIV% method.

VPL_EIV1 = VPL_PFA_component +( k * VDOP_EIV);

%--------------------------------------------------------------------------% Calculate "HPL_PFA_component", the component of HPL due only due to PFA% (probability of false alarm).

if max_Hslope*EIV_sigma5_threshold < Hslope_2*LSR_backstop

HPL_PFA_component = Hslope_2*LSR_backstop/D(5,5);

else

HPL_PFA_component = max_Hslope*EIV_sigma5_threshold/D(5,5);

end

% Calculate "HPL_EIV1", the horizontal protection limit calulated using the EIV% method.

HPL_EIV1 = HPL_PFA_component + (k * HDOP_EIV);

% --------------------------------------

% The next steps solve for "lambda_solution" using the secant method.% "lambda_solution" is the value of the non-centrality parameter of the% biased, non-central chi-squared distribution of the test statistic with

Appendix E Richard Broughton

198

% (NUM_SATS-4) degrees of freedom for which the probability of a value lower% than EIV_sigma_threshold/D_matrix(5,5) is equal to PMD.

lambda_linear=(EIV_sigma5_threshold/D(5,5))^2;

lambda_solution=(LSR_backstop/D(5,5))^2;

% cdfcnx2 takes the non central chi squared cumulative distribution% function, with noncentrality parameter (sigma5/d5), degrees of% freedom and at values lambda (both linear and solution).

balance_function_linear = ...cdfncx2((EIV_sigma5_threshold/D(5,5))^2, ...Visible_sats-4, lambda_linear) - 2.5*PMD;

balance_function = ...cdfncx2((EIV_sigma5_threshold/D(5,5))^2, ...Visible_sats-4, lambda_solution) - 2.5*PMD;

end_loop = 0;

iteration_counter = 0;

% Solve iteratively for lambda_solution.

while end_loop == 0

iteration_counter = iteration_counter+1;

dlambda = (lambda_linear-lambda_solution)*balance_function/ ...(balance_function - balance_function_linear);

lambda_linear = lambda_solution;

balance_function_linear = balance_function;

lambda_solution = lambda_solution+dlambda;

balance_function = cdfncx2((EIV_sigma5_threshold/D(5,5))^2, ...Visible_sats-4, lambda_solution) - 2.5*PMD;

if iteration_counter == 20

Appendix E Richard Broughton

199

end_loop = 1;

end

if abs(dlambda) < 0.1

end_loop = 1;

end

end

% Calculate the values of Bias1 and Bias2, the brackets within which we% wish to solve for the maximum value of VPL. Bias1 is the satellite bias% which would cause the EIV_sigma5_threshold to be transgressed and Bias2% is the satellite bias calculated using a non-centrality parameter equal% to lambda_solution.

Bias1_vert = ...(EIV_sigma5_threshold*(1/ C (critical_satellite_vert,critical_satellite_vert)))/...(D(5,5)*sqrt(1-P(critical_satellite_vert,critical_satellite_vert)));

Bias2_vert = ...sqrt(lambda_solution)*(1/ C (critical_satellite_vert,critical_satellite_vert))/...sqrt(1-P(critical_satellite_vert,critical_satellite_vert));

Bias1_horiz = ...(EIV_sigma5_threshold*(1/ C (critical_satellite_horiz,critical_satellite_horiz)))/...(D(5,5)*sqrt(1-P(critical_satellite_horiz,critical_satellite_horiz)));

Bias2_horiz = ...sqrt(lambda_solution)*(1/ C (critical_satellite_horiz,critical_satellite_horiz))/...sqrt(1-P(critical_satellite_horiz,critical_satellite_horiz));

% Calculate the value of "Bias_max_VPL" and "Bias_max_HPL", the value of% the satellite bias for which the value of VPL/HPL is at a the maximum.% This value is solved for using the Van-Wijngaarden/Dekker/Brent method.

% fminbnd finds the minimum of a function of one variable with fixed% intervals.

Bias_max_VPL_EIV = fminbnd(@test,Bias1_vert,Bias2_vert);Bias_max_HPL_EIV = fminbnd(@test,Bias1_horiz,Bias2_horiz);

Appendix E Richard Broughton

200

% Using this value of Bias_max_VPL, calculate the maximum value of VPL.

% Lambda is a statistical measure of noncentrality in the chi squared% distribution

lambda_VPL = (Bias_max_VPL_EIV*...sqrt(1-P(critical_satellite_vert,critical_satellite_vert))/...sqrt(1/W(critical_satellite_vert,critical_satellite_vert)))^2;

% cdfncx2 returns the noncentral chi squared cumulative distribution function,% with values, degrees of freedom and noncentrtality parameter.

P_sub_sigma5_VPL = cdfncx2((EIV_sigma5_threshold/D(5,5))^2,...Visible_sats - 4,lambda_VPL);

% invnorm returns the inverse cumulative distribution function with mean=0,% standard deviation=1 and value=prob(PMD)

P_PMD_Component_VPL = PMD/P_sub_sigma5_VPL;

k1 = abs(invnorm(P_PMD_Component_VPL,0,1));

VPL_EIV2 = (Bias_max_VPL_EIV * abs((K(3,critical_satellite_vert)))...+ (k1 * VDOP_EIV));

% Using this value of Bias_max_HPL, calculate the maximum value of HPL.

% Lambda is a statistical measure of noncentrality in the chi squared% distribution

lambda_HPL = (Bias_max_HPL_EIV*...sqrt(1-P(critical_satellite_horiz,critical_satellite_horiz))/...sqrt(1/W(critical_satellite_horiz,critical_satellite_horiz)))^2;

% cdfncx2 returns the noncentral chi squared cumulative distribution function,% with values, degrees of freedom and noncentrtality parameter.

P_sub_sigma5_HPL = cdfncx2((EIV_sigma5_threshold/D(5,5))^2,...Visible_sats - 4,lambda_HPL);

% invnorm returns the inverse cumulative distribution function with mean=0,% standard deviation=1 and value=prob(PMD)

Appendix E Richard Broughton

201

P_PMD_Component_HPL = PMD/P_sub_sigma5_HPL;

k2 = abs(invnorm(P_PMD_Component_HPL,0,1));

HPL_EIV2 = (Bias_max_HPL_EIV * ...abs(sqrt((K(1,critical_satellite_horiz))^2 +...(K(2,critical_satellite_horiz))^2)) + (k2 * HDOP_EIV));

% END OF EIV RAIM METHOD CALCULATIONS.

%--------------------------------------------------------------------------% Define the detection state flag for the LSR RAIM method.% 0 = Normal Operations% 1 = False Alarm% 2 = Good Detection% 3 = Missed Detection

% For Vertical error

LSR_detection_state_vertical = 0;

if vertical_error_LSR > VPL_LSR

if RootWSSE > decision_threshold_LSR

LSR_detection_state_vertical = 2;

else

LSR_detection_state_vertical = 3;

end

elseif vertical_error_LSR < VPL_LSR

if RootWSSE > decision_threshold_LSR

LSR_detection_state_vertical = 1;

else

LSR_detection_state_vertical = 0;

Appendix E Richard Broughton

202

end

end

%------------------------------------------------------

% For Horizontal error

LSR_detection_state_horizontal = 0;

if horizontal_error_LSR > HPL_LSR

if RootWSSE > decision_threshold_LSR

LSR_detection_state_horizontal = 2;

elseLSR_detection_state_horizontal = 3;

end

elseif horizontal_error_LSR < HPL_LSR

if RootWSSE > decision_threshold_LSR

LSR_detection_state_horizontal = 1;

else

LSR_detection_state_horizontal = 0;

end

end

%--------------------------------------------------------------------------% Define the detection state flag for the EIV RAIM method.% 0 = Normal operations% 1 = False Alarm% 2 = Good Detection% 3 = Missed Detection

Appendix E Richard Broughton

203

EIV_detection_state_vertical = 3;

if vertical_error_EIV > VPL_EIV2 & sigma5 > LSR_backstop

EIV_detection_state_vertical = 2;

elseif vertical_error_EIV > VPL_EIV2 & sigma5 > ...EIV_sigma5_threshold & H_over_e > EIV_H_over_e_threshold

EIV_detection_state_vertical = 2;

elseif vertical_error_EIV < VPL_EIV2 & sigma5 > ...EIV_sigma5_threshold & H_over_e > EIV_H_over_e_threshold

EIV_detection_state_vertical = 1;

elseif vertical_error_EIV < VPL_EIV2 & ...(sigma5 < EIV_sigma5_threshold | H_over_e < EIV_H_over_e_threshold)

EIV_detection_state_vertical = 0;

end

%------------------------------------------------------

% For Horizontal error

EIV_detection_state_horizontal = 3;

if horizontal_error_EIV > HPL_EIV2 & sigma5 > LSR_backstop

EIV_detection_state_horizontal = 2;

elseif horizontal_error_EIV > HPL_EIV2 & sigma5 > ...EIV_sigma5_threshold & H_over_e > EIV_H_over_e_threshold

EIV_detection_state_horizontal = 2;

elseif horizontal_error_EIV < HPL_EIV2 & sigma5 > ...EIV_sigma5_threshold & H_over_e > EIV_H_over_e_threshold

EIV_detection_state_horizontal = 1;

Appendix E Richard Broughton

204

elseif horizontal_error_EIV < HPL_EIV2 & ...(sigma5 < EIV_sigma5_threshold | H_over_e < EIV_H_over_e_threshold)

EIV_detection_state_horizontal = 0;

end

% ---------------------------------------------------------------------------

% Define plotting parameters, allows a line to be plotted

for n = 1:5

vertical_error_LSR1(1,n) = vertical_error_LSR;vertical_error_EIV1(1,n) = vertical_error_EIV;horizontal_error_LSR1(1,n) = horizontal_error_LSR;horizontal_error_EIV1(1,n) = horizontal_error_EIV;VPL_LSR1(1,n) = VPL_LSR;VDOP_LSR1(1,n) = VDOP_LSR;VDOP_EIV1(1,n) = VDOP_EIV;VPL_EIV21(1,n) = VPL_EIV2 ;HPL_LSR1(1,n) = HPL_LSR;HDOP_LSR1(1,n) = HDOP_LSR;HDOP_EIV1(1,n) = HDOP_EIV;HPL_EIV21(1,n) = HPL_EIV2 ;LSR_detection_state1_vertical(1,n) = LSR_detection_state_vertical;EIV_detection_state1_vertical(1,n) = EIV_detection_state_vertical;LSR_detection_state1_horizontal(1,n) = LSR_detection_state_horizontal;EIV_detection_state1_horizontal(1,n) = EIV_detection_state_horizontal;RootWSSE1(1,n) = RootWSSE;decision_threshold_LSR1(1,n) = decision_threshold_LSR;LSR_backstop1(1,n) = LSR_backstop;sigma51(1,n) = sigma5;EIV_sigma5_threshold1(1,n) = EIV_sigma5_threshold;H_over_e1(1,n) = H_over_e;EIV_H_over_e_threshold1(1,n) = EIV_H_over_e_threshold;

end

% Produce plots from the data calculated above.

% Top left plot, vertical error, VPL_LSR and 5.33*VDOP_LSR against time.subplot(4,2,1)

Appendix E Richard Broughton

205

hold on;plot(1:5,vertical_error_LSR1,'r-')plot(1:5,VPL_LSR1,'g--')plot(1:5,5.33*(VDOP_LSR1),'b-.'),title...

('Vert Error LSR (red-), VPL LSR (green--) & 5.33*VDOP LSR (blue-.) versustime'),ylabel('Vertical Distance (m)'),hold off;

% Top right plot, vertical error, VPL_EIV2 and 5.33*VDOP_EIV against time.subplot(4,2,2)hold on;plot(1:5,vertical_error_EIV1,'r-')plot(1:5,VPL_EIV21,'c--')plot(1:5,5.33*(VDOP_EIV1),'b-.'),title...

('Vert Error EIV (red-), VPL EIV (cyan--) & 5.33*VDOP EIV (blue-.) versus time'),ylabel('Vertical Distance (m)'),hold off;

% Top centre left plot, horizontal error, HPL_LSR and 5.33*HDOP_LSR against time.subplot(4,2,3)hold on;plot(1:5,horizontal_error_LSR1,'r-')plot(1:5,HPL_LSR1,'g--')plot(1:5,5.33*(HDOP_LSR1),'b-.'),title...

('Horiz Error LSR (red-), HPL LSR (green--) & 5.33*HDOP LSR (blue-.)'),ylabel('Horizontal Distance (m)'),hold off;

% Top centre right plot, horizontal error, HPL_EIV2 and 5.33*HDOP_EIV againsttime.subplot(4,2,4)hold on;plot(1:5,horizontal_error_EIV1,'r-')plot(1:5,HPL_EIV21,'c--')plot(1:5,5.33*(HDOP_EIV1),'b-.'),title...

('Horiz Error EIV (red-), HPL EIV (cyan--) & 5.33*HDOP EIV (blue-.)'),ylabel('Horizontal Distance (m)'),hold off;

Appendix E Richard Broughton

206

% Bottom Centre left plot, LSR_outlier_flag against time.subplot(4,2,5)hold on;plot(1:5,LSR_detection_state1_vertical,'r-'),plot(1:5,LSR_detection_state1_horizontal,'b--'),title...

('LSR Detection State vertical(red) & horizontal(blue)'),ylabel('LSR Detection State'),hold off;

% Bottom centre right plot, EIV_outlier_flag against time.subplot(4,2,6)hold on;plot(1:5,EIV_detection_state1_vertical,'r-'),plot(1:5,EIV_detection_state1_horizontal,'b--'),title...

('EIV Detection State Vertical(red) & horizontal(blue)'),ylabel('EIV Detection State'),hold off;

% Bottom left plot.subplot(4,2,7)hold on;plot(1:5,RootWSSE1,'g-')plot(1:5,decision_threshold_LSR1,'r--'),title...

('RootWSSE (green-), decision threshold (red--)'),ylabel('value'),hold off;

% Bottom right plot.subplot(4,2,8)hold on;plot(1:5,LSR_backstop1,'g:')plot(1:5,sigma51,'c-')plot(1:5,EIV_sigma5_threshold1,'r:')plot(1:5,H_over_e1,'k-')plot(1:5,EIV_H_over_e_threshold1,'m-'),title...('LSR backstop (g-), sigma5 (c-), sigma5 thresh (r.), H/e (bk-), H/e thresh (m.)'),ylabel('value'),hold off;

Appendix E Richard Broughton

207

% -------------------------------------------------------------------------% Prints report

OUTPUTS_MATRIX = [Visible_satsbias_vertbias_horizAzimuth_errorElevation_errorVDOP_EIVVDOP_LSRHDOP_EIVHDOP_LSRRootWSSEdecision_threshold_LSRH_over_eEIV_H_over_e_thresholdsigma5EIV_sigma5_thresholdLSR_backstopVPL_EIV2VPL_LSRHPL_EIV2HPL_LSRvertical_error_EIVhorizontal_error_EIVvertical_error_LSRhorizontal_error_LSREIV_detection_state_verticalEIV_detection_state_horizontalLSR_detection_state_verticalLSR_detection_state_horizontal

]

save outputs OUTPUTS_MATRIX -ascii

Appendix E Richard Broughton

208

bias_plotter.m

% bias_plotter.m v3.0% Written by Richard Broughton 20/08/2003

% Having loaded a txt file with Range, Azimuth (rad), Elevation (rad), UERE this% program calculates the observation matrix.% Re configured program for Galileo and GPS data

% This program calculates errors and test statistics for 3 biases: 0, 5m% and 10m on the vertical and horizontal pin satellites.% The user can put a bias to the vertical and horizontal pin satellite,% which will add additional bias to all the results.

clear;

% This part of the program reads the txt for Galileo

load Galileo_GPS_access2.txt

% Load the required data format as a table: Range, Azimuth, Elevation, UERE

Range = Galileo_GPS_access2(:,1);Azimuth = Galileo_GPS_access2(:,2);Elevation = Galileo_GPS_access2(:,3);UERE = Galileo_GPS_access2(:,4);

% Count the number of visible satellites

Visible_sats = length(Azimuth); % Defines the number satellites

% -------------------------------------------------------------------------

% User inputs% User enters a value of "PFA", the probability of false alarms.

PFA = input...('Enter the desired value of PFA, the probability of false alarms> ');

% User enters the desired value of "PMD", the probability of missed-detection.

global PMD

Appendix E Richard Broughton

209

PMD = input...('Enter the desired value of PMD, the probability of missed-detection> ');

% User enters a value of "backstop_factor" which is the factor equal to PFA/PB% where PB is the probability that the backstop threshold will be exceeded.

backstop_factor = 1 - PFA*0.01; % Still under analysis

% The user is prompted for a satellite bias value

bias_vert = input('Enter the desired bias for the vertical pin satellite in metres> ');bias_horiz = input('Enter the desired bias for the horizontal pin satellite in metres> ');

% -------------------------------------------------------------------------% Input matrix generation% produces the G matrix: North, East, Up, Clock

for i = 1:1:Visible_sats

G(i,1) = cos (Elevation(i,1)) * sin (Azimuth(i,1));G(i,2) = cos (Elevation(i,1)) * cos (Azimuth(i,1));G(i,3) = sin (Elevation(i,1));G(i,4) = 1;

end

% Produces W matrix from UERE

for i = 1:1:Visible_sats

W(i,1) = (1/(UERE(i,1)))^2;

end

W = diag(W);

% Produces C matrix from UERE

for i = 1:1:Visible_sats

C(i,1) = (1/(UERE(i,1)));

Appendix E Richard Broughton

210

end

C = diag(C);

% Create D matrix, already prepared in the correct format as a list

load D.txt

D = diag(D);

% -------------------------------------------------------------------------

% Monte Carlo loop

for z = 1:1:5000

% -------------------------------------------------------------------------

% Generate noise using 2 random numbers

for i = 1:1:Visible_sats

Noise(i,1) = (-2*log(rand(1))*cos(2*pi*rand(1)));

end

% Produce simulated pseudorange matrix

for i = 1:1:Visible_sats

Pseudorange(i,1) = Range(i,1) + (UERE(i,1) * Noise(i,1));

end

% Produces y vector: y = Range - Pseudorange

for i = 1:1:Visible_sats

y(i,1) = Pseudorange(i,1) - Range(i,1);

end

%-----------------------------------------------------------------------

Appendix E Richard Broughton

211

% Weighted LSR calculations

% Need to define K matrix from G and W matrices, Calculate the "K-matrix",% the weighted pseudo-inverse of the G-matrix.

K = (G'*W*G)^-1*G'*W; % For LSR algorithm

% Calculate the "P matrix", this is the Observation% matrix multiplied by the K matrix.

global P

P = G * K;

% ------------------------------------------------------------------------

% To allow bias to be added to the pin satellite, it must first be found which% is the critical satellite (highest observable).

% Create a Nx2 matrix containing the values of Vslope and satellite% number for each satellite in view. Also create a Nx1 column vector% containing the bias rate for each satellite.

for sat_num = 1:Visible_sats

bias_rates_vector(sat_num,1) = sqrt(1-P(sat_num,sat_num));

Vslope(sat_num,:) = [abs((K(3,sat_num))*sqrt(1/W(sat_num,sat_num)).../bias_rates_vector(sat_num,1)) sat_num];

Hslope(sat_num,:) = [abs(sqrt((K(1,sat_num))^2 + (K(2,sat_num))^2))...* sqrt(1/W(sat_num,sat_num)) / bias_rates_vector(sat_num,1) sat_num];

end

% Sorts the rows of Vslope as a group in ascending order, based on the% column specified, in this case 1.

Vslope_sorted = sortrows(Vslope,1);Hslope_sorted = sortrows(Hslope,1);

% Find the maximum value of Vslope.

Appendix E Richard Broughton

212

max_Vslope = max(Vslope(:,1));max_Hslope = max(Hslope(:,1));

% Find the number of the critical satellite (that with the highest Vslope).

global critical_satellite_vertglobal critical_satellite_horiz

critical_satellite_vert = Vslope_sorted(Visible_sats,2);critical_satellite_horiz = Hslope_sorted(Visible_sats,2);

% Need to create a bias matrix all zeros except the critical satellite

bias_matrix_vert = zeros(Visible_sats,1);bias_matrix_horiz = zeros(Visible_sats,1);

% Add bias to the row of the critical satellite

bias_matrix_vert(critical_satellite_vert,1) = bias_vert;bias_matrix_horiz(critical_satellite_horiz,1) = bias_horiz;

% Adds bias to y vector

y_vert = y + bias_matrix_vert;y_horiz = y + bias_matrix_horiz;

% Declared variables to be used at the end of the j loop

bias_5m_vert = zeros(Visible_sats,1);bias_5m_horiz = zeros(Visible_sats,1);

for j = 1:1:3

% --------------------------------------------% the following steps are used in the EIV RAIM method

% Create the "augmented matrix", formed from the pre and post multiplication% of the concatenated G and y matrices by the C and D matrices respectively.

augmented_vert = C * [G y_vert] * D;augmented_horiz = C * [G y_horiz] * D;

Appendix E Richard Broughton

213

% Perform singular value decomposition upon the augmented matrix.% In this case (augmented, 0) produces 'economy size' decomposition.% If augmented is a N by n matrix then SVD computes only the first n% columns of V and sigma is n by n.

[U_vert, SIGMA_vert, V_vert] = svd(augmented_vert, 0);[U_horiz, SIGMA_horiz, V_horiz] = svd(augmented_horiz, 0);

% Define test statistic "sigma-5", taken from the SIGMA-matrix.

sigma5_vert = SIGMA_vert(5,5);sigma5_horiz = SIGMA_horiz(5,5);

% Sigma5 table generator

sigma5_table_vert(z,j) = sigma5_vert;sigma5_table_horiz(z,j) = sigma5_horiz;

% Calculate the x-matrix according to the total least squares method.

x_vector_tls_vert = -D(1:4,1:4)*V_vert(1:4,5)/(V_vert(5,5)*D(5,5));x_vector_tls_horiz = -D(1:4,1:4)*V_horiz(1:4,5)/(V_horiz(5,5)*D(5,5));

% Derive the matrix containing the mismatches in the model and the% pseudo-range. H/e test statistic

Htls_etls_matrix_vert = -sigma5_vert*inv(C)*U_vert(:,5)*V_vert(:,5)'*inv(D);Htls_etls_matrix_horiz = -sigma5_horiz*inv(C)*U_horiz(:,5)*V_horiz(:,5)'*inv(D);

% Create the "Htls-matrix", containing the mismatches in the model.

Htls_matrix_vert = Htls_etls_matrix_vert(:,1:4);Htls_matrix_horiz = Htls_etls_matrix_horiz(:,1:4);

% Create the "etls-vector", containing the mismatches in the pseudo-range.

etls_vector_vert = Htls_etls_matrix_vert(:,5);etls_vector_horiz = Htls_etls_matrix_horiz(:,5);

% Calculate the test statistic, being the ratio of the norms of the% Htls-matrix and the etls-matrix.

H_over_e_vert = norm(Htls_matrix_vert,'fro')/norm(etls_vector_vert);

Appendix E Richard Broughton

214

H_over_e_horiz = norm(Htls_matrix_horiz,'fro')/norm(etls_vector_horiz);

% H/e table generator

H_over_e_table_horiz(z,j) = H_over_e_horiz;H_over_e_table_vert(z,j) = H_over_e_vert;

% -------------------------------------------------------------------------% Calculate horizontal and vertical errors for EIV method

vertical_error_EIV = sqrt((x_vector_tls_vert(3,1))^2);

% Vertical error table for each simulation

vertical_error_table(z,j) = vertical_error_EIV;

% Horizontal

horizontal_error_EIV = sqrt(x_vector_tls_horiz(1,1)^2 + x_vector_tls_horiz(2,1)^2);

% Horizontal error table for each simulation

horizontal_error_table(z,j) = horizontal_error_EIV;

% Add 5m bias at the end of the loop

bias_5m_vert(critical_satellite_vert,1) = 5;bias_5m_horiz(critical_satellite_horiz,1) = 5;

y_vert = y_vert + bias_5m_vert;y_horiz = y_horiz + bias_5m_horiz;

end

% -------------------------------------------------------------------------% Produce plots from the data calculated above.

% Top left plot, vertical error, against H/e.subplot(2,2,1)hold on;plot(H_over_e_table_vert(z,1),vertical_error_table(z,1),'r.')plot(H_over_e_table_vert(z,2),vertical_error_table(z,2),'b.')plot(H_over_e_table_vert(z,3),vertical_error_table(z,3),'g.')

Appendix E Richard Broughton

215

title...('Vert Error vs H/e'),

ylabel('Vertical Error (m)'),xlabel('H/e test stat'),hold off;

% Top right plot, vertical error, against sigma5.subplot(2,2,2)hold on;plot(sigma5_table_vert(z,1),vertical_error_table(z,1),'r.')plot(sigma5_table_vert(z,2),vertical_error_table(z,2),'b.')plot(sigma5_table_vert(z,3),vertical_error_table(z,3),'g.')title...

('Vert Error vs Sigma5'),ylabel('Vertical Error (m)'),xlabel('Sigma5 test stat'),hold off;

% Bottom left plot, horizontal error, against H/e.subplot(2,2,3)hold on;plot(H_over_e_table_horiz(z,1),horizontal_error_table(z,1),'r.')plot(H_over_e_table_horiz(z,2),horizontal_error_table(z,2),'b.')plot(H_over_e_table_horiz(z,3),horizontal_error_table(z,3),'g.')title...

('Horiz Error vs H/e'),ylabel('Horizontal Error (m)'),xlabel('H/e test stat'),hold off;

% Bottom right plot, horizontal error, against sigma5.subplot(2,2,4)hold on;plot(sigma5_table_horiz(z,1),horizontal_error_table(z,1),'r.')plot(sigma5_table_horiz(z,2),horizontal_error_table(z,2),'b.')plot(sigma5_table_horiz(z,3),horizontal_error_table(z,3),'g.')title...

('Horiz Error vs Sigma5'),ylabel('Horizontal Error (m)'),xlabel('Sigma5 test stat'),hold off;

end

Appendix E Richard Broughton

216

Index of functions used in the above programs

cdfchi2.m

function p = cdfchi2(x,v)%CDFCHI2 Chi-square cumulative distribution function.% P = CHI2CDF(X,V) returns the chi-square cumulative distribution% function with V degrees of freedom at the values in X.% The chi-square density function with V degrees of freedom,% is the same as a gamma density function with parameters V/2 and 2.%% The size of P is the common size of X and V. A scalar input% functions as a constant matrix of the same size as the other input.

% Call the gamma distribution function.p = cdfgam(x,v/2,2);

cdfgam.m

function p = cdfgam(x,a,b)%CDFGAM Gamma cumulative distribution function.% P = CDFGAM(X,A,B) returns the gamma cumulative distribution% function with parameters A and B at the values in X.% The size of P is the common size of the input arguments. A scalar input% functions as a constant matrix of the same size as the other inputs.%% Some references refer to the gamma distribution with a single% parameter. This corresponds to the default of B = 1.%% GAMMAINC does computational work.

% Initialize P to zero.p = zeros(size(x));

% Return NaN if the arguments are outside their respective limits.p(a <= 0 | b <= 0) = NaN;

k = find(x > 0 & ~(a <= 0 | b <= 0));if any(k),

p(k) = gammainc(x(k) ./ b(k),a(k));end

Appendix E Richard Broughton

217

% Make sure that round-off errors never make P greater than 1.p(p > 1) = 1;

% If we have NaN or Inf, fix if possiblek = ~isfinite(p);if (any(k)), p(x>=sqrt(realmax)) = 1; end

cdfncx2.m

function p = cdfncx2(x,v,delta)%CDFNCX2 Noncentral chi-square cumulative distribution function (cdf).% P = CDFNCX2(X,V,DELTA) Returns the noncentral chi-square cdf with V% degrees of freedom and noncentrality parameter, DELTA, at the values% in X.%% The size of P is the common size of the input arguments. A scalar input% functions as a constant matrix of the same size as the other inputs.

% Initialize P to zero.p = zeros(size(x));

p(x <= 0) = 0;p(delta < 0) = NaN; % can't have negative non-centrality parameter.k = find((x > 0) & (delta >=0));k1 = k;hdelta = delta(k)/2; % this is used in the loop, pre-compute.v = v(k);x = x(k);x1 = x; % make a copy to be used when reverse direction.v1 = v;hdelta1 = hdelta;

% when non-centrality parameter is very large, the initial values of% the poisson numbers used in the approximation are very small,% smaller than epsilon. This would cause premature convergence. To% avoid that, we start from counter=hdelta, which is the peak of the% poisson numbers, and go in both directions.

counter = floor(hdelta);crit = sqrt(eps);

Appendix E Richard Broughton

218

% Sum the series.% In principle we are going to sum terms of the form% poisspdf(counter,hdelta).*chi2cdf(x,v+2*counter)% but we will compute these factors from scratch just once,% and update them each time using a recurrence formula.P = pdfpoiss(counter,hdelta);C = cdfchi2(x,v+2*counter);E = exp((v/2+counter-1).*log(x/2) - x/2 - gammaln(v/2+counter));P0 = P;C0 = C;E0 = E;while ~isempty(counter)

pplus = P.*C;j = isnan(pplus);if any(j(:))

if all(j(:)), break; endj = ~j;x = x(j);v = v(j);hdelta = hdelta(j);counter = counter(j);k = k(j);pplus = pplus(k);

endp(k) = p(k) + pplus; % accumulate p for k indicesj = find(pplus > p(k)*crit);if isempty(j) % no more computation needed in this direction

break;endx = x(j);v = v(j);hdelta = hdelta(j);counter = counter(j) + 1;k = k(j);P = P(j) .* hdelta ./ counter;E = E(j) .* (x/2) ./ (v/2+counter-1);C = C(j) - E;

end

counter = floor(hdelta1) - 1; % set counter back just below the peak;j = find(counter>=0); % sum down toward zeroif isempty(j)

Appendix E Richard Broughton

219

return;end

% Now process in the other directionx = x1(j);v = v1(j);hdelta = hdelta1(j);k = k1(j);counter = counter(j);P = P0(j) .* (counter+1) ./ hdelta;E = E0(j);C = C0(j) + E;while ~isempty(counter)

pplus = P.*C;j = isnan(pplus);if any(j(:))

if all(j(:)), break; endj = ~j;x = x(j);v = v(j);hdelta = hdelta(j);counter = counter(j);k = k(j);pplus = pplus(k);

endp(k) = p(k) + pplus; % accumulate p for k indicesj = find(pplus>p(k)*eps & counter>0);if isempty(j) % no more computation needed in this direction

break;endx = x(j);v = v(j);hdelta = hdelta(j);counter = counter(j) - 1;k = k(j);P = P(j) .* (counter+1) ./ hdelta;E = E(j) .* (v/2+counter+1) ./ (x/2);C = C(j) + E;

end

Appendix E Richard Broughton

220

cdfnorm.m

function [p,plo,pup] = cdfnorm(x,mu,sigma,pcov,alpha)%NORMCDF Normal cumulative distribution function (cdf).% P = NORMCDF(X,MU,SIGMA) returns the cdf of the normal distribution with% mean MU and standard deviation SIGMA, evaluated at the values in X.% The size of P is the common size of X, MU and SIGMA. A scalar input% functions as a constant matrix of the same size as the other inputs.% Default values for MU and SIGMA are 0 and 1, respectively.% [P,PLO,PUP] = NORMCDF(X,MU,SIGMA,PCOV,ALPHA) produces confidence% bounds for P when the input parameters MU and SIGMA are estimates. PCOV is a% 2-by-2 matrix containing the covariance matrix of the estimated parameters.% ALPHA has a default value of 0.05, and specifies 100*(1-ALPHA)% confidence% bounds. PLO and PUP are arrays of the same size as P containing the lower% and upper confidence bounds.

if nargin < 2mu = 0;

endif nargin < 3

sigma = 1;end

% More checking if we need to compute confidence bounds.if nargout>1

if nargin<4error('Must provide covariance matrix to compute confidence bounds.');

endif ~isequal(size(pcov),[2 2])

error('Covariance matrix must have 2 rows and columns.');endif nargin<5

alpha = 0.05;elseif ~isnumeric(alpha) || numel(alpha)~=1 || alpha<=0 || alpha>=1

error('ALPHA must be a scalar between 0 and 1.');end

end

% Return NaN for out of range parameters.sigma(sigma <= 0) = NaN;

Appendix E Richard Broughton

221

tryz = (x-mu) ./ sigma;

catcherror('Non-scalar arguments must match in size.');

end

% Use the complementary error function, rather than .5*(1+erf(z/sqrt(2))),% to produce accurate near-zero results for large negative x.p = 0.5 * erfc(-z ./ sqrt(2));

% Compute confidence bounds if requested.if nargout>=2

zvar = (pcov(1,1) + 2*pcov(1,2)*z + pcov(2,2)*z.^2) ./ (sigma.^2);;if any(zvar<0)

error('PCOV must be a positive semi-definite matrix.');endnormz = -norminv(alpha/2);halfwidth = normz * sqrt(zvar);zlo = z - halfwidth;zup = z + halfwidth;

plo = 0.5 * erfc(-zlo./sqrt(2));pup = 0.5 * erfc(-zup./sqrt(2));

end

invchi2.m

function x = invchi2(p,v);%INVCHI2 Inverse of the chi-square cumulative distribution function (cdf).% X = INVCH2(P,V) returns the inverse of the chi-square cdf with V% degrees of freedom at the values in P. The chi-square cdf with V% degrees of freedom, is the gamma cdf with parameters V/2 and 2.% The size of X is the common size of P and V. A scalar input% functions as a constant matrix of the same size as the other input.

% Call the gamma inverse function.x = invgam(p,v/2,2);

% Return NaN if the degrees of freedom is not positive.k = (v <= 0);if any(k(:))

x(k) = NaN;end

Appendix E Richard Broughton

222

invgam.m

function x = invgam(p,a,b);%INVGAM Inverse of the gamma cumulative distribution function (cdf).% X = INVGAM(P,A,B) returns the inverse of the gamma cdf with% parameters A and B, at the probabilities in P.%% The size of X is the common size of the input arguments. A scalar input% functions as a constant matrix of the same size as the other inputs.%% GAMINV uses Newton's method to converge to the solution.

% Initialize X to zero.x = zeros(size(p));

k = find(p<0 | p>1 | a <= 0 | b <= 0);if any(k),

tmp = NaN;x(k) = tmp(ones(size(k)));

end

% The inverse cdf of 0 is 0, and the inverse cdf of 1 is 1.k0 = find(p == 0 & a > 0 & b > 0);if any(k0),

x(k0) = zeros(size(k0));end

k1 = find(p == 1 & a > 0 & b > 0);if any(k1),

tmp = Inf;x(k1) = tmp(ones(size(k1)));

end

% Newton's Method% Permit no more than count_limit interations.count_limit = 100;count = 0;

k = find(p > 0 & p < 1 & a > 0 & b > 0);if (~any(k(:))), return; endpk = p(k);

Appendix E Richard Broughton

223

% Supply a starting guess for the iteration.% Use a method of moments fit to the lognormal distribution.mn = a(k) .* b(k);v = mn .* b(k);temp = log(v + mn .^ 2);mu = 2 * log(mn) - 0.5 * temp;sigma = -2 * log(mn) + temp;xk = exp(invnorm(pk,mu,sigma));

h = ones(size(pk));

% Break out of the iteration loop for three reasons:% 1) the last update is very small (compared to x)% 2) the last update is very small (compared to sqrt(eps))% 3) There are more than 100 iterations. This should NEVER happen.

while(any(abs(h) > sqrt(eps)*abs(xk)) & max(abs(h)) > sqrt(eps) ...& count < count_limit),

count = count + 1;h = (cdfgam(xk,a(k),b(k)) - pk) ./ pdfgam(xk,a(k),b(k));xnew = xk - h;% Make sure that the current guess stays greater than zero.% When Newton's Method suggests steps that lead to negative guesses% take a step 9/10ths of the way to zero:ksmall = find(xnew < 0);if any(ksmall),

xnew(ksmall) = xk(ksmall) / 10;h = xk-xnew;

endxk = xnew;

end

% Store the converged value in the correct placex(k) = xk;

if count == count_limit,fprintf('\nWarning: INVGAM did not converge.\n');str = 'The last step was: ';outstr = sprintf([str,'%13.8f'],h);fprintf(outstr);

end

Appendix E Richard Broughton

224

invnorm.m

function [x,xlo,xup] = invnorm(p,mu,sigma,pcov,alpha)%INVNORM Inverse of the normal cumulative distribution function (cdf).% X = INVNORM(P,MU,SIGMA) returns the inverse cdf for the normal% distribution with mean MU and standard deviation SIGMA, evaluated at% the values in P. The size of X is the common size of the input% arguments. A scalar input functions as a constant matrix of the same% size as the other inputs.% Default values for MU and SIGMA are 0 and 1, respectively.%% [X,XLO,XUP] = INVNORM(P,MU,SIGMA,PCOV,ALPHA) produces confidence% bounds for X when the input parameters MU and SIGMA are estimates. PCOV is a% 2-by-2 matrix containing the covariance matrix of the estimated parameters.% ALPHA has a default value of 0.05, and specifies 100*(1-ALPHA)% confidence% bounds. XLO and XUP are arrays of the same size as X containing the lower% and upper confidence bounds.

if nargin < 2mu = 0;

endif nargin < 3

sigma = 1;end

% More checking if we need to compute confidence bounds.if nargout>2

if nargin<4error('Must provide covariance matrix to compute confidence bounds.');

endif ~isequal(size(pcov),[2 2])

error('Covariance matrix must have 2 rows and columns.');endif nargin<5

alpha = 0.05;elseif ~isnumeric(alpha) || numel(alpha)~=1 || alpha<=0 || alpha>=1

error('ALPHA must be a scalar between 0 and 1.');end

end

% Return NaN for out of range parameters or probabilities.sigma(sigma <= 0) = NaN;p(p < 0 | 1 < p) = NaN;

Appendix E Richard Broughton

225

x0 = -sqrt(2).*erfcinv(2*p);try

x = sigma.*x0 + mu;catch

error('Non-scalar arguments must match in size.');end

% Compute confidence bounds if requested.if nargout>=2

xvar = pcov(1,1) + 2*pcov(1,2)*x0 + pcov(2,2)*x0.^2;if any(xvar<0)

error('PCOV must be a positive semi-definite matrix.');endnormz = -norminv(alpha/2);halfwidth = normz * sqrt(xvar);xlo = x - halfwidth;xup = x + halfwidth;

end

one_hundred_minus_VPL.m

function [hundred_minus_VPL] = one_hundred_minus_VPL(bias_vert)

% This function calculates the value of 100 minus VPL for a given satellite bias.

global P W EIV_sigma5_threshold D ...critical_satellite Visible_sats PMD K VDOP EIV_H_over_e_threshold

EIV_critical_characteristic EIV_TS_sigma

lambda = (bias_vert*sqrt(1-P(critical_satellite,critical_satellite))/...sqrt(1/W(critical_satellite,critical_satellite)))^2;

% Trial modification to include probability of missed detection on H/e% Threshold P_subHe_TS = normcdf(EIV_H_over_e_threshold,(Bias *abs((K_matrix(3,critical_satellite)))/...% EIV_critical_characteristic),EIV_TS_sigma) - normcdf(-EIV_H_over_e_threshold,...% (Bias * abs((K_matrix(3,critical_satellite)))/...% EIV_critical_characteristic),EIV_TS_sigma);

P_subsigma5 = cdfncx2((EIV_sigma5_threshold/D(5,5))^2,Visible_sats-4,lambda);

Appendix E Richard Broughton

226

%P_undetected = 1-((1-P_subHe_TS)*(1-P_subsigma5));

P_PMD_Component = PMD/P_subsigma5;

%P_PMD_Component = PMD/P_undetected;

k1 = abs(invnorm(P_PMD_Component,0,1));

VPL = (bias_vert*abs((K(3,critical_satellite_vert))) + (k1*VDOP));

hundred_minus_VPL = 100 - VPL;

pdfgam.m

function y = pdfgam(x,a,b)%GAMPDF Gamma probability density function.% Y = GAMPDF(X,A,B) returns the gamma probability density function% with parameters A and B, at the values in X.%% The size of Y is the common size of the input arguments. A scalar input% functions as a constant matrix of the same size as the other inputs.%% Some references refer to the gamma distribution with a single% parameter. This corresponds to the default of B = 1.% Initialize Y to zero.y = zeros(size(x));

% Return NaN if the arguments are outside their respective limits.y(a <= 0 | b <= 0) = NaN;

k=find(x > 0 & ~(a <= 0 | b <= 0));if any(k)

y(k) = (a(k) - 1) .* log(x(k)) - (x(k) ./ b(k)) - gammaln(a(k)) - a(k) .* log(b(k));y(k) = exp(y(k));

endy(x == 0 & a < 1) = Inf;k2 = find(x == 0 & a == 1);if any(k2)

y(k2) = (1./b(k2));end

Appendix E Richard Broughton

227

pdfpoiss.m

function y = pdfpoiss(x,lambda)%PDFPOISS Poisson probability density function.% Y = PDFPOISS(X,LAMBDA) returns the Poisson probability density% function with parameter LAMBDA at the values in X.%% The size of Y is the common size of X and LAMBDA. A scalar input% functions as a constant matrix of the same size as the other input.%% Note that the density function is zero unless X is an integer.

y = zeros(size(x));if (length(y) == 0), return; endy(lambda < 0) = NaN;

k = (x >= 0 & x == round(x) & lambda > 0);% using exp(gammaln) instead of gamma can avoid possible overflow.if (any(k))

y(k) = exp(-lambda(k) + x(k) .* log(lambda(k)) - gammaln(x(k) + 1));end

y(x==0 & lambda==0) = 1;

test.m

function [hundred_minus_VPL] = one_hundred_minus_VPL(VPL)

hundred_minus_VPL = 100 - VPL;

Appendix F Richard Broughton

228

Appendix F: Results from MatLaB harness

GPS + Galileo Simulated Constellation

Observation matrix data table

Table F-1: Input data for generation of observation matrix for simulated Galileo + GPSconstellation for one epoch.

Satellite Range(m) Azimuth(rad) Elevation(rad) UERE (m)1 26820570.95 5.0672842 0.4229631 1.182 24052916.91 5.1288245 1.1602600 0.773 23997265.32 1.8185807 1.1862305 0.764 26689748.35 1.8852174 0.4457396 1.155 27433994.39 3.1270890 0.3066543 1.336 25065355.09 2.5051758 0.8062548 0.867 24960994.47 1.3545675 0.8381944 0.758 27183750.51 0.6828775 0.3571991 1.269 27532074.38 5.5584024 0.2951177 1.36

10 27257269.78 4.8315426 0.3417878 1.2311 28341269.87 4.1567460 0.1538682 1.7512 25438829.43 1.3664183 0.1216844 1.6613 21474736.18 5.0879838 0.9192126 0.8914 25148674.91 0.5819277 0.1439024 0.9215 23732399.57 2.9732207 0.3899415 1.0016 22501378.93 1.0366907 0.6170786 0.9217 20996453.01 4.8267604 1.0297966 0.8818 25097267.05 3.0888139 0.1420523 1.5619 24670789.53 4.9774870 0.1595231 1.4420 20213544.72 3.5504186 1.4087600 0.8821 22816078.73 1.7935702 0.5108404 0.93

Appendix F Richard Broughton

229

Output from decision.m

Figure F-1: Galileo and GPS simulated constellation with no bias applied, producedusing decision.m.

Figure F-2: Galileo and GPS simulated constellation with 10m bias applied to thevertical pin satellite, produced using decision.m.

Appendix F Richard Broughton

230

Figure F-3: Galileo and GPS simulated constellation with 10m bias applied to thehorizontal pin satellite, produced using decision.m.

Figure F-4: Galileo and GPS simulated constellation with 15m bias applied to thevertical pin satellite, produced using decision.m.

Appendix F Richard Broughton

231

Figure F-5: Galileo and GPS simulated constellation with 5m bias applied to bothhorizontal and vertical pin satellites, produced using decision.m.

Figure F-6: Galileo and GPS simulated constellation with 1 radian corruption appliedto the azimuth of the vertical pin satellite compared to no corruption, produced using

decision.m.

Appendix F Richard Broughton

232

Figure F-7: Galileo and GPS simulated constellation with 1 radian corruption appliedto the elevation of the vertical pin satellite compared to no corruption, produced using

decision.m.

Figure F-8: Galileo and GPS simulated constellation with 1 radian corruption appliedto the azimuth and elevation of the vertical pin satellite compared to no corruption,

produced using decision.m.

Appendix F Richard Broughton

233

Figure F-9: Galileo and GPS simulated constellation with 1 radian corruption appliedto the azimuth and elevation of the vertical pin satellite and a 5m bias applied to the

vertical and horizontal pin satellites, produced using decision.m.

Table F-2: Results of decision.m for GPS + Galileo constellation

234

GPS + Galileo Horizontal and Vertical pin satellites are the sameVisible satellites 21 21 21 21 21 21 21 21 21bias_vert (m) 0 10 0 0 5 0 0 0 10bias_horiz (m) 0 0 10 15 5 0 0 0 10Azimuth_error (rad) 0 0 0 0 0 1 0 1 1Elevation_error (rad) 0 0 0 0 0 0 1 1 1VDOP_EIV (m) 0.627 0.627 0.627 0.627 0.627 0.638 0.722 0.713 0.713VDOP_LSR (m) 0.627 0.627 0.627 0.627 0.627 0.638 0.722 0.713 0.713HDOP_EIV (m) 0.277 0.277 0.277 0.277 0.277 0.328 0.330 0.339 0.339HDOP_LSR (m) 0.277 0.277 0.277 0.277 0.277 0.328 0.330 0.339 0.339RootWSSE 6.732 8.991 10.178 14.221 14.681 10.935 8.776 6.632 20.350decision_threshold_LSR 7.388 7.388 7.388 7.388 7.388 7.388 7.388 7.388 7.388H_over_e 2.84E-04 7.79E-04 2.56E-04 9.10E-04 5.24E-04 5.27E-04 6.19E-04 3.00E-04 8.94E-04EIV_H_over_e_threshold 1.15E-06 1.15E-06 1.15E-06 1.15E-06 1.15E-06 1.16E-06 3.09E-07 4.13E-07 4.13E-07sigma5 0.004 0.005 0.006 0.009 0.009 0.007 0.005 0.004 0.013EIV_sigma5_threshold 0.004 0.004 0.004 0.004 0.004 0.004 0.004 0.004 0.004LSR_backstop 0.004 0.004 0.004 0.004 0.004 0.004 0.004 0.004 0.004VPL_EIV2 (m) 3.484 3.484 3.484 3.484 3.484 3.487 3.508 3.506 3.506VPL_LSR (m) 4.598 4.598 4.598 4.598 4.598 4.633 4.893 4.864 4.864HPL_EIV2 (m) 2.628 2.628 2.628 2.628 2.628 2.641 2.642 2.644 2.644HPL_LSR (m) 2.902 2.902 2.902 2.902 2.902 3.061 3.066 3.095 3.095vertical_error_EIV (m) 0.498 5.575 1.332 4.904 4.887 2.996 3.678 1.285 7.129horizontal_error_EIV (m) 0.626 3.190 1.625 3.231 1.887 2.192 1.046 1.339 1.168vertical_error_LSR (m) 0.493 5.551 1.322 4.834 4.844 3.229 2.911 1.054 3.267horizontal_error_LSR (m) 0.62587 3.1913 1.6257 3.235 1.8898 1.9849 0.63077 0.46543 5.166EIV_detection_state_vertical 0 2 1 2 2 1 2 0 2EIV_detection_state_horizontal 0 2 1 2 1 1 1 0 1LSR_detection_state_vertical 0 2 1 2 2 1 1 0 1LSR_detection_state_horizontal 0 2 1 2 1 1 1 0 2

Appendix F Richard Broughton

235

Figure F-10: Galileo and GPS simulated constellation showing the errors and teststatistics for each satellite in view, produced using bias_characteristics.m.

Figure F-11: Galileo and GPS simulated constellation showing the errors and teststatistics for each satellite in view, with a 15m bias applied to the vertical pin satellite.

Appendix F Richard Broughton

236

Figure F-12: Galileo and GPS simulated constellation showing the errors and teststatistics for each satellite in view, with a 15m bias applied to the horizontal pin

satellite.

Figure F-13: Galileo and GPS simulated constellation showing 5000 error pointsplotted against test statistics for three different biases applied to the vertical pin

satellite, produced using bias_plotter.m.

Appendix F Richard Broughton

237

Galileo Simulated Constellation

Observation matrix data table

Table F-3: Input data for generation of observation matrix for simulated Galileoconstellation for one epoch.

Satellite Range(m) Azimuth(rad) Elevation(rad) UERE(m)1 25549649.15 4.4494726 0.6864380 0.902 23667140.75 4.7780134 1.4478553 0.883 24751574.03 1.2087976 0.8995078 0.894 28111380.53 1.2521865 0.1947264 1.305 27658896.64 1.9228467 0.2694788 1.126 27062248.46 1.2010309 0.3780034 1.017 27912134.82 0.4954466 0.2301042 1.218 26236842.56 5.4305222 0.5388006 0.939 24786526.13 4.5367216 0.8872730 0.89

10 25783960.4 3.5348328 0.6305526 0.9011 28643110.44 3.0537153 0.1031141 1.78

Output from decision.m

Figure F-14: Galileo simulated constellation with no bias applied, produced usingdecision.m.

Appendix F Richard Broughton

238

Figure F-15: Galileo simulated constellation with 10m bias applied to the vertical pinsatellite, produced using decision.m.

Figure F-16: Galileo simulated constellation with 10m bias applied to the horizontalpin satellite, produced using decision.m.

Appendix F Richard Broughton

239

Figure F-17: Galileo simulated constellation with 10m bias applied to the vertical andhorizontal pin satellite, produced using decision.m.

Figure F-18: Galileo simulated constellation with 1 radian corruption applied to theazimuth of the vertical pin satellite compared with no bias, produced using decision.m.

Appendix F Richard Broughton

240

Figure F-19: Galileo simulated constellation with 1 radian corruption applied to theelevation of the vertical pin satellite compared with no bias, produced using decision.m.

Figure F-20: Galileo simulated constellation with 1 radian corruption applied to theelevation and azimuth of the vertical pin satellite compared with no bias, produced

using decision.m.

Appendix F Richard Broughton

241

Figure F-21: Galileo simulated constellation with 1 radian corruption applied to theelevation and azimuth of the vertical pin satellite and 10m bias applied to vertical and

horizontal pin satellites, produced using decision.m.

Table F-4: Illustrating the results produced from discussion.m for the simulated Galileo Constellation

242

Galileo Horizontal and Vertical pin satellites are differentVisible satellites 11 11 11 11 11 11 11 11 11bias_vert (m) 0 10 0 0 10 0 0 0 20bias_horiz (m) 0 0 10 15 10 0 0 0 20Azimuth_error (rad) 0 0 0 0 0 1 0 1 1Elevation_error (rad) 0 0 0 0 0 0 1 1 1VDOP_EIV (m) 1.852 1.852 1.852 1.852 1.852 1.8148 2.671 2.927 2.933VDOP_LSR (m) 1.852 1.852 1.852 1.852 1.852 1.8144 2.671 2.926 2.926HDOP_EIV (m) 0.569 0.569 0.569 0.569 0.569 0.56551 0.534 0.481 0.481HDOP_LSR (m) 0.569 0.569 0.569 0.569 0.569 0.56548 0.534 0.481 0.481RootWSSE 2.637 9.740 5.994 11.435 11.758 11.269 1.895 5.603 23.434decision_threshold_LSR 5.981 5.981 5.981 5.981 5.981 5.9811 5.981 5.981 5.981H_over_e 1.31E-04 1.22E-03 1.32E-03 8.49E-04 9.19E-05 3.92E-04 2.51E-04 2.19E-04 1.14E-03EIV_H_over_e_threshold 1.74E-06 1.74E-06 1.74E-06 1.74E-06 1.74E-06 1.75E-06 1.05E-06 5.97E-07 5.97E-07sigma5 0.002 0.006 0.004 0.007 0.007 0.0067394 0.001 0.003 0.017EIV_sigma5_threshold 0.004 0.004 0.004 0.004 0.004 0.0035934 0.004 0.004 0.004LSR_backstop 0.0035886 0.0035886 0.0035886 0.0035886 0.0035886 0.0035886 0.0035886 0.0035886 0.0035886VPL_EIV2 (m) 10.051 10.051 10.051 10.051 10.051 10.042 10.259 10.324 10.325VPL_LSR (m) 12.567 12.567 12.567 12.567 12.567 12.452 15.100 15.888 15.888HPL_EIV2 (m) 5.777 5.777 5.777 5.777 5.777 5.7763 5.768 5.755 5.755HPL_LSR (m) 5.782 5.782 5.782 5.782 5.782 5.7714 5.673 5.510 5.510vertical_error_EIV (m) 0.557 11.605 6.220 4.901 3.235 2.1616 2.034 0.274 0.534horizontal_error_EIV (m) 0.833 2.318 4.598 8.593 4.639 2.3541 0.585 1.567 2.293vertical_error_LSR (m) 0.558 11.480 6.169 4.781 3.248 2.1147 1.760 0.576 10.672horizontal_error_LSR (m) 0.833 2.294 4.591 8.580 4.638 2.3722 0.604 1.478 9.006EIV_detection_state_vertical 0 2 0 1 1 1 0 0 1EIV_detection_state_horizontal 0 1 0 2 1 1 0 0 1LSR_detection_state_vertical 0 1 1 1 1 1 0 0 1LSR_detection_state_horizontal 0 1 1 2 1 1 0 0 2

Appendix F Richard Broughton

243

Figure F-22: Galileo simulated constellation showing the errors and test statistics foreach satellite in view, produced using bias_characteristics.m.

Figure F-23: Galileo simulated constellation showing 50 000 error points plottedagainst test statistics for three different biases applied to the vertical pin satellite,

produced using bias_plotter.m.

Appendix F Richard Broughton

244

GPS Simulated Constellation

Observation matrix data table

Table F-5: Input data for generation of observation matrix for simulated GPSconstellation for one epoch.

Satellite Range (m) Azimuth(rad) Elevation(rad) UERE(m)1 24697392.91 0.9978745 0.2770012 1.42 21269376.81 4.6064999 0.9748362 0.83 21789267.62 2.7260996 0.8726646 0.834 22970239.41 1.1442204 0.5129174 1.065 21962996.99 3.4643389 0.7504392 0.896 25246279.32 5.8731377 0.1123468 1.957 23333409.78 5.1518454 0.3975511 1.218 23350341.42 3.1303527 0.4413414 1.159 20745969.11 1.1388273 1.0821041 0.78

10 24625800.27 0.6234316 0.1919862 0.97

Output from decision.m

Figure F-24: GPS simulated constellation with no bias applied, produced usingdecision.m.

Appendix F Richard Broughton

245

Figure F-25: GPS simulated constellation with 12m bias applied to the vertical pinsatellite, produced using decision.m.

Figure F-26: GPS simulated constellation with 12m bias applied to the horizontal pinsatellite, produced using decision.m.

Appendix F Richard Broughton

246

Figure F-27: GPS simulated constellation with 10m bias applied to the horizontal pinand vertical pin satellites, produced using decision.m.

Figure F-28: GPS simulated constellation with 1 radian corruption applied to theazimuth of the vertical pin satellite compared with no bias, produced using decision.m.

Appendix F Richard Broughton

247

Figure F-29: GPS simulated constellation with 1 radian corruption applied to theelevation of the vertical pin satellite compared with no bias, produced using decision.m.

Table F-6: Results produced from decision.m for GPS simulated constellation

248

GPS Horizontal and Vertical pin satellites are differentVisible satellites 10 10 10 0 10 10 10 10 10bias_vert (m) 0 12 0 15 10 0 0 0 20bias_horiz (m) 0 0 12 0 10 0 0 0 20Azimuth_error (rad) 0 0 0 0 0 1 0 1 1Elevation_error (rad) 0 0 0 0 0 0 1 1 1VDOP_EIV (m) 2.353 2.354 2.353 2.354 2.354 2.9129 3.476 2.877 2.883VDOP_LSR (m) 2.353 2.353 2.353 2.353 2.353 2.9128 3.476 2.877 2.877HDOP_EIV (m) 0.637 0.637 0.637 0.637 0.637 0.72858 0.775 0.673 0.673HDOP_LSR (m) 0.637 0.637 0.637 0.637 0.637 0.72857 0.775 0.673 0.673RootWSSE 4.551 13.054 7.628 12.093 12.452 3.232 4.935 2.125 24.777decision_threshold_LSR 5.797 5.797 5.797 5.797 5.797 5.7974 5.797 5.797 5.797H_over_e 3.71E-04 1.80E-03 9.31E-04 2.08E-03 5.13E-05 5.02E-04 1.19E-03 3.23E-05 1.85E-04EIV_H_over_e_threshold 2.26E-06 2.26E-06 2.26E-06 2.26E-06 2.26E-06 2.17E-06 1.76E-06 2.01E-06 2.01E-06sigma5 0.003 0.008 0.005 0.007 0.007 0.0019408 0.003 0.001 0.016EIV_sigma5_threshold 0.003 0.003 0.003 0.003 0.003 0.0034833 0.003 0.003 0.003LSR_backstop 0.003 0.003 0.003 0.003 0.003 0.003 0.003 0.003 0.003VPL_EIV2 (m) 12.670 12.670 12.670 12.670 12.670 12.812 12.955 12.803 12.804VPL_LSR (m) 15.754 15.754 15.754 15.754 15.754 17.484 19.224 17.373 17.373HPL_EIV2 (m) 4.837 4.837 4.837 4.837 4.837 4.8602 4.872 4.846 4.846HPL_LSR (m) 5.253 5.253 5.253 5.253 5.253 5.5364 5.679 5.364 5.364vertical_error_EIV (m) 2.669 14.768 6.078 17.598 5.480 2.0686 7.656 0.455 7.208horizontal_error_EIV (m) 1.295 3.138 4.886 7.132 2.287 0.70247 2.317 0.518 2.681vertical_error_LSR (m) 2.657 14.318 5.998 17.154 5.466 2.3826 7.184 0.300 10.329horizontal_error_LSR (m) 1.296 3.079 4.876 7.078 2.286 0.62227 2.225 0.760 5.364EIV_detection_state_vertical 0 2 1 2 1 0 0 0 1EIV_detection_state_horizontal 0 1 2 2 1 0 0 0 1LSR_detection_state_vertical 0 1 1 2 1 0 0 0 1LSR_detection_state_horizontal 0 1 1 2 1 0 0 0 2

Appendix F Richard Broughton

249

Figure F-30: GPS simulated constellation showing the errors and test statistics for eachsatellite in view, produced using bias_characteristics.m.

Figure F-31: GPS simulated constellation showing 0 000 error points plotted againsttest statistics for three different biases applied to the vertical pin satellite, produced

using bias_plotter.m.

Appendix F Richard Broughton

250

RINEX Data

Observation matrix data table

Table F-7: Input data for generation of observation matrix for RINEX data for oneepoch.

Satellite Range (m) Azimuth(rads) Elevation(rads) UERE(m)1 20160129.9 351860.6444 0.017453293 1.142 19286058.9 336605.2275 0.034906585 0.923 18173199.5 317182.1669 0.052359878 0.824 18658729.6 325656.2658 0.06981317 0.895 17238589.5 300870.1452 0.087266463 0.786 21399661.9 373494.559 0.104719755 1.44

Output from decision.m

Figure F-32: RINEX data with no bias applied, produced using decision.m.

Appendix F Richard Broughton

251

Figure F-33: RINEX data with 20m bias applied to the vertical pin satellite, producedusing decision.m.

Figure F-34: RINEX data with 20m bias applied to the horizontal pin satellite,produced using decision.m.

Appendix F Richard Broughton

252

Figure F-35: RINEX data with 10m bias applied to the horizontal and vertical pinsatellites, produced using decision.m.

Figure F-36: RINEX data with 1 radian corruption applied to the azimuth of thevertical pin satellite compared with no bias, produced using decision.m.

Appendix F Richard Broughton

253

Figure F-37: RINEX data with 1 radian corruption applied to the elevation of thevertical pin satellite compared with no corruption, produced using decision.m.

Table F-8: Results from decision.m for RINEX data with applied noise

254

RINEX Horizontal and Vertical pin satellites are differentVisible satellites 6 6 6 6 6 6 6 6 6bias_vert (m) 0 20 0 10 10 0 0 0 20bias_horiz (m) 0 0 20 0 10 0 0 0 20Azimuth_error (rad) 0 0 0 0 10 1 0 1 1Elevation_error (rad) 0 0 0 0 10 0 1 1 1VDOP_EIV (m) 3.969 3.971 3.973 3.970 0.740 2.8748 8.807 12.217 12.265VDOP_LSR (m) 3.969 3.969 3.969 3.969 0.740 2.8748 8.807 12.216 12.216HDOP_EIV (m) 2.202 2.203 2.203 2.202 1.712 1.4097 2.135 2.193 2.198HDOP_LSR (m) 2.202 2.202 2.202 2.202 1.712 1.4097 2.135 2.193 2.193RootWSSE 0.958 9.082 14.117 6.882 7.422 0.14121 0.503 1.981 15.203decision_threshold_LSR 4.845 4.845 4.845 4.845 4.845 4.8448 4.845 4.845 4.845H_over_e 7.49E-04 4.16E-03 5.29E-03 2.74E-03 3.66E-04 4.09E-04 1.67E-05 9.11E-04 1.32E-02EIV_H_over_e_threshold 6.58E-06 6.58E-06 6.58E-06 6.58E-06 3.64E-06 5.56E-06 7.60E-06 2.04E-06 2.04E-06sigma5 0.001 0.005 0.008 0.004 0.005 0.00011444 0.000 0.001 0.010EIV_sigma5_threshold 0.003 0.003 0.003 0.003 0.003 0.0030765 0.003 0.003 0.003LSR_backstop 0.003 0.003 0.003 0.003 0.003 0.003 0.003 0.003 0.003VPL_EIV2 (m) 24.814 24.815 24.815 24.815 23.994 24.536 26.044 26.066 26.078VPL_LSR (m) 26.947 26.947 26.947 26.947 16.968 23.565 41.896 52.432 52.432HPL_EIV2 (m) 19.303 19.304 19.304 19.303 19.179 19.102 19.286 18.638 18.639HPL_LSR (m) 18.364 18.364 18.364 18.364 16.849 15.916 18.158 18.337 18.337vertical_error_EIV (m) 5.911 26.278 30.707 15.552 4.081 2.069 0.022 5.543 79.091horizontal_error_EIV (m) 0.381 2.599 25.303 5.873 11.748 0.6801 0.439 0.521 31.929vertical_error_LSR (m) 5.909 25.257 27.675 15.152 5.244 1.296 0.279 1.143 0.458horizontal_error_LSR (m) 0.381 2.501 23.234 5.623 16.045 0.83758 0.489 2.046 22.041EIV_detection_state_vertical 0 2 2 1 1 0 0 0 2EIV_detection_state_horizontal 0 1 2 1 1 0 0 0 2LSR_detection_state_vertical 0 1 2 1 1 0 0 0 1LSR_detection_state_horizontal 0 1 2 1 1 0 0 0 2

Appendix F Richard Broughton

255

Figure F-38: RINEX data showing the errors and test statistics for each satellite inview, produced using bias_characteristics.m.

Figure F-39: RINEX data showing 50 000 error points plotted against test statistics forthree different biases applied to the pin satellites, produced using bias_plotter.m.

Appendix G Richard Broughton

256

Appendix G: DGPS.0.32 Software

This piece of software written at Cranfield by Dr Hobbs was used to obtain actual GPSdata that was taken in 2000. To obtain the Azimuth, elevation and pseudorange of eachsatellite in view the following steps were used.

Firstly a satellite navigation file was read (option 2 of the mean menu). This permits thecorruption of ephemeris data contained in the file HGR21941_RXN.htm. Informationon the RINEX data format can be found on the internet (RINEX, 2003).

The user is prompted for an output file without suffix, which creates a binary file .datfile that can be read later on in the process.

A GPS satellite orbit can then be propagated (option 3). A binary navigation file isprompted for. This could be the file with the corrupted ephemeris data produced in theprevious step. This produces another .dat file with the propagated orbit of the selectedsatellite. The software asks to the user to select which satellite to propagate. This isrepresented by columns on the screen. The rows represent the time in minutes.

0 --+-++++---+---------+-++-+--++-2 ----++++-+------+---++--++---++-4 -+-++++---+-----++----+-++---++-6 -+-+--+---+--+-+-+-+-+++-+-+--++8 ---+--+-+--+-+-+-+-+-+++--++---+

10 --++----++-+---+---+++++--++-+-+12 -+++---+-+-+---++---++---+---+-+14 -++-++-+---+----+--++---++---++-16 -+--+-+++-+--+--+--++-+-++-+--+-18 -++-+-+-+-+--+--++-+--+-+-++----20 --++----+++--+---+-+---++-++---+22 --+--+-++++--+-+-+---+-+--++-+--

Figure G-1: Specimen output navigation file data, showing time along the y directionand satellite number and availability in the x direction. The pluses denote satelliteavailability and the dashes, lack of ephemeris information for that satellite at the

specified time.

The pluses denote that information for a particular satellite is available and the dashesthat it is unavailable. For instance in the figure above at 14:00 satellites 2, 3, 5, 6, 8, 12,17, 20, 21, 25, 26, 28, 30, 31 are available. The user is then asked to specify the dateand time which should match the ephemeris data contained in the navigation file. Thena time step and duration must be entered. The author used steps of 50s for a duration of1000s.

Appendix G Richard Broughton

257

Program DGPS v 0.35 run on Fri Aug 15 11:01:51 2003Orbit propagation for satellite 20

Week cycle start: 549763200 s, offset = 396000.0000 sUT equivalents: date = 19970612, time = 135949

t = 396000.0000, r = 12935218.87 15293362.96 17345315.54t = 396050.0000, r = 12931720.75 15404277.81 17249517.31t = 396100.0000, r = 12928508.50 15514596.79 17152794.98t = 396150.0000, r = 12925577.91 15624313.41 17055153.71t = 396200.0000, r = 12922924.65 15733421.21 16956598.75t = 396250.0000, r = 12920544.38 15841913.77 16857135.38t = 396300.0000, r = 12918432.68 15949784.76 16756768.91t = 396350.0000, r = 12916585.09 16057027.90 16655504.73t = 396400.0000, r = 12914997.07 16163636.95 16553348.26t = 396450.0000, r = 12913664.04 16269605.75 16450304.98t = 396500.0000, r = 12912581.37 16374928.19 16346380.40t = 396550.0000, r = 12911744.37 16479598.22 16241580.11t = 396600.0000, r = 12911148.29 16583609.85 16135909.70t = 396650.0000, r = 12910788.34 16686957.16 16029374.86t = 396700.0000, r = 12910659.66 16789634.29 15921981.28t = 396750.0000, r = 12910757.36 16891635.42 15813734.72t = 396800.0000, r = 12911076.48 16992954.84 15704640.98t = 396850.0000, r = 12911612.02 17093586.86 15594705.92t = 396900.0000, r = 12912358.93 17193525.88 15483935.42t = 396950.0000, r = 12913312.11 17292766.35 15372335.43t = 397000.0000, r = 12914466.41 17391302.80 15259911.92

Figure G-2: Specimen output propagation file data, showing time along the y directionand satellite position in x, y, z coordinates.

It is now possible to use the software to generate a course acquisition user position(option 4). A binary input navigation filename is prompted for (could be a propagationfile) and then the name of the file containing the observation data, (in this casehgr219414b.rxo). Finally the results text filename is prompted and the results areprinted on screen and outputted to this file.

258

END OF DOCUMENT