126
2010:072 MASTER'S THESIS In-Orbit Autonomous Position Determination of Satellites using Sparsely Distributed GNSS Measurements For Geostationary Transfer Orbits, Geostationary Earth Orbit and Higher Altitudes Andrés Barrios-Montalvo Luleå University of Technology Master Thesis, Continuation Courses Space Science and Technology Department of Space Science, Kiruna 2010:072 - ISSN: 1653-0187 - ISRN: LTU-PB-EX--10/072--SE

2010:072 MASTER'S THESIS - ltu.diva-portal.org

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

2010:072

M A S T E R ' S T H E S I S

In-Orbit Autonomous Position Determinationof Satellites using Sparsely Distributed

GNSS MeasurementsFor Geostationary Transfer Orbits, Geostationary Earth Orbit and

Higher Altitudes

Andrés Barrios-Montalvo

Luleå University of Technology

Master Thesis, Continuation Courses Space Science and Technology

Department of Space Science, Kiruna

2010:072 - ISSN: 1653-0187 - ISRN: LTU-PB-EX--10/072--SE

Page 2: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

CRANFIELD UNIVERSITY

ANDRÉS BARRIOS-MONTALVO

IN-ORBIT AUTONOMOUS POSITION DETERMINATION OF SATELLITES USING

SPARSELY DISTRIBUTED GNSS MEASUREMENTS For Geostationary Transfer Orbits, Geostationary

Earth Orbit and Higher Altitudes

SCHOOL OF ENGINEERING

MSc IN ASTRONAUTICS AND SPACE ENGINEERING (SPACEMASTER)

MSc THESIS

Page 3: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

CRANFIELD UNIVERSITY

ANDRÉS BARRIOS-MONTALVO

IN-ORBIT AUTONOMOUS POSITION DETERMINATION OF SATELLITES USING SPARSELY DISTRIBUTED GNSS MEASUREMENTS

For Geostationary Transfer Orbits, Geostationary Earth Orbit and Higher Altitudes

SCHOOL OF ENGINEERING

MSc IN ASTRONAUTICS AND SPACE ENGINEERING (SPACEMASTER)

MSc THESIS

Academic Year 2009-2010

Supervisors: Dr. Stephen Hobbs Dr. Christopher Kühl

Presented June 2010

This thesis is submitted in partial fulfillment (45%) of the requirements for the Degree of Master of Science in

Astronautics and Space Engineering

© Cranfield University, 2010. All rights reserved. No part of this publication may be reproduced without the

written permission of the copyright holder.

Page 4: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

IN-ORBIT AUTONOMOUS POSITION DETERMINATION OF SATELLITES USING SPARSELY DISTRIBUTED GNSS

MEASUREMENTS For GTO, GEO and Higher Altitudes

Andrés Rolando Barrios-Montalvo

ABSTRACT

The state-of-the-art MosaicGNSS receiver at EADS Astrium is currently a standard

product for satellites operating in Low Earth Orbits (LEO). Previous assessments showed

that GPS signals taken from the main lobe only result in poor visibility conditions in

Geostationary Orbits (GEO). Including the sidelobes of the GPS satellites increases the

number of tracked satellites over time. This number however is still very low.

The aim of this thesis project is to find alternative solutions to improve the in-orbit

autonomous position determination of satellites in GTO, GEO and higher orbits; through

the change of the algorithms of the MosaicGNSS receiver, in order to deal with sparsely

distributed GNSS measurements. Thus, the proposed topic targets the development and

implementation of methods for batch-processing of the acquired signals.

The research process started with the development of attitude dynamics capabilities for

the EADS Astrium’s Space Environment Simulator, which was tuned and verified as

compared to observations made during hardware-in-the-loop tests using the Spirent RF

Simulator. A representative GTO/GEO mission scenario was created, where analysis of

the dynamics and visibility conditions showed that the mean value of tracked satellites

was found to be 1 and the maximum 5. In addition, two or more satellites are always in

track during 29.8% of the simulation time. In GEO, there are long periods that can last for

almost two hours where no satellite can be tracked, and only small periods of some tens

of minutes where up to 4 satellites can be tracked.

After the choice of a suitable state-of-the-art batch-processing algorithm including system

models, optimization criterion (Weighted Least Squares) and optimization approach

Page 5: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

(Newton-Raphson), the implementation was carried on in a MATLAB environment; and

the results in terms of position determination accuracy were compared under different

configurations with respect to the results achieved using the state-of-the-art algorithms of

the MosaicGNSS receiver, which features a Kalman Filter.

The results show that in LEO, the use of 1000 measurements for the estimation provided

a good performance, and this number can be collected in approximately 2.7 minutes

(~3% of one orbit). For GEO, 4000 measurements provided a good performance, and this

number can be collected from an observation period that ranges from 45 minutes (~3%) to

3 hours (~12.5%). In this case, the batch-processing achieved an accuracy of 11.5 m with

1σ value of 7.4 m, in contrast to 45 m with 1σ value of 35.8 m achieved by the Navigation

Module of the MosaicGNSS receiver. Moreover, it is concluded that at least 2 satellites in

different positions should be in track during the observation period in order to achieve a fit

of an orbital arc during such observation period, where the second satellite not necessarily

has to be available during the whole time of the observation period.

The thesis extends an ESA project assessing the feasibility of GNSS receivers in GEO

and higher altitudes, and supports the activities of EADS Astrium’s on-going programs. In

the future, the results of this research are expected to be introduced as well in the

MosaicGNSS receiver as in EADS Astrium’s next generation multi-frequency/multi-

constellation receiver, the LION Navigator.

Page 6: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

I have fought the good fight,

I have completed the race,

I have kept the faith.

2 Timothy 4, 7

He combatido el buen combate,

he corrido hasta la meta,

he mantenido la fe.

2 Timoteo 4, 7

Page 7: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

You see things; and you say, ‘Why?’

But I dream things that never were;

and I say, ‘Why not?’.

Bernard Shaw

Page 8: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

To God Father, for His LOVE, His Blessings, and His Gifts. To Maria Mother too.

To Rolando, my father, and Alicia Victoria, my mother, mother courage, who taught me to

fight for the things I believe in. For their unlimited and unconditional Love.

To Luis Alfredo and Leonardo, my beloved brothers, and to all my family.

To Sven Molin. I will never forget the day when I received your e-mail with the last call to

the SpaceMaster, the last call to my Space Dreams.

Ja, det här har varit väldigt bra, Sven.

To Bruno, who made it easier for me to leave our brilliant R&D home, GIDEMS, in Perú.

To Ludwig Bölkow’s angel, hon.-Prof. Dr. Eveline Gottzein, who developed and led the

Control and Simulation Dept. of the MBB Space Division, now EADS Astrium, because

she opened a window when all the doors appeared to be closed. She is so high above.

To Christopher Kühl, for guidance and control of this thesis through the whole process,

and overall, with the right attitude; that have made all the difference, Chris.

To Steve Hobbs, for his outstanding academic advice and encouragement.

To Victoria Barabash, who agreed review this piece of work during her holidays.

To my SpaceMaster fellows; our paths of life and cultures crossed on the way to Space.

We will meet each other again, somewhere over the Rainbow.

To all the people involved in the SpaceMaster Consortium, and to all the friends from all

over the world that I have met in Europe, especially in Germany, Sweden, and the UK.

To all the nice people at EADS Astrium, Ottobrunn. You all made it possible.

Vielen Dank nochmal für die tatkräftige Unterstützung!

To Pedro Paulet, Peruvian Space Pioneer, Father of Liquid Propellant Rocketry, who in

1895 became the first person to design and build a liquid-fueled rocket engine.

And, with all Heart, to my Мрiя [Mriya]. I never stopped to think of you.

Thank you everyone who was around; this undertaking has been a true team effort.

This is to the Space Ones.

This is to You.

The Author.

Page 9: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

IN-ORBIT AUTONOMOUS POSITION DETERMINATION OF SATELLITES USING SPARSELY DISTRIBUTED GNSS MEASUREMENTS For GTO, GEO and Higher Altitudes

1 INTRODUCTION ................................................................................................ 1

1.1 State of the Art in Previous Space Missions ............................................ 2

1.2 Aim and Objectives .................................................................................. 5

1.2.1 Aim.................................................................................................... 5

1.2.2 Objectives ......................................................................................... 5

1.3 Methodology ............................................................................................ 6

2 STATE-OF-THE-ART REAL-TIME POSITION DETERMINATION

ALGORITHMS IN THE MOSAICGNSS RECEIVER .......................................... 7

2.1 Navigation Module ................................................................................... 7

2.2 Navigation Planning ................................................................................. 8

2.3 Navigation Solution .................................................................................. 9

2.3.1 Kinematic Navigation Solution .......................................................... 9

2.3.2 Dynamic Navigation Solution .......................................................... 10

2.4 Results obtained in previous navigation performance assessments on the

use of the MosaicGNSS in LEO and GEO ............................................. 13

Page 10: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

2.4.1 In-flight navigation performance assessment in LEO...................... 13

2.4.2 Navigation performance assessment in GEO ................................. 14

3 ATTITUDE DYNAMICS FOR THE EADS ASTRIUM SPACE ENVIRONMENT

SIMULATOR .................................................................................................... 16

3.1 Requirements for a GTO and GEO scenario ......................................... 18

3.1.1 Orbit Requirements......................................................................... 18

3.1.2 Attitude Requirements .................................................................... 19

3.2 Design and implementation of the Attitude Dynamics............................ 21

3.2.1 Model and Algorithms ..................................................................... 24

3.3 Implementation of a representative GTO/GEO attitude and orbit

scenario ................................................................................................. 28

3.3.1 Manoeuvres for the orbit profile ...................................................... 28

3.3.2 Manoeuvres for the attitude profile.................................................. 32

3.4 Verification of the GTO/GEO attitude and orbit scenario........................ 32

4 ANALYSIS OF THE DYNAMICS AND VISIBILITY CONDITIONS IN GTO

AND GEO......................................................................................................... 35

4.1 Definition of Visible, Trackable, Tracked and Used GPS satellites ........ 35

4.1.1 Visible GNSS satellites ................................................................... 36

4.1.2 Trackable GPS satellite .................................................................. 37

4.1.3 Tracked GNSS satellite................................................................... 37

4.1.4 Used GNSS satellites in Navigation Solution.................................. 37

Page 11: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

4.2 Verification of visibility conditions as compared to observations made

during closed-loop tests for LEO............................................................ 38

4.2.1 GPS and MosaicGNSS antenna patterns ....................................... 39

4.2.2 Analysis of received Carrier-to-Noise Density................................. 40

4.2.3 Analysis of visible vs. tracked GPS satellites.................................. 42

4.3 Verification of visibility conditions as compared to observations made

during closed-loop tests for GEO ........................................................... 44

4.3.1 GPS and MosaicGNSS antenna patterns ....................................... 44

4.3.2 Analysis of received Carrier-to-Noise Density................................. 45

4.3.3 Analysis of visible vs. tracked GPS satellites.................................. 47

4.3.4 Further discussion on performance tuning for the GEO scenario ... 49

4.4 Results and discussion on the expected visibility conditions in GTO

and GEO ................................................................................................ 49

4.4.1 GPS and MosaicGNSS antenna patterns ....................................... 50

4.4.2 Analysis of received Carrier-to-Noise Density................................. 51

4.4.3 Analysis of visible vs. tracked GPS satellites.................................. 52

4.4.4 Creation of the test and verification script for the Spirent RF

Simulator......................................................................................... 53

5 ESTIMATION TECHNIQUES AND STATE-OF-THE-ART

BATCH-PROCESSING ALGORITHMS ........................................................... 55

5.1 Estimation techniques: Batch-processing algorithms and the choice of an

adequate optimization criterion .............................................................. 56

5.1.1 System models ............................................................................... 57

Page 12: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

5.1.2 Optimization criteria ........................................................................ 58

5.1.3 Optimization approach .................................................................... 60

5.1.4 Processing approach ...................................................................... 61

5.2 Batch-processing algorithms as used in Ground Stations...................... 61

5.3 Batch-processing approach: Previous experiences ............................... 67

5.4 Batch-processing approach: The chosen one........................................ 70

5.4.1 System models ............................................................................... 70

5.4.2 Optimization criterion ...................................................................... 75

5.4.3 Optimization approach .................................................................... 76

5.4.4 Batch-processing main module....................................................... 76

6 RESULTS AND DISCUSSION OF THE BATCH-PROCESSING

APPROACH ..................................................................................................... 78

6.1 Results in Low Earth Orbit ..................................................................... 78

6.1.1 Results using only pseudoranges as observations ......................... 79

6.1.2 Results including the weighting matrix as part of the optimization

criterion ........................................................................................... 81

6.1.3 Results including the range rates as part of the observations......... 81

6.2 Results in Geostationary Earth Orbit...................................................... 83

6.3 Further Assessment Studies .................................................................. 87

7 CONCLUSIONS AND RECOMMENDATIONS ................................................ 92

7.1 Conclusions ........................................................................................... 92

Page 13: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

7.1.1 Regarding the attitude dynamics for the EADS Astrium’s Space

Environment Simulator.................................................................... 92

7.1.2 Regarding the verification of the EADS Astrium’s Space

Environment Simulator.................................................................... 93

7.1.3 Regarding the visibility conditions in GTO/GEO.............................. 94

7.1.4 Regarding batch-processing algorithms.......................................... 94

7.2 Recommendations ................................................................................. 96

8 BIBLIOGRAPHY AND REFERENCES ............................................................ 98

8.1 References............................................................................................. 98

8.2 Bibliography ......................................................................................... 101

9 APPENDIX ..................................................................................................... 102

Page 14: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

NOMENCLATURE

ΔV Velocity increment

AEF Apogee Engine Firing

AMU Amplitude Measurement Units

AO-40 AMSAT-OSCAR 40 Spacecraft

AOCS Attitude and Orbit Control Subsystem

ARTES Advanced Research and Telecommunications Systems

BWLS Bayesian Weighted Least Squares

C/A-Code Coarse/Acquisition Code

CHAMP CHAllenging Minisatellite Payload Satellite Mission

Cmd Command

C/N0 Carrier-To-Noise Density

CP Carrier Phase

CPS Combined Propulsion Subsystem

CPU Central Processing Unit

DC Direct Current

DEOS Delft Institute of Earth Observation and Space Systems

DLL Delay-Locked Loop

DLR Deutsches Zentrum für Luft- und Raumfahrt

DoD Department of Defense

DOY Day Of Year

DSP Digital Signal Processor

EADS European Aeronautic Defence and Space Company

ECEF Earth Centred / Earth Fixed

ECI J2000 Earth Centred Inertial J2000

EGM96 Earth Gravity Model 96

EIRP Effective Isotropic Radiated Power

EME2000 Earth Mean Equator and Equinox of J2000 (ECI J2000)

ESA European Space Agency

FDIR Failure Detection, Isolation and Recovery

FLL Frequency-Locked Loop

Page 15: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

GALILEO European Global Navigation Satellite System

GEO Geostationary Earth Orbit

GHOST GPS High Precision Orbit Determination Software Tools

GNSS Global Navigation Satellite System

GPS Global Positioning System

GSOC German Space Operations Center

GTO Geostationary Transfer Orbit

GUTS Global and high accUracy Trajectory determination System

HEO High Earth Orbit

IAU International Astronomical Union

IERS International Earth Rotation and Reference Systems Service

IGS International GNSS Service

JAXA Japan Aerospace eXploration Agency

KIPP Kinematic Point Positioning

LEO Low Earth Orbit

LNA Low Noise Amplifier

LOS Line Of Sight

LS Least Squares

LV Launch Vehicle

LVLH Local Vertical / Local Horizontal

MIR Russian Space Station

MBB Messerschmitt-Bölkow-Blohm GmbH

MLE Maximum Likelihood Estimate

MSE Mean Square Error

Msg Message

NASA National Aeronautics and Space Administration

NED Local Geographic / North-East-Down

NIMA National Imagery and Mapping Agency

OD Orbit Determination

ORD Operational Requirement Document

P-Code Precise Code

PLL Phase-Locked Loop

POD Precise Orbit Determination

PR Pseudorange

PRN Pseudo Random Number

Page 16: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

PVT Position, Velocity and Time

RAIM Receiver Autonomous Integrity Monitoring

RDOD Reduced Dynamics Orbit Determination

RF Radio Frequency

RMS Root Mean Square

SAR Synthetic Aperture Radar

S/C Spacecraft

SLR Satellite Laser Ranging

SNR Signal-To-Noise Ratio

SPP Single-Point Positioning

SSTO Super-Synchronous Transfer Orbit

SSV Space Service Volume

SV Space Vehicle

S/W Software

TEAMSAT Technology education Experiment Added To MAQSat

TM Telemetry

UMT User Motion File

URE User Range Error

UTC Coordinated Universal Time

UT/CSR The University of Texas at Austin / Center for Space Research

WGS84 World Geodetic System (1984)

WLS Weighted Least Squares

YES Young Engineer’s Satellite

Page 17: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

IN-ORBIT AUTONOMOUS POSITION DETERMINATION OF SATELLITES USING SPARSELY DISTRIBUTED GNSS

MEASUREMENTS For Geostationary Transfer Orbits, Geostationary

Earth Orbit and Higher Altitudes

1 INTRODUCTION

1957, October 4th. With the launch of the first spacecraft, the artificial satellite Sputnik I,

the Space Age began. From that day on, the world and the way we do things have

changed radically with the use of space technology in different areas such as Exploration,

Earth Observation, Communications and Navigation.

EADS Astrium is one of the leading companies in the development of new products in the

space industry. One of these products is the MosaicGNSS receiver, a space-borne

radiation-tolerant single-frequency GNSS (Global Navigation Satellite System) receiver.

“Spaceborne GPS receivers represent a cost efficient alternative to traditional ground

based tracking systems for satellites in low Earth orbit (LEO). Aside from offline orbit

determination, GPS receivers can provide real-time navigation and timing information and

therefore contribute to an increased on-board autonomy. With a representative accuracy

of 10 m, even single-frequency GPS receivers can nowadays meet the navigation

requirements of a wide range of LEO missions” (Montenbruck et al., 2008).

“The MosaicGNSS receiver of EADS Astrium represents a fully space qualified receiver

that is specifically designed for high robustness and longterm use in a space environment.

The receiver comprises a main electronic unit, a single L1 GPS patch antenna and an

external low noise amplifier (LNA). The signal correlation is performed in software and up

1

Page 18: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

to eight satellites can be tracked simultaneously with the current hardware configuration.

A navigation filter ensures a smooth and continuous navigation solution even under

restricted GPS visibility” (Montenbruck et al., 2008).

This MosaicGNSS receiver is established as a standard product for Low Earth Orbits

(LEO). It features a Kalman-Filter with highly accurate models of the Earth gravity, air

drag, solar radiation pressure and other perturbations. As such, it can be used in

Geostationary Earth Orbits (GEO) by adjustment of the Kalman Filter parameters in order

to take into account the present dynamic conditions and the visibility of the GNSS

satellites. Previous assessments showed that GPS signals taken from the main lobe only

result in poor visibility conditions in geostationary orbits. Using sidelobes in addition to the

main lobe of the GPS satellite increases the number of tracked satellites over time. “For

instance, more than one satellites are tracked for over 78.1% of the time (mean number of

tracked satellites is 2.2) when sidelobes are used versus only 29.8% (mean number of

tracked satellites is only 1.3) when the main lobe only is employed” (Astrium, 2006). This

number however is still very low. Additionally, during the transfer to geostationary orbits,

the visibility is highly dependent upon the manoeuvres performed, ranging from a Sun-

pointing attitude to calibration manoeuvres. Consequently, alternative methods for orbit

determination need to be employed.

Therefore, this master thesis focuses on the improvement of the in-orbit autonomous

position determination of satellites in Geostationary Transfer Orbits (GTO), Geostationary

Earth Orbits (GEO) and Higher Orbits. This implies a change in the algorithms to deal with

sparsely distributed GNSS measurements.

The thesis extends an ESA project assessing the feasibility of GNSS receivers in GTO,

GEO and higher altitudes, and supports the activities of EADS Astrium’s on-going

programs. Therefore, it is of mutual benefit in the co-operation between education and

industry. In the future, the results of this research are expected to be introduced as well in

the MosaicGNSS receiver as in EADS Astrium’s next generation multi-frequency/multi-

constellation receiver, the LION Navigator.

1.1 State of the Art in Previous Space Missions

There is widespread interest in the extension of autonomous GPS-based Spacecraft

navigation to GTO, GEO and HEO; however, due to reduced GPS observability at high

altitudes and limitations of existing receivers, the use of GPS in Space has been limited

2

Page 19: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

primarily to regions where point solutions are always possible, typically below altitudes of

3000 km. According to Moreau et al. (2002), a number of papers have appeared in the

literature examining the reception of GPS signals from above the GPS constellation and

presenting expected navigation accuracies based on simulation.

Moreau et al. (2002) mention that, in late 1997 three separate high altitude GPS

experiments were launched (See Table 1.1), the primary objectives of which were to

validate the concept of GPS tracking at high altitudes, and to return actual measurements

of GPS sidelobes and back lobe transmissions, data that are generally unavailable. Two

of these satellites, TEAMSAT/YES and EQUATOR-S utilized existing GPS receivers with

LEO heritage. Limitations in the receiver’s acquisition functions at high altitudes were

overcome by manually commanding the receiver to track specific GPS satellites. Notably,

EQUATOR-S tracked a GPS satellite from an altitude of 61 000 km and demonstrated

tracking of GPS sidelobe signals from HEO. However, due to limited battery life of the

TEAMSAT experiment and premature failure of the Spacecraft on EQUATOR-S, only a

limited amount of GPS data was returned from these missions.

The Falcon Gold satellite sponsored by the US Air Force Academy took a different

approach, using a sampling receiver built by NAVSYS Corporation to record sparse

samples of the GPS spectrum from GTO, as Moreau et al. has suggested. However, the

experiment operated for only a couple of weeks before the S/C battery was depleted, and

a minimal amount of data was ultimately extracted from the measurements. “The normal

receiver processing functions were then performed on the ground in post-processing. At

the time, these experiments were assumed to be the first ever examples of GPS tracking

in a HEO, or from above the GPS constellation. Then, in September 2000 the first public

disclosure was made of a restricted US Department of Defense (DoD) satellite program

that has been using GPS measurements to perform the operational orbit determination for

a geostationary satellite for at least several years. Similar to the Falcon Gold approach,

they use a distributed GPS receiver architecture comprised of an analog translator on the

Spacecraft coupled with a ground-based receiver and processing system. GPS signals

are translated from the L1 frequency to a convenient intermediate frequency, and

transmitted to the ground, combined with data from a ground receiver and used to

compute the navigation solution. … The Department of Defense program has actually

gone a step further and demonstrated an operational GPS based orbit determination

system; although it uses a distributed GPS receiver architecture that does not perform

closed-loop GPS signal tracking onboard the Spacecraft”.

3

Page 20: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Table 1.1. HEO GPS flight experiments. Source: Moreau et al., 2002 (See references therein).

Orbit/Date/Duration Architecture Comments Mission US DoD Satellite

Geostationary GPS-based OD system dates to early 1990s, ongoing program.

Distributed architecture using a transponder on the Spacecraft and a ground based receiver

Operational GPS-based OD system for GEO satellite, uses specialized high-gain antenna design utilizing an array of patch antennas.

TEAMSAT-YES

GEO transfer orbit Launched Oct. 1997 Operated ~2 weeks

Trimble TANS-II Tracked GPS signals up to ~26 000 km altitude. Mission length limited by several week life span of Spacecraft battery.

Equator-S 500 x 67 000 km alt. Launched Dec. 1997 Operated several months

Motorola Viceroy GPS experiment operated intermittently over several months. Tracked PRN 30 from an altitude of 61 000 km and tracked GPS sidelobes signals. Satellite failed prematurely.

Falcon Gold

GEO Transfer Orbit Launched Oct. 1997 Operated several weeks

NAVSYS TIDGIT sampling receiver

Receiver returned digitized samples of GPS spectrum, processed on ground.

Experiment operated for a couple of weeks.

STRV 1c&d GEO Transfer Orbit Launched Nov. 2000

microGPS II sampling receiver

No GPS data returned due to Spacecraft failure.

AO-40 1000 x 58 800 km alt. Launched Nov. 2000 Currently operating

Two Trimble TANS Vectors

Spacecraft currently spin stabilized, GPS receiver 1 activated from 25th Sept. to 2nd Nov., 2001. Uses “high gain” receiving antennas.

In 2000, the AMSAT-OSCAR 40 Spacecraft was launched and carried within it a GPS

flight experiment on HEO, which aims to use GPS as a low-cost orbit determination

sensor for future HEO missions. Like TEAMSAT and EQUATOR-S, AO-40 uses a

receiver with LEO flight heritage. According to Moreau et al. (2002), the GPS receiver

“regularly returned GPS observations from points all around the orbit. Raw signal-to-noise

levels as high as 12 AMUs (Trimble Amplitude Measurement Units) or approximately 48

dB-Hz were recorded at apogee, when the Spacecraft was close to 60 000 km in altitude.

On several occasions when the receiver was below the GPS constellation (below 20 000

km in altitude), observations were reported for GPS satellites tracked through side lobe

transmissions. Although the receiver has not returned any point solutions, there has been

at least one occasion when four satellites were tracked simultaneously, and this short arc

of data was used to compute point solutions. … Already AO-40 has demonstrated the

feasibility of recording GPS observations in HEO using an unaided receiver”.

4

Page 21: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

At the present moment, a European consortium has been working on the development of

the Small Geostationary Platform since March 2007, under the Advanced Research and

Telecommunications Systems (ARTES) 11 programme of the European Space Agency

(ESA). The Small GEO is planned to be launch in 2011-2012, and will incorporate

advanced payload technology: DVB S2 Processor and active antennas (European Space

Agency, 2010). In addition, the Small GEO has good chances to be the first commercial

platform to test a GNSS receiver in GEO (Zentgraf et al., 2010). The EADS Astrium’s

MosaicGNSS receiver is expected to be used in this mission.

1.2 Aim and Objectives

1.2.1 Aim

The aim of this project is to find alternative solutions to the in-orbit autonomous position

determination of satellites in GTO and GEO, through the change of the algorithms of the

EADS Astrium’s state-of-the-art MosaicGNSS receiver, in order to deal with sparsely

distributed GNSS measurements.

1.2.2 Objectives

The development of methods for batch processing of acquired GNSS signals defines the

following objectives:

• Summarize the algorithms used for position determination in the current navigation

product, the MosaicGNSS receiver,

• Summarize the results obtained in previous navigation performance assessments on

the use of the MosaicGNSS receiver in GEO,

• Determine the dynamics and visibility conditions of the GPS constellation for a LEO

circular orbit and GEO,

• Verify the visibility conditions for LEO and GEO as compared to the observations

made during closed-loop tests using the Spirent RF Simulator and the MosaicGNSS

receiver in the loop,

• Develop attitude dynamics capabilities in the MATLAB-based S/W Simulation

Environment of EADS Astrium,

5

Page 22: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

• Create a representative GTO attitude and orbit scenario,

• Determine the expected visibility conditions in GTO and GEO,

• Investigate estimation techniques and batch-processing algorithms,

• Investigate state-of-the-art batch-processing algorithms, as used in the satellite

ground stations,

• Choose an adequate batch-processing algorithm and optimization criterion,

• Implement the batch-processing methods in a MATLAB environment,

• Compare and evaluate the achievable position determination accuracy under the

MATLAB environment, with respect to the results achieved using the state-of-the-art

algorithms available from the current navigation product, the MosaicGNSS receiver.

1.3 Methodology

The following methodology is proposed for the development of this project:

• Analysis of the state-of-the-art real-time position determination algorithms, used in

the current navigation product,

• Analysis of dynamic and visibility conditions in GTO and GEO,

• Investigation of state-of-the-art batch-processing algorithms, as they are used in

satellite ground stations,

• Adaptation of the methods to on-board autonomous processing, and

• Comparison and evaluation of the achievable position determination accuracy.

The process starts with the analysis of the state-of-the-art real-time position determination

algorithms, used in the current navigation product, continues with the adaptation of the

most suitable state-of-the-art batch-processing algorithm, and finishes with evaluation of

the achievable position determination accuracy using such estimation technique.

6

Page 23: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

2 STATE-OF-THE-ART REAL-TIME POSITION DETERMINATION ALGORITHMS IN THE MOSAICGNSS RECEIVER

Introduction

“The MosaicGNSS receiver of EADS Astrium represents a fully Space qualified receiver

that is specifically designed for high robustness and long-term use in a Space

environment. … A navigation filter ensures a smooth and continuous navigation solution

even under restricted GPS visibility” (Montenbruck et al., 2008). The following sections

describe the core of the Navigation Module: The Navigation Planning and the Navigation

Solution.

2.1 Navigation Module

The Navigation Module is made up of two modules as it is shown in Figure 2.1:

• Navigation Solution

• Navigation Planning

Sensor Module

ChannelController

Navigation Module

Solution

Planning

Cmd & Msg Handler

TMHandler

PVT

Predictions

Raw Data,Ephemeris

Almanac

Figure 2.1. Navigation Module: Interfaces and data flow. Source: Astrium, 2010a.

7

Page 24: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Additional two modules are required to build up a functional system:

• GPS Sensor

• Command & Message Handler

The GPS Sensor module is in charge of acquiring the raw measurements from the GPS

constellation (Astrium, 2002). It provides to the Navigation Solution module the

information of measured pseudorange and Doppler shifts, and decoded navigation data

such as clock parameters of the GPS satellites and User Range Errors (URE). At the

same time, it provides to the Navigation Planning module the decoded navigation data i.e.

almanac and ephemeris. The Navigation Planning module is in charge of calculating the

visibility of the GPS satellites and of making predictions of the propagation delays,

Doppler shifts and the associated uncertainties. All these values are returned to the GPS

Sensor module in order to have an optimal assignment to the channels of the

MosaicGNSS receiver of GPS satellites that are going to be tracked.

The Navigation Solution module calculates the position, velocity and time (PVT) solution

for the user S/C and provides it to the Navigation Planning module.

2.2 Navigation Planning

This module calculates the visibility of all GPS satellites, performs the planning for the

assignment of the channels to the tracking of GPS satellites, using mainly the ECI J2000

reference frame. First of all, the boresight vector of the GPS antenna is determined in

such reference frame, and then the positions of all the GPS satellites (Space Vehicles,

SV) and line-of-sight (LOS) from the user S/C to the SV are calculated. The geometrically

visible SVs are determined, using the LOS vectors, antenna boresight vector and the half

cone angles of the receiver antenna and of GPS signals. The GPS SVs that are masked

by the Earth and signals that pass through the atmosphere are excluded from the visible

set (the height of the atmosphere is a commanded value). In case that the altitude of the

user S/C is lower than the atmospheric height, all GPS SVs with LOS vectors below the

tangential plane of the user S/C’s orbit are excluded from the visible set. The algorithms

are described in Astrium (2002).

8

Page 25: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

The assignment of the GPS satellites that are going to be tracked to the channels of the

receiver is based on the priority defined by the planning module. The algorithms are

described in Astrium (2002).

Finally, the following outputs are computed for the predictions:

• Pseudorange estimation/propagation,

• Doppler frequency,

• 1σ uncertainty for propagation delay,

• 1σ uncertainty for Doppler shift.

There are two sets of data from which those predictions can be calculated: the

measurement model and the prediction node. The measurement model is calculated in

the navigation solution module for each tracked GPS SV. This model is available if a

solution is calculated and the SV is in track and valid. The ephemeris data is used for the

calculations. The other set of data, the prediction node, is calculated in the procedure that

checks the GPS visibility. This model is available when there is almanac data available.

These predictions are performed once per second for every satellite appointed to a

channel. The algorithms are described in Astrium (2002).

2.3 Navigation Solution

There are two major navigation solution modules: the kinematic solution and the dynamic

solution. These two modules represent different navigation solution methods, and are

executed alternatively. Both methods provide navigation solutions at a frequency of 1 Hz

(Astrium, 2002).

2.3.1 Kinematic Navigation Solution

The kinematic solution is an instantaneous navigation solution with 4 or more SVs in track

at the same time to calculate the four unknowns: position vector and clock bias. When the

navigation solution method is set by an external command to be the kinematic solution,

the navigation solutions are computed with this method using least square algorithms; the

9

Page 26: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

default method is the dynamic solution. The algorithms are described in Astrium (2002).

Figure 2.2 depicts the sub-modules and interfaces of the kinematic navigation solution.

GPSSensor Calc.

Meas.Model

Calc.DeltaStateVector

CorrectPositionVelocity

CmdMsg

Handler

Navigation Planning

I/F1b

I/F7

I/F1a

I/F4a

I/F8

I/F9

I/F5

I/F4bI/F3

Figure 2.2. Kinematic Navigation Solution: Sub-modules and interfaces. Source: Astrium, 2002.

2.3.2 Dynamic Navigation Solution

The dynamic solution is a navigation solution calculated using sequential data processing

(Kalman filtering). This method requires a model of the dynamics of the user S/C and

statistical knowledge of the process and measurement noise. Even in situations with less

than four tracked SVs, a dynamic solution can be provided. If less than two SVs are

available, the dynamic solution is solely based on the implemented orbit models. If the

situation of having less than two SVs available remains for a specific time, the solution is

declared invalid.

The initialization of the Kalman filter is in general performed by the kinematic navigation

solution as entry point. However, there also exist options of having a “Warm Start” using

uploaded initial conditions, or a “Hot Start” using the last PVT from before a restart

happened. If an initialization of the Kalman filter is not possible, e.g. due to low visibility,

the receiver will continue in the kinematic solution mode until an initialization is successful.

When less than 2 satellites are visible, the state is propagated, but the navigation solution

mode remains in dynamic solution mode (Astrium, 2002). Figure 2.3 depicts the sub-

modules and interfaces of the dynamic navigation solution.

10

Page 27: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

GPSSensor Calc.

Meas.Model

Filt. sol. for

PVT

Propag. to next

time step

CmdMsg

Handler

Navigation Planning

I/F1b

I/F1a

I/F4a

I/F8

I/F7

I/F5

I/F4b I/F3

Figure 2.3. Dynamic Navigation Solution: Sub-modules and interfaces. Source: Astrium, 2002.

2.3.2.1 Orbit Model

The orbit model in the MosaicGNSS receiver propagates the position and velocity of the

user S/C in ECI J2000 Frame using the different forces and accelerations that the user

S/C is subject to. The propagator takes into account for the acceleration the following

sources:

• Gravitational force exerted by the Earth, for which the Earth Gravity Model 96

(EGM96), developed by NASA and NIMA is used.

• Perturbations from the gravitational forces of the Sun and Moon.

• Solar radiation pressure.

• Air drag due to the atmosphere (essentially for LEO orbits).

• External accelerations due to the activation of thrusters, provided by telecommand to

the MosaicGNSS receiver.

2.3.2.2 Sequential Filtering: The Kalman Filter

For the Kalman filter to eliminate the receiver clock bias from the measurements of the

pseudoranges, the differences method is used, i.e. instead of using every single

measured pseudorange, the difference between two measured pseudoranges is

calculated, thereby eliminating common errors.

11

Page 28: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

The measurement vector for the filter update is therefore:

( )Tknkikk zzzz ,,,,1 LK=

niki rrz −= Eq. 2.1

where:

zk = Vector with the set of n measurements at time tk.

zki = ith element of vector zk.

ri = ith measured pseudorange at time tk.

And, the vector of estimates is given by:

( )Tknkikk zzzz ˆ,,ˆ,,ˆˆ 1 LK=

( ) ( )ninikuserngpskuserigpsniki bbcrrrrrrrrz Δ−Δ−Δ−Δ+−−−=−= −−,,,,ˆˆˆ Eq. 2.2

where:

kz = Vector with the set of n measurements at time tk.

kiz = ith element of vector . km

ir = ith measured pseudorange at time tk.

igpsr , = Position vector of the ith GPS satellite in ECEF reference frame at time tk.

−kuserr , = Position vector of the user S/C in ECEF reference frame at time tk.

Δri = Correction to the pseudorange due to the Sagnac Effect.

c = Speed of light.

Δbi = Clock error of the ith GPS satellite.

Regarding the Sagnac Effect, while most calculations are conducted in the ECI coordinate

system, the positions of the GPS satellites are first computed in the ECEF coordinate

system at time of signal transmission and then transformed into ECI. However, in order to

minimize the number of computations, the transformation matrix from the ECEF to the ECI

system is calculated only once every second at the time of measurements. Therefore, the

relative rotation between the ECEF and the ECI system during the time of transit has to be

compensated, which is also known as the Sagnac correction (Astrium, 2010a).

12

Page 29: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

The state vector is then updated with:

( kkkkk zzKxx ˆˆˆ −+= −+ ) Eq. 2.3

And, the error covariance matrix is updated with:

Tkkk

Tkkkkkk KRKHKIPHKIP +−−= −+ )()( Eq. 2.4

where:

Kk = Weighting matrix at time tk, also known as the Kalman gain.

Hk = Observation matrix at time tk.

Rk = Uncertainty matrix in the measurements at time tk.

The algorithms are described in the reference Astrium (2002).

2.4 Results obtained in previous navigation performance

assessments on the use of the MosaicGNSS in LEO and

GEO

2.4.1 In-flight navigation performance assessment in LEO

During the years 2007 and 2008, the Deutsches Zentrum für Luft- und Raumfahrt (DLR)

performed an in-flight performance assessment of the MosaicGNSS receiver for satellite

navigation in the framework of the Earth Observation mission TerraSAR-X (Montenbruck

et al., 2008).

Before the in-flight performance assessment, DLR conducted a pre-flight validation of the

MosaicGNSS receiver. “In the absence of ionospheric path delays, broadcast ephemeris

errors and multipath errors, a kinematic positioning accuracy of roughly 20-30 m (3D rms)

has been obtained in the simulator test bed. … In case of TerraSAR-X, the filtered

navigation solution is used exclusively. This reduces the short-term noise of the position

and velocity measurements and safeguards against a loss of navigation if less than four

satellites can be tracked. Under the ideal case of a fully error free scenario, a filtered

navigation solution accuracy of 7 m (3D rms position error) and 1.5 cm/s (3D rms velocity

error) has been obtained in the pre-flight signal simulator tests. Adding representative

13

Page 30: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

ionospheric and broadcast ephemeris errors to the simulation, a slightly degraded

navigation accuracy of 12 m and 2.5 cm/s, respectively, was achieved” (Montenbruck et

al., 2008).

Table 2.1 presents the in-flight characterization of position and velocity errors of the

filtered MosaicGNSS navigation solution, and Figure 2.4 shows the cross-track position

errors for the April 12th-13th, 2008 period (Day of year, DOY, 103-104) relative to a centre

of mass reference trajectory.

Table 2.1. Position and velocity errors of the MosaicGNSS navigation solution for April 12th-13th, 2008 period (DOY 103-104). Source: Montenbruck et al., 2008.

Parameter Radial Along-track Cross-track 3D RMS Peak

Position 3.530 ±4.170 m 1.250 ±3.270 m 0.160 ±2.720 m 7.040 m 22.00 m

Velocity 0.004 ±0.008 m/s -0.001 ±0.004 m/s 0.000 ±0.006 m/s 0.011 m/s 0.04 m/s

Figure 2.4. Cross-track position errors of the MosaicGNSS navigation solution from the in-flight assessment in LEO. Source: Montenbruck et al., 2008.

2.4.2 Navigation performance assessment in GEO

In the year 2006, tests were performed by EADS Astrium in order to investigate the

navigation performance of the MosaicGNSS receiver under GEO conditions, when in

addition to the main lobe of the GPS satellite antenna also the sidelobes are used.

Using the MosaicGNSS receiver in the loop, both cases, with and without sidelobes, were

simulated. “In each case, the number of tracked satellites, 3D rms position error and the

associated pseudoranges were recorded over a 72 hours time span (3 days). The x-, y-

and z-component of position and velocity in the ECEF reference frame were also

recorded” (Astrium, 2006).

14

Page 31: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

The advantage of using sidelobes in addition to the main lobe of the GPS satellite antenna

is clearly shown by comparing the number of tracked satellites over time. “For instance,

more than one satellite is tracked for over 78.1% of the time (mean number of tracked

satellites is 2.2) when sidelobes are used versus only 29.8% (mean number of tracked

satellites is only 1.3) when only the main lobe is employed” (Astrium, 2006).

Finally, the 3D RMS position error after about two orbits was found to be 60.3 m in case of

side lobes versus 174.3 m when only the main lobe is used. Figure 2.5 shows the number

of tracked satellites and 3D RMS error over the 72 hours time span.

Figure 2.5. 3D RMS error of the filtered MosaicGNSS navigation solution (blue) and number of tracked satellites (green) from the assessment in GEO. Source: Astrium,

2006.

15

Page 32: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

3 ATTITUDE DYNAMICS FOR THE EADS ASTRIUM SPACE ENVIRONMENT SIMULATOR

Introduction

In 2009, EADS Astrium carried out a study for the European Space Agency (ESA) which

investigated the feasibility of Global Navigation Satellite System (GNSS) receivers as

autonomous AOCS (Attitude and Orbit Control Subsystem) in-orbit sensor for GTO, GEO

and higher orbits (Astrium, 2010b). The risk of using GPS for commercial Space missions

at geostationary altitudes, in particular civil communications and weather satellites was

greatly reduced in February 2000 with the release of the GPS Operational Requirement

Document (ORD) to support the upgrade of GPS Block IIF and incorporating a first

description of a Space Service Volume (SSV), extending from 3 000 km to approximately

geostationary altitude (Air Force Space Command, 2002). Prior to this update, the half-

beam- angle of the GPS L1 antenna was specified only up to 14°, which is approximately

the half cone angle under which the Earth is seen from GPS altitude (±13.9°). The above

mentioned ORD specifies the signal L1 at a half-beam angle of 23.5° at worst case

(geosynchronous) altitude, which is approximately 9.6° wider than the half-cone of the

Earth and allows satellites in geosynchronous orbit to receive signals from GPS satellites

behind the Earth using a nadir pointing antenna.

In the frame of these activities, a MATLAB-based simulation model was created for

performance evaluation of on-board orbit determination by GNSS, to support future

development of GNSS receivers and applications in HEO, and expansion of the GALILEO

constellation into the Space Service Volume (SSV). The model of the MATLAB-based

Simulation Environment (S/W Simulator) was verified by comparison to MosaicGNSS

receiver’s PVT Navigation Solution Module by EADS Astrium in a real-time test-

environment (Mittnacht and Fichter, 2000). Figure 3.1 depicts the basic structure of the

Simulation Environment, which contains:

• A GNSS Orbit Propagation block,

• An User S/C Orbit Propagation block,

16

Page 33: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

• A Navigation Module Input Generation block,

• A Navigation Module block, and

• An Acceleration Determination block.

Figure 3.1. Structure of the S/W Simulation Environment for GNSS. Source: Astrium, 2010b.

This Simulation Environment provided the functionality of setting the orientation of the

user S/C’s antenna boresight in nadir- or zenith-pointing. This capability was enough for

simulating LEO scenarios, where the antenna boresight should point to zenith in order to

get visible GNSS satellites and therefore their signals, and GEO scenarios, where the

antenna boresight should point to nadir to do so. Although, this functionality was

appropriate for already established LEO and GEO scenarios, it was not enough when a

complete scenario is required, which includes transfer orbits, manoeuvres and the

transition to the final GEO, which change the orientation of the antenna boresight at every

time. Therefore, the objective of this section is to develop attitude dynamics capabilities

for this S/W Simulator.

17

Page 34: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

3.1 Requirements for a GTO and GEO scenario

In a GTO scenario, the addition of manoeuvres is mandatory to get a representative

profile of the visibility of GNSS satellites from the separation of the launch vehicle to the

final insertion in GEO. Such manoeuvres can range from manoeuvres for pointing to the

Sun and calibration of the gyros to apogee manoeuvres, among others. As they change

the orientation of the MosaicGNSS’ antenna boresight, which is fixed with respect to the

body frame of the user S/C, these manoeuvres should be simulated. Therefore, the

introduction of an attitude dynamics module for the S/W Simulator was identified as a

necessary pre-requisite for further assessments.

3.1.1 Orbit Requirements

An overview of a typical transfer sequence for a geostationary Spacecraft using an Ariane

5 Launch Vehicle is shown in Figure 3.2. Orbits from injection to the geosynchronous orbit

are plotted in the inertial plane X-Y (ECI J2000 reference frame), where Earth is depicted

in the centre. The GPS altitude is depicted as a black circumference.

+Z-axis in cruising mode (-Z-axis is Sun-pointing)

Figure 3.2. Typical transfer sequence for a GEO Spacecraft. Three intermediate orbits for the GTO (blue), the geosynchronous orbit (red) and the GPS orbit (black) are depicted. The magenta arrow near the Earth shows the orientation of the S/C’s +Z-axis in Sun Cruising Mode (-Z-axis is Sun-pointing). The yellow shadow depicts the range of possible Sun-Earth-Apogee angles, and the yellow circle represents

the Sun position.

18

Page 35: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

At injection, the perigee altitude can be no more than 250 km (Ariane), with an apogee

close to the GEO altitude (42 165 km). In this case, the Super-Synchronous Transfer Orbit

(SSTO) case is not considered.

Several burns, typically 3, are performed at apogee in order to raise the perigee up to the

GEO altitude. Therefore, each burn moves the satellite on a new orbit called Intermediate

Orbit, up to the final one.

As a special requirement, the Sun should be always on the apogee side. More precisely,

the Sun-Earth / Earth-apogee angle is roughly in a range from 0° to 40°, printed in yellow

in Figure 3.4 above.

3.1.2 Attitude Requirements

Regarding the attitude profile, three cases are distinguished: the first transfer orbit, the

Sun cruising mode and the sequence of attitudes before each apogee boost.

Parking Orbit .- After the injection in the first transfer orbit by the Launch Vehicle, several

manoeuvres are performed. The first manoeuvre is for the Sun acquisition in order to

deploy the solar arrays, where the cells should point towards the Sun. This Sun cruising

attitude is kept until the second set of manoeuvres is performed for the calibration of the

gyros. Basically, it consists on a 20° pitch manoeuvre with respect to the Sun-pointing

attitude for the first calibration, and then a 45° pitch manoeuvre for the second calibration.

Finally, the last manoeuvre brings the satellite back to a Sun-pointing attitude or Sun

Cruising Mode. Figure 3.3 shows this first part of the GTO, where the positions around the

orbit are labelled: 0) Transfer orbit injection, 1) Initialization of AOCS and CPS (Combined

Propulsion Subsystem) subsystems, 2) Sun acquisition, 3) Solar array deployment, cells

pointed towards the Sun, 4) Sun cruising attitude, 5) Sequence of gyro calibration, 6)

Manoeuvre to acquire the first gyro calibration attitude, 7) Second sequence of gyro

calibration, 8) Manoeuvre to go back to a Sun-pointing attitude, 9) Sun cruising mode.

19

Page 36: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 3.3. Transfer Mode – First Orbit.

Sun Cruising Mode .- Most of the time, the satellite is in cruising mode during the

transfer phase, where the -Z-axis of the satellite (-Zsat) is pointing to the Sun, with usually

no bias. In Figure 3.4, the +Zsat is represented by the arrow at a given position in this

cruising attitude.

Figure 3.4. Transfer Mode - Sun Cruising Mode.

20

Page 37: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Consequently, assuming that there is no bias in the satellite attitude, the helix antenna

and patch antenna are kept in a constant and near inertial direction. Actually, this direction

is linked to the Sun and thus moving at about 1°/day, therefore it is called near inertial.

Apogee Manoeuvres Mode .- Out of the cruising mode, the satellite has to perform a

sequence of attitude manoeuvres before and after each apogee burn, as it is shown in

Figure 3.5. Before each of the three apogee burns, several attitude manoeuvres are

performed in order to change from a Sun-pointing attitude to an apogee boost attitude.

After the burn has been performed plus a stand-by period, the satellite returns to the Sun-

pointing Cruising Mode.

Figure 3.5. Transfer Mode – Apogee Boost.

3.2 Design and implementation of the Attitude Dynamics

An attitude dynamics module was developed for the S/W Simulator in order to meet the

requirements pointed out above. This new module was included as part of the user S/C

Orbit Propagation block in the model and is shown in Figure 3.6 below.

21

Page 38: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 3.6. User S/C Attitude Dynamics Module of the S/W Simulator.

22

Page 39: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

This function calculates the attitude of the user S/C, after the execution of the specified

manoeuvres for the current time. The function returns the representation of the Body

Frame in the following reference frames: ECI J2000, ECEF and LVLH.

Additionally, it receives as input the attitude of the user S/C antenna boresight with

respect to the body reference frame, and returns as outputs the same attitude in the

following reference frames: ECI J2000, ECEF and LVLH.

The key data structure for the implementation of the attitude profile in the S/W Simulator is

the matrix ATTITUDE_MANOEUVRES_MATRIX. This matrix contains all the information

needed for the attitude dynamics. The definition of the matrix is as follows:

[Column 1: GPS Time: Absolute GPS Time (s).

Column 2: Manoeuvre Command.

Column 3: Rotation Method.

Column 4-13: Parameters of the rotation method.

]

Table 3.1 shows the inputs, parameters and outputs of the attitude dynamics module. A

detailed definition of them as well as the definition of the useful reference frames can be

found in Appendix A.

Table 3.1. Interfaces of the attitude dynamics module.

Interface Description

Inputs GPS reference time, user S/C position in ECI J2000, user S/C velocity in ECI J2000, sun position in ECI J2000, rotation matrix from ECI J2000 to ECEF, axes of the user S/C in Body Frame, and antenna boresight of the user S/C in Body Frame.

Parameters Matrix with the attitude manoeuvres: GPS time, command, rotation method, and parameters of the rotation method.

Outputs Axes of the user S/C in ECI J2000, ECEF, and LVLH reference frames. Antenna boresight of the user S/C in ECI J2000, ECEF, and LVLH reference frames.

23

Page 40: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

3.2.1 Model and Algorithms

When a rotation should be executed at the current GPS time, the attitude dynamics

module can perform 3 groups of manoeuvres. The first group is to produce an absolute

attitude with respect to the selected reference frame: ECI J2000, LVLH or Sun-pointing.

The second group involves a rotation from an initial absolute attitude to a final attitude with

respect to the selected reference frame: ECI J2000, LVLH or Sun-pointing. And, the last

group involves a rotation with respect to the body frame, although this last method was

not implemented within the purposes of the present project.

3.2.1.1 Absolute attitude with respect to a selected reference frame

For this case, in order to produce an absolute attitude with respect to the selected

reference frame, the first step is to get a rotation matrix from that frame to body frame.

Then, the rotation method and its parameters are processed. The available rotation

methods are: Euler angles, Tait-Bryan angles (roll, pitch and yaw), quaternions, and Euler

axis/angle.

Euler Angles

“According to Euler’s rotation theorem, any rotation may be described using three angles”

(Wolfram MathWorld, 2010). If the rotations are written in terms of rotation matrices D, C,

and B, then a general rotation A can be written as:

⎥⎥⎥

⎢⎢⎢

⎡==

333231

232221

131211

aaaaaaaaa

DCBA Eq. 3.1

When the Euler angles are selected, the “x-convention” or “z-x-z’ convention” is used. In

this convention, “the rotation given by Euler angles (Φ, θ, ψ) is as follows: the first rotation

is by an angle Φ about the z-axis using D, the second rotation is by an angle ],0[θ π∈

about the former x-axis (now x’) using C, and the third rotation is by an angle ψ about the

former z-axis (now z’) using B” (Wolfram MathWorld, 2010). Therefore, the rotation

matrices become:

24

Page 41: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

( )⎥⎥⎥

⎢⎢⎢

⎡−==

1000cossin0sincos

φφφφ

φzRD

( )⎥⎥⎥

⎢⎢⎢

−==

θθθθθ

cossin0sincos0

001

xRC

( )⎥⎥⎥

⎢⎢⎢

⎡−==

1000cossin0sincos

ψψψψ

ψzRB Eq. 3.2

These rotations are illustrated in Figure 3.7 below.

Figure 3.7. Rotation using Euler angles. Source: Wolfram MathWorld, 2010.

Tait-Bryan Angles

The Tait-Bryan angles are the “x-y-z convention” of the Euler angles and are also known

as “roll-pitch-yaw convention”, where Φ is yaw, θ is pitch, and ψ is roll (Wolfram

MathWorld, 2010). In this case, the rotation matrices become:

25

Page 42: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

( )⎥⎥⎥

⎢⎢⎢

⎡−==

1000cossin0sincos

φφφφ

φzRD

( )⎥⎥⎥

⎢⎢⎢

⎡ −==

θθ

θθθ

cos0sin010

sin0cos

yRC

( )⎥⎥⎥

⎢⎢⎢

−==

ψψψψψ

cossin0sincos0

001

xRB Eq. 3.3

Euler Axis/Angle

Euler’s rotation theorem states that any rotation can be expressed as a single rotation

about some axis. The axis is a unit vector, which remains unchanged by the rotation, and

the magnitude of the angle is a unique value, which is positive when the rotation is

counterclockwise about the axis. The Euler angle and axis are represented as follows:

φ=0e ; [ ]Teeee 321= Eq. 3.4

Quaternions

The quaternions are a number system that extends the complex numbers. The four

parameters of the quaternion q0, q1, q2 and q3 describe a finite rotation about an arbitrary

axis. These parameters are described as follows:

⎟⎠⎞

⎜⎝⎛=⎟

⎠⎞

⎜⎝⎛=

2cos

2cos 0

0e

q φ; [ ] [ ]TT eeeqqqq 321321 == Eq. 3.5

To get the rotation matrix in the case of the Euler axis/angle, we first transform these

parameters to the quaternions, and then for these both cases we can calculate each

element of the rotation matrix as follows (Wolfram MathWorld, 2010):

( )( )203131

302121

23

22

21

2011

22

qqqqaqqqqa

qqqqa

+=−=

−−+=

( )

( )103232

23

22

21

2022

302112

2

2

qqqqaqqqqa

qqqqa

−=−+−=

+=

( )( )

23

22

21

2033

103223

203113

22

qqqqa

qqqqaqqqqa

+−−=

+=−=

Eq. 3.6

26

Page 43: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

In addition, an extra functionality was implemented for the Euler axis and angle method, in

which we can set two more optional parameters: a constant angular velocity and a final

angle of rotation. This modification was added in order to perform a smooth change

between the attitudes in the attitude manoeuvres profile.

As the attitude can be provided either in Euler angles, Tait-Bryan angles (roll, pitch and

yaw), quaternions or Euler axis/angle, there is no core attitude representation. The choice

of the rotation method depends on the convenience of the representation of the user S/C’s

attitude for one type of manoeuvre or another. Still, internally almost every representation

is converted in some way to a rotation matrix which specifies the rotation manoeuvre.

And, the vectors in the S/W Simulator are multiplied by such a rotation matrix to obtain

their new orientations. So, when the rotation matrix has been calculated, it is used to get

the orientation of the user S/C’s body axes in ECI J2000, ECEF, and Sun-pointing

reference frames.

3.2.1.2 Rotation from an initial attitude to a final attitude

For this case, in order to produce a rotation from an initial attitude to a final attitude with

respect to the selected reference frame, the first step is to get the rotation parameters of

the initial and final attitude in such reference frame. These parameters can be specified

using one of the different methods that were explained above, and the rotation method for

the final attitude can be chosen independently of the rotation method for the final attitude.

The final parameter needed is the time duration in which the manoeuvre has to be

completed.

Once the rotation matrices for the initial and final attitude are calculated, the next step is to

calculate the final rotation matrix from the initial to the final attitude. From the elements of

this matrix (aij), it is possible to obtain the Euler axis and angle of the net rotation as

follows (Gottzein, 2008):

27

Page 44: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

3322110 1 aaaq +++=

[ ] ( ) ( ) ([ ]TT aaaaaaq

qqqq 2112133132230

321 41

−−−== )

( )00 arccos2 qe ==φ

( )( ) [Tqqq

qe 321

0arccossin1

= ] Eq. 3.7

Alternative representations are available when the denominator is getting too small. The

intermediate rotation matrix at each time is then calculated using the obtained Euler axis

and computing the effective rotation angle at this time based on the GPS time of the

command (tcommand), the current GPS time (tcurrent), and the time duration of the manoeuvre

(Tmanoeuvre) as it is shown as follows:

( commandcurrentmanoeuvre

effective ttT

−= )φφ Eq. 3.8

3.3 Implementation of a representative GTO/GEO attitude and

orbit scenario

For the complete definition of the GTO/GEO scenario, two types of manoeuvre should be

implemented. The first one is with respect to the orbit profile, which includes all the ΔV

manoeuvres to get the three intermediate orbits plus GEO; and, the second one is with

respect to the attitude profile, which includes all the attitude manoeuvres as they were

defined above.

3.3.1 Manoeuvres for the orbit profile

The Acceleration Pre-Processing Block in the S/W Simulator checks at every time step if

there is an external acceleration due to a manoeuvre at every time of the simulation. If so,

it returns the acceleration vector with respect to body and ECI J2000 reference frames.

28

Page 45: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

In order to simulate the thruster manoeuvres needed to generate the orbits in the

GTO/GEO scenario, the matrix

ACCELERATION_MANOEUVRES_MATRIX_BODY_FRAME in the S/W Simulator has to

be set. This matrix contains all the information of the user S/C’s specified accelerations in

Body reference frame. The definition of the matrix is as follows:

[Column 1: GPS Time: Absolute GPS time (s).

Column 2: direcX: Direction of the acceleration in X-axis w.r.t. Body Frame.

Column 3: direcY: Direction of the acceleration in Y-axis w.r.t. Body Frame.

Column 4: direcZ: Direction of the acceleration in Z-axis w.r.t. Body Frame.

Column 5: misAlignX: Misalignment of the direction in X-axis.

Column 6: misAlignY: Misalignment of the direction in Y-axis.

Column 7: misAlignZ: Misalignment of the direction in Z-axis.

Column 8: accMagn: Magnitude of Acceleration.

]

An array method of representation of the information was used in order to maintain the

standard that was used along the whole S/W Simulator development. This method was

chosen to keep compatibility with input formats provided by other EADS Astrium sites.

Following the requirements stated above, the total ΔV was calculated for the GTO/GEO

scenario with 3 intermediate orbits and the final Geostationary Earth Orbit, using standard

Keplerian formulas. The first intermediate orbit has a perigee of 250 km that is the

injection altitude that can be provided by the Ariane 5 Launch Vehicle, and an apogee

equals to the GEO altitude. Hence, for the first orbit:

13762860002501, =+= Ep Rr m; 000165421, =+== GEOEGEOa hRrr m;

5.568396242

1,1,1 =

+= ap rr

a m

where:

rp,1 = Radius of the user S/C at perigee.

ra,1 = Radius of the user S/C at apogee.

a1 = Semi-major axis of the orbit.

RE = Earth radius equals to 6 378 137 m, according to the WGS84 (NIMA, 1997).

hGEO = Altitude of the Geostationary Earth Orbit.

29

Page 46: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

rGEO = Distance of the Geostationary Earth Orbit measured from the centre of the

Earth.

The velocity at apogee is:

597.602112

11,1, =⎟

⎟⎠

⎞⎜⎜⎝

⎛−=

arv

aEa μ m/s

where:

μE = Gravitational parameter of the Earth equals to 3.986004418 x 1014 m3/s2,

according to WGS84 (NIMA, 1997).

And, its period is:

121.923372 11 ==

E

aT

μπ s

On the other hand, the final velocity required at GEO is:

63.0743==GEO

EGEO r

m/s

Therefore, the total ΔV required is:

033.47211, =−=Δ aGEOTotal vvV m/s

In this case, the ΔV was divided by three, although different configurations can be chosen

for different GTO scenarios, where the respective acceleration vectors and times of

execution need to be calculated for the new intermediate orbits. The 3 burns of equal ΔV

are:

678.4903321 =

Δ=Δ=Δ=Δ TotalV

VVV m/s

For the next intermediate orbit, the velocity after the burn becomes:

274.209311,2, =Δ+= Vvv aa m/s

30

Page 47: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

In addition, deriving a formula to get the semi-major axis of the new orbit from the Vis-viva

equation, and knowing that the apogee is the same for the new orbit (the GEO altitude),

the new semi-major axis is:

514.56044227212

2,

2,2 =⎟

⎟⎠

⎞⎜⎜⎝

⎛−=

E

a

a

vr

m

Table 3.1 below presents the final results calculated for each of the intermediate orbits.

Table 3.1. Parameters of the intermediate orbits in the GTO/GEO scenario.

GTO / GEO Semi-major axis, a Velocity at apogee, va Orbital Period, T

First orbit 24 396 568.500 m 1 602.597 m/s 37 923.121 s

Second orbit 27 442 560.514 m 2 093.274 m/s 45 242.640 s

Third orbit 32 592 319.268 m 2 583.952 m/s 58 557.680 s

GEO 42 165 000.000 m 3 074.630 m/s 86 166.630 s* * This value is due to rounding errors in the intermediate calculations, the actual sidereal day is approx. 86 164.1 s. Despite this fact, the results are suitable for the purposes of the simulation.

Regarding the firing times, the burns occur at the apogee of each intermediate orbit and

each burn was designed to last for 2.5 minutes, being the simulation time step equal to

1 second. For the first intermediate orbit, an additional orbital time has to be introduced in

order to fulfill the timing requirements of the attitude profile. Therefore, the times of firing

are as follows:

682.8845621

11, =+=T

Tt f s; 322.12710221,2, =+= Ttt ff s; 68516032,3, =+= Ttt ff s

Table 3.2 sums up the final values taken with regard to the acceleration manoeuvres

using the external thrusters of the user S/C for the GTO/GEO scenario.

31

Page 48: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Table 3.2. Definition of the manoeuvres for the orbit profile of the GTO/GEO scenario.

Burns Time of firing, tf ΔV requirement, ΔV

First boost 56 885 s 490.678 m/s

Second boost 102 127 s 490.678 m/s

Third boost 160 685 s 490.678 m/s

Total ΔV 1 472.034 m/s

3.3.2 Manoeuvres for the attitude profile

The attitude dynamics module in the S/W Simulator processes at every time of the

simulation the matrix ATTITUDE_MANOEUVRES_MATRIX. If there is an attitude

manoeuvre then it is executed. This matrix with the attitude profile for the GTO/GEO

scenario was implemented according to the requirements above.

3.4 Verification of the GTO/GEO attitude and orbit scenario

The verification of the attitude and orbit profile was carried on visually. First, the

GTO/GEO scenario was configured for the S/W Simulator, and then it was run in the

MATLAB environment for a total simulation time of 300 000 s (~3.5 days). The S/W

Simulator has produced for every simulation step the corresponding position vector and

attitude of the S/C. Figures 3.8 and 3.9 show the results of the implemented attitude and

orbit profile.

It is important to note that the formulae used to calculate the parameters for the orbital

manoeuvres are for ideal Keplerian orbits, while the S/W simulator actually propagates the

state vector of the satellite, position and velocity using a 4th order Runge-Kutta

propagation,, taking into account different sources of perturbations. This means that there

are differences with respect to what actually occurs in the framework of a real mission,

where even more issues have to be considered such as the precise orbit determination

carried on by the control segment and the detailed specification of the telecommands in

32

Page 49: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

the Space operations framework. Taking all this into account, the results are regarded as

valid by EADS Astrium, because the implementation of the GTO/GEO attitude and orbit

scenario follows the given specification, and provides an in-depth insight of the mission

scenario in the early stages of the on-going Space projects.

Moreover, this implementation fulfills the aim for which it was developed in the first

instance, the analysis of the visibility conditions during the GTO/GEO scenario, which will

be covered in the next chapter.

Figure 3.8. Ariane GTO/GEO with 3 apogee burns and manoeuvres (top view). The antenna (green) is pointing in the S/C +Z-axis direction, mostly Sun-pointing in GTO

(except during gyro calibration and boost manoeuvres) and eventually Earth-pointing in GEO. The GPS orbit is also shown (red).

33

Page 50: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 3.9. Ariane GTO/GEO with 3 apogee burns and manoeuvres (3/4 view).

34

Page 51: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

4 ANALYSIS OF THE DYNAMICS AND VISIBILITY CONDITIONS IN GTO AND GEO

Introduction

This first objective of this section is to tune the S/W Simulator, so that it can produce

similar outputs to the ones obtained using the Spirent RF Simulator. For this, the tracking

behaviour of the MosaicGNSS receiver is taken as the criterion for the verification as it

influences the number of satellites that can be used to provide a solution and therefore the

navigation solution performance.

The second objective is to perform an analysis of the visibility conditions in the LEO, GEO

and GTO scenarios. This visibility analysis does not only refer to the pure geometrical

visibility conditions, but also includes the analysis of the GPS satellites which signals can

be acquired, and moreover tracked.

The Spirent RF Simulator STR4760 is a GNSS Simulator designed for testing GPS

equipment in manufacturing environments. It provides a complete simulated RF

environment for production testing GPS L1/L2 receivers. It is able to create a

3-dimensional simulation, so it is possible to test receiver sensitivity as well as time-to-fix

and positioning accuracy (Spirent, 2010). The Spirent RF Simulator is going to be used for

testing and verification purposes of all the work contained in the thesis project.

4.1 Definition of Visible, Trackable, Tracked and Used GPS

satellites

For the purpose of the verification is it important to define the following concepts:

• Visible GNSS satellites ("VISIBLE SVs")

• Trackable GNSS satellites ("TRACKABLE SVs")

35

Page 52: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

• Tracked GNSS satellites ("TRACKED SVs")

• Used GNSS satellites ("USED SVs")

4.1.1 Visible GNSS satellites

The visibility check is an important step in order to know which GNSS satellites can be

used at a specific time in the PVT solution. The algorithm checks which GNSS satellites

are visible as seen from the user S/C using the ECI J2000 reference frame.

Visibility is a purely geometrical condition. In order to declare that GNSS satellite is visible,

three conditions should be fulfilled. The first condition is fulfilled when the GNSS satellite

has a valid line-of-sight (LOS) to the user S/C, i.e. the Earth is not occulting the GNSS

satellite. The second condition is fulfilled when the angle between the LOS and the

transmission antenna orientation of the GNSS satellite is within the half cone aperture

angle of the GNSS satellite. And, finally, the third condition is fulfilled when the angle

between the LOS and the antenna orientation of the receiver is within the reception half

cone aperture angle. The relevant formulas can be found in Appendix B. Figure 4.1 shows

the visibility of the GPS satellites for LEO and GEO scenarios.

Figure 4.1. Visibility of the GPS satellites in 3D for a LEO scenario (left) and a GEO scenario (right). The yellow lines represent the vectors from the user S/C to all the GPS satellites, and the red lines represent the vectors to the GPS satellites that are

visible.

36

Page 53: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

4.1.2 Trackable GPS satellite

In order to track a GNSS satellite, the visibility conditions are not enough for a GNSS

receiver. The signal correlation module in the receiver is only able to decode the received

signals if they have a Carrier-To-Noise Density (C/N0) above a certain threshold. For the

MosaicGNSS, two different types of threshold are defined. The signals from the GNSS

satellites should be above the acquisition threshold in order to be initially decoded. Once

in track, the signals must remain above the tracking threshold in order to keep the tracking

loop active. The acquisition threshold is always higher than the tracking threshold. In

addition, the signal’s Doppler shift, i.e. the range rate, should not exceed a maximum

Doppler limit value.

The definition of such important concepts as the received signal power, noise power,

signal-to-noise ratio and carrier-to-noise density can be found in the Appendix C.

4.1.3 Tracked GNSS satellite

The tracked GNSS satellites are a subset of the trackable ones. Generally, not all of the

trackable GNSS satellites can be tracked due to constraints in the receiver, such as:

• number of channels in the receiver,

• time delay needed for signal detection/decoding (until a channel is in "fully tracking"),

• CPU power availability (which has to be divided among the tracked channels).

In the case of the MosaicGNSS receiver, the tracking loops need from 18 to 30 s to be

fully closed (i.e. fully tracking). In addition, due to the software-based correlation in the

MosaicGNSS receiver, the number of tracked GNSS satellites depends on the CPU load

required to track the corresponding signal, which depends on and is inversely proportional

to the received C/N0, because of a partial correlation that is performed by software in the

receiver. It means that in order to reduce the computational load of the receiver, the

strongest signals, where the peak of the signal power is high above the noise level and

therefore known, are correlated over a shorter time period than the longer period needed

for weaker signals.

4.1.4 Used GNSS satellites in Navigation Solution

The used GNSS satellites are a subset of the tracked ones. The Navigation Module gets

the measurements from the fully tracked GNSS satellites as input, and the navigation

37

Page 54: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

solution may isolate/exclude some GNSS satellites due to Failure Detection, Isolation and

Recovery (FDIR) / Receiver Autonomous Integrity Monitoring (RAIM) algorithms.

4.2 Verification of visibility conditions as compared to

observations made during closed-loop tests for LEO

As a first step, the S/W Simulation Environment was configured to simulate a Spacecraft

in LEO. In this case, a mission scenario in a polar Sun-synchronous orbit with an altitude

of 400 km was chosen, due to the fact that there were available configuration scripts for

the Spirent RF Simulator, which were created previously and independently by EADS

Astrium. The antenna boresight of the MosaicGNSS receiver is configured as Zenith-

pointing in this scenario.

As a second step, the configuration parameters were tuned in order to get the visibility,

carrier-to-noise density (C/N0) and signal-to-noise ratio (SNR) outputs similar to the ones

from the Navigation Module of the MosaicGNSS receiver during closed-loop tests with the

Spirent RF Simulator.

Figure 4.2 shows the orbit and the antenna boresight of the receiver pointing “up” in zenith

direction.

Figure 4.2. User S/C in LEO (thin blue line) with receiver antenna boresight (red) and GPS orbits (colours).

38

Page 55: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

4.2.1 GPS and MosaicGNSS antenna patterns

Figure 4.3 shows the GPS transmission antenna pattern with a 0 dB reference as it was

used for the LEO reference test in the Spirent RF Simulator. For this test case, only the

main lobe was considered. The GPS transmission power was set to an effective isotropic

radiated power (EIRP) of 30.2 dBW, and the GPS half cone angle to 26° (only main lobe).

-100 -80 -60 -40 -20 0 20 40 60 80 100-50

-45

-40

-35

-30

-25

-20

-15

-10

-5

0

atte

nuat

ion

[dB

]

angle [deg]

GPS ANTENNA ATTENUATION PATTERNGPS ANTENNA TX HALF CONE ANGLE = 26deg.

GPS TRANSMITTED POWER in DBW = 30.2

Figure 4.3. GPS transmission antenna pattern as used for the LEO reference test in the Spirent RF Simulator and in the S/W Simulator. Only the main lobe was used.

Source: Astrium, 2010 (internal communication).

Figure 4.4 shows the receiver antenna pattern of the user S/C with 0 dB reference. In this

case, the receiver antenna gain was set to 10 dB, and the receiver half cone angle to 82°.

39

Page 56: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 4.4. Receiver antenna pattern as used for the LEO reference test in the Spirent RF Simulator and in the S/W Simulator. Source: Astrium, 2010 (internal

communication).

4.2.2 Analysis of received Carrier-to-Noise Density

The tracking behaviour of the MosaicGNSS receiver influences the navigation solution

performance and is therefore an important criterion for verification. As was explained

above, the MosaicGNSS receiver has two thresholds for the received Carrier-To-Noise

Density (C/N0). It is important to note that in LEO, the C/N0 values are generally good

enough so that the above thresholds have little impact on the tracking behaviour of the

receiver, therefore we can set them higher than the minimum values in order to assign a

channel to another GPS satellites with a better C/N0. For this test case, the acquisition

threshold was set to 35 dB-Hz and the tracking threshold to 30 dB-Hz.

In addition, a limit is imposed on the number of tracked GPS satellites due to the CPU

load of the sensor tracking loops in the MosaicGNSS receiver, as it uses software

correlation for signal decoding. The used function that determines the number of satellites

which can be tracked is hardware-specific, where the weaker the signal (C/N0) the more

CPU needed for keeping the signal in track. The result of this is a dynamic limitation on

the number of tracked GPS satellites. In the MosaicGNSS receiver, up to 8 GPS satellites

can be tracked. Due to the CPU load limit, this reduces to approx. 2.8 GPS satellites with

C/N0 below 33 dB-Hz. At this limit, the signal needs to be fully correlated and the number

does not further degrade.

40

Page 57: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

4.2.2.1 Results using the Spirent RF Simulator

Figure 4.5 shows a histogram of the received C/N0 values for the LEO scenario test case.

The minimum value was found to be 35 dB-Hz and the maximum 48 dB-Hz.

Figure 4.5. Carrier-To-Noise Density (C/N0) distribution of the tracked GPS satellites for the LEO scenario using the Spirent RF Simulator. Source: Astrium, 2010

(internal communication).

4.2.2.2 Results using the S/W Simulator

The parameters in the S/W Simulator were first set to be physically representative and

then fine-tuned in order to produce a C/N0 distribution that matches the one obtained from

the Spirent RF Simulator. This tuning was necessary so that miscellaneous losses in the

signal power are accounted for correctly. Figure 4.6 shows a histogram of the received

C/N0 values as they were obtained from the S/W simulation.

41

Page 58: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 4.6. Carrier-To-Noise Density (C/N0) distribution of the tracked GPS satellites for the LEO scenario using the S/W Simulator.

4.2.3 Analysis of visible vs. tracked GPS satellites

As part of the tuning, the visibility analysis was carried on. The following sections show

the plots of the visible and tracked satellites.

4.2.3.1 Results using the Spirent RF Simulator

Figure 4.7 shows a histogram of the number of tracked GPS satellites for the LEO

scenario test case. The minimum value of tracked GPS satellites was found to be 3, the

mean value 6.36 and the maximum value 8.

Figure 4.7. Distribution of tracked GPS satellites for the LEO scenario using the Spirent RF Simulator. Source: Astrium, 2010 (internal communication).

42

Page 59: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

4.2.3.2 Results using the S/W Simulator

Figure 4.8 shows the number of visible and tracked GPS satellites for the LEO scenario.

The mean value of visible GPS satellites was 8.7 and the mean value of tracked GPS

satellites was 6.9. In addition, two or more GPS satellites are always in track during the

whole simulation time.

Figure 4.8. Visible and tracked GPS satellites for the LEO scenario using the S/W Simulator.

As we can observe, the final statistics using the S/W Simulator are close enough to the

statistics obtained during the hardware-in-the-loop test using the Spirent RF Simulator.

Therefore, the final configuration that was set can be used as a reference for LEO

scenarios in the S/W Simulator.

43

Page 60: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

4.3 Verification of visibility conditions as compared to

observations made during closed-loop tests for GEO

After the tuning of the S/W Simulator for a LEO scenario, it was configured for a standard

GEO scenario with the antenna boresight of the MosaicGNSS receiver pointing towards

the Earth. As in the previous case, configuration scripts for the Spirent RF Simulator were

provided by EADS Astrium, and were used to verify the results obtained.

The ionospheric delay was not considered for the test. In order to compensate this, the

Earth radius was masked with additional 600 km, which is above the peak of the

ionosphere, so that no signals affected by ionosphere delay are used.

Figure 4.9 shows the orbit and the antenna boresight of the receiver pointing “down” in the

nadir direction.

Figure 4.9. User S/C in GEO (blue) with receiver antenna boresight (red) and GPS orbits (colours).

4.3.1 GPS and MosaicGNSS antenna patterns

Figure 4.10 shows the GPS transmission antenna pattern with a 0 dB reference as was

used for the GEO reference test in the Spirent RF Simulator. For this test case, the main

lobe and side lobes were considered. The GPS transmission power was set to an

44

Page 61: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

effective radiated power (EIRP) of 30.2 dBW, and the GPS half cone angle to 45° (with

sidelobes). The receiver half cone angle was set to 65°.

Figure 4.10. GPS transmission antenna pattern, with an EIRP of 30.2 dBW, as used for the GEO reference test in the Spirent RF Simulator and in the S/W Simulator. Side lobes were also included. Source: Astrium, 2010 (internal communication).

4.3.2 Analysis of received Carrier-to-Noise Density

In GEO the tracking behaviour depends strongly on the acquisition and tracking limits.

The expected C/N0 is rather low and therefore the signals cannot be acquired and tracked

for all geometrically visible GPS satellites. Thus, different values of acquisition and

tracking thresholds are used for the LEO, GEO and GTO scenarios. Keeping them high as

in the LEO scenario ensures that GPS satellites with strong signal are used, while

lowering them relative to the values used in the LEO scenario allows more GPS satellites

to be used. For the GEO test case, the acquisition threshold was set to 34 dB-Hz and the

tracking threshold to 27 dB-Hz.

45

Page 62: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

4.3.2.1 Results using the Spirent RF Simulator

Figure 4.11 shows a histogram of the received C/N0 values for the GEO scenario test

case. The minimum value was found to be 27 dB-Hz and the maximum 45 dB-Hz. It is

also interesting to note two peaks in the received C/N0 at 35 and 43 dB-Hz, due the main

lobe and the sidelobes.

26 28 30 32 34 36 38 40 42 44 460

2

4

6

8

10

12

14

hist

[%]

C2N [dBHz]

Spirent GEO Ref Test: histogram of received Carrier-to-Noise ratio

Figure 4.11. Carrier-To-Noise Density (C/N0) distribution of the tracked GPS satellites for the GEO scenario using the Spirent RF Simulator. Source: Astrium,

2010 (internal communication).

46

Page 63: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

4.3.2.2 Results using the S/W Simulator

Figure 4.12 shows the received C/N0 values as they were obtained from the S/W

simulation.

Figure 4.12. Carrier-To-Noise Density (C/N0) distribution of the tracked GPS satellites for the GEO scenario using the S/W Simulator.

4.3.3 Analysis of visible vs. tracked GPS satellites

As part of the fine-tuning, the visibility analysis was carried on. The following sections

show the plots of the visible and tracked satellites.

4.3.3.1 Results using the Spirent RF Simulator

Figure 4.13 shows for the GEO scenario test case, the number of visible and tracked GPS

satellites for the whole simulation time. The minimum value of used GPS satellites was

found to be 1, the mean value 2.1 and the maximum value 5. There is more than one

tracked GPS satellite for 78.4% of the time of the scenario.

47

Page 64: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

0 0.5 1 1.5 2 2.5

x 105

0

2

4

6

8

10

12Spirent Geo Ref Test:Number of tracked(blue) and visible(red) Satellites

runtime [s]

num

ber o

f sv

Figure 4.13. Number of tracked (blue) and number of geometrically visible (red) GPS satellites vs. time for the GEO scenario using the Spirent RF Simulator. Source:

Astrium, 2010 (internal communication).

4.3.3.2 Results using the S/W Simulator

Figure 4.14 shows the number of visible and tracked GPS satellites for the GEO scenario.

The mean value of visible GPS satellites was 9.1 and the mean value of tracked GPS

satellites was 2.8. In addition, two or more GPS satellites are always in track during 98.6%

of the simulation time.

Figure 4.14. Visible and tracked GPS satellites for the GEO scenario using the S/W Simulator.

48

Page 65: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

4.3.4 Further discussion on performance tuning for the GEO scenario

The S/W Simulator yields better navigation solution accuracy than the one from the

Spirent RF Simulator, although all concerning error sources had been considered and the

associated error magnitudes were set to realistic nominal values.

The reason for this difference in performance in the GEO scenario might be due to the

following issues that currently are not fully considered in the simulation. The first one is

the fundamental computation accuracy of 40 bits in the Digital Signal Processor (DSP) of

the MosaicGNSS receiver. This is in contrast to the Navigation Module as compiled in

MATLAB and used in the S/W Simulator, which is currently using double precision

variables of 64 bits.

The second one can be related to the receiver clock error, which affects the measurement

of the pseudoranges and the range rates. Since only the Navigation Solution module of

the on-board software was used in the tests, it was not easily possible to introduce the

clock errors at all required points. In a real scenario, the Navigation Solution module

provides a feedback to the Sensor module (See Figure 2.1), which is the one that

provides the measurements. Therefore, the clock errors needed to be introduced in the

simulated signals as far as possible in an open-loop fashion, without changing the flight-

code or having a feedback from the Navigation Solution module.

In order to consider these effects that are currently not simulated and to verify the S/W

Simulator in GEO, it was chosen to set one of the possible errors higher than nominal in

order to obtain the same performance in GEO as the one from the Spirent RF Simulator

tests. Hence, the 1σ value of the noise on the pseudorange measurements in the

MosaicGNSS receiver was set to 100 m.

4.4 Results and discussion on the expected visibility

conditions in GTO and GEO

After the fine-tuning of the S/W Simulator, it was configured for a standard GEO scenario

with the antenna boresight of the MosaicGNSS’ receive antenna fixed to the +Z-axis

direction of the S/C body frame. In this case, the ionosphere delay was not considered for

the test. In order to compensate this, the Earth radius was masked with additional 600 km,

49

Page 66: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

which is above the peak of the ionosphere, so that no signals affected by ionosphere

delay are used.

Figure 3.8 and Figure 3.9 show the orbit and the antenna boresight along the whole GTO

manoeuvres (Sun-pointing, gyro calibrations and apogee boost manoeuvres), and that

remains pointing towards the Earth once GEO is reached.

4.4.1 GPS and MosaicGNSS antenna patterns

Figure 4.15 shows the GPS transmission antenna pattern with a 0 dB reference as was

used for the GEO reference test in the Spirent RF Simulator. The model is based on the

measured gain pattern from a GPS Block IIA satellite, assuming an effective isotropic

radiated power (EIRP) of 29.8 dBW (Czopek, 1993, cited in Moreau et al., 2002). For this

test case, the main lobe and sidelobes were considered. The GPS half cone angle was

set to 40° (with sidelobes); outside this the GPS transmitted signals are not considered.

Figure 4.15. GPS transmission antenna pattern as used for the GTO/GEO scenario in the S/W Simulator. Model based on the measured gain pattern from a GPS Block IIA satellite, assuming an EIRP of 29.8 dBW (transmitted power corresponding to

zero attenuation). Source: Czopek, 1993, cited in Moreau et al., 2002.

Figure 4.16 shows the receiver antenna pattern of the user S/C with 0 dB reference. In

this case, the antenna is a Helix antenna and the gain is 12 dB. The receiver half cone

angle was set to 65°.

50

Page 67: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 4.16. Receiver antenna pattern as used for the GTO/GEO scenario in the S/W Simulator.

4.4.2 Analysis of received Carrier-to-Noise Density

During the GTO scenario, the tracking behaviour depends even more strongly on the

acquisition and tracking limits than in the GEO case due to the manoeuvres that have to

be taken into account. For this test case, the acquisition and tracking thresholds were

lowered compared to the ones used in the GEO scenario, so that more GPS satellites can

be used. The acquisition threshold was set to 30 dB-Hz and the tracking threshold to 26

dB-Hz. The values of the losses used for the configuration of the S/W Simulator were the

same as for the GEO scenario.

Figure 4.17 shows a histogram of the received C/N0 values for the GTO/GEO scenario

test case obtained from the S/W Simulator. The minimum value was found to be 27 dB-Hz

and the maximum 45 dB-Hz, which correspond roughly to the range obtained in the GEO

case. In addition, it is interesting to note that the received C/N0 values are more uniformly

distributed along the whole range. This behaviour is due to the nature of the GTO/GEO

scenario (See Figure 3.8 in the previous chapter). Around perigee, the user S/C is below

the GPS altitude and the helix antenna is pointing “up” to the sky. Therefore, the

51

Page 68: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

MosaicGNSS receiver is able to track the GPS satellites with a high C/N0 values. And,

around apogee, the user S/C is above the GPS altitude and the helix antenna is pointing

“down” to Earth, acquiring the signals of the GPS satellites that are on the other side of

the Earth. This happens during the intermediate orbits of the GTO, after that the helix

antenna remains pointing to nadir.

Figure 4.17. Carrier-To-Noise Density (C/N0) distribution of the tracked GPS satellites for the GTO/GEO scenario using the S/W Simulator.

4.4.3 Analysis of visible vs. tracked GPS satellites

Figure 4.18 shows for the GEO scenario test case, the number of GPS satellites that are

visible, exceeding the C/N0 tracking threshold, and exceeding the C/N0 acquisition

threshold along the whole simulation time. As we can observe, the visibility is severely

affected during the GTO phase, especially during the third intermediate orbit, and there

are long intervals during which no GPS satellite is visible at all.

The minimum value of tracked GPS satellites was found to be 0, the mean value 1 and

the maximum value 5. At the perigee of the 1st intermediate orbit, the number of visible

and tracked satellites can achieve its highest value, because the perigee is far below the

52

Page 69: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

GPS constellation and therefore a highest visibility condition is achieved. This can be

observed at the beginning of the GTO scenario in Figure 4.18. In addition, two or more

GPS satellites are always visible during 91.6% of the simulation time. And, two or more

GPS satellites are always in track during 29.8% of the simulation time.

Figure 4.18. Number of GPS satellites that are geometrically visible (green) and exceeding the C/N0 tracking threshold (blue) for the GTO/GEO scenario using the

S/W Simulator.

4.4.4 Creation of the test and verification script for the Spirent RF Simulator

The Spirent RF Simulator is going to be used as the reference standard for all the work

contained in the thesis project. This simulator can be operated remotely via the Spirent's

SimREMOTE capability, which allows control over scenario selection. Therefore, the

attitude dynamics module was modified in order to return the attitude of the user S/C in

terms of bank, elevation and heading angles (roll, pitch and yaw respectively) in the NED

reference frame; and a script was created in MATLAB in order to generate the User

Motion (UMT) file required for the Spirent RF Simulator.

The format of the UMT file is (Spirent, 2006):

<timestamp>, <px>,<py>,<pz>, <vx>,<vy>,<vz>, 0,0,0, 0,0,0, <h>,<e>,<b>

53

Page 70: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

where:

timestamp = relative time of the simulation in the Spirent RF Simulator.

px = X position in metres with respect to ECEF reference frame.

py = Y position in metres with respect to ECEF reference frame.

pz = Z position in metres with respect to ECEF reference frame.

vx = Velocity in X-axis in m/s with respect to ECEF reference frame.

vy = velocity in Y-axis in m/s with respect to ECEF reference frame.

vz = velocity in Z-axis in m/s with respect to ECEF reference frame.

h = Heading in radians (range +/-π) with respect to NED reference frame.

e = Elevation in radians (range +/-π/2) with respect to NED reference frame.

b = Bank in radians (range +/-π) with respect to NED reference frame.

In this way, the scenarios created in the S/W Simulator can be reproduced in the Spirent

RF Simulator in order to test and verify the developed algorithms with the MosaicGNSS

receiver in the loop.

54

Page 71: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

5 ESTIMATION TECHNIQUES AND STATE-OF-THE-ART BATCH-PROCESSING ALGORITHMS

Introduction

The estimation problem attempts to find the value of a state vector (e.g. position, velocity,

and polynomial coefficients) that best fits, in a defined mathematical sense, the

observational data. In the following section, we will expound some of the estimation

techniques relevant to the batch processing as they are described in Hall and McMullen

(2004). We also carried on preliminary investigations on batch-processing techniques as

they were used for position determination of the MIR Space Station, which provided an

important insight for the algorithms that were later developed.

In our case, the estimation problem is dynamic, since the state vector changes as a

function of time, and the following are important concepts for the estimation process:

Observability .- The issue of how many and what type of observations are necessary to

develop an estimate of the state vector.

Dynamic modelling .- The need for accurate equations of motion to describe the

evaluation of a state vector in time.

A priori estimate .- The role of an initial (or starting) value of the state vector in order to

obtain a solution.

Observation noise .- Sets the stage for a probabilistic interpretation of observational

noise.

55

Page 72: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

5.1 Estimation techniques: Batch-processing algorithms and

the choice of an adequate optimization criterion

The estimation process combines the observations to obtain a new or improved estimate

of a state vector, x(t), which best fits the observed data. Figure 5.1 summarizes the

alternatives and issues related to estimation. These include the following as they are

described in Hall and McMullen (2004):

System models .- What model will be selected to define the problem under

consideration? What is to be estimated (namely what is the state vector sought)? How do

you predict the state vector in time? How are the observations related to the state vector?

What assumptions (if any) can we make about the observation process (e.g. noise and

biases)?

Optimization criteria .- How will we define a criteria to specify best fit? That is, what

equation will be used to specify that a state vector best fits a set of observations?

Optimization approach .- Having defined a criteria for best fit, what method will be used

to actually find the unknown value of the state vector that satisfies the criterion?

Processing approach .- Fundamentally, how will the observations be processed (e.g. on

a batch mode, in which all observations are utilized after they have been received, or

sequentially, in which observations are processed one at a time as they are received)?

56

Page 73: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 5.1. Overview of estimation alternatives. Source: Hall and McMullen, 2004.

5.1.1 System models

“An estimation problem must be defined by specifying the state vector, observation

equations, and equations of motion (for dynamic problems), and other choices such as

data selection, editing and preconditioning, convergence criteria, and coordinate system

necessary to specify the estimation problem. … A fundamental choice in estimation is to

first specify exactly what parameters are to be estimated, i.e. what is the independent

variable or state vector x(t)”. This choice “depends upon defining what parameters are

necessary to determine the future state of a system, and what parameters may be

estimated based on the observed data. The latter issue is termed observability“ (Hall and

McMullen, 2004). The general rule of thumb in selecting a state vector is to choose the

minimum set of components necessary to characterize the system under consideration.

A second choice required to define the estimation problem is the specification of the

observation equations. These equations relate the unknown state vector to the predicted

observations. Thus if x(t) is the state vector, and y(tK) is an actual observation, then

( ) kkk ntxgtz += )()( Eq. 5.1

57

Page 74: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

predicts an observation z(tk), which would match yk(tk) exactly, if we knew the value of x(tk)

and the value of the observational noise, nk. The function g(x(tk)) represents the

coordinate transformations necessary to predict an observation based on assumed value

of a state vector. When the state vector x varies in time, then the estimation problem is

dynamic and requires further specification of an equation of motion that propagates the

state vector at time t0 to the time of an observation tk. For example,

( ) )(,)( 00 txtttx kk Φ= Eq. 5.2

where Φ is known as the transition matrix.

5.1.2 Optimization criteria

“Having established the observation equations that relate a state vector to predicted

observations, and the equations of motion, a key issue involves the definition of best fit.

We seek to determine a value of a state vector x(t), which best fits the observed data.

There are a numerous ways to define best fit. Each of these formulations involves a

function of residuals” (Hall and McMullen, 2004),

( ))()( kkk tztyv −= Eq. 5.3

Where, vk is the vector difference between the observation, y(tk), and the predicted

observation, z(tk). The latter is a function of the state vector x(t0), via Eq. 5.1 and Eq. 5.2,

and hence, vk is also a function of x(t0).

“Various functions of vk have been defined and used for estimation. A summary of several

optimization criteria is shown in Table 5.1. In essence, a function is chosen that provides

an overall measure of the extent to which the predicted observations match the actual

observations. This function of the unknown state vector x is sometimes termed a loss (or

cost) function, because it provides a measure of the penalty (i.e. poor data fit) for an

incorrect value of x. The state vector x is varied until the loss function is either a minimum

or maximum, as appropriate. The solution of the estimation problem then becomes an

optimization problem” (Hall and McMullen, 2004).

58

Page 75: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Table 5.1. Overview of optimization criteria. Source: Hall and McMullen, 2004.

Criteria Description Mathematical Formulation Comments

( ) vvxL T= Least squares

(LS)

Minimize the sum of the squares of the residuals.

Earliest formulation provided by Gauss. No a priori knowledge assumed.

Weighted least

squares (WLS)

Minimize the sum of the weighted squares of the residuals.

( ) vWvxL T= Yields identical results to MLE when noise is Gaussian and weight matrix equals inverse covariance matrix.

Mean square error

(MSE)

Minimize the expected value of the squared error.

( ) ( ) ( )∫ −−= xdyxPxxWxxxL T )/(ˆˆ Minimum covariance solution.

Minimize the sum of the weighted squares of the residuals constrained by a priori knowledge of x.

( ) ( ) ( )00 0xxPxxvWvxL x

TT −−+= Δ Constrains the solution

of x to a reasonable value close to the a priori estimate of x.

Bayesian weighted

least squares (BWLS)

Allows specification of the probability distribution for the noise process.

Maximum likelihood estimate (MLE)

Maximize the multivariate probability distribution function.

( ) ( )∏=

=m

iii xnlxL

1

/

“The selection of an optimization criterion from among the choices shown in Table 5.1

depends upon the a priori knowledge about the observation process. Clearly, selection of

the MLE criterion presumes that the probability distributions of the observational noise are

known. Similarly, the MSE criterion presumes knowledge of a conditional probability

function, while the Bayesian weighted least squares assumes a priori knowledge of the

variance of the state vector. Under the following restricted conditions, the uses of these

criteria result in an identical solution for x. The conditions are listed as follows:

1. The measurement (observational) errors are Gaussian distributed about a zero

mean;

2. The errors nk at tk are stochastically independent of the errors nj at tj;

3. The weight for the weighted least squares criterion is the inverse covariance of x.

Under these conditions, the WLS solution is identical to the MLE, MSE, and BWLS

solutions” (Hall and McMullen, 2004).

59

Page 76: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

5.1.3 Optimization approach

The solution of the optimization criterion to determine the value of the state vector x may

be performed by one of several techniques, which may be categorized into two broad

classes as it is shown in Table 5.2 below.

Table 5.2. Overview of optimization technique. Source: Hall and McMullen, 2004 (See references therein).

Category Optimization Technique Description Direct

Methods Non-derivative methods: Direct methods find the value of x that satisfies

the optimization criteria (i.e. find x such that the loss function is either a minimum or maximum). Techniques fall into two classes: derivative methods require knowledge of derivative of loss function with respect to x, while non-derivative methods require only the ability to compute the loss function.

Downhill simplex

Direction set

Derivative methods:

Conjugate gradient

Variable metric (quasi-Newton)

Indirect Methods

Newton-Raphson methods Indirect methods find the roots of a system of equations involving partial derivatives of the loss function with respect to the state vector, x (i.e. the partial derivative of L(x) with respect to x set equal to zero); the only successful techniques are multidimensional Newton-Raphson methods.

Direct methods treat the optimization criteria, without modification, seeking to determine

the value of x that finds an extremum (i.e. minimum or maximum) of the optimization

criterion. Geometrically, direct methods are hill-climbing (or valley-seeking) techniques

that seek to find the value of x for which L(x) is a maximum or minimum. These methods

may be subdivided into non-derivative techniques (i.e. those methods that require the

ability to compute L(x)) and derivative techniques that rely on the ability to compute L(x)

as well as the derivative of L(x).

By contrast, indirect methods seek to solve the simultaneous non-linear equation given

by,

0)()()(

1

=⎥⎦

⎤⎢⎣

⎡∂∂

∂∂

=∂

nxxL

xxL

xxL

K Eq. 5.4

where n is the number of components of the state vector. Indirect methods require that the

optimization criterion be explicitly differentiated with respect to x. The problem is thus

60

Page 77: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

transformed from finding the maximum (or minimum) of a nonlinear equation, to one of

finding the roots of n simultaneous non-linear equations given by Eq. 5.4 above.

5.1.4 Processing approach

There are two basic alternatives (Hall and McMullen, 2004): batch processing and

sequential processing. Batch processing assumes that all n observations are available to

be considered simultaneously, so we select an optimization criterion and proceed to find

the value of x that best fits the n observations. The batch approach is commonly used in

modelling and curve-fitting problems, and often used when there is no time-critical

element involved. On the other hand, the sequential estimation approach incrementally

updates the estimate of the state vector as each new observation is received. This new

estimate is obtained without revisiting all previous n observations. The Kalman filter is a

commonly used approach for sequential estimation.

5.2 Batch-processing algorithms as used in Ground Stations

Publications from different Space organizations provide insight into the methods used for

Precise Orbit Determination (POD). One of them is the DLR’s German Space Operations

Center (DLR/GSOC), which in close cooperation with the Delft Institute of Earth

Observation and Space Systems (DEOS) at TU Delft, has developed the GPS High

Precision Orbit Determination Software Tools (GHOST) for satellites in LEO (DLR, 2010).

Figure 5.2 shows GHOST processing scheme.

61

Page 78: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 5.2. Core GHOST processing scheme. Source: DLR, 2010.

“Typically, the following steps are performed in sequence:

• Initially, the coarse position and clock offset at each epoch are determined from the

observed pseudoranges using the SPPLEO (Single-Point Positioning for LEO

Satellites) program. Depending on the available receiver, the results have a typical

accuracy between 3 m (dual-frequency) and 10 m (single-frequency). Optionally, the

SPPLEO can also determine the velocity and clock drift at each time from Doppler

measurements.

• The coarse position fixes are subsequently smoothed by PosFit program, which

adjusts a reduced-dynamics trajectory using the positions as pseudo-measurements.

The resulting trajectory can already achieve an accuracy of 0.2 - 2 m but serves

primarily as a reference for the data in the following processing steps.

• The actual precise orbit determination is carried out in the RDOD (Reduced

Dynamics Orbit Determination) program. Using the a priori orbit as a reference, the

code and carrier phase measurements are initially screened for outliers and bad

data. The Spacecraft trajectory is modeled using a concise dynamic model with

supplementary empirical acceleration parameters that are adjusted along with epoch

wise clock offsets and pass-by-pass biases in a large least-squares process.

62

Page 79: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Typically, a total of 4000 parameters are adjusted in 24 hours arc, but the size of the

normal equations can conveniently be reduced by factorization and pre-elimination.

Through the use of low-noise carrier phase measurements, the position accuracies

down to the level of a few centimeters can be achieved in this orbit determination

process.

• As an alternative to the reduced dynamics processing, purely kinematic solutions can

be obtained in the KIPP (Kinematic Point Positioning) program. Similar to RDOD, this

program benefits from the processing of highly accurate carrier phase measurement

and can thus achieve accuracies of 10 cm or better. However, no dynamical model is

employed and individual positions are adjusted at each epoch along with the

associated receiver clock offsets. Kinematic orbits are generally more sensitive to

modeling errors and the comparison with reduced dynamic solutions can provide

valuable insight into the achieved orbit determination quality. In addition, kinematic

orbit determination results are of interest for gravity field studies since they do not

involve any a priori assumptions on the Spacecraft dynamics.

• Satellite laser ranging (SLR) provides high accuracy measurements that can be used

for an external validation of GPS based orbit determination results. To this end

residuals of the SLR measurements with respect to the GPS based reduced dynamic

orbit solutions are computed and statistically analyzed in the SLRRES program”

(DLR, 2010).

Table 5.3 shows the models used in GHOST for the processing of GPS and SLR

observations and the modelling of S/C trajectories.

63

Page 80: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Table 5.3. GHOST’s dynamical and measurement models. Source: DLR, 2010.

Item Description GPS

measurement model

Undifferentiated ionospheric-free code and phase observations. IGS GPS orbits and 30 s clock solutions in IGS05 reference system. GPS and receiver antenna phase center offsets and variations phase wind-up.

SLR measurement

model

SLRF2005 station coordinates. Solid Earth and pole tides (IERS2005). GOT00.2 ocean loading. Marini & Murray tropospheric delay model (IERS2005).

Gravitational forces

Earth gravity field (UT/CSR GGM01 100x100, or other). Relativity. Solid-Earth tides, pole tide (IERS2003). Ocean tides (UT/CSR TOPEX_3.0 or other). Luni-Solar third body acceleration using low-accuracy analytical ephemeris.

Non-gravitational

forces

Jacchia-Gill atmospheric density model with daily F10.7 and 3-hourly Kp values.Cannon ball solar radiation pressure model with conical Earth shadow model (umbra, penumbra). Empirical accelerations in radial, along-track and across-track direction at 10 min (default) interval.

Reference frame

EME2000 (ECI J2000). IAU 1976 precession (Lieske model). IAU 1980 nutation (Wahr model). Earth orientation from IERS igs96p02 solution. Spacecraft body frame orientation modeled based on attitude quaternions or default attitude modes.

Another example of ground station’s POD is given by the Japan Aerospace Exploration

Agency (JAXA), which has planned the development of a Global and high accUracy

Trajectory determination System (GUTS) based on the core technology developed by

Fujitsu. GUTS uses measurements from double-frequency receivers, precise carrier

phase measurements, GPS satellite’s position and clock offset as calculated from ground

GPS stations, precise satellite dynamical model and observation models. Furthermore,

SLR measurements are used to verify the determination of the user S/C’s orbit (Katagiri

and Yamamoto, 2008). Figure 5.3 shows GUTS configuration.

64

Page 81: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 5.3. GUTS configuration. Source: Katagiri and Yamamoto, 2010.

GUTS has six core technologies, as presented by Katagari and Yamamoto (2008):

• Preprocessing of observation data .- GPS data obtained from GPS receivers on

ground GPS stations and user S/C, and SLR data obtained from SLR stations are

preprocessed: carrier smoothing, detection and corrections of cycle slip, ionospheric

delay corrections, correction of phase centre variation, DCB (bias) correction, GPS

station quality check.

• Nominal orbit determination .- While the orbit estimation of the satellites has a non-

linear nature and is based on estimates of a large number of variables, linear

processing is conducted to reduce the computation time.

• Orbit generation .- Precise computation of a satellite’s orbit is carried out through

numerical integration by adding various dynamical models: Earth gravity potential,

gravity of other astronomical objects, tides, solar radiation pressure, Earth radiation

pressure, air drag, relativistic effects, empirical accelerations, satellite attitude.

• Theoretical calculation of observed data .- In the case of the GPS, pseudorange and

carrier phase, and in the case of the SLR, laser beam round-trip time. Observation

residuals and various models necessary for the estimation are considered: bias,

satellite attitude, variation of centre of mass position, tropospheric delay, tropospheric

65

Page 82: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

gradient, phase centre offset and optical origin offset, tides, plate motion, polar

motion, clock offset, relativistic effect, correction of phase rotation.

• Rejection of bad data using observation residuals .- Double difference value often

used for differential GPS is used to judge and reject bad GPS data. In the case of

SLR data, the time-series shape of observation residuals is used.

• Batch sequential filter and smoother .- The parameters estimated in the POD consist

of various coefficients from the previous steps in addition to the satellite’s position,

velocity and clock offset. The number of parameters reaches approximately 1000 in

total.

Regarding the approaches in POD, Gill and Montenbruck (2004) have compared several

POD strategies for the on-ground trajectory reconstruction of LEO satellites, using two

sample sets of GPS measurements of the BlackJack receiver, which were obtained in the

framework of the CHAMP mission. “Single frequency L1 GPS receivers may vary in the

delivered data types which range from position fixes to raw data. The latter may comprise

C/A- and P-code pseudoranges as well as carrier phase measurements. In addition,

geodetic-type receivers may deliver L2 P-code and L2 carrier phase which, in the end,

opens up a variety of approaches to orbit determination. Finally, different data sets many

be treated in a kinematic, reduced-dynamics, or fully dynamic way, depending on the

amount of orbit knowledge included in the processing”. Data arcs of 24 h were used, and

“the raw GPS measurements are provided at a standard data interval of 10 s. Based on

nine active channels, a total of 200 000 pseudoranges (C1, P1 and P2) and 200 000

carrier phase (LA, L1 and L2) data are typically provided per day. The noise of carrier-

smoothed pseudoranges varies between a minimum of 5 cm at high elevations and 0.5 m

(C1) or 1.0 m (P1, P2) at 10 deg elevation”. Table 5.4 shows the typical CHAMP position

accuracy obtained.

66

Page 83: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Table 5.4. Typical CHAMP position accuracies (3D RMS). PR: pseudorange, CP: carrier phase, SPP: single point position. Source: Gill and Montebruck, 2004.

Data Type Processing Scheme Accuracy Navigation solutions Kinematic 16.5 m

Navigation solutions Reduced-dynamic 1.6 m

Single frequency PR Kinematic 9.1 m

Dual frequency PR Kinematic 2.9 m

Single frequency SPP Reduced-dynamic 0.8 m

Dual frequency SPP Reduced-dynamic 0.3 m

Single frequency PR Reduced-dynamic 0.8 m

Dual frequency PR Reduced-dynamic 0.2 m

Single frequency PR & CP Reduced-dynamic 0.3 m

Dual frequency PR & CP Reduced-dynamic 0.1 m

“The quality of GPS-based orbit determination depends crucially on the applied GPS orbit

and clock solutions. Since the analysis is focused on off-line orbit determination

strategies, only IGS final orbit and clock products have been employed. These products

are provided with a latency of about 13 days and provide GPS orbits with a sampling of 15

mins, while the clock products are sampled at 5 mins intervals” (Gill and Montenbruck,

2004).

Finally, Gill and Montenbruck (2004) concluded that “the direct use of the receiver’s

navigation solutions is ruled out due to possible data gaps, a limited position accuracy of

about 15 m, and poor velocity estimates. Also, a purely dynamic orbit determination from

navigation solutions is not recommended, since the resulting position is susceptible to

periods of high dynamic perturbations. However, a reduced-dynamic approach provides

an efficient and robust strategy which yields position accuracies better than 2 m”.

5.3 Batch-processing approach: Previous experiences

As our first attempt for the batch processing, we decided to follow the procedure

presented in the paper “Use of GPS for determining motion parameters of Space Station

MIR” (Belyaev et al., 1997), because it was one of the first methods that we found that

appeared to present a detailed processing technique of the GPS measurements obtained

on Spacecraft.

67

Page 84: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

As part of its procedure, the method describes the solution of the motion equation, having

as an initial condition the state vector α, where α== 00 )( xtx and ( )ϕ α,tx = . The most

detailed notation of the solution is ( )αϕ ,, 00 tttx −= and is properly expressed by the

following relationship:

( ) (( ))ατϕττϕαϕ ,,,,,, 0000 ttttttx −−=−= Eq. 5.5

Where τ is an arbitrary moment in time. Further, the following matrix is required:

( ) ( )α

αϕα∂−∂

=−,,,, 00

00ttttttF Eq. 5.6

In view of Eq. 5.5 the following relationship is valid:

( ) ( )( ) ( )ατατϕττα ,,,,,,,, 000000 ttFtttFtttF −−−=− Eq. 5.7

The method then proceeds to explain the equations that we have to minimize in the

following way: Assume that the station coordinates are measured at moments tk (k =

1,2,…,N). Designate the result of measuring coordinate xi at moment tk as zi(k) (i = 1,2,3).

Divide the measurement interval containing points tk on intervals Iμ (μ = 1,2,…,M). Interval

Iμ contains nμ of points tk numbered by k = Nμ-1+1,…, Nμ, where N0 = 0, Nμ = Nμ+ nμ, NM =

N. Suppose that errors in all measurements are independent and distributed normally with

a mean value equal to zero. Errors in measurements or each coordinate zi in interval Iμ

have similar but unknown standard deviations σμ. With the given assumptions, the

definition of initial conditions of the station motion = 00 =α)( xtx and the unknown

standard deviations σμ is reduced within a framework of maximum likelihood method to

the minimization of the function:

∑=

⎟⎟⎠

⎞⎜⎜⎝

⎛+

Ψ=Φ

M

n1

2 ln32μ

μμμ

μ σσ

( )(∑ ∑+= =−

−=Ψμ

μ

αϕμ

N

Nk iki

ki tz

1

3

1

2)(

1

, ) Eq. 5.8

Where should be minimized in several steps. Φ

68

Page 85: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

The aim of this method is “to compress” the large amount of GPS data available by

generating normal points for each interval.

To solve every iteration the method proposes to use a Keplerian approximation

( )βχ ,tx = of the station motion in interval Iμ, where ( )TiLea ωβ ,,,,, 0 Ω= and the

Keplerian elements of the orbit are: semi-major axis α, eccentricity e, mean longitude for a

certain epoch L0, longitude of ascending node Ω, inclination i, and argument of perigee ω.

Therefore, after some calculations, the method concludes that we need to minimize the

function:

( )∑= ⎟

⎜⎜

⎛ Ψ=Φ

M b

122 ˆ,

21

μ μ

μμ

σ

βα; ( ) ( ) ( )( )∑

=

−≈Ψ3

1

2,,,i

iib n

μμμμμμ βτχατϕβα Eq. 5.9

Where the solution will be 2minargˆ Φ=α . The details can be found in the paper “Use of

GPS for determining motion parameters of Space Station MIR” (Belyaev et al., 1997).

Although, the approximations in this method are fairly good for its intended application

(the Space Station MIR in LEO), after careful consideration it presented some

implementation issues that made this method not suitable under the constraints of this

project. First of all, the observations in the proposed algorithm are position and velocity,

which makes the models used and the minimization simpler than the ones that would be

needed using ranges and range rates, as in our case. For instance, the function ( )ϕ α,t

will give the state vector at some specific time, and ( )χ β,t will provide the Keplerian

elements. The latter is also thought to be an ideal case that probably will not represent a

good approximation for a batch processing of measurements in GTO or GEO scenarios.

Furthermore, the computation of the initial state α Φ that minimizes the function was still

an issue that has to be taken into account and solved.

2

The investigations on this approach were discontinued, when it did not appear to be viable

for finding a suitable solution for a more advanced model that extends the Kepler model,

and that includes perturbations such as the ones from third bodies among other

perturbations. Therefore, although in the end this method did not fit with the requirements

of the project, it provided an important insight for the algorithms that were later developed.

69

Page 86: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

5.4 Batch-processing approach: The chosen one

The chosen estimation technique based on batch processing is described in the following

sections.

5.4.1 System models

5.4.1.1 State vector and state transition matrix

The state vector xuser,k to estimate was chosen to be the position and velocity of the

Spacecraft at a reference point, as follows:

⎥⎦

⎤⎢⎣

⎡=

)()(

,k

kkuser tr

trx

& Eq. 5.10

where:

)( ktr = Position vector of the Spacecraft at time tk.

)( ktr& = Velocity vector of the Spacecraft at time tk.

For the formulation of the state transition matrix, we will follow the derivation developed by

Kühl (2005). In the case of the Kepler-motion the governing equation is merely dependent

on the gravitational forces, leading to the differential equation

( ) 23

rrrr

Tμ−=&& Eq. 5.11

The linearization of r&& leads to

( ) ( )( )[ 132

3 −−−−=

∂∂

= rrrrIrrrrG TTTμ&& ] Eq. 5.12

And, this matrix in turn can be used in

xG

Ix Δ⎥

⎤⎢⎣

⎡=Δ

00

& Eq. 5.13

70

Page 87: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

In general, the state transition matrixΦ , which transforms the state at time t (xk-1) to the

state at time t+Δt (xk), can be composed from the linear system with xAx& = as

∑∞

=

Δ⎥⎦⎤

⎢⎣⎡ Δ==Φ

0 !1

i

iitA tAi

e Eq. 5.14

where Δt is the time step. The linearized system is treated accordingly by appropriate

substitution of A, leading to the linearized state transition matrix,

⎥⎦

⎤⎢⎣

++Δ+Δ+

=⎥⎥⎦

⎢⎢⎣

⎡Δ⎥

⎤⎢⎣

⎡≈Φ

ΔΔ

ΔΔ=

=− ∑ GIGGt

GItGIt

GI

i tx

t

tx

tx

i

i

ii

k233

26

6332333

01 23

32

00

!1

Eq. 5.15

where the Taylor expansion of the matrix exponential includes the zero order term and is

truncated to third order.

However, this derived linear model yields to a sate transition matrix for small steps, and

what we need is an analytical model that only depends on the initial state in order to

minimize the errors with respect to the observations.

As can be observed, this state transition matrix still depends on the position of the

previous state, and is not totally independent from the state vector information, or in other

words it does not only depend on time. Although, this is a Keplerian model which is

suitable for determining the position after a small period of time, it is no longer valid for

large propagation times, as in our case where the measurements can be separated by

very long times in the order of minutes. If we would like to go from the initial state to the

state of a time greater than Δt, the option considered was to propagate the state vector,

and to use a sequence of multiplication of kΦ matrices, which at each time will depend on

the previous propagated state vector, through the G matrix.

5.4.1.2 Observation model

The observation equations of our measurement model were defined for pseudoranges

and range rates as follows:

71

Page 88: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

( )( ) ( )

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

+−

−•−

+++Δ−Δ+−=⎥

⎤⎢⎣

⎡==

RErr

rrrr

REUREIbcrrr

rr

txgtz

igpskuser

igpskuserigpskuser

iiigpskuser

kk

,,

,,,,

,,

)()(&&&

Eq. 5.16

where:

r = ith predicted pseudorange at time tk.

r& = ith predicted range rate at time tk.

kuserr , = Position vector of the user S/C in ECEF reference frame at time tk.

igpsr , = Position vector of the ith GPS satellite in ECEF reference frame at time tk.

Δri = Correction to the pseudorange due to the Sagnac Effect.

c = Speed of light.

Δbi = Clock error of the ith GPS satellite.

I = Ionospheric correction of the pseudorange at time tk.

URE = User Range Error for the pseudorange at time tk.

RE = Errors due to the receiver for the pseudorange at time tk.

kuserr ,& = Position vector of the user S/C in ECEF reference frame at time tk.

igpsr ,& = Position vector of the ith GPS satellite in ECEF reference frame at time tk.

RE = Errors due to the receiver for the range rate at time tk.

Equation 5.16 is then extended to deal with multiple satellites.

5.4.1.3 Equations of motion

For the dynamical model of the system, the Earth Gravity Model 96 was used, with degree

and order up to 10. Additional gravitational forces were introduced such as perturbations

from Sun and Moon, and non-gravitational forces such as solar radiation pressure and air

drag were also taken into account. The implementation also provides the possibility to

include accelerations due to thrust manoeuvres in the model of the user S/C motion. The

following formula represents the equation of motion:

( ) ( ) ( ) ( ) ( ) ( rrtrrrtrrtrrtrrtrrrr ThurstDragSolRadMoonSunEarth &&&&&&&&&&&&&&&& ,,,,,,, )+++++= Eq. 5.17

72

Page 89: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

5.4.1.4 Numerical integration

In order to solve the following differential equation, which relates position and

acceleration,

( )(∫−

+== −

k

k

t

tkkk drrrrrrrrx

1

,,,),(),( 1 ττ &&&&&& ) Eq. 5.18

we chose 4th order Runge-Kutta as the numerical integration method. This is a well-known

and robust method with uses 4 derivative steps to calculate the integral.

Let the initial value problem be specified as follows,

),( xtfx =& , 00 )( xtx = Eq. 5.19

Then, the Runge-Kutta method for this problem is given by the following equations:

( )43211 226

kkkkhxx kk ++++=+ , htt kk +=+1

( )( )( )( )34

223

122

1

,2/,2/,

,

khyhtfkkhytfkkhytfk

ytfk

kk

kh

k

kh

k

kk

++=

++=

++=

=

Eq. 5.20

The time step of the Runge-Kutta method was set to 1 s.

5.4.1.5 Process noise model

In the case of the pseudorange, the sigma value or standard deviation is in part due to the

User Range Error, which was set to 2 m, but mostly due to the Delay-Locked Loop (DLL)

error in the hardware of the receiver. This value is strongly dependent on the Carrier-To-

Noise Density (C/N0) among other parameters that are hardware specific, and is defined

by the following formula (Kaplan and Hegarty, 2006), which specifies the thermal noise

code tracking jitter:

73

Page 90: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

⎥⎦

⎤⎢⎣

⎡−

+=)2(/

21/2

][00 DNCTNC

DBchip n

tDLLσ , fe

c

BR

≥ Eq. 5.21

where:

C/N0 = Carrier-To-Noise power ratio (ratio-Hz).

Bn = Code (carrier) loop noise bandwidth (Hz).

Bfe = Double-sided front-end bandwidth (Hz).

D = Early-To-Late correlator spacing (chips).

T = Predetection integration time (s).

Rc = Chipping rate (Hz).

The thermal noise code tracking jitter is finally expressed in meters as follows:

WavelengthCodechipsFrequencyCode

cchipsm tDLLtDLLtDLL *][*][][ σσσ == Eq. 5.22

The code frequency for the C/A code is equal to 1.023 MHz, which means that one chip is

equal to 293.05 m. Since the noise is White Gaussian Noise, we use this variance in a

Gaussian distribution with mean zero. The noise power in the pseudorange is equal

to . 2tDLLσ

In the case of the range rate, the sigma value is also dependent on the C/N0. First, we

define the Phase-Locked Loop (PLL) thermal noise using the following formula (Kaplan

and Hegarty, 2006):

⎥⎦

⎤⎢⎣

⎡+=°

00 /211

/2360][

NCTNCBn

tPLL πσ Eq. 5.23

where:

C/N0 = Carrier-To-Noise power ratio (ratio-Hz).

Bn = Code (carrier) loop noise bandwidth (Hz).

T = Predetection integration time (s).

The part of the equation involving the predetection integration time, T, is called the

squaring loss. Increasing the predetection integration time reduces the squaring loss,

74

Page 91: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

which in turn decreases the standard deviation. To convert this to meters we use the

following formula:

°°=

360][][ L

PLLPLL mλ

σσ Eq. 5.24

where:

λL = GPS L-band carrier wavelength (m).

= (speed of the light) / (1 575.42 MHz) = 0.1903 m/cycle for L1.

= (299 792 458 m/s) / (1 227.6 MHz) = 0.2442 m/cycle for L2.

The pseudorange rates are calculated using the following formula:

me

jj

TseCarrierPhaseCarrierPha

r 1−−=& Eq. 5.25

where:

CarrierPhasej = Carrier Phase (pseudorange) measurement at time j (m).

Tme = Timestep of measurement epoch (s).

So, the variance of the range rate is calculated using the following formula:

][][][

22

22222

sTmm

me

PLLPLLraterange

σσσ

+= Eq. 5.26

which is the noise power in the range rate.

5.4.2 Optimization criterion

The chosen optimization criterion was the Weighted Least Square method, which is a

function of the observation residuals (Eq. 5.1, 5.2 and 5.3). In the case of the weighting

matrix, the inverse of the squares of the sigma values of the observations, described

above, were used for every single observation in the form of a diagonal matrix shown as

follows:

75

Page 92: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

( ) vWvxL T= ,

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

=

2

22

21

100

010

001

n

W

σ

σ

σ

L

MOMM

K

K

Eq. 5.27

5.4.3 Optimization approach

The chosen optimization approach was the Newton-Raphson method, which involves

partial derivatives and demanded the explicit differentiation of the pseudoranges and

range rates observation function g(x(tk)) with respect to the state vector. This means that

we had to calculate the Jacobian matrix, where every component of the state vector is

taken as independent of each other. The Jacobian matrix was derived as follows,

( )

[ ]⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

=∂

∂=

TT

kk

rr

rxrxrr

rr

xtxg

H

'1)''('1

0'

)(

3&

Eq. 5.28

where:

igpskuser rrr ,,' −= (Relative position vector of the user S/C)

igpskuser rrr ,,' &&& −= (Relative velocity vector of the user S/C)

igpskuser rrr ,, −= (Geometrical distance - pseudorange)

5.4.4 Batch-processing main module

After the linearization of the model, the correction to the predicted state vector is

calculated as follows:

76

Page 93: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

( ) ( )vWHHWHx TT 1

0ˆ−

=Δ ,

⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢

ΦΦ

Φ

ΦΦ

=

−−

NN

NN

kk

HH

H

HH

H

11

11

00

M

M

Eq. 5.29

The derivation of the correction 0xΔ can be found in Hall and McMullen (2004). The aim

is to correct the estimation of the state through an iterative process until the correction is

small enough. For this two loops are required. The inner loop processes all the

observations and calculates the correction to the state vector,

( ) ( ) 0001 xtxtx ii Δ+=+ Eq. 5.30

And, the outer loop controls that the correction is smaller that an arbitrary epsilon value.

ε<Δ 0x Eq. 5.31

77

Page 94: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

6 RESULTS AND DISCUSSION OF THE BATCH-PROCESSING APPROACH

Introduction

After the selection of the batch-processing scheme, several steps were taken. During the

implementation and test phases of the batch-processing, a LEO scenario was chosen first

due to practical reasons. It was faster to get the required number of measurements and to

observe the improvements in the results of the method when each module of the batch-

processing finally was incorporated. Then the batch-processing was tuned in order to deal

with sparsely distributed GNSS measurements in GEO. Finally, the GEO scenario was

tuned in order to obtain the expected performance of the batch-processing under a harsh

scenario. The following sections show the results.

6.1 Results in Low Earth Orbit

The LEO scenario was configured to include ionospheric delays, which is the main

contributor of disturbances in a real scenario for the determination of a PVT solution by a

GNSS receiver. The batch-processing input generator was implemented in such a way

that the number of measurements in a set is a multiple of 20 measurements, which is the

default value for the size of the subsets. This facilitated testing of different scenarios with

different numbers of measurements in a set, without having to run several times the

S/W Simulator to generate the set of measurements once again.

Another important aspect of the setting of the scenario is that the order and degree of the

Earth gravity potential model used to generate the reference orbit in the S/W Simulator

was set to 10, while the order and degree set for the Earth gravity potential model was set

to a maximum of 4. The aim of this is to introduce unmodelled forces in the setting.

78

Page 95: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

6.1.1 Results using only pseudoranges as observations

As first step, only the pseudoranges were used as observations. Figure 6.1 shows the

batch-processing performance in terms of the 3D RMS error using 240 measurements,

where the sampling frequency of the 8 channels is every second. In average for a LEO

scenario, observations from 6 of the channels are available every second due to the CPU

load limit. where the achieved mean value was of 2.83 m with a standard deviation of

0.95 m; in comparison of the Navigation Module performance, where the achieved mean

value was of 7 m with a standard deviation of 3.6 m. Figure 6.2 shows the performance

using 1 000 measurements, where the achieved mean value was of 2.55 m with a

standard deviation of 0.6 m. It can be observed that the larger the number of

measurement used in the estimation, the smoother the 3D RMS error is. In this scenario,

1 000 measurements can be collected in approximately 2.7 minutes, which corresponds to

roughly 3% of one orbit. It is important to note that although the batch-processing

solutions in the figures appear to be noisy, they actually not have any noise as the

position solution is propagated from the refined reference point of every batch-processing

set. The noisy-like output is due to the transition from the last propagated position of one

set to the refined reference position of the next set. For instance in the case of 1 000

measurements, the transitions occur approximately every 2.7 minutes, which appear to be

noisy in the 5 hours timescale of the figure.

Figure 6.1. Batch-processing performance (red) in LEO using only pseudoranges as observations and 240 measurements, in comparison to the Kalman Filter

performance (blue).

79

Page 96: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 6.2. Batch-processing performance (red) in LEO using only pseudoranges as observations and 1 000 measurements, in comparison to the Kalman Filter

performance (blue).

Figure 6.3 shows the reference orbit and orbits generated by the Kalman Filter and the

batch-processing.

Figure 6.3. Reference orbit (green) and orbits generated by the Kalman Filter (blue) and the batch-processing (red).

80

Page 97: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

6.1.2 Results including the weighting matrix as part of the optimization criterion

As a second step, the weighting matrix was introduced in order to run the tests using the

Weighted Least Square method. In this case, the result is not too different from the one

without using the weighting matrix, mainly because in LEO the signals are more or less

homogeneous and therefore the sigma values in the weighting matrix are also similar,

leading to an almost constant weighting matrix. Figure 6.4 shows the results, where the

batch-processing achieved a mean value of 2.51 m with a standard deviation of 0.72 m.

Figure 6.4. Batch-processing performance in LEO using pseudoranges as observations, 1 000 measurements and introducing the weighting matrix, in

comparison to the Kalman Filter performance (blue).

6.1.3 Results including the range rates as part of the observations

The next step was to include the range rates in the observation equations, and therefore

to modify the Jacobian matrix in order to take into account these range rates. In this case,

the result is notably much better than the previous case because it is smoother. Figure 6.5

shows the results, where the batch-processing achieved a better mean value of 2.43 m

and a better standard deviation of 0.55 m.

81

Page 98: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 6.5. Batch-processing performance in LEO using pseudoranges and range rates as observations, the weighting matrix and 1 000 measurements, in

comparison to the Kalman Filter performance (blue).

Table 6.1 summarizes the results obtained for a LEO scenario as the incremental

development of the batch-processing was carried on.

Table 6.1. Results obtained with the different options considered for the batch-processing as they were developed in the LEO scenario.

Estimation Technique 3D RMS error Standard Deviation (1σ)

Navigation Module – Kalman Filter 7.00 m 3.60 m

Batch-processing – 240 measurements 2.83 m 0.95 m Only pseudoranges

Batch-processing – 1 000 measurements 2.55 m 0.60 m Only pseudoranges

Batch-processing – 1 000 measurements 2.51 m 0.72 m Pseudoranges Weighting matrix

Batch-processing – 1 000 measurements 2.43 m Pseudoranges Range rates Weighting matrix

0.55 m

82

Page 99: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

6.2 Results in Geostationary Earth Orbit

The GEO scenario was also configured to include ionospheric delays; however, a mask of

600 km above the surface of the Earth was introduced in order to discard the signals

passing through the ionosphere. In addition, the sets of results in LEO and GTO/GEO are

not directly comparable, since the dynamics and visibility conditions of each scenario are

different.

The order and degree set for the Earth gravity potential model was set to a maximum of 4

as in the previous case. Another important aspect of the setting of this scenario is that the

GPS antenna pattern of the Block IIA was used including sidelobes. From this point on,

only the final implementation of the batch-processing was used including pseudorange

and range rages in the observation equations and the weighting matrix.

As a first step, the same setting as in the previous case using 1 000 measurements was

used. Figure 6.6 shows the results, which were not good and a peak at 4 500 km can be

observed.

Figure 6.6. Batch-processing performance in GEO using 1 000 measurements, in comparison to the Kalman Filter performance (blue). Because of the huge scale in

the Y-axis, the Kalman Filter performance, which is in the order of hundred of metres, cannot be appreciated.

83

Page 100: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Therefore, other settings needed to be tested using different numbers of measurements

for the batch-processing. Figure 6.7 shows the performance of the batch-processing using

4 000 measurements. And, Figure 6.8 shows the performance using 6 000

measurements.

Figure 6.7. Batch-processing performance in GEO using 4 000 measurements, in comparison to the Kalman Filter performance (blue).

Figure 6.8. Batch-processing performance in GEO using 6 000 measurements, in comparison to the Kalman Filter performance (blue).

84

Page 101: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Finally, when 8 000 measurements where used, the performance resulted to be good.

Figure 6.9 shows the results, where the Navigation Module achieved a mean value of

54.5 m with a standard deviation of 76.8 m, and the batch-processing achieved a mean

value of 14.4 m with a standard deviation of 10.4 m.

Figure 6.9. Batch-processing performance in GEO using 8 000 measurements, in comparison to the Kalman Filter performance (blue). The figure at the bottom

shows a zoom up to a 3D RMS error of 200 m.

85

Page 102: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

It was also attempted to change the order and degree of the gravity potential model to the

maximum allowed of 10, which is the order and degree used to propagate the reference

orbit. And, as an interesting fact, the performance of batch-processing was only slightly

better. This agrees with the order of magnitude of various perturbations of a satellite orbit

shown in Figure 6.10, where can be noted that in GEO, the perturbation from the Moon,

for instance, is roughly equal to the perturbation introduced by the J2,0 harmonic

(degree 2, order 0) of the Earth geopotential model.

Figure 6.10. Order of magnitude of various perturbations of a satellite orbit. Source: Montenbruck and Gill, 2010.

Further analysis of the scenario showed that the almanac file that was used for the test

contained 2 satellites flying almost in the same position all the time, and although the

86

Page 103: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

visibility showed two tracked satellites during the arc between the hours number 12 and

14, these two satellites were providing roughly the same pseudorange and range rate

information. It is possible that the used almanac had two satellites from different GPS

blocks in the same position, and both of them with the healthy status turned on, due to a

replacement of the GPS satellite. Therefore, assuming that only one satellite was

effectively in view, it was concluded that with information from only one satellite, it is not

possible to fit an arc of the orbit.

6.3 Further Assessment Studies

After the assessment of the situation described above, the almanac file was changed to a

newer one. And, another important change was introduced in the S/W Simulator. All the

scenarios that were run up to now were using the GPS antenna pattern of the Block IIA.

However, right now the Block IIR is the one that is currently mostly flying. Therefore, the

antenna pattern in the scenario was changed to the one representative of the Block IIR.

This pattern was taken from Moreau (2008). Figure 6.11 shows the antenna pattern of the

Block IIR in comparison to the one of the Block IIA. The data of the Block IIR has a

steeper drop-off of the main lobe signals, but higher sidelobes, which can improve the

tracking of them. In spite of this fact, only the information from the main lobe was

considered in this assessment because complete data from the sidelobes were not

available. In addition, the 1σ value of the minimum noise on the pseudorange

measurements in the MosaicGNSS receiver was set again to 5 m, and when higher, it

follows the equation of the noise model. This change was made in order to assess the

effect of the weighting matrix in the batch-processing.

87

Page 104: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 6.11. GPS transmission antenna pattern of the GPS Block IIR satellite. Source: Moreau, 2008.

After running the scenario with the previous setting using 8 000 measurements, the first

step was to check the visibility and tracking scenario. Figure 6.12 shows the number of

GPS satellites that could be acquired and tracked during the total time of the scenario. As

it can be observed, there are long periods that can last for almost two hours during which

no satellite can be tracked, and there are only small periods that can last for some tens of

minutes where up to 4 satellites can be tracked. Figure 6.13 shows the performance of the

batch-processing in comparison to the one of the Navigation Module using 8 000

measurements, where the Navigation Module achieved a mean value of 45 m with a

standard deviation of 35.8 m, and the batch-processing achieved a mean value of 10.5 m

with a standard deviation of 7.4 m. In addition, it can be noted that when there are more

than one satellite in track, the Navigation Module starts to execute the Kalman Filter to

process the information from the observations. And, when there are less than two

satellites in view or none at all, the Navigation Module starts to propagate the PVT

solution.

88

Page 105: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 6.12. Number of GPS satellites that can be acquired (black) and tracked (red) in the new setting of the GEO scenario using GPS Block IIR.

Figure 6.13. Batch-processing performance in GEO using GPS Block IIR and 8 000 measurements, in comparison to the Kalman Filter performance (blue).

Moreover, it was decided to reduce the number of measurements in the batch-processing

in order to test its performance under the new setting of the scenario. Figure 6.14 shows

the results obtained using 6 000 measurements, where the batch-processing achieved a

mean value of 11.3 m with a standard deviation of 9.5 m.

89

Page 106: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 6.14. Batch-processing performance in GEO using GPS Block IIR and 6 000 measurements, in comparison to the Kalman Filter performance (blue).

Figure 6.15 shows the results obtained using 4 000 measurements, where the batch-

processing achieved a mean value of 11.5 m with a standard deviation of 7.4 m. As can

be observed under the scenario setting, the performance of the batch-processing was not

affected so much. This means that using 8 000 measurements, the performance in terms

of the mean value is better by only 1 m, and therefore we can conclude that sets of 4 000

measurements provide interesting good results in terms of the position determination

performance.

90

Page 107: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Figure 6.15. Batch-processing performance in GEO using GPS Block IIR and 4 000 measurements, in comparison to the Kalman Filter performance (blue).

Table 6.2 summarizes the results obtained with the different batch sizes that were

assessed for the GEO scenario. It is important to note that although the batch-processing

uses different numbers of data points, the statistics are calculated using the total number

of points available per day, which is practically independent of the batch size.

Table 6.2. Results obtained with different batch sizes in comparison to the results obtained by the MosaicGNSS Navigation Module.

Estimation Technique 3D RMS error Standard Deviation (1σ)

Navigation Module – Kalman Filter 45.0 m 35.8 m

Batch-processing – 4 000 measurements 11.5 m 7.4 m

Batch-processing – 6 000 measurements 11.3 m 9.5 m

Batch-processing – 8 000 measurements 10.5 m 7.4 m

91

Page 108: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

7 CONCLUSIONS AND RECOMMENDATIONS

Introduction

The investigation of batch-processing estimation techniques as an alternative solution to

the in-orbit autonomous position determination of satellites was carried out. All the

objectives proposed in this thesis work were successfully and satisfactory fulfilled. It has

been demonstrated that the use of batch-processing approach results in an interesting

performance to deal with sparsely distributed GNSS measurements in terms of the 3D

RMS error with respect to the true orbit of the Spacecraft. Each chapter has presented its

own discussion, so all the major findings and discussions are summarized in this chapter.

It also details the conclusions and presents the recommendations for the continuation of

the investigation in this field of research.

7.1 Conclusions

7.1.1 Regarding the attitude dynamics for the EADS Astrium’s Space Environment Simulator

In a GTO/GEO scenario, the addition of attitude manoeuvres, ranging from a Sun-pointing

attitude to calibration manoeuvres, is mandatory to get a representative profile of the

visibility of GNSS satellites from the separation of the launch vehicle to the final insertion

in GEO. Therefore, the introduction of an attitude dynamics module for the S/W Simulator

was identified as a necessary pre-requisite for further assessments of the navigation

solution performance. Such a module was successfully developed under the framework of

this thesis work for the S/W Simulator, which supports future development of GNSS

receivers and applications in HEO, and the expansion of the of the GALILEO constellation

into the Space Service Volume (SSV). The attitude dynamics module calculates the

92

Page 109: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

attitude of the user S/C, after the execution of the specified manoeuvres for the current

time, using different rotation methods in different reference frames.

The department at EADS Astrium has started to use the attitude dynamics module of the

S/W Simulator not only for investigations of the use of GNSS in GEO applications, but

also for the assessment of orbit and attitude profiles provided by other EADS Astrium

sites, in the framework of their on-going missions in several types of scenarios.

7.1.2 Regarding the verification of the EADS Astrium’s Space Environment Simulator

The S/W Simulator was tuned in order to match the visibility conditions for LEO and GEO

as compared to the observations made during closed-loop tests using the Spirent RF

Simulator and the MosaicGNSS receiver in the loop. The tracking behaviour of the

MosaicGNSS receiver influences the navigation solution performance and was therefore

an important criterion for the verification. As it was explained above, the MosaicGNSS

receiver has two thresholds for the received Carrier-To-Noise Density (C/N0), one for

acquisition and the other one for tracking of a GPS satellite. The S/W Simulator yielded

better navigation solution accuracy than the one from the Spirent RF Simulator, although

all concerning error sources were considered and the associated error magnitudes were

set to realistic nominal values.

The reasons for this are believed to be due to the 40 bit processing in the MosaicGNSS

Receiver versus the 64 bit processing under MATLAB and due to the incomplete clock-

error model.

In order to consider these effects that are currently not simulated and to verify the

S/W Simulator in GEO, it was chosen to set one of the possible errors higher than nominal

in order to obtain the same performance in GEO as the one from the Spirent RF Simulator

tests. Hence, the 1σ value of the noise on the pseudorange measurements in the

MosaicGNSS receiver was set to 100 m.

93

Page 110: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

7.1.3 Regarding the visibility conditions in GTO/GEO

Representative visibility conditions for a GTO/GEO scenario were obtained, where not

only the number of geometrically visible GPS satellites was assessed, but also the

number of trackable GPS satellites, which is more important in the framework of a GNSS

receiver development. Results confirm the poor visibility and tracking of GPS satellites

under the conditions of these scenarios.

In order to eliminate the ionospheric delays, the Earth radius was masked with additional

600 km, which is above the peak of the ionosphere, so that no signals affected by

ionospheric delay were used.

The number of tracked GPS satellites depends on the position of the user S/C and the

viewing direction of the antenna boresight. At the perigee of the 1st intermediate orbit, the

number of visible and tracked satellites can achieve its highest value, because the perigee

is far below the GPS constellation and therefore a highest visibility condition is achieved.

This can be observed at the beginning of the GTO scenario. In addition, two or more GPS

satellites are always visible during 91.6% of the simulation time. And, two or more GPS

satellites are always in track during 29.8% of the simulation time.

Moreover, it can be noted in Figure 4.18 that during the GEO phase, the minimum value

of geometrically visible satellites was found to be 5, the mean value 7.4 and the maximum

value 11. This means that under a different configuration of the MosaicGNSS receiver, the

mean value of tracked GPS satellites can be increased. For instance, it can be achieved

by changing the receiver antenna or by lowering the acquisition and tracking thresholds,

while still keeping the Delay-, Phase- and Frequency-Locked Loops in the MosaicGNSS

receiver.

7.1.4 Regarding batch-processing algorithms

Estimation techniques based on batch-processing algorithms were investigated.

Publications from different Space organizations provided insight into the methods used for

Precise Orbit Determination (POD) using the batch-processing approach on Ground

Stations, although none of them provided details regarding the implementation of such

methods.

94

Page 111: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

After the choice of an adequate batch-processing algorithm including system models,

optimization criterion and optimization approach; the implementation was carried on in a

MATLAB environment, and the results in terms of position determination accuracy were

compared with respect to the results achieved using the state-of-the-art algorithms of the

MosaicGNSS receiver, which implements a sequential approach based on a Kalman

Filter.

It can be observed that the larger the number of measurement used in the batch-

processing estimation, the smoother the 3D RMS error is. In a LEO scenario, the use of

1 000 measurements for the estimation provided a good performance in terms of the

3D RMS error. This number of measurements can be collected in approximately 2.7

minutes, which corresponds to roughly 3% of one orbit.

According to the visibility and tracking conditions in this setting of the GEO scenario, there

are long periods that can last for almost two hours where there is no satellite that can be

tracked, and only small periods that can last for some tens of minutes where up to 4

satellites can be tracked.

Different numbers of measurements were tried for the batch-processing, where the use of

4 000 measurements for the estimation provided a good performance. In this case, the

batch-processing achieved a mean value of 11.5 m with a standard deviation of 7.4 m, in

contrast to the mean value of 45 m with a standard deviation of 35.8 m achieved by the

Navigation Module of the MosaicGNSS receiver. After using 8 000 measurements, the

performance in is better by only 1 m, and therefore we can conclude that sets of 4 000

measurements provide interesting good results in terms of position determination

performance.

Furthermore, it was also attempted to change the degree and order of the gravity potential

model to the maximum allowed of 10, which are used to propagate the reference orbit.

And, as interesting fact, the performance of batch-processing was only slightly better. This

agrees with the order of magnitude of various perturbations of a satellite orbit shown in the

theory, where can be seen that in GEO, the perturbation from the Moon, for instance, is

roughly equal to the perturbation introduced by the J2,0 harmonic (degree 2, order 0) of the

Earth geopotential model. Therefore, the accuracy of the Earth geopotential model is not

critical in a GEO scenario, and by setting a lower number of degree and order, a

considerable amount of computational time can be saved.

95

Page 112: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

7.2 Recommendations

The first step to continue this work should be to assess the achieved performance of the

batch-processing trying different initial reference points for the estimation of the orbital arc.

It also can be observed that the plots of the batch-processing performance in the previous

chapter show discontinuities in the solutions of the estimation of consecutive arcs. It is

due to the fact that the measurements used in the estimation of one arc are taken

independently from the ones used in the estimation of the next arc. In order to smooth the

transition, it is recommended to consider some percentage of the measurements from the

previous set in the estimation of a new arc. A percentage of 50% seems to be a good

number to start with this procedure.

The next challenge for a batch-processing estimation technique after the performance

evaluation in terms of the 3D RMS error is to concentrate in an optimal implementation of

it in terms of execution time. Currently, the batch-processing computation is not fast

enough to run in a dedicated hardware for a GNSS receiver, taking in a normal PC setting

a couple of seconds to process a solution for an arc in a LEO scenario with

1 000 measurements to several seconds for an arc in a GEO scenario with 4 000

measurements. This is due to the fact that in the latter scenario the measurements are

sparsely distributed along the orbital arc, and therefore the state vector needed to be

propagated using a time step equal to one second until reaching the time of the

observation. So, a lighter implementation is needed.

The computational time also depends on the chosen order and degree of the Earth

geopotential model. The higher the number, the longer that it takes to compute the

acceleration the user S/C is subjected to. In addition, a dramatic improvement can be

achieved changing the time step of the Runge-Kutta method from 1 s to 30 s, or using

another integration method more suitable for a long observation period. For instance, the

Cowell method is optimized for differential equations of second order. Methods that use

variable time steps can also be assessed.

On the other hand, the GEO scenario should be assessed using the GPS antenna pattern

of the Block IIR also including sidelobes. Moreover, the first GPS satellite of the new Block

IIF, SV-1, was recently launched at 03:00 UTC on May 28th, 2010. An assessment of the

position determination using the signals and the antenna pattern from this new block of

GPS satellites should be made. Furthermore, the assessment of a scenario using the

96

Page 113: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

European GALILEO constellation should be carried on as well as the assessment of a

scenario using both the GPS and the GALILEO constellation at the same time.

In addition, a performance assessment of the batch-processing should be carried on for

several GTO scenarios, which strongly depend on the chosen launch vehicle and on the

latitude of the launch site.

Finally, the way to achieve a batch-processing mode in a GNSS receiver is by the means

of two processes that should run on it. The first one should run on foreground and will be

in charge of the propagation of the state, position and velocity; and the second one should

run on background and will be in charge of the batch-processing of the measurements.

Thus, the possibility of using a batch-processing approach was assessed for higher orbits.

The results indicate that for the moment this method is feasible; although, the next steps

toward the future need work.

97

Page 114: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

8 BIBLIOGRAPHY AND REFERENCES

8.1 References

Air Force Space Command (2002), GPS Operational Requirements Document (ORD),

No. AFSC/ACC 003-92-ull/m.

Belyaev, M.Y., Sazonov, V.V., Foeckersperger, S., and Paeffgen, W. (1997), “Use of GPS

for Determining Motion Parameters of Space Station MIR”, Proceedings of the 12th

International Symposium on Space Flight Dynamics, June 2-6, 1997, ESOC,

Darmstadt, Germany.

Braasch, M.S., and Van Dierendonck, A.J. (1999), “GPS Receiver Architectures and

Measurements”, Proceedings of the IEEE, Vol. 87, No. 1, p. 48-64.

Czopek, F. M., and Shollenberger, S. (1993), “Description and Performance of the GPS

Block I and II L-Band Antenna and Link Budget”, Proceedings of the ION GPS

1993: 6th International Technical Meeting of the Satellite Division of the Institute of

Navigation, p. 37-43, September 19-22, 1993, Salt Lake City, Utah, USA, cited in

Moreau, M.C. et al. (2002), “Preliminary Results of the GPS Flight Experiment on

the High Earth Orbit AMSAT-OSCAR 40 Spacecraft”, 25th Annual American

Astronautical Society (AAS) Guidance and Control Conference, February 6-10,

2002, Breckenridge, Colorado, USA.

Deutsches Zentrum für Luft- und Raumfahrt (DLR) (2010), GPS High Precision Orbit

Determination Software Tools, available at:

http://www.weblab.dlr.de/rbrt/GpsNav/GHOST/GHOST.html (accessed March 12th,

2010).

EADS Astrium (2002), MosaicGNSS Receiver: Navigation Module Description and

Relative Navigation Algorithms, No. MosaicGNSS-14-300, Issue 3.0, Munich,

Germany (unpublished report).

98

Page 115: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

EADS Astrium (2006), Performance of MosaicGNSS Receiver in Geosynchronous Orbit,

No. 1, Issue 1.0, Munich, Germany (unpublished report).

EADS Astrium (2010a), MosaicGNSS Receiver: Navigation Algorithms, Top Level

Description, No. MosaicGNSS-176-110, Issue 1.0, Munich, Germany (unpublished

report).

EADS Astrium (2010b), Feasibility of GNSS Sensors for AOCS Applications in GEO and

Higher Altitudes: D4: Simulator Design Description (including Physical Model and

Onboard Algorithms) and User Manual, No. GNSS_GEO_TN_04, Issue 1.0,

Munich, Germany (unpublished report).

European Space Agency (ESA) (2010), ARTES 11 Small GEO, available at:

http://telecom.esa.int/telecom/www/object/index.cfm?fobjectid=25603 (accessed

April 28th, 2010).

Gill, E., and Montenbruck, O. (2004), “Comparison of GPS-based Orbit Determination

Strategies”, Proceedings of the 18th International Symposium on Space Flight

Dynamics, October 11-15, 2004, Munich, Germany.

Gottzein, E. (2008), Spacecraft Dynamics and Controls, Würzburg, Germany (lecture

notes of the Joint European Master in Space Science and Technology,

SpaceMaster).

Hall, D.L., and McMullen, S.A.H. (2004), Mathematical Techniques in Multisensor Data

Fusion (2nd Edition), Artech House, Norwood, Massachusetts, USA.

Kaplan, E.D., and Hegarty, C.J., E. (2006), Understanding GPS: principles and

applications (2nd Edition), Artech House, USA.

Katagiri, S., and Yamamoto, Y. (2008), “Technology of Precise Orbit Determination”,

FUJITSU Sci. Tech. J., Vol. 44, No. 4, p. 401-409.

Kühl, C.T.F. (2005), Combined Earth-/Star Sensor for Attitude and Orbit Determination of

Geostationary Satellites (PhD thesis), Universität Stuttgart, Stuttgart, Germany.

National Imagery and Mapping Agency (NIMA) (1997), Department of Defense World

Geodetic System 1984 – Its Definition and Relationships with Local Geodetic

Systems (3rd Edition), No. NIMA TR 8350.2, Bethesda, Maryland, USA.

99

Page 116: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Mittnacht, M., Fichter, W. (2000), “Real Time On-Board Orbit Determination of GEO

Satellites Using Software or Hardware Correlation”, Proceedings of ION GPS 2000:

13th International Technical Meeting of the Satellite Division of the Institute of

Navigation, September 19-22, 2000, Salt Lake City, Utah, USA.

Montenbruck, O., and Gill, E. (2000), Satellite Orbits: Models, Methods, and Applications

(1st Edition), Springer-Verlag, Berlin, Germany.

Montenbruck, O., Yoon, Y., Ardaens, J.S., and Ulrich, D. (2008), “In-flight Performance

Assessment of the Single Frequency MosaicGNSS Receiver for Satellite

Navigation”, 7th International ESA Conference on Guidance, Navigation and Control

Systems, June 2-5, 2008, Tralee, County Kerry, Ireland.

Moreau, M.C., Bauer, F.H., Carpenter, J.R., Davis, E.P., Davis, G.W., and Jackson, L.A.

(2002), “Preliminary Results of the GPS Flight Experiment on the High Earth Orbit

AMSAT-OSCAR 40 Spacecraft”, 25th Annual American Astronautical Society (AAS)

Guidance and Control Conference, February 6-10, 2002, Breckenridge, Colorado,

USA.

Moreau, M.C. (2008), “GPS Space Service Volume: Increasing the Utility of GPS for

Space Users”, presentation given by Moreau, M.C., Flight Dynamics Analysis

Branch, NASA Goddard Space Flight Center, October 16, 2008, available at: http:// pnt.gov/advisory/2008-10/moreau.ppt (accessed April 6th, 2010).

Spirent Communications (2010), available at: http://www.spirent.com (accessed March 6th,

2010).

Spirent Communications (2006), SimREMOTE User Manual and Interface Control

Document: Software for the Spirent Range of Satellite, No. DGP00792AAA, Issue

2.0.

Tapley, B.D., Schutz, B.E., and Born G.H. (2004), Statistical Orbit Determination, Elsevier

Academic Press, Amsterdam, Netherlands.

Wolfram MathWorld (2010), Euler Angles, available at:

http://mathworld.wolfram.com/EulerAngles.html (accessed February 16th, 2010).

Zentgraf, P., Berge, S., Chasset, C., Filippi, H., Gottzein, E., Gutiérrez-Cañas, I.,

Hartrampf, M., Krauss, P.A., Kühl, C., Lübke-Ossenbeck, B., Mittnacht, M.,

100

Page 117: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Montenbruck, O., Müller, C., Rueda, P., and Truffi, A. (2010), “Preparing the GPS-

Experiment for the Small GEO Mission”, 33rd Annual American Astronautical Society

(AAS) Guidance and Control Conference, February 6-10, 2010, Breckenridge,

Colorado, USA.

8.2 Bibliography

Bate, R.R., Mueller, D.D., and White, J.E. (1971), Fundamentals of Astrodynamics (1st

Edition), Dover Publications, New York, USA.

Battin, R.H. (1987), An Introduction to the Mathematics and Methods of Astrodynamics

(1st Edition), American Institute of Aeronautics and Astronautics (AIAA), New York,

USA.

Montenbruck, O., Yoon, Y., Gill, E., and Garcia-Fernandez, M. (2006), “Precise Orbit

Determination for the TerraSAR-X Mission”, 19th International Symposium on Space

Flight Dynamics, June 4-11, 2006, Kanazawa, Japan.

Wermuth, M., Hauschild, A., Montenbruck, O., and Jäggi, A. (2009), “TerraSAR-X Rapid

and Precise Orbit Determination”, 21th International Symposium on Space Flight

Dynamics, September 28 - October 2, 2009, Toulouse, France.

Prasad, R., and Ruggieri, M. (2005), Applied Satellite Navigation Using GPS, GALILEO,

and Augmentation Systems (1st Edition), Artech House, USA.

101

Page 118: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

9 APPENDIX

Appendix A. S/W Simulator’s Attitude Dynamic Module

Definition of inputs, parameters and outputs of the S/W Simulator’s Attitude Dynamic Module

Inputs .- The inputs of the user S/C’s attitude dynamics module are listed below:

1. refTime(GPS) [s] .- It is the GPS time for the iteration of the simulation and should be

contained in the time frame of the Almanac File. The GPS time is a linear time scale

where no leap seconds are inserted. It is equal to International Atomic Time (TAI)

minus 19 seconds. GPS time starts from 6th January 1980 and it matched UTC until

1st July 1981.

2. dcm_Eci2Ecef .- Direct cosine matrix for the rotation transformation from ECI J2000

reference frame to ECEF reference frame.

3. userPosEci [m] .- For the first iteration of the simulation it is the initial position of the

user S/C set in the init file in ECI J2000 reference frame. For the next iterations, it is

the new propagated position in ECI J2000 reference frame. The data structure is as

follows:

[posX posY posZ]

4. userVelEci [m/s] .- For the first iteration of the simulation it is the initial velocity of the

user S/C set in the init file in ECI J2000 reference frame. For the next iterations, it is

the new propagated velocity in ECI J2000. The data structure is as follows:

[velX velY velZ]

5. sunPosEci [m/s] .- It is the calculated position of the Sun at refTime(GPS) in ECI

J2000 reference frame. The data structure is as follows:

[posX posY posZ]

102

Page 119: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

6. userBodyAxesBody .- This 3x3 matrix contains the representation in Body Frame of

the three orthonormal vectors that define the body axes of the user S/C. The first row

is the X-axis, the second row is the Y-axis, the third row is the Z-axis. The values of

the vectors are readed from the init file, although in general the vectors X, Y and Z in

this frame should be [1 0 0], [0 1 0] and [0 0 1] respectively.

7. userAntennaBsBody .- Attitude of the user S/C antenna boresight in Body Reference

Frame. The data structure is as follows:

[attitudeX attitudeY attitudeZ]

Parameters .- The parameters of the user S/C’s attitude dynamics module are listed

below:

1. ATTITUDE_MANOEUVRES_MATRIX .- This nx13 matrix specifies the attitude

manoeuvres that are to be executed at every step of the simulation. The data

structure is as follows:

[Column 1: GPS Time: Absolute GPS Time (s).

Column 2: Manoeuvre Command:

0 = Rotation w.r.t. ECI J2000 reference frame.

1 = Rotation w.r.t. LVLH (Nadir) reference frame.

2 = Rotation w.r.t. Sun-Pointing reference frame.

3 = Rotation from absolute Attitude-1 to Attitude-2 w.r.t. ECI J2000 frame.

4 = Rotation from absolute Attitude-1 to Attitude-2 w.r.t. LVLH frame.

5 = Rotation from absolute Attitude-1 to Attitude-2 w.r.t. Sun-pointing frame.

6 = Rotation w.r.t. Body Frame relative to the last attitude of the user S/C.

Column 3: Rotation Method:

1 = Euler Angles "X-convention" (Z-X'-Z').

2 = Tait-Bryan Angles (Roll, Pitch, Yaw).

3 = Quaternions.

4 = Euler Axis / Euler Angle.

Column 4-13: Parameters of the rotation method:

- For commands = 0, 1, 2:

- When Rotation Method = 1 (Euler Angles), 3 parameters are required:

- Phi (1st rotation about Z-axis).

103

Page 120: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

- Theta (2nd rotation about X-axis).

- Psi (3rd rotation about Z-axis).

- When Rotation Method = 2 (Tait-Bryan Angles), 3 parameters are

required:

- Roll (3rd rotation about X-axis).

- Pitch (2nd rotation about Y-axis).

- Yaw (1st rotation about Z-axis).

- When Rotation Method = 3 (Quaternions), 4 parameter are required:

- q1, q2, q3: Vectorial part of the quaternion.

- q0: Scalar part of the quaternion.

- When Rotation Method = 4 (Euler Axis / Euler Angle), 3 parameters are

required and 2 parameters are optional:

- e1, e2, e3: Euler Axis.

- e0: Euler Angle (Initial angle).

- ω: Angular rate (Optional).

- Final angle (Optional).

- For commands = 3, 4:

- The first 4 parameters (columns: 4, 5, 6, 7) are for the definition of the

initial attitude, according to the rotation method in column 3.

- Column 8 specifies the rotation method for the final attitude.

- The next 4 parameters (columns: 9, 10, 11, 12) are for the definition of the

final attitude, according to the rotation method in column 8.

- Column 13 specifies the duration of the manoeuvre from the initial to the

final attitude.

]

2. dbzEps [m/s2] .- Epsilon or threshold on the vector magnitude for handling the

division by zero.

Outputs .- The outputs of the user S/C’s attitude dynamics module are listed below:

1. userBodyAxesEci .- This 3x3 matrix contains the representation in ECI J2000

reference frame of the three orthonormal vectors that define the body axes of the

user S/C. The first row is the X-axis, the second row is the Y-axis, the third row is the

Z-axis. The new values of the vectors are calculated every second after the

execution of the manoeuvres.

104

Page 121: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

2. userBodyAxesEcef .- This 3x3 matrix contains the representation in ECEF reference

frame of the three orthonormal vectors that define the body axes of the user S/C. The

first row is the X-axis, the second row is the Y-axis, the third row is the Z-axis. The

new values of the vectors are calculated every second after the execution of the

manoeuvres.

3. userBodyAxesNadir .- This 3x3 matrix contains the representation in LVLH reference

frame of the three orthonormal vectors that define the body axes of the user S/C. The

first row is the X-axis, the second row is the Y-axis, the third row is the Z-axis. The

new values of the vectors are calculated every second after the execution of the

manoeuvres.

4. userAntennaBsEci .- Attitude of the user S/C antenna boresight in ECI J2000

reference frame. The data structure is a unit vector as follows:

[attitudeX attitudeY attitudeZ]

5. userAntennaBsEcef .- Attitude of the user S/C antenna boresight in ECEF reference

frame. The data structure is a unit vector as follows:

[attitudeX attitudeY attitudeZ]

6. userAntennaBsNadir .- Attitude of the user S/C antenna boresight in LVLH reference

frame. The data structure is a unit vector as follows:

[attitudeX attitudeY attitudeZ]

7. Reference Frame. The data structure is a unit vector as follows:

[attitudeX attitudeY attitudeZ]

8. dcm_Eci2Nadir .- Direction cosine matrix for the rotation transformation from ECI

J2000 to LVLH reference frame.

[attitudeX attitudeY attitudeZ]

105

Page 122: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Appendix B. Visibility check of the GNSS satellites

The visibility check is an important step in order to know which GNSS satellites can be

used at a specific time in the PVT solution. The algorithm checks which GNSS satellites

are visible as seen from the user S/C using the ECI J2000 reference frame.

Visibility is a purely geometrical condition. In order to declare that GNSS satellite is visible,

three conditions should be fulfilled. For the first condition, the relative position vectors of

the GNSS satellites and the Earth with respect to the user S/C are:

usergnssgnssuser rrri−=2 (LOS vector)

userusereciearthuser rrr −=−Ο=2 Eq. B.1

The angle between these two vectors is:

⎟⎟⎠

⎞⎜⎜⎝

⎛ •=

earthusergnssuser

earthuserT

gnssuser

rrrr

22

22arccosα

The angle of the half cone obscured by the Earth and atmosphere is:

⎪⎪⎩

⎪⎪⎨

⎧+>⎟

⎟⎠

⎞⎜⎜⎝

⎛ +

=

otherwise

hRrr

hRatmEarthuser

user

atmEarth

,2

,arcsin

πβ Eq. B.2

The first condition is fulfilled when the GNSS satellite has a valid line-of-sight (LOS) to the

user S/C, i.e. the Earth is not occulting the GNSS satellite. This is true when α is greater

than β.

For the second condition, the angle between the GNSS vector (or the direction of the

GNSS satellite’s transmission antenna boresight) and the LOS vector is calculated as

follows:

106

Page 123: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

⎟⎟⎠

⎞⎜⎜⎝

⎛ •=

gnssusergnss

gnssuserTgnss

rrrr

2

2arccosγ Eq. B.3

The second condition is fulfilled when the angle between the LOS and the transmission

antenna orientation of the GNSS satellite, γ, is within the half cone aperture angle of the

GNSS satellite.

For the third condition, the angle between the direction of the user S/C’s receiver antenna

boresight and the LOS vector is calculated as follows:

⎟⎟⎠

⎞⎜⎜⎝

⎛ •=

gnssuser

gnssuserTboresight

rre

2

2arccosθ Eq. B.4

where:

boresighte = Unit vector that represents the orientation of the user S/C’s antenna

boresight in ECI J2000.

The third condition is fulfilled when the angle between the LOS and the antenna

orientation of the receiver, θ, is within the reception half cone aperture angle.

107

Page 124: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Appendix C. Definition of important concepts

Important concepts for visibility and tracking of GPS satellites

Received Signal Power

The received signal power is a function of several factors such as the transmission power

of the GNSS satellite, the transmitter and receiver gains as a function of the transmission

and reception angles respectively (with respect to line-of-sight), the free-Space path loss

(FSPL) and other losses, such as antenna polarization mismatch, quantization and

sampling losses. The receiver signal power is described as follows:

2

24 ⎟⎟⎠

⎞⎜⎜⎝

⎛==

GnssUser

LotherrttFSPLatmrttr r

AAGPAAAGPP rπλ

Eq. C.1

where:

Pt = Nominal transmitted power of the GNSS satellite.

Gt = Antenna gain of the GNSS satellite.

Ar = Antenna gain of the user S/C.

AFSPL = Free-Space path loss factor.

λL = GPS L-band carrier wavelength (m)

= (speed of the light) / (1 575.42 MHz) = 0.1903 m/cycle for L1.

= (299 792 458 m/s) / (1 227.6 MHz) = 0.2442 m/cycle for L2.

Aother = Other losses.

Noise Power

“The bandwidth of the final stage of intermediate frequency (IF) filtering ranges from

2 MHz in low-end receivers up to 20 MHz in high performance models” (Braasch and Van

Dierendonck, 1999). The noise power in this bandwidth can be approximated by,

BTkN E= Eq. C.2

108

Page 125: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

where:

k = Boltzmann’s constant. K = 1.3806 x 10-23 J/K.

TE = Effective noise temperature in Kelvin.

B = Bandwidth in Hz.

In the case of the bandwidth B, the GPS signal is despread after being correlated with the

locally generated code, thus occupying the bandwidth of the navigation data (Braasch and

Van Dierendonck, 1999). Therefore, B is equal to 50 Hz.

Signal-To-Noise Ratio

The Signal-To-Noise Ratio (SNR) in dB can be calculated as follows:

dBinNPowerNoisedBinPpowerSignalSNR r )()( −= Eq. C.3

Carrier-To-Noise Density

“The SNR of spread-spectrum signals (like that of GPS) is a function of the point in the

receiver under consideration. Precorrelation SNR’s are negative whereas postcorrelation

SNR’s are positive. It is convenient, therefore, to normalize the SNR to a 1 Hz bandwidth

and thus achieve a ratio of signal and noise that is bandwidth-independent. Alternately,

this can be viewed as a density, and the result is referred to as the Carrier-To-Noise

Density ratio” (Braasch and Van Dierendonck, 1999):

( )(BSNRNC =0/ )

))

Eq. C.4

where:

C/N0 = Carrier-To-Noise Density Ratio in (ratio - Hz).

SNR = Straight ratio form of the SNR at a certain point in the receiver, say, the

final IF stage.

B = Bandwidth of that stage of the receiver in (Hz).

Usually, this quantity is converted into decibels:

( )(( BSNRNC 100 log10/ = Eq. C.5

where:

C/N0 = Carrier-To-Noise Density Ratio in (dB-Hz). Typical C/N0 ranges from

35 dB-Hz to 55 dB-Hz.

109

Page 126: 2010:072 MASTER'S THESIS - ltu.diva-portal.org

Important concepts regarding reference frames

Earth Centred Inertial J2000 (ECI J2000)

Inertial reference frame in which the Z-axis is pointing to the North Pole, the X-axis is

pointing to the Vernal Equinox, and the Y-axis completes the right-handed system. A

commonly used ECI frame, which is defined with the Earth's Mean Equator and Equinox

at 12:00 Terrestrial Time on 1 January 2000, is referred as J2000 or EME2000. The X-

axis is aligned with the mean equinox, the Z-axis is aligned with the Earth's spin axis or

celestial North Pole, and the Y-axis is rotated by 90° East about the celestial equator

(Tapley et al., 2004).

Earth Centred / Earth Fixed (ECEF)

Reference frame in which the Z-axis is pointing to the celestial North Pole, the X-axis

intersects the sphere of the earth at the 0° latitude, 0° longitude, and therefore is rotating

with the Earth. And, the Y-axis completes the right-handed system.

Sun-pointing

Reference frame in which the Z-axis is pointing to the Sun, the X-axis lies in the orbital

plane spanned by the velocity and the position vector, and the Y-axis completes the right-

handed system, with a bias to the celestial South Pole.

Body Frame

Reference frame that is fixed to the body, and therefore it translate and rotates with the

body.

Local Vertical / Local Horizontal (LVLH, Nadir)

Reference frame in which the Z-axis points in the negative position direction, towards to

Earth, the Y-axis is perpendicular to the plane spanned by the velocity and the position

vector, and the X-axis completes the right-handed system.

Local Geographic / North-East-Down (NED)

Local geographic frame in which the X-axis points to the North, the Y-axis points to the

East, and the Z-axis points down to the Earth.

110