PRECISE FORMATION-STATE ESTIMATION IN LOW EARTH ORBIT USING CARRIER DIFFERENTIAL GPS

advertisement
PRECISE FORMATION-STATE ESTIMATION IN LOW
EARTH ORBIT USING CARRIER DIFFERENTIAL GPS
a dissertation
submitted to the department of aeronautics and astronautics
and the committee on graduate studies
of stanford university
in partial fulfillment of the requirements
for the degree of
doctor of philosophy
Franz D. Busse
March 2003
c Copyright by Franz D. Busse 2003
All Rights Reserved
ii
I certify that I have read this dissertation and that in
my opinion it is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
Jonathan P. How
Department of Aeronautics and Astronautics, MIT
(Principal Adviser)
I certify that I have read this dissertation and that in
my opinion it is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
Stephen Rock
Department of Aeronautics and Astronautics
I certify that I have read this dissertation and that in
my opinion it is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
Per K. Enge
Department of Aeronautics and Astronautics
Approved for the University Committee on Graduate
Studies:
iii
iv
Abstract
Formation flying in Low Earth Orbit (LEO) offers great benefits for many space science applications. These formation flying missions will require precise relative navigation. The required precision can potentially be achieved using carrier differential GPS
(CDGPS). However, previous to this work, no GPS-based sensor had demonstrated
the capability of providing the necessary precision levels in LEO. This dissertation
presents the design and demonstration of a decentralized, real-time CDGPS relative
navigation system designed for the Orion formation flying microsatellite project. The
navigation system achieves accuracy better than 2 cm for relative position in LEO
formations with separations of 1 km between vehicles.
This result is achieved by modifying the GPS receiver and designing an improved
relative navigation filter. On the receiver, changes are made that allow it to operate reliably in LEO, and take synchronized, low-noise measurements. For the filter,
implementation trade studies were performed to design an Extended Kalman Filter
(EKF). These studies show that a nonlinear measurement update method is required,
while a linear state propagation method can be used. For additional robustness, an
adaptive algorithm is developed within the EKF, which is shown to correctly identify
the covariance of the process and sensor noise. It also feeds the residuals back to the
state covariance, which prevents filter divergence and maintains the covariance as a
more accurate indicator of the performance of the nonlinear filter.
Hardware-in-the-loop demonstrations are performed using Goddard Space Flight
Center’s Formation Flying Test Bed (FFTB). The FFTB is the most realistic orbital test environment currently available. Four-vehicle formations were simulated,
providing the first-ever simultaneous relative navigation results. These results show
v
the decentralized filter achieving 1–2 cm relative position accuracy, and less than
0.5 mm/s relative velocity error. The individual error sources in these simulations
were studied. They are a function of separation between vehicles, and it was found
that the measurement errors (the largest due to ionosphere) have greater impact
than dynamic propagation errors. The hardware-in-the-loop demonstrations of the
receiver and filter greatly increase confidence that this system can operate successfully
on orbit.
vi
Acknowledgments
I could not have done this work alone. First, I want to thank my advisor, Professor
Jonathan How. He has always set the highest standards for my work. His thoroughness, attention to detail, and expectation for quality have been essential. I also thank
the other members of my reading committee, Pr. Per Enge and Pr. Stephen Rock.
I appreciate their time and insight, and respect them not only as great researchers,
but as great teachers as well.
I recognize with gratitude the funding primarily from NASA GSFC (under a
number of different contracts, most recently NASA grant NAG5-10719), and also
from AFRL, without which this research would not have been possible.
My thanks go to the great staff at NASA GSFC involved with the Formation
Flying Testbed. I am grateful for the support of Frank Bauer, Jesse Leitner, and
Rich Burns. I also thank James Simpson and Larry Jackson, who were great help,
and also became great friends.
It has been an honor, a privilege, and a pleasure to know and work with my
colleagues at Stanford and MIT. At Stanford, I am especially grateful to J. Carl
Adams, Eric Olsen, and Chan Woo Park, for their time and friendship. Similarly, at
MIT, I especially recognize the friendship and help of Philip Ferguson, Nick Pohlman,
and Arthur Richards.
Finally, on a more emotional, but no less important level, I am very grateful to my
family, especially my parents. They have always given encouragement and freedom to
follow my dreams, and have been examples of living by the highest principles. Saving
the most important for last, I thank my wife, for her unconditional love, patience,
understanding, and providing joy in my life to make it all worthwhile.
This work, which represents my greatest intellectual endeavor yet, I dedicate to
God. I recognize His inspiration and support in this work and throughout my life. He
is my Lord and my Saviour, and any achievement of mine is made possible by Him.
vii
Nomenclature
General nomenclature rules:
â
The hat is read as “the estimate of a”
ã
The tilde is read as “the error”, defined as ã = â − a
ȧ
The derivative of a with respect to time (e.g. velocity)
ä
The second derivative of a with respect to time (e.g. acceleration)
a+
a posteriori quantity (after the measurement update)
a−
a priori quantity (before the measurement update)
m
a
a superscript refers to GPS satellite m
a
Boldface indicates a vector quantity
kak
The magnitude of the vector, this is the same as the two-norm
∆aij
The differential quantity between i and j
δa
Incremental update to a
A
Capital letters generally indicate matrices
AT
The transpose of A (matrix or vector)
†
A
Pseudo-inverse of A, which is (AT A)−1 A
Specific quantities:
a
Semi-major axis of the orbital ellipse
aB
Acceleration due to third body gravity
aH
Acceleration due to higher-order gravity harmonics
aA
Acceleration due to atmospheric aerodynamics
aR
Acceleration due to solar radiation
viii
bi
B
Receiver i clock offset state
m
NAVSTAR m clock offset state
Bn
Noise bandwidth of a phase-lock loop
CD
Coefficient of Drag
CECEF
ECEF correction term
Dim
Range between satellite m and user i
e
Orbital eccentricity
Eim
Ephemeris error for NAVSTAR m as observed by user i
f
Differential perturbing force vector
f
Frequency
f (·)
Continuous state dynamic function
fk (·)
Discrete state dynamic function
F
Linear continuous state dynamics function
Fc
Signal frequency
h(·)
Observation function
H
Observation matrix
H(j2πf ) Phase-lock loop transfer function
i
1) Orbital Inclination
2) Index for user vehicles.
3) Iteration index
Iim
Ionospheric delay between NAVSTAR m and user i
I
The identity matrix
Jn
The nth gravitational harmonic
K
1) Kalman gain
2) Controller gain (clock)
Ku
Constant factor for thrust uncertainty
losm
i
Unit vector along line of sight between NAVSTAR m and user i
LOS
Matrix of combined lines-of-sight
n
Orbital mean motion
nk
Number of time steps during a selected interval
P
State covariance
ix
qc
Continuous process noise vector on velocity
qu
Process noise vector on control input
Q, Qk
Process noise covariance
Qc
Process noise spectral density
?
Q
Measure of process noise covariance (adaptive)
rij
Single element of matrix R, subscripts indicate row and column
rm
Position (3 dimensions) of NAVSTAR m
ri
Position (3 dimensions) of user vehicle i
r̃
Position error norm (performance metric)
R
Sensor noise covariance
R?
Measure of sensor noise covariance (adaptive)
t
Time: ts –time signal is sent, tr –time signal is received
T
Time step for tracking loop equations
u
Control input (thruster firing)
w
Disturbance
wb
Disturbance to receiver clock dynamics
w∆r
Disturbance to motion dynamics
x
Relative position in first dimension
x
State vector to be estimated
xABS
Absolute state vector
y
Relative position in second dimension
y
Measurement vector
yABS
Absolute measurement vector
z
Relative position in third dimension
βim
γim
Carrier phase integer ambiguity bias
A generic small value
∆φ
Park’s correction for range
∆φ̇
Park’s correction for range-rate
εm
ij
Effect of absolute error in single difference measurement
θ
Mean anomaly in orbit
Elevation angle from user i to GPS satellite m
x
µ
3
1) Gravitational constant for earth, 3.986 × 1014 ms2 .
2) NCO state.
3) The mean of a random variable
ν
Sensor noise: νρ – code phase noise, νφ – carrier phase noise, νφ̇ –
Doppler noise, ν∆φ – single difference carrier phase noise.
ν?
Combined sensor noise with other unmodelled terms
ξ
A generic state
ρm
i
Code phase measurement, from NAVSTAR m to user i
%
Effect of absolute state error on estimate of relative state acceleration
σ
Standard deviation
τ
Orbital period
φm
i
Carrier phase measurement, from NAVSTAR m to user i
Φ
State propagation matrix
χ
a generic formation state
ω
Orbital argument of perigee
Ω
Orbital longitude of the ascending node
Ωe
Rotation rate of the Earth
xi
List of Acronyms
AET
Absolute Estimation Tool (GSAT module)
AFRL
Air Force Research Laboratory
AMSAT
Amateur Satellite
C/A
Coarse Acquisition
CDGPS
Carrier-phase Differential GPS
CDH
Command and Data Handling computer
CD/RM
Simple Dynamics/Real Measurement (simulation environment)
CD/SM
Complex Dynamics/Simple Measurement (simulation environment)
DoD
Department of Defense
DOS
Disk Operating System (Microsoft)
ECEF
Earth Center Earth Fixed (Cartesian coordinate frame)
ECI
Earth Centered Inertial
ECRV
Exponentially Correlated Random Variable
EKF
Extended Kalman Filter
ESA
European Space Agency
FFTB
Formation Flying Test Bed
FLL
Frequency Lock Loop
GDOP
Geometric Dilution Of Precision
GEO
Geosynchronous Earth Orbit
GPIO
General Purpose Input Output
GPS
Global Positioning System
GSAT
GPS Simulation and Analysis Toolkit
GSFC
Goddard Space Flight Center (NASA)
ICD
Interface Control Document
xii
JPL
Jet Propulsion Laboratory
KF
Kalman Filter
LEO
Low Earth Orbit
LISA
Laser Interferometer Space Antenna
LOS
Line of Sight
LQE
Linear-Quadratic Estimator
LQR
Linear-Quadratic Regulator
LVLH
Local Vertical Local Horizontal (coordinate frame)
MIT
Massachusetts Institute of Technology
MMLE
Method of Maximum Likelihood Estimation
NASA
National Aeronautics and Space Administration
NASDA
(Japan’s national space agency)
NAT
Noise Analysis Tool (GSAT module)
NATO
North Atlantic Treaty Organization
NCO
Numerically Controlled Oscillator
OAT
Orbit Analysis Tool (GSAT module)
PLL
Phase Lock Loop
PRN
Pseudo Random Noise
RF
Radio Frequency
RIC
Radial – In-Track – Cross-Track (local reference frame)
RISC
Reduced Instruction Set Computer (microprocessor architecture)
RMS
Root Mean Square
RSS
Root Sum Square
RTE
Real-Time Estimator (GSAT module)
SD/SM
Simple Dynamics/Simple Measurement (simulation environment)
SMA
Sub-Miniature A (coaxial cable designation)
STANAG STANdard AGreement
STS-80
Shuttle Transport System 80 (shuttle flight designation)
TEC
Total Electron Count (in ionosphere)
UCLA
University of California Los Angeles
URE
User Range Error
xiii
ZOH
Zero Order Hold (discrete sampling technique)
xiv
Contents
Abstract
v
Acknowledgments
vii
Nomenclature
viii
List of Acronyms
xii
1 Introduction
1.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.1
Formation Flying . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.1.2
Precision Requirements
. . . . . . . . . . . . . . . . . . . . .
6
1.1.3
Simplicity . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
1.2
Dissertation Overview . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.3
GPS Introduction
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
1.4
Previous Work
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
1.5
Motivation
1
1.4.1
Orbital Absolute Navigation
. . . . . . . . . . . . . . . . . .
14
1.4.2
Orbital Relative Navigation . . . . . . . . . . . . . . . . . . .
15
1.4.3
Formation Flying using GPS
. . . . . . . . . . . . . . . . . .
16
1.4.4
Adaptive Estimation . . . . . . . . . . . . . . . . . . . . . . .
17
Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2 Orbital Formation Estimation
2.1
Orbital Dynamics
20
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
xv
20
2.2
2.3
2.1.1
Orbit Description
. . . . . . . . . . . . . . . . . . . . . . . .
21
2.1.2
Perturbing Forces
. . . . . . . . . . . . . . . . . . . . . . . .
24
2.1.3
Relative Orbital Dynamics
. . . . . . . . . . . . . . . . . . .
25
2.1.4
Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
Absolute GPS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
2.2.1
Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
2.2.2
Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
2.2.3
Difference Absolute Solutions . . . . . . . . . . . . . . . . . .
34
Relative GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
2.3.1
Single Difference . . . . . . . . . . . . . . . . . . . . . . . . .
37
2.3.2
Carrier-Phase Bias . . . . . . . . . . . . . . . . . . . . . . . .
39
2.3.3
Differential Advantage . . . . . . . . . . . . . . . . . . . . . .
40
2.4
System Definition
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
2.5
Centralized vs. Decentralized . . . . . . . . . . . . . . . . . . . . . .
47
3 Operating Environments
53
3.1
Outdoors
3.2
GSFC Formation Flying Test Bed
3.3
GPS Simulation and Analysis Toolkit
3.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
53
55
. . . . . . . . . . . . . . . . .
58
3.3.1
GSAT-Real Time Estimator . . . . . . . . . . . . . . . . . . .
59
3.3.2
Multiple Simulations . . . . . . . . . . . . . . . . . . . . . . .
62
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
4 Enhanced Differential GPS Receiver
65
4.1
Orion Receiver Overview
. . . . . . . . . . . . . . . . . . . . . . . .
65
4.2
Heritage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
4.3
Receiver Design Innovations . . . . . . . . . . . . . . . . . . . . . . .
69
4.3.1
Communication Interface
. . . . . . . . . . . . . . . . . . . .
70
4.3.2
Clock Control
. . . . . . . . . . . . . . . . . . . . . . . . . .
76
4.3.3
Orbital Capability . . . . . . . . . . . . . . . . . . . . . . . .
77
4.3.4
Tracking Loop
. . . . . . . . . . . . . . . . . . . . . . . . . .
79
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
4.4
xvi
5 Relative Navigation Filter
87
5.1
Kalman Filter
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87
5.2
Motivation for Filter Design . . . . . . . . . . . . . . . . . . . . . . .
91
5.3
Measurement Update
94
5.4
5.5
. . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1
Measurement Models
. . . . . . . . . . . . . . . . . . . . . .
94
5.3.2
Linearity
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
96
5.3.3
Measurement Method Selection . . . . . . . . . . . . . . . . .
98
Time Propagation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4.1
Propagation Model . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4.2
Propagation Method Selection
. . . . . . . . . . . . . . . . . 105
Filter Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6 Hardware-in-the-Loop Demonstrations
6.1
6.2
Conditions
111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.1.1
Formation Flying Test Bed
6.1.2
Filter
6.1.3
Formations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.1.4
Statistics
Results
. . . . . . . . . . . . . . . . . . . 111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
6.2.1
General Performance . . . . . . . . . . . . . . . . . . . . . . . 117
6.2.2
1 km Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.2.3
Compiled Results
6.2.4
Correlation of Differential Errors . . . . . . . . . . . . . . . . 124
. . . . . . . . . . . . . . . . . . . . . . . . 123
7 Performance Comparisons and Error Analysis
7.1
7.2
128
Performance Comparisons . . . . . . . . . . . . . . . . . . . . . . . . 128
7.1.1
Using Doppler Measurements . . . . . . . . . . . . . . . . . . 128
7.1.2
Using Double Differences
Error Analysis
. . . . . . . . . . . . . . . . . . . . 131
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.2.1
Propagation Error vs. Measurement Error . . . . . . . . . . . 134
7.2.2
Individual Error Contributions
7.2.3
Error Summary
. . . . . . . . . . . . . . . . . 137
. . . . . . . . . . . . . . . . . . . . . . . . . 146
xvii
7.2.4
Noise Floor: Synchronization . . . . . . . . . . . . . . . . . . 148
8 Adaptive Estimation
151
8.1
Importance of Q and R
8.2
Adaptive Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
8.3
. . . . . . . . . . . . . . . . . . . . . . . . . 152
8.2.1
Process Noise . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
8.2.2
Sensor Noise
8.2.3
Identify Noise
8.2.4
Application Notes
8.2.5
Active Thrusting . . . . . . . . . . . . . . . . . . . . . . . . . 165
. . . . . . . . . . . . . . . . . . . . . . . . . . . 161
. . . . . . . . . . . . . . . . . . . . . . . . . . 162
. . . . . . . . . . . . . . . . . . . . . . . . 164
Adaptive Performance . . . . . . . . . . . . . . . . . . . . . . . . . . 166
8.3.1
Wrong Parameter Correction
. . . . . . . . . . . . . . . . . . 166
8.3.2
Covariance Comparison
8.3.3
Thrust Demonstration . . . . . . . . . . . . . . . . . . . . . . 168
. . . . . . . . . . . . . . . . . . . . . 168
9 Conclusions
173
9.1
Summary of Findings and Contributions . . . . . . . . . . . . . . . . 173
9.2
Future Research
9.3
Closing Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
A Additional HWIL Results
179
A.1 100 m In-Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
A.2 10 km In-Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
A.3 1 km Out-of-Plane Elliptical
A.4 10 km In-Plane Elliptical
. . . . . . . . . . . . . . . . . . . . . . 182
. . . . . . . . . . . . . . . . . . . . . . . . 183
A.5 1 km Thrusting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Bibliography
185
xviii
List of Tables
1.1
Comparison of Relative Navigation Accuracy
. . . . . . . . . . . . .
16
4.1
Standard Token Bus Sentence Structure . . . . . . . . . . . . . . . .
73
4.2
Data Sentence Listing . . . . . . . . . . . . . . . . . . . . . . . . . .
74
4.3
Crosslink Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
5.1
Nonlinearity Impact on Measurements . . . . . . . . . . . . . . . . .
98
5.2
Measurement Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.3
Propagation Methods
6.1
Initial Orbital Parameters . . . . . . . . . . . . . . . . . . . . . . . . 113
6.2
1 km Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.3
Compiled Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.1
Comparison Using Doppler
7.2
Comparison Using Double Differences
7.3
Ionospheric Corrections
7.4
Effect of Drag
7.5
Error Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.6
Noise Floor Error
. . . . . . . . . . . . . . . . . . . . . . . . . . 107
. . . . . . . . . . . . . . . . . . . . . . . 129
. . . . . . . . . . . . . . . . . 134
. . . . . . . . . . . . . . . . . . . . . . . . . 143
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
A.1 Compiled Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
xix
List of Figures
1.1
TechSat-21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.2
Mission Requirements . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.3
GPS constellation . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.4
Work by Others . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.1
Keplerian Elements . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.2
Frames of Reference . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
2.3
Absolute Navigation
32
2.4
Difference Absolute Solutions
. . . . . . . . . . . . . . . . . . . . .
36
2.5
Relative Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
2.6
System Overview
45
2.7
Centralized vs. Decentralized
3.1
Outdoor Block Diagram
. . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .
48
. . . . . . . . . . . . . . . . . . . . . . . .
55
3.2
GSFC FFTB Block Diagram . . . . . . . . . . . . . . . . . . . . . .
56
3.3
Propagation Comparisons
. . . . . . . . . . . . . . . . . . . . . . .
61
3.4
Flow Chart for GSAT-RTE . . . . . . . . . . . . . . . . . . . . . . .
63
3.5
Flow Chart for Each Time-step
. . . . . . . . . . . . . . . . . . . .
64
4.1
Antenna Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
4.2
GPS Receiver
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
4.3
GPS Receiver Task Frequency . . . . . . . . . . . . . . . . . . . . .
68
4.4
Orion GPS Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . .
70
4.5
GPS Receiver during IF test . . . . . . . . . . . . . . . . . . . . . .
71
xx
4.6
Phase Lock Loop
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7
PLL Bode Response
. . . . . . . . . . . . . . . . . . . . . . . . . .
81
4.8
Carrier Phase Noise . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
4.9
Noise as Function of Bandwidth . . . . . . . . . . . . . . . . . . . .
85
5.1
2 stages of EKF . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
89
5.2
Simple Simulation Example
. . . . . . . . . . . . . . . . . . . . . .
92
5.3
Simple Filter with Real Data . . . . . . . . . . . . . . . . . . . . . .
93
5.4
Linear vs. Nonlinear
99
6.1
Elliptical Motion
6.2
Absolute Position Error . . . . . . . . . . . . . . . . . . . . . . . . . 118
6.3
Absolute Velocity Error . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.4
Commonly Visible Satellites
6.5
Relative Position Error . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.6
Zoomed View of Relative Position . . . . . . . . . . . . . . . . . . . 122
6.7
Relative Velocity Error . . . . . . . . . . . . . . . . . . . . . . . . . 123
6.8
Correlation Demonstration Formation . . . . . . . . . . . . . . . . . 125
6.9
Correlation of Position Errors
7.1
Doppler Effect on Position . . . . . . . . . . . . . . . . . . . . . . . 130
7.2
Doppler Effect on Velocity . . . . . . . . . . . . . . . . . . . . . . . 131
7.3
Double Difference Position Effect
. . . . . . . . . . . . . . . . . . . 132
7.4
Double Difference Velocity Effect
. . . . . . . . . . . . . . . . . . . 133
7.5
Process vs. Sensor Errors . . . . . . . . . . . . . . . . . . . . . . . . 136
7.6
Long Separation Effect . . . . . . . . . . . . . . . . . . . . . . . . . 138
7.7
Differential Ephemeris Error . . . . . . . . . . . . . . . . . . . . . . 139
7.8
Ephemeris Effect on Measurements
7.9
Absolute State Error Effect
. . . . . . . . . . . . . . . . . . . . . . . . . .
80
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
. . . . . . . . . . . . . . . . . . . . . . 120
. . . . . . . . . . . . . . . . . . . . . 127
. . . . . . . . . . . . . . . . . . 140
. . . . . . . . . . . . . . . . . . . . . . 141
7.10 Ionospheric Effect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.11 Cycle Slip Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
8.1
Q̂ Impact (too low) . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
xxi
8.2
Q̂ Impact (too high)
. . . . . . . . . . . . . . . . . . . . . . . . . . 154
8.3
Linear R sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
8.4
Linear Q sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
8.5
Actual R sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
8.6
Actual Q sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
8.7
Identify Process Noise
8.8
Identify Sensor Noise . . . . . . . . . . . . . . . . . . . . . . . . . . 164
8.9
Relative Position with No Adaptation . . . . . . . . . . . . . . . . . 167
. . . . . . . . . . . . . . . . . . . . . . . . . 163
8.10 Relative Position with Adaptive Filtering . . . . . . . . . . . . . . . 167
8.11 Bad Covariance Without Adaptation
. . . . . . . . . . . . . . . . . 169
8.12 Covariance Improvement with Adaptation
. . . . . . . . . . . . . . 169
8.13 Active Thrust . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
8.14 Thrust Position Error (constant Q)
. . . . . . . . . . . . . . . . . . 172
8.15 Thrust Velocity Error (constant Q)
. . . . . . . . . . . . . . . . . . 172
8.16 Thrust Position Error (augment Q) . . . . . . . . . . . . . . . . . . 172
8.17 Thrust Velocity Error (augment Q)
. . . . . . . . . . . . . . . . . . 172
A.1
100 m In-Track RPE
. . . . . . . . . . . . . . . . . . . . . . . . . . 180
A.2
100 m In-Track RVE
. . . . . . . . . . . . . . . . . . . . . . . . . . 180
A.3
10 km In-Track RPE
. . . . . . . . . . . . . . . . . . . . . . . . . . 181
A.4
10 km In-Track RVE
. . . . . . . . . . . . . . . . . . . . . . . . . . 181
A.5
1 km Out-Plane Ellipse RPE . . . . . . . . . . . . . . . . . . . . . . 182
A.6
1 km Out-Plane Ellipse RVE . . . . . . . . . . . . . . . . . . . . . . 182
A.7
10 km In-Plane Ellipse RPE . . . . . . . . . . . . . . . . . . . . . . 183
A.8
10 km In-Plane Ellipse RVE
A.9
1 km Thrusting RPE . . . . . . . . . . . . . . . . . . . . . . . . . . 184
. . . . . . . . . . . . . . . . . . . . . . 183
A.10 1 km In-Track RVE . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
xxii
Chapter 1
Introduction
Navigation — the science of determining position and velocity — is an ancient study.
Navigation has been considered as long as humans have traveled. Throughout the
generations of time, the applications and methodologies have increased in number,
complexity, and accuracy. This dissertation extends the art of navigation once again,
by improving the navigation of satellites in orbit about the earth, utilizing the most
sophisticated navigation system yet — the Global Positioning System (GPS).
The focus of this work is to improve the ability to estimate the state of formations
of Low Earth Orbit vehicles. A formation is a group of vehicles operating in coordination with each other, and “typically involves active, real-time, closed-loop control
of multiple, cooperating satellites in autonomous formation” [GW02]. The state of
the formation includes the position and velocity of every vehicle in the formation. To
estimate the formation state, GPS receivers are placed on each vehicle in the formation. These receivers take measurements that are combined in a filter, which then
generates an estimate of the states of the vehicles in the formation.
This dissertation presents an improved GPS receiver and filter for performing
orbital formation estimation. The filter uses a real-time, decentralized algorithm.
To add robustness, a new adaptive filter design has also been developed. Hardwarein-the-loop (HWIL) simulations performed at NASA’s Goddard Space Flight Center
(GSFC) validate the receiver and filter designs, as well as the decentralized approach
to formation state estimation. A four-vehicle formation, with the vehicles distributed
1
2
CHAPTER 1. INTRODUCTION
about a 1×2 km ellipse, achieved 1-σ relative position accuracy of ≈1 cm and 1-σ
relative velocity accuracy of ≈0.3 mm/s. These are the best HWIL results reported
to date for LEO applications using GPS.
1.1
Motivation
This work is motivated by a growing interest in formation flying space missions.
These missions require a high level of precision in the formation state estimate. At
the same time, formation state estimators must have a simple design. These issues
are all explained in this section.
1.1.1
Formation Flying
Formation flying is a new and exciting paradigm for many space missions. NASA,
the Department of Defense (DoD), and the European Space Agency (ESA), are all
planning a number of formation flying missions [FB98, GW02].
Groups of vehicles working together in space is already a common practice. These
groups are commonly referred to as constellations. Various satellite communication
systems, such as Iridium or Milstar, or even the GPS NAVSTAR satellite system,
are examples of currently operated constellation missions. Formation flying is much
more than just a constellation. A formation has a much higher degree of coordination
between vehicles, where operations and maneuvers are planned as a group rather than
just as individual vehicles. More importantly for the topic of this dissertation, the
knowledge of the relative states between vehicles in a formation is of greater interest
than knowledge of the absolute states of the vehicles. Absolute state refers to the
position and velocity of the vehicle with respect to the center of the earth. Relative
state refers to the position and velocity of the vehicle with respect to some point local
to the spacecraft group (e.g. a “master” vehicle or a geometric center).
The scope of this dissertation is limited to formations in Low Earth Orbit. This
is an important point for the following reasons:
1.1. MOTIVATION
3
1. The formation is in orbit. This means that the formation is moving at a very
high velocity with respect to the earth and the GPS constellation [GL97,GL00].
This impacts the signal tracking, the initial ability to attain signal lock, and the
frequency of change in the observable set of GPS satellites. The characteristics
of the space environment, especially temperature and radiation, also affect the
electronics in the GPS receiver.
2. The formation is in low Earth orbit. This means we are always below the GPS
constellation, and in general, have very good visibility of the GPS satellites. In
Geosynchronous Earth Orbit (GEO) or highly elliptical orbits, there are large
periods of time when there are no GPS measurements available. This raises
very different challenges and requires additional study [AL02].
3. The formation is not in Deep Space. There are a number of formation flying
missions planned for regions outside of earth’s orbit, and without GPS coverage [DS02a, LISA, DAR]. These missions are also outside the scope of this
dissertation.
Formation flying has many potential benefits [FB99]. These include:
1. Improved Performance Formation flying enables missions that are otherwise
impossible. One important capability is that of larger aperture sizes for interferometry. By using several coordinated collectors, rather than a single monolithic lense or antenna, almost unlimited aperture sizes are achievable, greatly
enhancing the potential resolution of the observations. Formation flying also enables taking simultaneous measurements at long separations, which is especially
beneficial to a variety of earth science missions [EORB,GRACE]. Furthermore,
estimation techniques developed here can certainly be applied to orbital rendezvous and other proximity operations, which is a subset of formation flying
missions.
2. Reliability Because there are multiple vehicles, missions should be more robust
to vehicle failure. If there is a spacecraft bus failure, for example, only one
4
CHAPTER 1. INTRODUCTION
of several payloads would be affected, so the mission performance might be degraded but not completely compromised. Formation flying also takes advantage
of modularity; if one vehicle or payload fails, it can be replaced without affecting
the rest of the formation.
3. Adaptability Besides reliability, modularity also provides adaptability. Not only
is it possible to replace failed components, but it is also possible to add or remove
payloads to meet new mission objectives over the course of the formation life.
4. Reduced Life Cycle Cost Formation flying enables smaller vehicles in higher
quantities. Thus, the benefits of mass-production will lower total production
cost. The previous advantages, reliability, modularity, and adaptability also all
contribute to quicker mission development timelines and reduced mission life
costs [FB98, FB99].
Several LEO formation flying missions are already planned, and some have already
been flown. Some examples are:
1. TechSat-21 — This is an Air Force Research Lab (AFRL) program. It is intended to demonstrate Synthetic Aperture Radar using distributed spacecraft.
It involves a formation of collectors, with a precisely controlled variable separation between vehicles. By changing the separation, the formation can change
the aperture, effectively changing the resolution and field of view, depending on
real-time mission objectives [AD98, TSAT].
2. EO-1 — This two vehicle formation is already in orbit. The EO-1 was launched
November 21, 2000, and flies in formation with Landsat-7 [EORB,FB97]. These
vehicles provide various coordinated scientific earth images.
3. GRACE — The Gravity Recovery And Climate Recovery mission is operated
by NASA and JPL. It involves two vehicles in a loosely controlled formation,
but whose relative states are determined very precisely in post-processing. The
mission uses the precise relative motion of the vehicles to improve models of
Earth’s gravitational field, and also takes measurements of ocean-surface heights
and other climate-related features [GRACE].
1.1. MOTIVATION
5
Figure 1.1: An artists rendition of TechSat-21, which is an example of a
currently planned AFRL Formation-Flying mission [AD98]
4. ETS-VII — This was an autonomous rendezvous mission conducted by NASDA
in 1999. It had two vehicles, that launched joined together. One vehicle, designated the “chaser” then separated from the “target” vehicle, maneuvered away,
and then returned and docked again with the target vehicle. This mission used
an array of sensors, among which were GPS receivers located on each vehicle [IK01].
5. XEUS — This is a future orbital X-ray interferometry mission by ESA. It is
intended as a precursor for LISA, which is a deep-space astronomy mission.
XEUS would require sub-millimeter relative position accuracy, which is more
than GPS can provide alone, but GPS could provide a valuable intermediate
stage in a suite of sensors to achieve the demanding performance [XEUS].
6. Orion — Orion is a student-built, low-cost technology demonstrator. It is a
collaborative effort between Stanford, MIT, and NASA. The mission objective
was to demonstrate real-time carrier-differential GPS as the primary sensor for
absolute and relative navigation, as well as a variety of autonomous planning
and control algorithms. The current mission design is to launch two vehicles
into low earth orbit, and have them maintain a simple formation, providing
6
CHAPTER 1. INTRODUCTION
data for post-processing and analysis on the ground. The vehicles are nearly
cubes, with about 50 cm sides, and a mass of approximately 45 kg. They have
a cold gas propulsion system providing 6 degree-of-freedom control capability.
The vehicles would each have an attitude capable GPS receiver and a Pentiumclass computer to perform advanced navigation, planning, guidance, and control
algorithms. The work in this dissertation was funded and motivated by project
Orion [OR01].
All of these missions are examples of currently operating or planned LEO formationflying missions for the near future. There are many more planned missions as well.
A list of over 30 formation flying missions can be found at NASA GSFC Distributed
Space Systems web site [DS02a]. Each of these missions have different requirements
for the estimation precision and control accuracy of the relative states between the
vehicles.
1.1.2
Precision Requirements
The goal of this work is to provide a receiver and filter that can operate in an autonomous formation control architecture. This requires real-time estimation capability. It is important to make this distinction because much higher precision can be
achieved in post-processing on the ground than can be achieved real-time on board
the satellite. GRACE provides an ideal example. The real-time control requirement
for GRACE is to maintain the desired separation with hundreds of meters of allowable error. However, in post-processing the relative state must be determined with
millimeter precision [GRACE, WB02].
In discussing the real-time precision requirement for formation-flying missions,
there are two fundamental parameters to consider. The first is how far apart the
vehicles within the formation are from each other; the second is how accurately that
relative state between the vehicles must be estimated. A formation could have the
vehicles very far apart from each other, and still require very accurate estimation.
As it will be demonstrated in later chapters, it is much more difficult to achieve the
same relative navigation accuracy at longer separations than at shorter separations.
1.1. MOTIVATION
7
A representative sampling of formation flying missions is plotted as a function
of the separation distance and required accuracy in Figure 1.2. The horizontal axis
gives the characteristic separation between vehicles for a given formation. The vertical
scale gives the required relative control accuracy for the mission. In this plot, the
requirement becomes harder to achieve as you move down (more accurate) and to
the right (farther apart). The plot shows several sample missions. The two in the
upper right-hand are the currently operating formation flying mission, EO-1 and
GRACE.1 These formations have separations of several hundred kilometers between
the vehicles, but also very loose real-time control accuracies – EO-1 simply requires
that the second vehicle remain within ±7 kilometers of the first [EORB, FB97]. The
technology obviously already exists to meet these requirements.
The next generation of planned missions, however, has much higher precision
requirements. TechSat-21 plans on operating with separations between vehicles ranging from 500 to 5,000 meters. However, the mission requires about 3 cm real-time
relative position estimation accuracy, in order to achieve the desired resolution for
imaging [TSAT].
Even if a formation has very loose relative accuracy requirements, there are still
benefits to high-precision estimation. Many researchers have investigated the impact
of differential disturbances on the ability to actively control formation states. In
research on formation planning and control, Tillerson et al. have shown that the
errors in relative state estimation have a significant detrimental impact on the ability
to control the formation [MT01,MT02]. They showed that relative velocity estimation
errors on the order of 2 mm/s will have greater impact on the control effort than any
other naturally occuring disturbance force. Greater control effort translates directly
into greater fuel usage, which in turn shortens mission life. In other words, improved
relative navigation estimation should increase the mission life for formation-flying
applications.
Furthermore, not only is relative state estimation important, but relative velocity
is of greater importance than relative position in control and orbit determination.
1
The location of the GRACE icon in Figure 1.2 indicates the relative real-time control requirement, not the post-processed accuracy.
8
CHAPTER 1. INTRODUCTION
Figure 1.2: Formation flying missions can be plotted according to required
accuracy vs. separation between vehicles. Earlier missions had
loose accuracy requirements, while future missions will require
tighter accuracy. The Orion mission plans to keep the vehicles
about 1 km apart, while estimating the relative position with 2
cm accuracy. [TSAT, EORB, EO00, OR01, GRACE, XEUS]
Carpenter et al. describes the coordinated relationship between position and velocity
in orbit determination; position and velocity knowledge in the orbit’s semi-major axis
determination are related by the orbital mean motion [RC01]. This is corroborated
by Tillerson; he further demonstrates that relative velocity error has approximately
450 times greater impact on secular in-track drift than relative position error [MT01].
Project Orion, which drove the requirements for the work presented in this dissertation, used all of these considerations to derive its relative navigation requirement. The target for demonstrated performance was to achieve 2 cm relative position accuracy, and 0.5 mm/s relative velocity accuracy, at separations of 1 km in real
time [FD00, FD01].
1.1. MOTIVATION
1.1.3
9
Simplicity
This work was primarily focused on providing the navigational needs for the Orion
microsatellite. Because of this focus on a real mission, design drivers of cost, robustness, and implementation have influenced the design of this receiver and filter.
Formation flying is motivated by the need to meet mission objectives using less-costly
designs, while maintaining system robustness.
Specifically, a simple navigation filter was sought. A simple filter design is desirable for three reasons. The first is to meet computational limits. As a filter uses more
states, or more advanced models, it greater computational effort is required. In order
to perform more computations in real-time, more expensive processors must be used.
These advanced processors often have less space heritage as well, which introduces
additional risk. The second advantage of simplicity is that there is less potential
for error in implementation. Avoiding, detecting, and correcting errors in software
becomes exponentially more difficult as the code complexity increases. This increases
development cost and decreases reliability. The third advantage of simplicity is that
it reduces modeling effort. Higher fidelity filters with more complex models, require
more effort for tuning and determining the parameters for these models. This also
increases development cost and increases the likelihood of erroneous model inputs.
One of the hoped-for advantages from formation flying is the ability to mass-produce
smaller satellites, and this is only possible with simple navigation filters.
Related to the issue of filter simplicity is the question of whether to use a centralized or decentralized filter approach. The centralized approach is potentially more
accurate, but is less robust to single-point failure and requires greater computational
capability. One of the goals of this research was to demonstrate the ability to meet
the performance target using a simple algorithm.
Generally, additional complexity or fidelity is added in an attempt to improve the
performance of the filter. A simple filter risks neglecting elements that can significantly impact the state estimate. The filter design process becomes a balance between
simplicity and performance. This balance will be a recurring theme throughout this
thesis.
10
CHAPTER 1. INTRODUCTION
1.2
Dissertation Overview
The objective is to precisely estimate the state of a formation of vehicles in Low Earth
Orbit. For this estimator to meet formation flying requirements, it must be simple
and robust. This dissertation describes the design, development, and demonstration
of a simple, decentralized, GPS-based formation state estimator.
This chapter continues by presenting an introduction to GPS, followed by a description of related work done previously by others. The contributions of this dissertation are also presented in this chapter. Chapter two defines the problem more
clearly by establishing the frame of reference and states involved. It also gives a brief
discussion of some important background material, including orbital dynamics, GPS
fundamentals, and a road map to improving the estimation process.
Chapter three looks at the operating and analysis environments used in this work.
These include a ground-based set up and a high fidelity orbital simulator facility
at NASA GSFC. This section also describes a MATLAB simulation and evaluation
environment that has been developed for this work. Chapter four then focuses on the
GPS receiver. It presents the design improvements made to the receiver that enable
it to perform orbital relative navigation.
Then in Chapter five, the attention is turned to the filter used to actually estimate
the state based on the receiver measurements. Trade studies are conducted on a
variety of different design options, and are used to determine a simple, yet effective and
robust, filter design. Chapter six presents the hardware-in-the-loop demonstrations
performed at GSFC using this receiver and filter. The simulation and filter conditions
are fully described, and the experimental results are presented and explained.
These demonstrations are followed in Chapter seven by an analysis of the error
sources. The expected noise sources are individually analyzed and discussed, and
their impact on the estimate error compared. Here different implementation studies
are presented as well. The results presented in Chapter six assumed that the sensor
and dynamic noise environments were properly modeled. Chapter eight presents an
original adaptive filter routine that achieves the same performance even with an unknown noise environment. The algorithms are presented for this specific application,
1.3. GPS INTRODUCTION
11
and the performance is demonstrated. Finally, Chapter nine closes with a summary
of the conclusions that are drawn from this work, as well as a look at areas for future
research.
1.3
GPS Introduction
At this point, it is worthwhile to give a brief overview of the Global Positioning
System. The goal of this research was to achieve the target relative estimation performance using GPS as the only relative or absolute state sensor. Many references
and tutorials already exist; this will provide only a brief introduction. It is drawn
primarily from [GPS96, EK96, PE01].
GPS is a powerful navigation tool. Just a single receiver on each vehicle can
provide four solutions of interest (and each solution is comprised of several states).
It provides absolute state navigation, which is where the vehicle is with respect to
the center of the earth, and how fast it is moving. It also provides an exact time
synchronization. Combining measurements from two vehicles within the formation
provides a relative state measurement. And finally, with multiple antennas on one
vehicle, GPS has the potential of providing attitude sensing as well. Because of this
range of capability, and relative low cost, GPS is an ideal sensor for formation flying.
The Global Positioning System includes a constellation of satellites which broadcast messages that are received by users. At the time of writing, there are 28 of these
satellites in orbit, which are also called NAVSTAR satellites. They are divided into
6 orbital planes, each inclined by 55◦ . They have 12-hour circular orbits, which is an
altitude of 20,104 kilometers, and have a velocity of about 2.7 km/s.
Each of the vehicles broadcast messages on two different frequencies, the L1 frequency (1575.42 MHz) and the L2 frequency (1227.60 MHz). The message on the
L2 frequency is encrypted, and restricted to DoD-authorized users. For this reason,
and also because dual frequency receivers are more expensive, the work in this dissertation uses only the L1 frequency. The L1 frequency carries both an unrestricted
coarse/acquisition (C/A) code, as well as a precise (P) code. The P code can be transmitted in an encrypted mode available only to DoD-authorized users (and has been
12
CHAPTER 1. INTRODUCTION
Figure 1.3: The GPS constellation. Currently, there are 28 satellites, in 6
orbital planes, with a 12 hour period.
since 1994), which is referred to as Y code. Again, for cost reasons, this work only
uses the C/A code signal. The C/A code is uses a sequence of 1023 bits repeated
every millisecond (which gives 1.023 megachips per second), and is formed with a
unique Pseudo-Random Noise (PRN) sequence. Often, the vehicles are referred to
by these PRN numbers which range from 1 to 32. This code is further modulated by
a navigation message at 50 bits per second. The navigation message sends almanac
data (which is a description of the satellite’s orbit) for each active NAVSTAR satellite
in the constellation. Each satellite also broadcasts a set of much higher resolution
parameters for itself, called ephemerides or ephemeris data.
A GPS receiver is used to gather these signals being transmitted by the GPS
constellation, and produce a navigation solution from these signals. The GPS receiver
has an antenna that gathers the RF signals. It then processes these signals in filters,
amplifiers, and mixers, and sends the resulting signal to a correlator. The correlator
has several channels (the receiver in this work has twelve), and each channel searches
through the available set of 32 known PRNs. It creates a duplicate of the code, and
slews it in time, searching for strong signal correlation. If there is a match between
the duplicate and the transmitted signal, the receiver can lock onto that transmitted
signal. The correlator measures the amount it had to slew the signal to match the
incoming signal; this provides a time offset which corresponds to the time it took the
1.4. PREVIOUS WORK
13
signal to travel between the NAVSTAR satellite and the receiver. Since some other
factors, such as the clock offset and environment, affect the signal, the correlator
measure is not an exact time of transmission. This time of travel is often referred to
as the pseudo-range.
Once the receiver locks onto four or more of these pseudo-range signals, it can
then determine its own position and time. Time must be solved for as well since the
receiver clock will be offset from the actual system time. When completed successfully,
a navigation fix is achieved. With this fix, the receiver can maintain lock on the signals
in tracking loops. The receiver tracks the signals and computes navigation solutions
as long as the GPS satellites remain in view. With the almanac data, and an estimate
of its own state, the receiver is also able to find and track GPS satellites that come
into view over time, enabling continuous navigation capability.
The receiver provides measurements of the code phase. This code phase can
generally determine the range between the receiver and the NAVSTAR satellite with
an error on the order of several meters. Another technique involves using the carrier
phase. The carrier wave is 19 cm long (as compared to the code wavelength of 300m),
and has much less noise in the signal. The carrier phase measurement therefore
provides much greater resolution; generally well below 1 cm. However, every carrier
wave is identical, and so given a differential carrier phase measurement, there is
ambiguity in how many integer waves there are between two different antennas. This
ambiguity can be resolved, but the process adds complexity.
1.4
Previous Work
This dissertation builds upon the work of others, which can be grouped into four
general areas. The work discussed in this section represents the best results achieved
or the most relevant work. The areas are:
1. Orbital absolute navigation using GPS
2. Orbital relative navigation using GPS
3. Formation flying using GPS
4. Adaptive filtering
14
CHAPTER 1. INTRODUCTION
Figure 1.4: This work brings together and builds upon the work by many
others, in a variety of areas.
The following subsections discuss each of these facets.
1.4.1
Orbital Absolute Navigation
Extensive work has already been done using GPS for absolute navigation in LEO.
Carpenter includes a complete summary of all the shuttle missions using GPS and
the navigation precision achieved on those missions [RC01]. GPS receivers have also
been included on dozens of satellite missions.
Lightsey has done significant work in defining the issues specific to GPS navigation
in orbit, and developing GPS receivers for orbital applications [GL97, GL00]. Two
of the most relevant researchers have been Unwin at the University of Surrey, and
Montebruck at the German Space Operations Center. They have both worked on
microsatellites similar to Orion, and have used GPS receivers with the same chip-set
heritage as the receiver modified in this work. Unwin has used GPS on several small
1.4. PREVIOUS WORK
15
satellite projects, the most recent are the Disaster Monitoring Constellation (DMC)
and the SNAP-1 missions [MU02, MU00]. Montebruck has recently been involved
with the PCsat, a microsatellite built by the US Naval Academy and launched in
Sep. 2001 [OM02b]. Their work has provided confidence that the GPS chipset used
in this work can operate in the orbital environment, and within the limited resources
of microsatellites.
1.4.2
Orbital Relative Navigation
Using GPS for orbital relative navigation can be further divided into two areas: actual
experiments performed on-orbit, and hardware-in-the-loop simulations.
On orbit, the best results to date have been recorded from two missions: NASA’s
shuttle mission STS-80, and NASDA’s ETS-VII (NASDA is the Japanese national
space agency). Both of these used code phase measurements, which is more conservative, but limits the potential accuracy. The results for STS-80, flown in 1996, were 9
m relative position and 12 cm/s relative velocity accuracy [RC01]. Axelrad et al. also
did further post-processing in 1999 using the data, and achieved 8.4 m relative position, with 3.1 cm/s relative velocity accuracy [PA99]. The ETS-VII mission in 1999
demonstrated autonomous orbital rendezvous. A variety of sensors were used during
the experiments, including two GPS receivers for relative navigation. They demonstrated the ability to achieve 10 m relative position accuracy and 1 cm/s relative
velocity [IK99, IK01] using GPS.
Hardware-in-the-loop simulations have performed much better, mainly because
they have used more advanced carrier-differential algorithms.
Binning, in 1999,
achieved 15 cm relative position accuracy and 0.3 mm/s velocity accuracy, using
the dual-frequency TurboRogue receiver [PB97]. The dual-frequency measurements
improves accuracy. He also used the Naval Research Laboratory’s OCEAN orbital
model, which is a very sophisticated high fidelity orbit propagator. Ebinuma et al.,
who performed concurrent work with this dissertation, achieved 5 cm and 1 mm/s
accuracies using a single-frequency receiver [TE01].
16
CHAPTER 1. INTRODUCTION
Table 1.1: Comparison of Relative Navigation Accuracy
On-Orbit Experiment
STS-80
Axelrad
ETS-VII
HWIL Simulation
Binning
Ebinuma
TARGET
Rel. Pos. (m)
9.0
8.4
10.0
Rel. Pos. (cm)
16.2
4.7
2.0
Rel. Vel. (cm/s)
12
3.1
0.95
Rel. Vel. (mm/s)
0.31
1.04
0.5
Table 1.1 compares the results of these previous researchers. They have certainly
made great strides towards the goal stated earlier, but to date, they still fall short.
Furthermore, they rely on very complex models with many states to estimate.
All of these experiments have involved only two vehicles. So far, none of them
have had the capability of comparing multiple relative solutions. Comparing relative
solutions is important because this provides greater insight concerning the correlation
between errors in the solutions. The significance of this will be discussed further in
Section 2.5.
1.4.3
Formation Flying using GPS
This thesis builds most closely on work by Eric Olsen (1999) and Chan Woo Park
(2001), both at Stanford. The focus of their work was the development of formation flying estimation algorithms. Eric Olsen made key contributions in estimation robustness, bias initialization for formations, and using pseudolite augmentation
for initialization [EO99]. He demonstrated these algorithms using formation flying
blimps [EO98]. Chan Woo Park developed algorithms for decentralized formation estimation, further improved the initialization routine and pseudolite transceiver, and
a linear correction for long separations [CP01]. He used a set of three trucks to
demonstrate his formation flying algorithms.
1.4. PREVIOUS WORK
17
The work by Olsen and Park built in turn on work by Zimmerman (1996), also
at Stanford [KZ96]. He constructed a two-dimensional indoor testbed with two freeflying robots on a granite table with pseudolites that generated GPS-like signals.
Using these robots, he demonstrated the use of GPS to perform relative maneuvers
including rendezvous between the robots.
NASA Goddard Space Flight Center has established a Distributed Space System
lab [DS02b]. Their group conducts research in a variety of areas related to formation flying, including formation sensing and control, constellation management and
mission operations, and inter-satellite communication. Their group operates the Formation Flying Test Bed (FFTB), which is described in greater detail in Section 3.2.
Within their group, Carpenter has been especially prolific in work related to formation
control [RC01, RC02].
Speyer et al., at the University of California Los Angeles (UCLA), have done
significant research using GPS with Inertial Navigation Systems (INS) on board formation flying aircraft [WW00, WW02]. They are working towards using GPS-INS
for formation flying F-18s. To date, their formations have only included two vehicles.
They have also investigated the feasibility of decentralized estimation [WW00].
Eric Olsen also did significant work in modifying a commercially available GPS
receiver for performing relative navigation. This will be discussed in greater detail in
Section 4.2.
1.4.4
Adaptive Estimation
All of the orbital relative navigation work done by others assumes that the filter is
properly tuned. In particular, they assume that the process and sensor noise levels
are known. However, it is possible that those conditions may not be known, and the
filter is not tuned correctly for the actual operating environment. Adaptive filtering
techniques can be used to improve filter performance even if the sensor and process
noises are not well known. Even though this does add some complexity to the filter,
it reduces the overall challenge of accurately tuning the navigation filter for each
vehicle, and greatly increases the overall system robustness.
18
CHAPTER 1. INTRODUCTION
The adaptive techniques used in this work are based on the Method of Maximum
Likelihood Estimation (MMLE). MMLE is used with Kalman filters, and was introduced by Mehra in 1972 [RM70, RM72]. MMLE techniques have been refined over
the years. Maybeck, in his textbook in 1982, includes a chapter deriving MMLE
approaches for parameter identification (specifically for unknown process noise and
sensor noise) [PM82].
Campana and Marradi, at the LABEN SpA Institute, use MMLE adaptive filtering
techniques for absolute and attitude GPS navigation applications [CM00]. They used
MMLE for dealing with Selective Availability, and also the lower precision in absolute
navigation encountered when vehicles are near the Earth’s poles. Campana and
Marradi deal with different issues than those dealt with in this work. Nevertheless,
it is similar in that it is an example of adaptive filtering for a system using GPS
measurements.
1.5
Contributions
This thesis presents the first realistic demonstration of multiple vehicle formation
flying in LEO using CDGPS. In meeting this challenge, several contributions are
made:
1. Develop a Sensor — A GPS receiver is modified and enhanced to reliably provide
low-noise measurements in the orbital environment. It is designed to provide
attitude sensing (using six antennas and three 12-channel correlators) as well
as relative navigation capability, with only the limited resources available on a
microsatellite.
2. Develop Relative Navigation Algorithms— A simple Extended Kalman filter for
relative navigation using CDGPS measurements is designed and developed. To
design the filter, key implementation trades are made. These trades include
what fidelity of measurement and dynamics model to use in the filter, whether
to use single or double difference measurements, and whether to use the Doppler
measurements. This filter is implemented in a decentralized architecture.
1.5. CONTRIBUTIONS
19
3. Develop an Adaptive Filter — An adaptive filter is designed and developed that
can identify existing process and sensor noise levels. It adds robustness in the
face of uncertainty, and reduces the need for custom filter tuning.
4. Demonstrate the Sensor — The keystone of all this work is the validation of this
sensor and these algorithms. Performance of the receiver/filter sensor system
is demonstrated using high-fidelity, hardware-in-the-loop demonstrations. The
adaptive Extended Kalman Filter, the decentralized architecture, and the GPS
receiver are all validated by the demonstrations. For a four-vehicle formation
in a 1 × 2 km elliptical formation, 1-σ relative position errors of ≈ 1cm and 1-σ
relative velocity errors of ≈ 0.3 mm/s are achieved.
5. Multiple Solution Comparison— Four-vehicle formation demonstrations are performed. These demonstrations provide the first ever hardware-in-the-loop simultaneous relative navigation solutions. The simultaneous solutions allow comparisons of correlated differential noises and errors. They demonstrate that
there is a strong spatial correlation in the errors between independent relative
solutions.
6. Error Analysis— The remaining sources of error within the state estimates are
analyzed. The relationship between the separation distance between vehicles
in the formation and the differential errors is measured. This analysis reinforces confidence in the demonstrations, and identifies what challenges must be
overcome to gain future performance improvement.
With the number of LEO formation flying missions growing, there is a clear need for
improved orbital formation-state estimation. An innovative and original receiver/filter
system has been designed, developed and demonstrated that met this need. This accomplishment is the primary contribution of this dissertation.
Chapter 2
Orbital Formation Estimation
This chapter establishes the framework for using GPS to perform formation-state
estimation. The purpose is to provide more in-depth background on the topics needed
for discussing the research. It also serves as an introduction to nomenclature and
terminology.
Since the scope of this work is Low Earth Orbit, this work begins with a brief
description of orbital dynamics. Then the specific frames of reference and the formation state will be defined more thoroughly. After that, the mathematical models
for the absolute and relative GPS measurements will be described. Finally, a more
detailed discussion of centralized versus decentralized estimation in this context will
be presented.
2.1
Orbital Dynamics
This is only a brief overview of some fundamentals for orbital dynamics. Though
many references exist, this overview is taken primarily from Kaplan [MK76] and
Bate [RB71].
20
2.1. ORBITAL DYNAMICS
2.1.1
21
Orbit Description
An orbit, for our purposes, involves the interaction of a body with a smaller mass
moving about a body with larger mass. This dissertation will focus on artificial satellites rotating about the earth in Low Earth Orbit (specifically 300-600 km altitudes)
in near-circular orbits. This motion, in its purest form, can be described by Newton’s
law of gravitation,
r̈ = −
µr
krk3
(2.1)
where r is the three-dimensional position vector of the satellite with respect to the
center of the earth, and µ is the earth’s gravitational parameter, which is µ = 3.986 ×
3
m
1014 sec
2 . Kepler was the first to realize that planets move about the sun in ellipses,
with the sun (the central body) at one of the two foci of the ellipse. This description
is also true for satellites about the earth, at least as a first approximation. This pure
elliptical motion governed by the central body is slightly perturbed by other forces,
which are briefly discussed in the next section. For the earth, the point on the orbit
closest to the center of the earth is called perigee, and the point farthest is called
apogee.
Six parameters are required to fully describe an orbit. There are two commonly
used set of parameters, Keplerian (or classical) and Cartesian. The Keplerian elements are depicted in Figure 2.1. They are:
a
= length of semi-major axis of orbital ellipse.
e
= elliptical eccentricity (dimensionless).
i
= angle of inclination of the orbital plane with the equator.
Ω
= longitude of the ascending node – angle between the first point of
Aries and the orbital plane.
ω
= argument of perigee – angle between equatorial intercept and perigee,
in the orbital plane.
θ
= mean anomaly – angle or time of satellite location on orbital ellipse
past passage through perigee.
22
CHAPTER 2. ORBITAL FORMATION ESTIMATION
Figure 2.1: This picture illustrates the Keplerian orbital elements.
The translational state of the satellite is completely captured using these classical
elements. It can also be defined by the position and velocity in a Cartesian frame
of reference, which are represented as r and ṙ respectively. Two are commonly used,
Earth Centered Inertial (ECI), and Earth Centered Earth Fixed (ECEF). The ECEF
frame is a rotating frame, fixed to the earth. It is defined as having the Z-axis going
through the North Pole (true axis of rotation, not magnetic), and the XY plane in
the equatorial plane, with the X-axis going through the Greenwich Meridian, and the
Y-axis going through 90◦ East latitude. The Earth Centered Inertial frame again has
the Z-axis through the North pole. The X-axis is defined by the line between the
center of the Earth and the vernal equinox at some predefined epoch (referred to as
the “first point of Aries”). As the Earth rotates during the day and throughout the
year, this line is constant for all practical purposes. The Y-axis forms a perpendicular
right-handed coordinate frame with the X and Z axes.
2.1. ORBITAL DYNAMICS
23
The nutation and precession of the earth’s rotation are neglected, and it is assumed
that there is a constant rate of rotation between ECI and ECEF. The earth rotation
rate is Ωe and equals 7.292 × 10−5 rad/sec.
Most GPS applications are concerned with determining locations with respect to
the earth. For this reason, the ECEF frame is often employed since it translates
more directly into latitude and longitude. For this dissertation, all measurements
and computations were done in this ECEF frame. Since this is a rotating frame of
reference, additional terms are included in the dynamics to account for the Coriolis
effect associated with rotating frames. In theory though, as long as consistency is
maintained, the selection of frame of reference is arbitrary.
There are some fundamental equations associated with orbital dynamics, which
will be referenced throughout this dissertation. The satellite will move about the
earth with a regular period τ , defined as,
τ = 2π
s
a3
µ
(2.2)
The mean orbital motion, n, is defined as,
n=
r
µ
2π
=
3
a
τ
(2.3)
The velocity of an orbiting satellite is determined by the orbital energy, which is
expressed as
µ
µ
ṙ2
−
=−
2
krk
2a
(2.4)
In the case of a circular orbit, the semi-major axis a is equal to the range krk. In this
case, Equation 2.4, simplifies to
kṙk =
r
µ
krk
(2.5)
24
CHAPTER 2. ORBITAL FORMATION ESTIMATION
So, for example, a satellite orbiting with a 450 km altitude has a semi-major axis of
6,828 km. The period is about 93 minutes, and the satellite is moving at about 7,640
m/s.
2.1.2
Perturbing Forces
There are several additional forces that act upon a satellite in orbit [DV01]. These
are all much smaller than the central body gravitational force, but are important to
consider in any orbital estimation or control application.
The perturbing forces are:
1. Third Body gravity, aB . This is the gravitational force due to the sun and the
moon. The effect is a strong function of eccentricity and inclination. It will
have a greater affect on high inclination orbits and highly elliptic orbits. The
error is easier to represent by how much it changes the argument of perigee and
the ascending node. For near circular, LEO orbits, it shifts the ascending node
by about 1.5 × 10−4 degrees per orbit.
2. Non-spherical Earth, aH . Keplerian orbits assume a perfect distribution of
mass of the earth, centered exactly at the Earth’s center. However, the Earth
is not a perfect sphere, and has different densities throughout. This leads to
different gravitational zones which increase or decrease the gravity felt at a given
location. These are generally represented through zonal coefficients, which are
usually represented by Jn . Here the largest effect is J2 , and for the first several
coefficients, the higher subscripts represent smaller deviations. The magnitude
of the effect of these zonal harmonics are also a function of altitude, eccentricity,
and inclination. Lower altitudes are much more strongly affected. For Orion’s
LEO orbit, J2 can cause up to 0.45 degree per orbit change in the ascending
node.
3. Aerodynamic effects, aA . This is a dominant disturbance in Low Earth Orbit,
and is caused by the atmospheric particles that are present. There is some
lift, but the drag is much greater. This generally acts opposite the velocity
2.1. ORBITAL DYNAMICS
25
direction. It is a function of the coefficient of drag, area, velocity, and altitude
of the satellite. For Orion, the drag acceleration would be on the order of
5 × 10−5 m/s2 .
4. Solar Radiation, aR . This is the effect of the pressure due to solar radiation. The
pressure is only exerted while the vehicle is in sunlight. For Orion, the acceleration due to solar radiation in direct sunlight would be about 2× 10−6 m/s2 . This
effect becomes more dominant over atmospheric drag above 800 km altitudes.
These perturbing accelerations can be combined to define the equation of motion
for a vehicle in orbit as:
r̈ = −
2.1.3
µr
+ aB + aH + aA + aR
krk3
(2.6)
Relative Orbital Dynamics
Formations involve multiple vehicles, generally in close spatial proximity to each other.
It is useful to define a local frame of reference that moves with the formation. Though
the origin for a local frame can be any arbitrary point, often it is most convenient to
select a point of reference on one of the vehicles (such as a GPS antenna phase-center
or center of gravity). All other points within the formation can then be determined
with respect to that local reference point.
This work will use the R-I-C local frame of reference. The frame name refers to
the axes; the X-axis is in the radial direction (between the center of the earth and the
local origin), the Y-axis is in the orbital plane (formed by the velocity vector and the
position vector) perpendicular to the X-axis pointed in the direction of travel, and
the Z-axis completes the right-handed frame. The axes are referred to as “Radial”
(R), “In-Track” (I), and “Cross-Track” (C).
The motion of the vehicles within the formation can be expressed in the local
frame. Supposing there are 2 vehicles, the relative motion of the second vehicle with
respect to the first can be defined:
∆r̈ij = r̈j − r̈i
(2.7)
26
CHAPTER 2. ORBITAL FORMATION ESTIMATION
Figure 2.2: Shows the absolute and relative states of a formation. Absolute
states are expressed in the ECEF frame. r indicates absolute
position, ∆r indicates relative position.
By inserting Equation 2.1 into Equation 2.7, and some manipulation, we obtain

∆r̈ij =
3

µ 
kri k (ri + ∆rij )

ri − q
3
kri k
3
2
2
(kri k + 2ri · ∆rij + k∆rij k )
(2.8)
This expresses the equations of motion for the center of gravity of vehicle j relative
to the center of gravity of vehicle i. Equation 2.8 is expressed in the ECI frame. If
the equations of motion are expressed in the ECEF frame, then a correction must
also be applied to account for the frame rotation:
CECEF = 2Ωe × ∆ṙij + Ωe × Ωe × ∆rij
(2.9)
The additional differential perturbing forces must be included as well. Finally, for
systems that have active translational control (such as thrusters), the force created by
these must also be included. These thruster forces will be represented by ∆uij . This
is a 3-dimensional differential quantity, since it is the difference between commanded
2.1. ORBITAL DYNAMICS
27
thrusts on the two vehicles that matter. The final relative equation of motion is:

∆r̈ij =
3

µ 
kri k (ri + ∆rij )
 + CECEF
q
−
r
i
kri k3
3
2
2
(kri k + 2ri · ∆rij + k∆rij k )
(2.10)
+∆aB + ∆aH + ∆aA + ∆aR + ∆uij
The additional perturbing forces can be lumped into a single term, f . The absolute
perturbing forces are much smaller than the central gravitational force. The differential perturbing forces are even smaller, especially for similar spacecraft that are
near each other. For orbits with small eccentricity, Equation 2.10 can be effectively
linearized into the following set of equations of motion in each axis:

2


 ẍ − 2nẏ − 3n x = fx
ÿ + 2nẋ = fy



z̈ + n2 z = fz
(2.11)
where x, y, and z are the radial, in-track, and cross-track components of the relative
position respectively. This set of equations are called either Hill’s equations or the
Clohessy-Wiltshire equations [MK76, DV01]. They provide a useful framework for
considering relative orbital motion. For example, they highlight the coupling between
the in-track and radial motions, and the independence of the cross-track motion.
The relative or local frame is useful for formation flying. The focus of this dissertation will be on relative state estimation rather than on absolute state estimation.
All relative state results within this dissertation will be presented in the RIC frame.
2.1.4
Clocks
Navigation, and especially GPS, depends upon time. The pseudorange measurement
from GPS satellites is really a measurement of time. Therefore, the behavior of the
clocks, both on the GPS satellite and the receiver, is very important.
The GPS satellite clock uses both a rubidium and cesium atomic clock (redundancy for reliability), which provides a very stable oscillator [GPS96]. Furthermore,
28
CHAPTER 2. ORBITAL FORMATION ESTIMATION
the ground control segment updates a correction model for the clock behavior, which
is broadcast in the satellite ephemeris data. With these corrections, the GPS clock
state can be determined very accurately.
The receiver clock is assumed to be very cheap and much less stable compared to
the GPS clock. Therefore, the state of the receiver clock at every time step must be
estimated. The clocks on different receivers will be independent, so the differential
clock state uncertainty will be greater than that for a single clock. The clock dynamics
are modeled as a simple second order plant, so
"
ḃ
b̈
#
=
"
0 1
0 0
#"
b
ḃ
#
+
"
0
1
#
wb
(2.12)
where b is the clock offset from the GPS reference time, and wb is a white noise
input. The standard deviation of wb for the receivers in this work was experimentally
measured to be about 0.05 m/s2 .
2.2
Absolute GPS
The first product of the GPS receiver is absolute navigation and time determination.
This is generally obtained using the code phase and Doppler measurements from four
or more GPS satellites. Though absolute navigation is not the focus of this research,
it must still be performed before the relative navigation can take place.
2.2.1
Signal
The GPS receiver provides three measurements from each tracked NAVSTAR satellite. They are the code phase, the carrier phase, and the Doppler phase rate on the
carrier. The code and carrier phase provide direct measurements of the scalar range
between the NAVSTAR satellite at the time the signal is transmitted and the user
vehicle at the time the signal is received. The Doppler provides a direct measure of
the range-rate.
2.2. ABSOLUTE GPS
29
More specifically, the code phase ρ between GPS satellite m and user i can be
modeled as
ρm
= krmi − ri k + bi + B mi + Iim + νρ
i
(2.13)
where
krmi − ri k= range between user i at measurement time and GPS satellite m
at time of signal transmission
bi = clock offset for user i
B mi = clock offset for GPS satellite m at time of transmission
Iim = ionospheric delay
νρ = other noises on the code phase (including receiver noise and multi
path)
This measurement is a function of the user state (position and clock offset), the GPS
satellite state (position and clock offset), the ionosphere, and other noise sources.
The carrier phase measurement, φ, for each visible GPS satellite by the receiver
is
φm
= krmi − ri k + bi + B mi + βim − Iim + νφ
i
(2.14)
where
βim = carrier phase bias for user i
νφ = other noises on the carrier phase (including receiver noise and
multi path)
The ionosphere term has a switched sign simply to indicate that the wave delay that
affects the carrier is opposite the group delay that affects the code. There are two
other differences between the carrier and code measurement: the biases and the noises.
The carrier phase measurement has an inherent bias in it, which will be discussed in
the next section. The main difference between these measurements, and the reason
it is desirable to use the carrier phase, is the noise, ν. For the code measurement, νρ
30
CHAPTER 2. ORBITAL FORMATION ESTIMATION
is around 2–5 m; for the carrier, νφ is on the order of 2–5 mm. This dramatic noise
reduction makes carrier phase estimation much more promising.
The Doppler measurement is
φ̇m
= (ṙmi − ṙi ) ·
i
rmi − ri
+ ḃi + Ḃ m + νφ̇
m
i
kr − ri k
(2.15)
where
(ṙmi − ṙi ) = differential velocity between user i at measurement time and GPS
satellite m at time of signal transmission
ḃi = clock drift for user i
Ḃ mi = clock drift for GPS satellite m at time of transmission
νφ̇ = noise on the Doppler measurement
In the first term of equation 2.15, the dot product is taken between the velocity and
the direction between the user and the NAVSTAR satellite (which is also called the
Line-of-Sight). This creates a scalar range-rate, which the Doppler measures.
The Line-of-Sight will be used frequently throughout this work. In this dissertation, it is defined:
losm
i =
rmi − ri
krmi − ri k
(2.16)
If the order of the GPS satellite position and the user position is switched, the sign
is switched of the line of sight unit vector.
For these measurement models, there are three main sources of uncertainty or
noise. They are:
1. Ephemeris Error The measurement model and navigation solution use the
ephemeris broadcast to estimate the state of the NAVSTAR satellites (this
includes their position, velocity, clock offset and clock drift). There will always
be some error in this predicted state. This error will appear as an additional
error in each measurement. The error has a fairly long time correlation – Lear
suggests an exponential decay time constant of 7200 sec [WL89]. The error is
generally on the order of 2–5 m [GPS96, PE01]. It will be useful to introduce a
2.2. ABSOLUTE GPS
31
term, Eim to account for the effect of the ephemeris error for GPS satellite m
as observed by receiver i. The ephemeris error is defined:
Eim
=
φm
i
m
r̂ , B̂
m
m
m
− φm
i (r , B )
(2.17)
m
m
where φm
i (r , B ) is the actual
carrier
phase measurement based on the actual
GPS satellite state, and φm
r̂m , B̂ m
i
is what the carrier phase measurement
would be using the ephemeris-predicted state instead of the actual state.
2. Ionosphere The signal transmission is affected by the environment through
which it travels. For terrestrial applications, this includes the troposphere and
ionosphere. In LEO, only the ionosphere significantly affects the signal. For
LEO, a standard model for ionospheric noise [GPS96] is:
Iim =
82.1 × T EC
p 2
Fc2 × sin γim + 0.076 + sin γim
(2.18)
where
T EC = Total Electron Count of the ionosphere; this is a function of
many factors, including time of day and sunspot activity
Fc
= Frequency of electro-magnetic signal (in our case, this is
1575.42 MHz)
γim
= Elevation angle of the GPS satellite m as measured by user i
The total electron count (T EC) can be difficult to determine, and this model is
only an approximation. Studies show that most ionospheric models are around
50-75% effective [WF87]. The ionospheric delay is usually on the order of 2–
5 m [GPS96,PE01]. It also has a long time correlation, which Lear models with
an exponential time constant of 2000 seconds [WL89].
3. Other Noise This includes all the remaining effects, such as multipath and noise
within the receiver. It is represented by the ν term in the measurement models.
32
CHAPTER 2. ORBITAL FORMATION ESTIMATION
Figure 2.3: Four or more GPS satellites are used to determine an absolute
navigation solution.
For code phase, it is on the order of 2–4 m, for the carrier, it is on the order of
2–4 mm.
2.2.2
Solution
Since the focus of this work is on the relative navigation, only very simple absolute
navigation techniques were used. There are many ways to improve the absolute
solution, such as carrier-smoothing or using Kalman filters [GPS96, PE01]. Fundamentally though, absolute navigation contends with much larger disturbances than
the differential disturbances experienced in relative navigation. Therefore an absolute
navigation filter depends more heavily on dynamic model accuracy. Many others are
already studying these approaches (JPL’s work on orbit determination is just one
example [AR02]).
In the simplest approach to absolute navigation, four or more measurements are
taken and a point solution is determined using the least-squares method. The valid
2.2. ABSOLUTE GPS
33
measurements can be gathered into a measurement vector,
yABS =
h
ρ1 . . . ρN φ̇1 . . . φ̇N
iT
(2.19)
The absolute user state can be defined as

xABS
ri



 bi 


= 

ṙ
 i 
ḃi
(2.20)
As can be seen in Equations 2.13 – 2.15, the relationship between the measurements
yABS and the state xABS is very nonlinear. Therefore, an iterative solution approach
is used.
To begin, an initial estimate of the position is used, which can be off by several
hundred kilometers. Then, the broadcast ephemeris is used to estimate the position
and clock state of the current NAVSTAR satellites in view for which valid measurements exist. Algorithm 1 presents the algorithm used to determine the absolute state.
Algorithm 1 shows only the position solution. However, once the solution is converged, the same navigation matrix (which is the pseudo-inverse of the observation
matrix, H) multiplies the innovation to the velocity measurement for an absolute
velocity update. A key element of this process is determining the state of the GPS
satellite states. This process is shown in Algorithm 2.
The accuracy of both absolute and relative GPS solutions is greatly affected by
the location of the GPS satellites used in the solution. A commonly used measure
of this geometric effect is the Geometric Dilution of Precision (GDOP). Using the
observation matrix, H, as defined in Algorithm 1, the GDOP is defined as [GPS96]
q
GDOP = trace (H T H)−1
(2.21)
A large GDOP indicates greater error, so a smaller GDOP is always desired. Note
that the observation matrix, H, in Equation 2.21 includes the clock bias. If H did not,
34
CHAPTER 2. ORBITAL FORMATION ESTIMATION
DEFINE:
r̂i
x̂ as the user position and clock state, x̂ =
b̂i
m
ρi is the measurement from GPS satellite m, taken by user i.
while δx is less than tolerance do
for all valid NAVSTAR measurements: 1 < m < N do
Determine signal range: Dim = krm − ri k
Iteratively correct GPS position and clock state, rm and B m (see algorithm 2)
m
m
Determine expected code phase measurement: ρ̂m
i = Di − B
m
m
Calculate Line Of Sight: losm
i = (r − ri )/Di
m
m
Create the measurement innovation: δρm
i = ρi − ρ̂i
end for


los1i 1


Build H matrix, where H =  ...
.
N
losi 1
−1 T
Determine incremental update to absolute state: δx̂ = H T H
H δρ, where
m
δρ is the vector of δρi ∀ m
Update absolute state estimate: x̂ = x̂ − δx̂
end while
Algorithm 1: Algorithm for determining the absolute state
and it only included the position states, Equation 2.21 would calculate the Positional
Dilution of Precision (PDOP).
2.2.3
Difference Absolute Solutions
The previous section explains how an absolute navigation solution is found. We are
interested in the relative states between vehicles. Therefore, a natural guess is that the
simplest solution is to create a relative solution by subtracting two absolute solutions.
Figure 2.4 shows the results of using this solution differential approach. The upper
plot shows the error, x̃ABS , over time, in the absolute position for two independent
receivers. For illustrative purposes, only a single dimension is shown, but the behavior
is similar in all three axes. It can be seen that the error in both varies with about
±20 m error. Furthermore, it is clear that there is a large degree of correlation
between the errors in the two solutions.
2.2. ABSOLUTE GPS
35
DEFINE:
tsi is the estimate of the time at which the signal is sent, ith iteration
tr is the time that the signal received
c is the speed of light
th
iteration
rm
i is the estimate of the position of GPS satellite m, i
s
Initialize send time as receive time: t0 = tr
Initial estimate of transmission time: tt = krm
0 − rj k/c
s
First guess
at transmission
time: t1 = tr − tt
while tsi − tsi−1 > do
m s
Determine GPS state at time signal was sent: rm
i = f (EPH , ti , tr )
Note: EPH is the broadcast ephemeris
Note: State is expressed in the receive-time frame of reference (ECEF)
Determine time of signal transmission: tt = krm
i − rj k/c
Update estimate of time signal was sent: tsi+1 = tr − tt
end while
Algorithm 2: Algorithm for iterative determination of GPS state at time of transmission.
The lower plot shows the error in the relative state estimate, over time, created by
differencing the two absolute solutions. As can be seen, there is a smaller error than
in the absolute solutions. The standard deviation on the resulting relative error is
about 3 m (in just one axis). Even though this is smaller, it is still much larger than
the target of ±2 cm. Thus simply differencing absolute solutions is not sufficient.
This example was done using the simplest of absolute navigation techniques. As
was stated at the outset of this discussion, there are more advanced methods of
determining the absolute state, which are more accurate. However, none of these
other more advanced techniques are sufficient either. For example, if a Kalman filter
with the same complexity level as the relative state filter described in this dissertation
were implemented on the absolute solutions, there is no noticeable improvement in
performance. A further description of such absolute-differencing comparisons is given
by Binning [PB97].
36
CHAPTER 2. ORBITAL FORMATION ESTIMATION
Differencing 2 absolute state estimates (r −r )
2
1
Abs. Pos. Errors (m)
30
r
1
r2
20
10
0
−10
−20
−30
0
200
400
600
800
1000
1200
1400
1600
Rel. Pos. Error (m)
10
1800
∆r
5
0
−5
−10
0
200
400
600
800
1000
Time (sec)
1200
1400
1600
Figure 2.4: The upper plot shows the error on two simultaneous absolute so-
lutions, in meters. Clearly there is a large degree of correlation
between the errors. However, by differencing two absolute solutions to determine the relative position, the resulting error is still
too large, as shown in the lower plot.
2.3
Relative GPS
A better approach for performing relative state estimation is to use carrier differential
GPS [BP95]. In this approach, the measurements themselves are subtracted, not the
solutions. Generally, most formations, even with separations of hundreds of kilometers
between the vehicles, will view and track many of the same NAVSTAR satellites. Two
receivers take measurements from these commonly visible satellites, and subtract
them. This gives a direct measure of the relative range between the user vehicles in
the direction of the measurement line-of-sight.
2.3. RELATIVE GPS
37
Figure 2.5: Subtracting measurements taken on two different receivers from
commonly visible satellites improves performance.
2.3.1
Single Difference
Measurements between two receivers from the same NAVSTAR satellite can be subtracted; this is referred to as the Single Difference measurement.
m
m
∆φm
ij = φj − φi
(2.22)
In the case of relative navigation, these measurement sets would be from receivers
on different vehicles, and the single difference provides a direct measurement of the
relative state between the two vehicles. More specifically, the single difference is
mi
∆φm
− ri k − krmj − rj k + ∆βijm + ∆bij + ∆Bijm − ∆Iijm + ν∆φ (2.23)
ij = kr
where
∆bij = differential clock offset between users i and j
38
CHAPTER 2. ORBITAL FORMATION ESTIMATION
∆Bijm = differential clock offset for GPS satellite m, between the transmitting
states for users i and j
∆Iijm = differential ionospheric delay
∆βijm = differential carrier phase bias between users i and j, on signal from
GPS satellite m
ν∆φ = remaining differential noises
A single difference measurement can be created for each GPS satellite that is commonly visible to both receivers i and j. If there are N commonly visible GPS satellites,
then there are N single difference measurements. To explicitly include the relative
position state, ∆rij , Equation 2.23 can be expanded as
mi
∆φm
− ri k − krmj − (ri + ∆rij ) k + ∆βijm + ∆bij
ij = kr
+∆Bijm − ∆Iijm + ν∆φ
(2.24)
The single difference can also be taken with the Doppler measurements. In this
case,
∆φ̇m
= (ṙmi − ṙi ) ·
i
rmi − ri
rmj − rj
mj
−
(ṙ
+ ∆ḃij
−
ṙ
)
·
j
krmi − ri k
krmj − rj k
+∆Ḃijm + ν∆φ̇
(2.25)
where
∆ḃij = differential clock drift between users i and j
∆Ḃijm = differential clock drift for GPS satellite m, between the transmitting
ν∆φ̇
states for users i and j
= remaining differential Doppler noises
The differential GPS clock and ionosphere terms are very small. For users which
are close together, many authors make the approximation that the NAVSTAR clock,
ionosphere, and other common mode terms cancel out, leaving the much simpler
2.3. RELATIVE GPS
39
expression:
mi
∆φm
− ri k − krmj − (ri + ∆rij ) k + ∆βijm + ∆bij + ν∆φ
ij = kr
(2.26)
Now the other terms are just included in the noise. It will turn out that for large
separations between users, these terms become significant, and so Equation 2.24 will
be used rather than Equation 2.26.
This same concept can be applied again, to further remove common terms, in
what is called the double difference. Here,
n
∇∆φmn
= ∆φm
ij
ij − ∆φij
m
∇∆φmn
= φm
− φnj − φni
ij
j − φi
(2.27)
(2.28)
In the case of the double difference, the receiver clock state is completely canceled out.
However, one of the single difference measurements must be used as a reference, and
so there is one less measurement (N − 1 measurements) available. Furthermore, there
is significant increase in bookkeeping within the estimator to handle the additional
measurement alignment. Except for when explicitly stated otherwise, single differences were used for relative measurements throughout this research. This is further
discussed in Section 7.1.2.
2.3.2
Carrier-Phase Bias
It worth mentioning the carrier phase biases. Significant research has been done
on effective ways to deal with the additional bias in the carrier phase measurement
[GW97]. The most significant portion of the carrier phase bias is the unknown number
of integer wave cycles in between the two antenna measurements. This is often referred
to as the “integer ambiguity.” The wave length is 19.2 cm, and the integer ambiguity
will be some integer multiple of that wavelength. Many use integer search techniques
(especially in attitude applications, where the baseline is known) to determine this
bias [DK94].
40
CHAPTER 2. ORBITAL FORMATION ESTIMATION
Another approach uses the motion of the GPS constellation and user vehicles to
provide observability [HT97]. This technique is called the kinematic approach. As
the GPS constellation and users move relative to each other, the range measurements
will change, but the bias will remain constant. This approach takes longer: an integer
search can give an instantaneous point solution, while the kinematic approach requires
enough motion to occur to observe the biases. The time needed for this motion is a
function of the relative velocity between the GPS satellites and user vehicles. Orbital
applications, with higher velocities, will observe the biases sooner than terrestrial
applications. Moreover, this acquisition process only happens once at initialization.
After initialization, biases for new measurements from GPS satellites that have just
come in view can be determined immediately from the current state estimate.
The other advantage of using the kinematic approach is that there is no assumption
necessary that the bias is an integer. There are other biases (such as the line bias
between the antenna and the correlator on the receiver) which are also present in
each measurement. Though these are much smaller than the integer ambiguity, they
must still be accounted for. These can be lumped together into a single real-value
bias.
Other approaches include using other sensors, local-ranging, or just separate filters
to determine the biases. None of these are employed in this research. A one-time
initialization period of a few minutes after powering on the receivers, as required by
the kinematic approach, is acceptable for this application. This is the simplest and
lowest computationally intensive approach.
To use a single, kinematic filter, the differential biases are included as states within
the state vector in the filter. They are included in the measurement model and the
observation matrix within the filter. Then, over time, these biases are resolved.
2.3.3
Differential Advantage
The advantage of CDGPS over differencing absolute solutions is that the differential
noises and uncertainties are much smaller. This is true both for the measurements
and the dynamics.
2.3. RELATIVE GPS
41
Consider the carrier phase measurement. Just as in the absolute case, there
are error sources and uncertainties in these single difference measurement models.
These noise contributions for terrestrial applications have also been studied, and
Parkinson and Enge provide a thorough analysis of expected code phase differential
errors [BP95]. For CDGPS in orbital relative navigation, the greatest uncertainties
in the measurements arise from:
1. ∆Eijm Differential ephemeris error — This is defined as:
mi mj
m
m mi mj
m
∆Eijm = ∆φm
ij (r̂ , r̂ , ∆B̂ij ) − ∆φij (r , r , ∆Bij )
(2.29)
mi mj
m
where ∆φm
ij (r , r , ∆Bij ) is the single difference measurement based on the
mi mj
m
actual GPS satellite state (position and clock), and ∆φm
ij (r̂ , r̂ , ∆B̂ij ) is the
single difference measurement using the ephemeris-predicted GPS satellite state.
Ephemeris error in the absolute measurements will be highly correlated between
each other. If the two user vehicles were at exactly the same location, the
ephemeris error would cancel completely out. Parkinson and Enge demonstrate
that the differential ephemeris error is bounded by:
∆Eijm ≤
k∆rij k · kEim k
krm − ri k
(2.30)
where Eim is the absolute difference between the actual satellite state and the
ephemeris-predicted state. Typically, the expected differential ephemeris error
for vehicles 100 km apart is ∆Eijm ≈ 5 cm.
2. ∆Iijm Differential ionospheric effect — This is defined as
∆Iijm = Ijm − Iim
(2.31)
Just as with the ephemeris error, the ionosphere error is highly correlated between the absolute solutions, and would cancel completely out if the users
42
CHAPTER 2. ORBITAL FORMATION ESTIMATION
were at the same position. Again, Parkinson and Enge suggest that the nominal differential ionospheric error is between ∆Iijm = 0.5 × 10−6 k∆rij k and
∆Iijm = 5 × 10−6 k∆rij k.
3. εm
ij Absolute navigation error effect — This is the error in the differential measurements due to the absolute navigation error. It is defined as:
m
m
εm
ij = ∆φij (r̂i ) − ∆φij (ri )
(2.32)
where ∆φm
ij (ri ) is the differential carrier phase measurement using the actual
absolute state of one of the user vehicles, and ∆φm
ij (r̂i ) is the differential carrier
phase measurement that would be expected using the estimated absolute state.
This error is similar to the ephemeris error, though it turns out to be a smaller
effect.
4. ν∆φ Differential noise — Unlike the other error sources, this error is actually
larger for the single difference than for the absolute phase. It can be modeled as
uncorrelated between the receivers (it is most likely that multipath and receiver
noise in LEO will be independent and uncorrelated). These can be modeled
as white noises, with identical standard deviations of σνφ (and by definition of
“white”, a zero mean). Therefore, the standard deviation on the noise for the
single difference will be:
σν∆φ =
p
E {(ν2 − ν1 )2 }
(2.33)
where E{·} is the statistical expectation. Assuming that the noises are uncorrelated and have identical variance,
σν∆φ
q
=
E {ν12 − 2ν1 ν2 + ν22 }
q
E {2ν12 }
=
√
=
2σνφ
Therefore, the differential noise is larger than the raw phase noise.
(2.34)
2.3. RELATIVE GPS
43
The measurement model, expressed in Equation 2.24, can now be re-written in
terms of estimated quantities and residual error terms,
mi
∆φm
− r̂i k − kr̂mj − (r̂i + ∆rij ) k + ∆bij + ∆βijm + ∆B̂ijm
ij = kr̂
+∆Iijm + ∆Eijm + εm
ij + ν∆φ
(2.35)
The same arguments exist for the process noise in the state dynamics. If the
two vehicles were identical and located in the same location, the aerodynamic effects,
higher order gravitational effects, and all other perturbing forces would be identical
and cancel completely. The differential perturbing forces (as described in Section
2.1.2) will grow only as the vehicles move farther apart or if their characteristics are
different.
The measurement equation, given in Equation 2.35, is expressed in terms of estimated quantities and their errors. For consistency, the state dynamics Equation
2.10, can also be expressed in terms of the absolute state estimate. This is done by
introducing an absolute state estimate error term, %ij , which is defined as
%ij = ∆r̈ij (r̂i ) − ∆r̈ij (ri )
(2.36)
where ∆r̈ij (ri ) is the relative acceleration based on the actual absolute position, and
∆r̈ij (ri ) is the relative acceleration using the estimated absolute position. Now, the
position and velocity propagation can be defined by:

∆r̈ij =
3

µ 
kr̂i k (r̂i + ∆rij )
 + CECEF
q
−
r̂
i
kr̂i k3
3
2
2
(kr̂i k + 2r̂i · ∆rij + k∆rij k )
(2.37)
+%ij + ∆aB + ∆aH + ∆aA + ∆aR + ∆uij + w∆r
where w∆r is included to account for any other remaining differential process noises.
The measurement model in Equation 2.35 and the dynamics model in Equation 2.37
are now in a form that will be used for the filter design discussed in Chapter 5.
44
CHAPTER 2. ORBITAL FORMATION ESTIMATION
2.4
System Definition
Differential measurements and relative dynamics are inherently expressed between
two vehicles. A formation may certainly have more than two vehicles. In principal,
for any general formation, regardless of dynamics or measurements, the state of the
formation can be represented equivalently by:



ξ1

ξ1
 ∆ξ
 . 
2−1



.
a) X =  .  or b) X = 
.
.

.

ξN
∆ξN −1







(2.38)
where
X = The formation state
ξi = Some arbitrary absolute state of vehicle i
∆ξj−i = The relative state of vehicle j with respect to i, defined as ξj −ξi .
The previous sections have shown that the differential state estimation is more accurate than absolute state estimation. Furthermore, for formation flying, the relative
states are of greater importance than the absolute states. Therefore, the form Equation 2.38b will be used to describe the formation state.
Figure 2.6 shows a block diagram of the complete relative system. It begins with
the block in the upper left corner. That represents the real dynamics, which includes
the motion of the NAVSTAR satellites as well as the user vehicles. The state of this
system is sampled by the receiver, which makes measurements that are a function of
the system state.
The state vector, x, has time dependant quantities. The subscript for x indicates
the time step for the state. This notation will be used for the measurement vector
and all matrices within the filter as well.
The measurements, yk , are sent into the filter. The filter models both the measurement process in the receiver as well as the state dynamics of the NAVSTAR
constellation and the user vehicles. It creates an estimate of the user state, x̂k , as
2.4. SYSTEM DEFINITION
45
Figure 2.6: The GPS receiver takes measurements from the real system.
These are sent into a filter, which models both the system dynamics and the measurement. The figure of merit for the system
is how small the error is between the estimate and the real state.
well as an estimate of the expected measurements, ŷk . The filter estimate is updated
by comparing the actual measurements with the expected measurements. The performance of the filter is measured by comparing the estimated state with the actual
state of the formation.
The goal is to minimize the error, x̃k . One can make changes to the receiver, and
improve the measurements that it provides to the filter. One can also improve the
measurement update as well as the propagation over time within the filter. Using highfidelity simulations, where the true state is known, the performance of the receiver
and filter can then be evaluated.
The state vector and measurement vector are selected by considering the nature of
the specific problem. The measurement vector is made up of the measurements from
the receiver. For this work, the GPS receiver is the only sensor used. Even though
the receiver provides three measurements for each tracked GPS satellite (code phase,
carrier phase, and Doppler), only the carrier phase measurement will be used for the
46
CHAPTER 2. ORBITAL FORMATION ESTIMATION
relative navigation (at least, after the filter is initialized). This approach is further
discussed in Section 7.1.1.
The state selection is less obvious. The complete system is defined by the measurement Equation 2.35, and the dynamics Equations 2.37 and 2.12. Each term within
the measurement model and dynamics models must be accounted for. There are three
options:
1. Estimate the term — By including the quantity in the state vector, it is an
element that is estimated in the filter.
2. Model the term — The quantity is determined using a model of the system.
For example, the higher order gravity terms are modeled based on the absolute
position of the vehicle.
3. Neglect the term — The quantity is not explicitly modeled or included in the
state vector. It then is included within the noise term.
In the past, different researchers have handled the quantities in different ways. Often,
terms are determined using a combination of approaches.
As discussed earlier, the goal is to design the simplest filter possible that can still
meet the performance requirements. To keep the filter simple, as many of the terms
should be neglected as possible, and estimate as few states as possible. Clearly, the
relative position and velocity are to be estimated. The absolute state is estimated in a
separate filter. The relative clock state contributes significantly to the measurements,
and so clock states are also estimated. There is also no way to avoid the carrier phase
biases, and so they are estimated as well (as discussed in Section 2.3.2). It turns
out that the differential ionosphere is significant, and an ionospheric model is used to
correct for this effect (see Section 7.2.2). However, all the remaining terms, including
the ephemeris error, the atmospheric drag, the higher order gravity terms, etc., are
all neglected and lumped into the noises.
2.5. CENTRALIZED VS. DECENTRALIZED
47
Therefore, this system state, as sensed at time step tk is defined:

∆rij (tk )



 ∆bij (tk ) 


 ∆ṙ (t ) 

ij k 



(t
)
∆
ḃ
xk = 
ij
k




 ∆βij1 


..


.


N
∆βij
(2.39)
The position and velocity vectors each have three elements, therefore the state vector
has 8 + N elements, where N is the number of valid measurements at that time step.
The size of the state vector varies with time. The measurement vector is defined as,

yk

∆φ1ij (tk )


..

= 
.


N
∆φij (tk )
(2.40)
As with the state vector, the dimension of the measurement vector also varies with
time.
2.5
Centralized vs. Decentralized
For formations with more than two vehicles, there are two archetypal approaches to
estimating the formation state, as defined in Equation 2.38b. These two approaches
are centralized or decentralized formation state estimation [CP01, RC02, WW00]. In
a centralized approach, the measurements are gathered from across the fleet to a
single processor, which then determines the relative states of all the vehicles in the
formation in a single filter. In a decentralized approach, a reference vehicle broadcasts
its measurements to the other vehicles in the formation, and they each determine their
own relative state.
48
CHAPTER 2. ORBITAL FORMATION ESTIMATION
Figure 2.7: Formation estimation involves determining the relative states be-
tween all the vehicles in the formation. This can be done either
in a centralized algorithm or a decentralized algorithm.
In centralized formation estimation, all vehicles within the fleet transmit their raw
measurements to a master vehicle. This master vehicle combines all the measurements
in a single filter, and determines the state of every vehicle in the formation relative
to itself. It must invert and update a very large state covariance and measurement
matrices. This results in a significant computational load, which is carried only by
a single processor. This approach is not robust to a single-point failure, and it is
not reconfigurable or flexible. Furthermore, if the formations increase in size, this
centralized computation could become extremely difficult to perform in real-time.
Thus, for many future formation flying applications, this centralized approach is less
desirable.
In a decentralized approach, an arbitrary reference vehicle is selected to broadcast
its measurements to the fleet. Each slave vehicle then determines its own independent
relative state estimate. This spreads the computational load across the fleet. If the
reference vehicle fails, any other slave can easily replace it because the reference is not
2.5. CENTRALIZED VS. DECENTRALIZED
49
special in any particular way. This makes the decentralized formation more robust.
The formation can also be scaled to any number of vehicles, and at any time during
the mission. There is no cost difference between the reference and slave vehicles.
Logistically, the decentralized approach is much more appealing [WW00, CP01].
However, depending upon the nature of the system, a decentralized filter may not
achieve the same accuracy as a centralized filter. Consider the combined measurements for a hypothetical formation,


H22 · · · H2n
y2
 .
 . 
..
 ..  =  ..
.



yn
Hn2 · · · Hnn


 
x2
 .  
  ..  + 

 
xn

ν2
.. 
. 

νn
(2.41)
where the subscripts indicate the slave vehicles within the formation. Hij is the
observation matrix relating the relative state of each slave vehicle xi to the differential
measurements yj . For a formation with n vehicles, there are n − 1 single difference
blocks, since the absolute state of the reference vehicle is determined separately. If
the measurements couple the states between vehicles (e.g. if H2n were non-zero), or
if the noise vectors (νi ) are correlated between the vehicles, then a centralized filter
will be more accurate than a decentralized filter.
Fortunately, the nature of GPS estimation lends itself well to a decentralized
filter [CP01]. In work concurrent with this thesis, Speyer et al. compared a decentralized and centralized state estimator using GPS on a ground-based, two-vehicle
formation. They found that the decentralized estimator performed nearly as well as
the centralized [WW00]. This thesis goes beyond that study by using a decentralized
estimator for formations with more than two vehicles, allowing a comparison between
independent, decentralized relative solutions.
The development of the multi-vehicle decentralized estimator begins with the measurements. The measurement vector containing all the single difference measurements
for one vehicle relative to the reference vehicle can be expanded from Equation 2.40
50
CHAPTER 2. ORBITAL FORMATION ESTIMATION
using the definition in Equation 2.35 as

kr̂1i − r̂i k − kr̂1j − (r̂i + ∆rij ) k + ∆bij + ∆βij1 + ∆B̂ij1


..

y = 
.


Ni
Nj
N
N
kr̂ − r̂i k − kr̂ − (r̂i + ∆rij ) k + ∆bij + ∆βij + ∆B̂ij


∆Iij1 + ∆Eij1 + ε1ij + ν∆φ


..

+
.


N
N
m
∆Iij + ∆Eij + εij + ν∆φ

(2.42)
This can then be condensed into
y = h (x) + ν ?
(2.43)
The term ν ? now combines several differential adjustment or error terms into a single generalized noise vector. This includes the differential ionosphere, differential
ephemeris error, absolute state error effect, and the single difference carrier phase
noise. For a single measurement, this is
ν ?,m = ∆Iijm + ∆Eijm + εm
ij + ν∆φ
(2.44)
Equation 2.43 can be linearized effectively for short separations by
y ≈ Hx + ν ?
(2.45)
The linearization is described more fully in Section 5.3.1. Combining all the slave
vehicles for the formation,







y2


H22


 0



 ≈ 




0
yn
y3
..
.
0
0
H33
..
.
0
0
Hnn







x2
x3
..
.
xn


 
 
 
+
 
 
ν ?2
ν ?3
..
.
ν ?n







(2.46)
2.5. CENTRALIZED VS. DECENTRALIZED
51
To decentralize the filter, Equation 2.46 would then be distributed to the individual
vehicles
vehicle 2 solves: y2 = H22 x2 + ν ?2
vehicle 3 solves: y3 = H33 x3 + ν ?3
..
.
(2.47)
vehicle n solves: yn = Hnn xn + ν ?n
This example uses a linearized version of the measurement equations, but the argument is also valid for a nonlinear filter (see Section 5.1 on Extended Kalman Filters).
Using the state x as defined in Equation 2.39, the measurements for a given vehicle
depend only on the state of that vehicle, and are independent of the state of the other
vehicles in the formation. This maintains the block-diagonal nature of the formation
observation matrix. Note that this block-diagonal result depends upon the definition
of the state vector. As discussed in Section 2.4, there is flexibility in how the state is
defined. For example, some authors model the ionospheric TEC as a constant value
for all the vehicles in the formation, and then include this value in the formation
state vector (e.g. Ebinuma [TE01]). By treating the TEC as a common variable
for the whole formation, the formation observation matrix would no longer be block
diagonal.
Of course, defining independent vehicle states does not automatically remove the
correlation between measurements. It only shifts the potential for correlation from the
state vector, xi to the noise vector, ν i . If the noises ν ?2 , ν ?3 , . . . , ν ?n were uncorrelated
and independent, the noise covariance matrix for a centralized filter would be block
diagonal. In that case, the estimation process could be decentralized without any loss
of accuracy.
However, the noise terms are correlated, and there are two sources of this correlation. The first source of correlation is in the single difference noise on the carrier
phase. The standard deviation in the noise on the absolute carrier phase measurement for the reference vehicle is σφ , and has been measured on the ground to be
about 2–4 mm. If there were three vehicles, each with absolute measurements with
52
CHAPTER 2. ORBITAL FORMATION ESTIMATION
σφ noise levels, then the sensor noise covariance for the differential measurements on
two different slave vehicles would be:
R =
"
2σφ2
σφ2
σφ2
2σφ2
#
(2.48)
The off-diagonal quantities in R indicate correlation between the two differential solutions. The second source of correlation is in the remaining measurement adjustments
within ν ? . The magnitude of these correction terms depend upon the separation between the vehicles in the formation; for 1 km they are on the order of 2–3 cm. Since
the error terms in Equation 2.44 are differential quantities, the common mode of the
effects is already removed, and so the correlation between these terms should be very
small.
The differential measurements will be correlated because of the terms within ν ? .
How large are these noises, and how correlated are they? Because the noises are
correlated, the decentralized estimator will loose some precision. Will it be able to
meet the target performance requirements? These questions are answered in Chapters 6 and 7, which also provide further experimental validation of the decentralized
estimation approach.
Chapter 3
Operating Environments
A discussion of the operational environments is a good place to begin examining
the system as pictured in figure 2.6. The operating environment determines the
observed states xk . Three different test environments were used during development
and demonstration of the receiver and filter. They are:
1. Outdoors
2. Goddard Space Flight Center (GSFC) Formation Flying Test Bed (FFTB)
3. GPS Simulation and Analysis Toolkit (GSAT)
Each of these environments provided different capabilities during development.
This chapter gives a brief description of each of these environments and indicates
how they were used to support the receiver and estimator development.
3.1
Outdoors
The first development environment was to use the prototype GPS receivers outside.
Outdoor tests provide an end-to-end verification of the receiver and antenna, using
real GPS signals in the presence of real measurement noises. It provides a baseline
for receiver performance. The outdoor provides only the first step in developing an
orbital receiver, but it is an important first step.
53
54
CHAPTER 3. OPERATING ENVIRONMENTS
For the outdoor tests, stationary patch antennas were placed on the top of the
roof of MIT building 41. This is a three story building. The rooftop location provided
a fairly unobstructed view of the sky above elevations of about 10◦ . A set of three
independent antennas was placed on the roof. The antennas were hemispherical-gain
patch antennas (manufactured by M/A-COM, model ANP-C-114-9701). A low-noise
in-line amplifier was added, and then an SMA cable of about 75 feet was run from
each antenna on the roof to the laboratory, and connected to the receivers there. No
attempt was made to accurately measure the cable lengths, or to match the lengths
between different antennas. Mismatched cable lengths will cause a differential line
bias, but this can be included in the carrier phase bias. The low noise amplifier was
necessary to compensate for line losses over the long distance between the antenna
and the receiver. The output data from the receiver was collected by computers in
the laboratory. The antennas remained outdoors year round. Tests were run both
day and night, and in a variety of conditions.
To observe results for longer separations, additional tests were also performed
using one antenna on the laboratory roof and one mobile antenna. The mobile antenna
was connected directly to a receiver, which output data to a laptop computer. This
mobile antenna/receiver was then taken to a variety of locations, up to 10 km away to
test long separation effects. These long separation tests did not have a truth measure
for relative distance, but the relative velocity was known to be zero while the antennas
remained stationary.
The advantage of the outdoor tests was that there was no reliance on simulation.
Real signals from the actual GPS constellation were received, real antennas with multipath and other real errors, and the actual proto-flight receivers were all used. These
tests provide a good baseline performance for the systems involved. Considering that
the multipath and troposphere effects are expected to be smaller in LEO, the ground
test signal-to-noise ratios establish conservative bounds for what will be experienced
on orbit.
The drawback to the outdoor test environment, of course, is that the receivers
are not in orbit. The atmosphere and multipath environment is different than that
encountered in LEO. More importantly, the rooftop antennas are not moving at the
3.2. GSFC FORMATION FLYING TEST BED
55
Figure 3.1: This is a block diagram of the outdoor test setup. The features
are: 1) a set of three antennas with in-line amplifiers out on the
roof, which send signals 2) inside, to the GPS receivers, which
perform real-time absolute navigation and also collect measurements, which are saved on 3) data storage laptops
very high orbital velocities or with correct orbital dynamics. For these reasons, additional environments are necessary for the development and demonstration of the
receiver/filter system.
3.2
GSFC Formation Flying Test Bed
The second development environment used is the state-of-the-art Formation Flying
Test Bed (FFTB) at NASA Goddard Space Flight Center. The FFTB simulates the
GPS constellation and a formation of up to four vehicles. It produces the actual RF
signals that would exist in the simulated conditions. This allows hardware-in-the-loop
testing, during which the actual proto-flight GPS receivers use signals that would be
observed in orbital operating conditions.
56
CHAPTER 3. OPERATING ENVIRONMENTS
Figure 3.2: This block diagram illustrates the GSFC FFTB setup. The fea-
tures are: 1) a DS10 Workstation, which sends orbital states to
2) the STR4760 GPS signal generators, which sends actual RF
signals, received by 3) the GPS receivers, which perform realtime absolute navigation and also collect measurements, which
are saved on 4) data storage laptops
The FFTB tests provide two important benefits. First, it allows hardware testing
of the receiver. Signals are harder to aquire and track when the receiver is moving
at orbital velocity than when the receiver is sitting still on the ground [GL97]. The
second benefit is that it allows the testing of the filter algorithms. The orbital dynamics are harder to model than the dynamics of sitting still on the ground. Proper
receiver operation and filter behavior must be demonstrated in orbital conditions.
These hardware-in-the-loop FFTB tests provide the closest testing environment to
actual orbital operation possible.
Figure 3.2 shows a block diagram of the GSFC FFTB set up. The process begins
with a Compaq DS10 workstation, which is the first half of the Spirent STR Series
Multichannel Satellite Navigation Simulator [SP01]. This computer simulates the
motion of the NAVSTAR constellation. It also determines the motion of up to four
user vehicles. It has three different options for determining the user motion:
3.2. GSFC FORMATION FLYING TEST BED
57
1. Stored File — A previously stored file containing the state information of the
vehicles can be used. As an example, this could be actual flight data from
earlier missions.
2. External Source — The state information can be provided in real time from an
external source. This option allows closed loop simulations (to perform active
feedback control).
3. Simulated Motion — The workstation can also run a high fidelity orbit simulator, and generate the motion of the user vehicles.
For the research in this dissertation, the last option was used exclusively. Several
parameters are entered by the user for the simulation. These include:
1. Spacecraft properties for each simulated vehicle. The properties include mass,
cross-sectional area, coefficient of drag, and moments of inertia.
2. The gravity model. Anywhere from one to fifty of the higher order gravity
harmonics can be modeled. Also the sun and moon gravitational effects can be
included.
3. The GPS constellation ephemeris can be entered from a stored file, or originally
created for the scenario. The errors within the broadcast ephemeris can also be
set.
4. The ionospheric properties can be entered. This provides a description of the
Total Electron Count variation.
5. The antenna characteristics. These can be set for each antenna, and include
the gain pattern and noise characteristics.
All of this information is used to simulate the motion of the vehicles, and also to
form the signals that would be observed by the vehicles. The states are updated at
10Hz, and sent to the RF signal generator, which is the second half of the Spirent
Satellite Navigation Simulator. The RF signal generator uses the state data to generate the signals that are observed by the receiver. There are two generators connected
58
CHAPTER 3. OPERATING ENVIRONMENTS
to the workstation; each generator has two RF front ends. Calibrations are regularly
performed to ensure that these generators are synchronized and create consistent signals. The four RF outputs could represent any four antennas; it does not matter
if the four antennas are on one vehicle or on four different vehicles. The generators
can simulate up to 16 different GPS signals for each RF front end. For this dissertation, attitude estimation, which would require multiple antennas on a single vehicle,
was not demonstrated. Thus, only one antenna was used on each vehicle, allowing
formations of four vehicles to be simulated.
The actual GPS receivers are connected to the RF outputs from the generator with
SMA cables. An in-line amplifier is included to match the amplification levels that
would be provided by a low noise amplifier in an active patch antenna. Again, the
receivers then store their data on laptop computers. Once the data is collected, it is
gathered to a single computer. There, the estimator is run in a real-time fashion, using
the measurements from the four receivers in sequential order. The raw measurement
data is then stored with the state estimates for further analysis.
The workstation also saves the states of the vehicle motion in a data file. This
provides the “truth”, which is used for estimation performance evaluation in postprocessing. This “truth” data is not used in the estimator. These stored dynamics
can also be used to provide an independently generated high-fidelity orbit simulation.
The GSFC FFTB has been used to test other flight GPS receivers, including SIGI
(currently on the space station) [JS99] and the AMSAT GPS receivers [GD02]. The
signal characteristics from the RF generator have noise characteristics similar to those
from the outdoor tests. NASA has confidence that a navigation system’s performance
in the GSFC FFTB is a reliable predictor of actual orbital performance [GD02].
3.3
GPS Simulation and Analysis Toolkit
The final environment is the GPS Simulation and Analysis Toolkit (GSAT). GSAT is
a suite of MATLAB functions and simulation tools developed by the author over the
past four years. It was developed to provide the tools necessary for developing a GPS
3.3. GPS SIMULATION AND ANALYSIS TOOLKIT
59
navigation system for orbital applications. This MATLAB simulation environment
has several sub-functions. These functions are:
1. Real Time Estimator (RTE) — this is the main function of GSAT, and is
described in greater detail below.
2. Orbit Analysis Tool (OAT) — this function allows the comparison of various
propagation techniques for the absolute and relative states, including: stored
external files (from the FFTB), Runge-Kutta integration, Kepler closed form
solutions, and linear propagation (for relative states only). The resulting states
can be plotted over time in ECI, ECEF, or RIC reference frames. Several
different parameters can be selected by the user, including time step size. Figure
3.3, which compares different orbit propagation techniques and will be discussed
in Section 3.3.1, is an example of the output from this tool.
3. Noise Analysis Tool (NAT) — this function provides an approximate measure of
the noise on differential measurements. The double difference is taken between
two different receivers (this is used to remove the noisy user clock effect), and
then fit to a polynomial curve. The polynomial order is user selectable, generally
a second-order curve is sufficient. This curve approximates the natural motion
in the system for short periods of time. The residual between the curve fit
and the double difference is a measure of the noise. The single difference noise
and raw un-differenced measurement noise can be extrapolated from the double
difference level.
4. Absolute Estimation Tool (AET) — this function performs only absolute navigation. It can use externally generated measurement or dynamic data, or it can
generate the dynamics and measurements through its own simulation.
3.3.1
GSAT-Real Time Estimator
The main function of GSAT is the Real Time Estimator (RTE). This tool is used
either as a stand-alone routine or with data from other external sources (i.e. from
60
CHAPTER 3. OPERATING ENVIRONMENTS
the GSFC FFTB or from outdoor experiments). GSAT-RTE consists of roughly
15,000 lines of MATLAB code, in about 70 original MATLAB files.
The GSAT-RTE is a powerful tool for greater analysis and understanding of orbital estimation using GPS. It has several modes of operation, simulating both ground
and orbital operating scenarios. It can perform rudimentary simulations of vehicle
dynamics and GPS measurements. These simulations can be compared to actual data
from outdoor or FFTB tests. Through comparing the measurements and estimate
results from different environments, the sources of noises and errors can be identified. The impact of measurement noise versus process noise can be determined. The
different components of the measurement noise (ionosphere, ephemeris errors, etc.)
can be individually included in the GSAT-RTE environment, and their impact better
understood. GSAT-RTE also provides the tools to perform trade studies in filter
design. To provide this flexibility, there are five modes of operation. They are:
1. Static Ground: Simulated Measurements. In this mode, a fixed location on
the Earth is selected. The GPS constellation motion is simulated, and the
measurements are simulated. These simulated measurements are then used in
the real-time filter (so the filter only uses up to the current measurement and
has no future knowledge).
2. Static Ground: External Measurements. In this mode, actual data from outdoor
tests are loaded from stored files. The filter uses these measurements instead
of simulated measurements. Otherwise, this mode is the same as the previous
mode. The measurement source is transparent to the filter operation.
3. Orbital: Simulated Dynamics and Simulated Measurements. In this mode,
initial orbital parameters are provided to GSAT-RTE. At each time step, the
user vehicles as well as the GPS constellation motion is simulated. A simple
Keplerian motion dynamic model is used with no other perturbations except
random white process noise. The states are propagated using a fourth-order
Runge-Kutta integration technique. This technique is sufficient for simple orbital models and for propagating across the short time intervals used in the
3.3. GPS SIMULATION AND ANALYSIS TOOLKIT
4
6
Absolute Position Difference, ECEF
x 10
Relative Position Differenc, LVLH
10
Radial (m)
X (m)
4
2
0
1
0
4
x 10
500
1000
1500
2000
2500
3000
3500
Y (m)
0
−2
0
4
x 10
500
1000
1500
2000
2500
3000
3500
0
GSFC−RK4
GSFC−Kep
0
500
1000
1500
2000
2500
3000
3500
0
500
1000
1500
2000
2500
3000
3500
0
−20
1
2
−2
0
20
Cross−Track (m)
Z (m)
4
0
40
−1
−3
5
−5
In−Track (m)
−2
61
500
1000
1500
2000
Time (sec)
2500
3000
0
−1
−2
3500
GSFC−RK4
GSFC−Kep
0
500
1000
1500
2000
Time (sec)
2500
3000
3500
Figure 3.3: Comparison of different propagation methods. Three techniques
are available: using stored GSFC truth data, using a RungeKutta 4th order integration, or using a Kepler closed form solution. The plots on the left show the differences in the absolute
state propagation (ECEF frame), and the plots on the right show
the differences in relative state propagation (RIC frame).
simulator. Simulated measurements are created from these states, with random white sensor noise added in. These measurements are then sent to the
real-time filter as before. This mode of operation will be referred to as Simple
Dynamics/Simple Measurements (SD/SM).
4. Orbital: External Dynamics and Simulated Measurements. The GPS constellation motion is simulated. The user vehicle motion, however, is now taken
from a stored set of data from the high fidelity GSFC FFTB orbit simulator.
Measurements are simulated given these states, and then sent to the real-time
filter. This mode will be referred to as Complex Dynamics/Simple Measurements (CD/SM). Figure 3.3 illustrates the difference in orbital motion between
the high fidelity orbit model and two different simple Keplerian propagation
techniques. The difference between the line labeled “GSFC-RK4” represents
the difference between the orbital motion used in the SD/SM and CD/SM approaches. The absolute perturbations cause differences of ≈50 km after one
hour. The relative perturbations lead to differences of ≈20 m.
62
CHAPTER 3. OPERATING ENVIRONMENTS
5. Orbital: External Dynamics and External Measurements. The user vehicle
motion is again loaded from external files generated by the GSFC FFTB orbit
simulator. The measurements are loaded from stored files generated by the
receivers that were operating in the hardware-in-the-loop simulations. These
measurements are then used in a real-time fashion by the filter. This mode will
be referred to as Complex Dynamics/Real Measurements (CD/RM).
Figure 3.4 is a flow chart of the global RTE simulation process. The global process
begins with setting up initial conditions, defining global variables, defining experiment
parameters, and (in certain modes) loading data that will be required. Following this
initialization, the simulation begins, and the book-keeping and estimation sub-process
is performed at each time step. When all the time steps are completed, the simulation
ends and performance metrics and statistics are determined. A variety of plots and
displays are generated as well to indicate performance.
Figure 3.5 is a flow chart of the sub-process within the RTE simulation that occurs
every second. First, the dynamics and measurements are either loaded or generated as
required. Then, the absolute navigation for the reference vehicle is performed. After
the absolute navigation, the relative navigation is performed for each slave vehicle.
This process includes gathering valid measurements, running an extended Kalman
Filter, and repacking the matrices until the next time step occurs. At each time step,
important data and estimates are also stored.
3.3.2
Multiple Simulations
GSAT-RTE also has the capability to run multiple simulations under the same conditions. If any noise or condition is simulated (modes 1, 3, or 4), then these random
noise vectors or values are generated before hand. These noise vectors can then be
used in multiple runs with different parameters, and the effect of that parameter can
be isolated for observation.
There are three possible dimensions for the multiple runs. There are two parameter variation dimensions, and one repeatable dimension for averaging. For example,
when performing an ephemeris error effect test, as presented in Section 7.2, one can
3.3. GPS SIMULATION AND ANALYSIS TOOLKIT
63
Figure 3.4: The process flow in the Real Time Estimator — it allows either
stored data or simulated data to be used in the filter.
vary the ephemeris error level (parameter one) and the formation separation (parameter two). Twenty of these tests can then be performed under each condition, and
average the results to provide some level of statistical significance. If there were 3
ephemeris error levels, and two different formation sizes, with twenty samples each,
there would then be 120 simulations performed.
This feature provides much greater analysis capability for evaluating stochastic
nonlinear processes. Of course, there are also drawbacks. When simulating the GPS
constellation and a four-vehicle formation, GSAT RTE runs at about the same speed
as real-time on a 333 MHz Pentium II computer running MATLAB release 12. A
one-orbit experiment could take about one and a half hours of computer time. When
this is multiplied by 120 runs, the experiments can quickly become overwhelming.
64
CHAPTER 3. OPERATING ENVIRONMENTS
Figure 3.5: This flow chart shows the filter process at each time step. It
generates the true states (either from stored values or simulation), the measurements (again stored or simulated), and then
processes these measurements in a filter, to create a state estimate.
3.4
Summary
The outdoor tests, the GSFC FFTB, and the MATLAB GSAT environments all provide essential capabilities for the development and demonstration of an orbital relative
navigation GPS receiver and filter. They provide ways to analyze and understand
the receiver and the expected operational environment. The demonstrations, trade
studies, and error analyses presented in this dissertation, were all performed using
these three environments.
Chapter 4
Enhanced Differential GPS
Receiver
A GPS receiver was modified to perform relative navigation in Low Earth Orbit. It
was specifically designed for the Orion mission. Though based on a commercial GPS
receiver, essential modifications were made to successfully perform the mission. These
modifications to the receiver are briefly discussed in this chapter.
4.1
Orion Receiver Overview
Project Orion requires the GPS system to provide absolute navigation, relative navigation, and attitude sensing [OR01]. It uses a third generation modified GPS receiver.
The first generation was the commercial-off-the-shelf available GPS receiver made by
Zarlink, formerly Mitel Plessey.1 This commercial receiver design uses the GP2015
RF front end chip and the GP2021 12-channel correlator. The second generation
design was a modified version by Eric Olsen at Stanford University in 1998 [EO99].
For this dissertation, Olsen’s design was further modified to meet the specific needs
of project Orion, as well as enhance the receiver’s ability for general orbital relative
navigation.
1
Coincidentally, the Plessey receiver model was named “Orion”, but this should not be confused
with Project Orion.
65
66
CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER
To deliver attitude sensing, six antennas are used. Three have aligned bore-sites
placed on one face of the vehicle. The Orion vehicle is designed to use combined active
and passive control to keep this face pointed away from the center of the earth. This
set of anti-nadir aligned antennas facilitates accurate attitude estimation [JA98,JA99].
The other three are placed on different orthogonal faces, to allow greater sky coverage
(see figure 4.1).2 Sky coverage is especially important during initialization, when the
attitude of the vehicle will be completely unknown, or when attitude control is not
maintained. However, each antenna and RF front end requires additional power,
which is a very limited resource on a microsatellite. Six antennas represented the
best balance between robust attitude capability and power consumption [JA99].
The receiver has three identical electronic cards; each card has two RF front ends,
a correlator bank, and a processor. The GP2021 correlators have 12 channels, and
these twelve channels are allocated between two antennas connected to the RF front
end on that card. The allocation of the channels between those antennas can be
modified by commands from the ground. The RF front end consists of the GP2015
RF processor as well as filters and amplifiers. For robustness purposes, each of the
antennas on the anti-nadir pointing face is connected to a different receiver card,
and then the second front end on each card was connected to one of the remaining
antennas. The decision to use two antennas per correlator instead of just one was
driven by both power and mass limitations. In normal operation, only some of the
antennas will be actively used for navigation and attitude determination. Therefore,
rather than having unused correlators and processors on the vehicle, it is preferable
to just re-allocate the channels between antennas.
The three correlators are each driven by Mitel’s ARM-60 32-bit RISC processor.
The lock-on and tracking of the NAVSTAR signals, as well as the absolute navigation, is done on these embedded processors. These processors then send the raw
measurements and navigation solutions to a science computer. This computer has an
r processor, whose computational power is much greater than the
Intel StrongARM
ARM-60. Attitude determination and relative navigation is performed on the science
2
The placement of two antennas on the in-track faces (and none on the cross-track faces) was
intended to allow the option of using local RF ranging devices to augment the NAVSTAR constellation. [CP01]
4.1. ORION RECEIVER OVERVIEW
67
Figure 4.1: The Orion spacecraft has 6 GPS antennas. These antennas pro-
vide attitude determination capability, as well as large sky coverage for initialization.
computer. The science computer also handles various planning and autonomous control functions. It is a time consuming and costly procedure to modify the software
on the receiver ARM-60, and impossible to modify the code from the ground after
launch. Therefore, the goal was to simplify and minimize the tasks performed on the
receiver processors, and move the advanced navigation to the reprogrammable, and
more powerful, science computer. This also adds modularity to the design, by making
the receiver a simpler, more general sensor.
Internally, the receiver takes measurements at 10 Hz from the tracking loop. The
tracking loop itself operates at either 1 kHz during acquisition or 100 Hz during
tracking. The receiver outputs data at 1 Hz, but with minor software modifications,
it could be configured to output 10 Hz data. However, it has been found that 1 Hz
is sufficient to meet the navigation requirements for this application. Obviously, one
could read the data from the receiver at slower rates if desired. Figure 4.3 illustrates
the different operating frequencies of the receiver’s primary tasks.
68
CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER
Figure 4.2: The modified GPS receiver used for this project. The left side
shows the top, where the RF front-end and correlator are visible.
The right side shows the bottom, which has memory, the ARM60 processor, and SMA antenna connectors.
Figure 4.3: Different tasks within the receiver run at different frequencies.
4.2
Heritage
As previously stated, this is a third-generation design. The second generation design
was done by Eric Olsen at Stanford University [EO99], along with J. C. Adams [JA99]
and C. W. Park [CP01]. Olsen made design modifications to both the hardware and
software.
There were two main hardware modifications: an external clock capability and the
addition of a second RF front-end. The second RF front-end allows more antennas to
4.3. RECEIVER DESIGN INNOVATIONS
69
be used, which is important for attitude determination. However, that change alone
is not sufficient, because more than two antennas are needed for three-dimensional
attitude determination. The external clock addition allows multiple receiver cards
(made up of the RF portion, the correlator, and processor) to be linked to the same
clock signal, and take synchronized measurements as if from one receiver.
Olsen also made several software modifications. Some were minor interface changes,
and some were to manage the second RF front-end. The most significant changes,
however, were related to the tracking loop. The original design had a frequency-lock
loop (FLL) for the carrier tracking. This is very robust and provides an open-loop
carrier phase measurement. However, since the loop tracks the frequency, the carrier
phase error will integrate and grow over time. For differential carrier phase measurements, a phase-lock loop (PLL) is necessary. Olsen created a staged third-order PLL.
The tracking loop acquires the signals using a FLL, and once the signal has frame
lock, it switches to the PLL. Further detail is given in Olsen’s thesis [EO99].
Others have studied using the Mitel/Plessey chipset in space. Unwin, at the University of Surrey, also used a receiver based on the same GP2015/GP2021 chipset.
His group has performed some radiation tolerance testing on the GPS components
[MU98], and shown them to exhibit fairly high inherent radiation tolerance. More importantly, the University of Surrey has already flown these GPS receivers in orbit, and
demonstrated their successful operation in LEO [MU00, MU02]. This space heritage
improves confidence in using this chipset for other LEO missions. Derivative receivers,
based on the same chipset, were also used in the work by Montebruck [OM02b] and
Ebinuma [TE01] discussed in Section 1.4
4.3
Receiver Design Innovations
For this research, the receiver was modified for orbital relative navigation. These
modifications included communication interface changes, clock steering stabilization,
orbital operation capability, and further improvements to the tracking loop.
70
CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER
Figure 4.4: The GPS receivers communicate with each other and the science
computer on a token bus. It has an additional communication
route with the ground and the other vehicles in the formation
through the spacecraft CDH computer.
4.3.1
Communication Interface
To perform the tasks of relative navigation and attitude determination on orbit, and
to be able to interact with the Orion spacecraft, the receiver needed extensive changes
to its interface design. There are four parts to these changes: 1) a new interface board,
2) a new internal communication design, 3) a new cross-link communication design,
and 4) a new ground communication design. Further details about the interfaces have
been documented in the Orion Payload ICD [ICD01].
Interface Board
A new interface board was designed to handle all the connections with the spacecraft,
and to handle the various communication needs of the navigation system. This board
also has the external clock and provides the 10MHz clock signal to the three GPS
cards over SMA cables. Power switches, allowing power on/off and reset commands,
4.3. RECEIVER DESIGN INNOVATIONS
71
Figure 4.5: The modified GPS receiver for a single Orion satellite in integra-
tion tests with the science computer and spacecraft CPU. Reliable operation of the full system and all communication interfaces
was validated. The three GPS cards are to the left, the interface
boards in the center, and the science computer is on the lower
right.
r commands from the spacecraft Command and Data
are set using Dallas 1-Wire
Handling (CDH) computer [DAL]. To protect against single-event upsets or latchups, over-current detectors are included which automatically shut down the receivers.
Thermistor monitoring circuitry for telemetry is also on the interface board. It also
has two RS-232 data ports, the power connection, and the Dallas 1-Wire port. The
interface board has the same physical footprint as the receiver cards so that it can be
stacked with them in a single tower, if desired.
72
CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER
Internal Communication
Three GPS boards need to communicate with each other and with the science computer. The interface card was designed to handle the wire connections. However, the
software on the receivers had to be modified to coordinate communication between
four (or more) devices on the same port.
A dynamically reconfigurable token bus was developed to handle the communication between receivers and the science computer. The token bus allows multiple units
to share the same serial communication line. It is driven by the Science Computer,
which uses general purpose input-output (GPIO) pins to coordinate communication
between nodes on the bus. A token bus design was used because it requires no additional hardware, and is very robust, flexible, and relatively simple. The token bus
requires a special header structure, and requires each unit to transmit at least once
each second (if only to pass the token along). However, it can handle messages of
variable length and does not require time-synchronized messages.
Each unit has a unique identifier and a node map of all the other active units on
the bus. They each communicate in the order that they appear in the map. Each
unit only transmits data when it has the “token”. Once a unit has transmitted all
the buffered data that it has, it passes the “token” to the next unit in the map. This
cycle continues through all the units listed on the map. If a unit does not speak after
a certain period, the master unit (the science computer), will poll all the units and
create a new node map.
To run the token bus, data must be sent in packages, or sentences with a defined
header and closer. The header identifies the source of the data, the destination for
the data, and what type of data is being sent. The sentence closes with checksums
to ensure correct transmission. The specific sentence structure is shown in Table 4.1.
Data is currently communicated at 19.2K baud rate. It can be configured for higher
or lower rates. The token bus has been extensively tested, and found to be robust for
days of continuous operation.
4.3. RECEIVER DESIGN INNOVATIONS
73
Table 4.1: Standard Token Bus Sentence Structure
0
1
2
STX SRC DST
STX
SRC
DST
NXT
TYP
LEN1 and LEN2
DATA
CHK1 and CHK2
ETX
3
4
5
6
7:N+7 N+8
N+9
NXT TYP LEN1 LEN2 DATA CHK1 CHK2
Start Byte (0x02)
Source unit of this data sentence
Destination unit for this data sentence
Next unit to receive token
Type of data sentence
Two bytes for data length
The actual data this sentence contains
Two checksum bytes (verify correct transmission)
End byte (0x03)
N+10
ETX
Crosslink Communication
Relative navigation, as explained in Chapter 2, requires passing data between vehicles within the formation, referred to as crosslink communication. A reference vehicle
broadcasts its raw phase measurements to the other vehicles in the formation. These
slave vehicles use the broadcast data to determine their own state relative to the reference vehicle, and then (if desired) transmit this state estimate back to the reference.
Within each vehicle, the data required for relative navigation is sent to the CDH
via the science computer, which then handles the transmission to and from the other
vehicles in the formation. The science computer keeps a copy of the data, and also
collects any measurement packages from other vehicles. With the local set of measurements and the remote set, the science computer is able to determine its own state
relative to the remote vehicle.
The receiver generates large amounts of data and telemetry. A significant portion
of the telemetry is only of interest for contingency resolution (i.e., trouble shooting).
Therefore, several different data sentences, each containing different subsets of data
and telemetry, were designed. For normal operation, only some of these sentences are
used. A list of most of the data sentences is in Table 4.2.
74
CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER
Table 4.2: Data Sentence Listing
Sentence
F00
Length
67
F01
96
F02
236
F03
F04
387
132
F05
20
F08
F99
F13
F14
F15
F20
F24
F25
89
Variable
113
297
137
Variable
1
0
Description
Status Summary: status bytes, Abs Nav Solution, operation summary, time tag
Solution Sentence: Absolute and Relative Navigation Solution, Time tag
Relative Navigation Data Sentence: Code phase, carrier
phase, Doppler, time tag
Channel Summary: Lock status, Doppler and NCO, SNR
Satellite Summary: azimuth and elevation of all SVs in
almanac
Communication Link Summary: bytes received, sent,
and lost
Line Of Sight Sentence
Debug Sentence, dependant on code version
Almanac Data Sentence (one satellite per sentence)
Ephemeris Data Sentence (one satellite per sentence)
Ionosphere and Clock Sentence
Command Sentence
Query whether unit is on token bus
Respond to query
Relative navigation requires only sentences F00 and F02 be broadcast by the
reference vehicle. If a compiled formation state is desired, the slave vehicles transmit
only the F01 sentence in return.
The data message broadcast by the master vehicle sets the crosslink communication requirement. Currently, the crosslink sentences, F00 and F02, include the data
listed in Table 4.3. The total byte count for the crosslink broadcast, including the
sentence headers, is 323 bytes. Section 7.1.1 demonstrates that the same relative
navigation results are achievable without transmitting the Doppler and code phase
data. An additional 120 bytes ((4 + 6) × 12) can be saved by not transmitting these
measurements. The F00 and F02 message is broadcast every epoch (nominally once
per second, but that is a selectable design parameter).
4.3. RECEIVER DESIGN INNOVATIONS
75
Table 4.3: Crosslink Data
Description
F00
Receiver ID
Status Bytes
Number SVs Tracked
Date (dd/mm/yy)
Time (hh:mm:ss)
GDOP
Input/Output Byte counts
Clock Slew
Absolute Solution
Time Tag (for Absolute Solution)
F02
Time Tag (for measurements)
Receiver ID
Week Number
PRN number (per channel)
Code phase (per channel)
Integrated Carrier Phase (per channel)
Doppler (per channel)
Valid flag (per channel)
Total Byte Count
type
number
byte
byte
int
byte
byte
(int)
int
long
double
double
1
3
1
3
3
1
4
1
6
1
string
byte
int
byte
int+long
int+long
long
byte
1
1
1
12
12
12
12
12
total bytes
67
1
3
1
3
3
2
8
4
36
6
236
17
1
2
12
72
72
48
12
303
Ground Communication
Data and navigation solutions need to be stored and sent to the ground for post
processing and validation. Commands need to be sent to the receivers from the ground
as well. Communication with the ground is routed through the CDH computer, and
can either go through the science computer or directly to the GPS receivers.
Interface with the receiver for development has been handled by OrbMon7. This
software, customized by the author, is based on Mitel/Plessey BuilderTM receiver
code and WinmonTM code. The program is run from the DOS operating system. It
communicates over a serial port with the receivers at 19.2K baud rate, in the place of
the science computer. It receives the data sentences from the receiver, displays them
to the screen (there are several different display screens available, corresponding to
76
CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER
Clock Steering Task is called every 100 ms
counter = 0x8B823 (the nominal clock control value)
Determine time offset: DT = 1000− Navigation Time (milliseconds)
if 745ms < DT < 855ms then
Slew = 900 − DT
(Controller in Algorithm 4 inserted here)
counter = [(40 × Slew)/7] − 1
end if
Write counter to correlator clock input
Algorithm 3: Algorithm to steer clock to GPS time [EO99]
the different data and telemetry sentences of the receiver), and writes the data to files
for post-processing. It also has the ability to upload ephemeris, initialization data,
and user commands to the receiver.
4.3.2
Clock Control
Synchronous measurements are required for differential navigation. Some systems
achieve this by interpolating asynchronous measurements. This work uses a direct
approach of synchronizing the time at which the measurement is taken on all receivers.
This is done by actively steering the clock on the receiver to GPS system time [EO99].
Then, with all receivers set to the same time, the measurement is taken at the same
instant in each second, and the measurements are synchronized. Algorithm 3 is used
to steer the clock.
However, it was observed that the clock steering (also referred to as slewing), was
not always stable. In normal operations, the pseudorange error for each channel was
around −315 m (with a variation of about 10 m on each channel), which usually
indicated stable clock slewing. During experiments of an hour or more in duration,
periods of unstable clock slewing were observed. In these cases, the pseudorange errors
on all channels would jump between roughly +105 m to −105 m every second (and
sometimes the order of magnitude was even larger). It was also noted that the clock
correction during these periods was oscillating with the pseudorange errors. These
periods of unstable slewing would sometimes last for several minutes and then recover,
4.3. RECEIVER DESIGN INNOVATIONS
77
at other times it would never recover. The initial cause of this instability is unknown.
The oscillation arises from the relation between the clock slewing control and the
navigation solution. The clock correction is determined as part of the navigation
solution, which is determined from the phase measurements. However, the phase
measurements are effected by the clock slew. For example, if the clock is slewed
forward, the phase measurement will be higher, and if the clock is slewed back, the
phase measurement will be lower. These adjusted phase measurements are used in
the navigation solution, and will potentially over- or under-correct the clock state
based on these adjusted measurements. This process can become oscillatory if the
slew commands over compensate the clock based on each navigation solution.
During these periods of oscillation, the differential measurements were not usable. Therefore, an ad hoc active control algorithm was implemented in software to
maintain stable clock slewing. Based on the experimental observations, the clock
steering was modeled as a neutrally stable oscillator. The oscillation frequency was
empirically estimated, and set at 5 rad/sec. The measured clock offset is considered
the measurement input to the system (the “counter” command shown in Algorithm
3). The state is considered the clock offset and clock-offset drift. The control output
is the actual command given to the correlator. Using LQG, feedback and estimator
gains were designed to stabilize the system, by increasing the damping in the system.
The original clock slewing software was modified to include this
The new active clock control algorithm is presented in Algorithm 4. The active
control algorithm was intended as a simple ad hoc solution, and performed quite
successfully. After implementing this system, no periods of unstable clock slewing
were observed in hundreds of hours of testing. These tests included many continuous
receiver tests of several hours in duration.
4.3.3
Orbital Capability
The receiver was modified so that it could operate on orbit. The first change was to
allow higher altitudes and velocities than those experienced in terrestrial applications.
The second change was to allow initial navigation lock-on in orbit.
78
CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER
DEFINE:
y as the measure of the clock offset
x as the clock state, ẋ as the clock drift
Acl as the closed-loop clock dynamics, (Acl = Aol − BK − CL)
L as the estimator gains
K as the controller gains
0.5202
0.4792
1.000
, K = −0.0661 0.0039 , L =
Acl =
−0.5198 −0.4788
1.0856
Initialize x = 0, ẋ = 0.
Within the clock steering function (Algorithm 3):
y = counter
- 0x8B823
x
x
= Acl
+ Ly
ẋ k
ẋ k−1
x
u = −K
ẋ k
counter = 0x8B823 + u
Return to the clock steering function, and store x, ẋ for next function call.
Algorithm 4: Algorithm to stabilize the clock slewing
Lightsey demonstrated that at orbital velocities there is a much larger potential
Doppler space to search for the GPS signals [GL97]. He found that the Doppler shift
can be as great as 60 kHz for space applications, while terrestrial applications are
seldom higher than 10 kHz. This search is large enough that in the time some GPS
satellites are visible to the user, the Doppler search space may not be entirely covered,
and the signal never acquired. This introduces the risk of never acquiring an initial
navigation fix. To avoid this problem, the receiver employs a technique for assisting
the first fix.
To assist the receiver in getting the first navigation fix, essential data is uploaded
from the ground user. These data are:
1. An estimate of the current time (it is sufficient for the estimated time to be
within 20 seconds of the actual time).
2. The GPS almanac. The GPS almanac data is valid for 180 days.
3. A rough estimate of the user state with a time tag (position errors can be off
by hundreds of kilometers, and still be sufficient).
4.3. RECEIVER DESIGN INNOVATIONS
79
With this initial data, the receiver runs a rudimentary Keplerian orbit propagator
to determine the current user position and velocity. The GPS constellation state
is predicted from the GPS almanac. Based on the user position and GPS satellite
positions, the receiver determines which GPS satellites are in view, and focuses it’s
search on those satellites. The relative velocity between each visible GPS satellite
and the user is also determined. This relative velocity is used as the starting point
for the search for the signals in Doppler space. This signal search is required to begin
tracking the GPS signals (see Section 1.3). Using this assisted start, the Doppler
search space is greatly reduced, and the likelihood of achieving first fix guaranteed.
In testing, it was found that the navigation first fix could be achieved within 2
minutes. For this application, first fix within 2 minutes is more than sufficient. Using
these assisted starts, the receivers never failed to aquire a navigation fix in all orbital
simulation testing. Successful initialization of the receivers on the orbital simulator
have occured hundreds of times.
4.3.4
Tracking Loop
The final major modification to the receiver was to the carrier phase tracking loops.
The third order PLL used in the second generation receiver was designed by Olsen
for a very different application in a very different operating environment.
The goal of a PLL tracking loop is to maintain robustness (ability to track the
signal without slipping cycles) while also maintaining low noise levels. It is third order
because it uses three states: the phase (φ), the phase-rate or frequency (φ̇), and the
frequency-rate (φ̈). The Numerically Controlled Oscillator (NCO) is the hardware
that actually controls the carrier replication. It is modeled as
φk+1 = φk + T µk
where
φk = The actual carrier phase at time k
T = The tracking loop time step, which is either 1 ms or 10 ms.
µk = The NCO command state
(4.1)
80
CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER
Figure 4.6: A third-order phase-lock loop is implemented in software for the
carrier tracking. The output of the tracking loop drives the NCO,
which locks onto the signal.
The previous software designs (Plessey and Olsen) used this NCO state, µ, as the
range-rate measurement. The input to the PLL is the difference between the measured
phase and the expected phase,
∆φk = φ̂+
k − φk
(4.2)
The PLL can be represented by a reduced-order filter [EO99],
"
#
˙ !−
˙ !+
φ̂
φ̂
1 T
=
¨
¨
0 1
φ̂
φ̂
k+1
k
!
!
#
"
+
−
˙
˙
φ̂
φ̂
L2
∆φk
=
+
¨
¨
L3
φ̂
φ̂
k
µk
(4.3)
(4.4)
k
1 ¨+ L1
˙
∆φk
= φ̂+
k + T φ̂k +
2
T
(4.5)
4.3. RECEIVER DESIGN INNOVATIONS
81
Tracking Loop Response
40
Amplitude (dB)
30
20
10
0
−10
−20
0
10
1
10
2
10
100
Phase (deg)
50
0
−50
−100
φ
φ−dot
µ
−150
−200
0
10
1
10
Frequency (rad/sec)
2
10
Figure 4.7: The Bode plot of the 3rd order PLL. The phase, phase-rate, and
NCO states are all shown.
where the Li are the adjustable tracking loop gains. Figure 4.6 shows the block
diagram for this tracking loop.
It is of interest to understand the bandwidth of this PLL and the noise levels of
the states within the loop. The Bode plot of the theoretical frequency response for
the phase, phase-rate, and NCO state are shown in Figure 4.7. These plots show the
amplitude response of the PLL to a given input frequency, based on the model in
Equations 4.2–4.5.
By comparing the frequency responses of different states, it can be seen that at
higher frequencies, the phase (φ) response attenuates the input signal. The phase-rate
(φ̇) amplifies the input near the loop bandwidth, and then rolls off. The NCO state
(µ) amplifies all of the higher frequency inputs, which are primarily noise. One would
predict that the phase will have less noise than the phase-rate, and the phase-rate
would have less noise than the NCO state. One conclusion that can be drawn from
this is that using the phase-rate state will provide a lower noise measurement for
82
CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER
range-rate than the NCO state (which was used in the former design). The curves in
Figure 4.7 make intuitive sense; the GPS signal correlator provides a phase, and the
other two states are created by differentiating that phase, which can be expected to
increase the noise.
The theoretical expectation of relative noise levels can be experimentally verified.
The PLL was modified so that it had an adjustable loop bandwidth. The loop bandwidth is considered the point where the magnitude of the phase response drops by
50% (or −3 dB on a Decibel scale). In Figure 4.7, the loop bandwidth is about 50
rad/sec. Another common measure for PLL performance is the noise bandwidth, Bn ,
which is defined as [FG79],
Bn =
Z
∞
|H(j2πf )|2df
(4.6)
0
where H(j2πf ) is the PLL transfer function, evaluated at the frequency f , in Hertz.
The bandwidth characterizes the behavior of the PLL. A low bandwidth will attenuate noise at high frequencies, but also cannot track signals with high dynamics. A
high bandwidth will be able to track rapidly changing signals, but will amplify high
frequency noise as well, and can become unstable. The bandwidth must be selected
to balance these competing factors. Ward suggests using a noise bandwidth of 18 Hz
rad/sec for GPS applications [EK96].
The loop bandwidth is determined by the set of gains L1 , L2 and L3 , as shown
in Figure 4.6, and they are controlled in software. Different sets of these gains were
designed using LQE. The input parameter for LQE is the
R
Q
ratio, (which is the
ratio between the sensor and process noise) — Q was fixed at 1 and R was varied to
create different gains. For the tracking loop, the process noise reflects the dynamics
of the antenna (jerks and accelerations); the sensor noise reflects the noise in the RF
electronics and the correlation process. The software was modified so that these precalculated loop gains were externally commandable while the receiver was tracking.
This design feature gives the receiver greater robustness. If the receiver cannot track
the GPS signals due to the vehicle dynamics during orbital operation, the bandwidth
can be set higher with a single command from the science computer or from operators
4.3. RECEIVER DESIGN INNOVATIONS
83
on the ground. This will increase some of the noise on the measurements, but at least
the receiver will be able to track the signals robustly.
To measure the noise present for a given bandwidth, the phase measurements
were saved while the receiver was tracking, and then analyzed in post-process using
GSAT-NAT (see Section 3.3). Figure 4.8 shows the signal noise level on a single
channel. This technique gives an effective measure of the standard deviation for
noises with short time correlation. Errors with long time correlations or biases will not
be captured using this technique. Note that the measured signal noise also includes
synchronization errors, which will be discussed further in Section 7.2.4. Figure 4.8 was
generated using data from the GSFC FFTB, and the measured noise has a standard
deviation of about 3 mm (double difference noise level). Data from the outdoor tests
yielded noise on the order of 4-5 mm for carrier phase. The larger outdoor noise
is to be expected from multipath and other real-sensor noise sources. Qualitatively,
the residuals are similar between the outdoor and FFTB tests, and this consistency
builds confidence in the validity of the simulations.
Figure 4.9 plots the experimentally measured carrier phase and Doppler noise levels, as a function of bandwidth. This data was generated using the FFTB simulator.
Two different carrier phase tracking loop rates (100 Hz and 1 kHz) were implemented.
For each rate, a series of different gain sets were used, and the resulting phase and
phase-rate noise levels were measured for that gain-set. Figure 4.9 shows that the
Doppler noise is at least an order of magnitude higher than the phase noise. At lower
bandwidths, the measured noise approaches a threshold value, which is determined
primarily by the ability to synchronize measurements (see Section 7.2.4).
Based on this study, a loop bandwidth of 15 Hz, with a 100 Hz tracking loop,
was selected for nominal operation. This loop bandwidth corresponds to a noise
bandwidth (Bn ) of about 21.5 Hz.3 One could select a lower bandwidth and have
less noise. Indeed, in research concurrent with this thesis, Montebruck et al. use
3
The noise bandwidth is an integration of the magnitude response in figure 4.7. The “hump”
in the curve before it attenuates causes the noise bandwidth to be larger than the loop bandwidth.
Generally, the noise bandwidth and loop bandwidth for a PLL are fairly close. The bandwidth
selected was very conservative; aircraft, which expect much higher jerk stress, will often use a loop
bandwidth of 15 Hz [PE03].
84
CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER
Double Difference Carrier Phase Analysis for Channel 25
−3155
raw data
poly fit
Measurments (m)
−3160
−3165
−3170
−3175
−3180
−3185
0
50
100
150
200
250
300
350
400
0
50
100
150
200
time (sec)
250
300
350
400
0.015
residual (m)
0.01
0.005
0
−0.005
−0.01
Figure 4.8: The residual short time correlated noise on the carrier phase
signal. The curve of the line in the upper plot is due to the
acceleration in the range. There is a higher degree of curvature
for orbital tests. Note that these residuals are for the double
differences.
a similar tracking loop and report noise levels of 1.1 mm on their single-difference
carrier phase [OM02a]. However, a tracking loop with a 15 Hz bandwidth should be
very robust against cycle slips even in the face of unexpected dynamic disturbances.
Furthermore, Section 7.2 will demonstrate that this noise level is still much smaller
than the noises introduced by other external sources. Therefore, it was decided to
use a tracking loop with more noise, but less susceptibility to cycle slips. While this
bandwidth value is used for the results presented in this dissertation, the receiver was
tested at a variety of lower bandwidths (as is evident in Figure 4.9).
4.3. RECEIVER DESIGN INNOVATIONS
85
Measurement Noise as Function of Tracking Loop Bandwidth
100
100Hz Pos.
100Hz Vel
Measured Noise (cm, cm/s)
10
1
0.1
1
10
Loop Bandwidth (Hz)
Figure 4.9: The noise on the carrier phase and phase rate are functions of the
tracking loop bandwidth. This shows the noise level on singledifference measurements. Note that it is plotted on a log-log
scale.
To create a loop bandwidth of 15 Hz, the gains were

0.3501




L = 
7.5129


80.6184
which represents a
R
Q
(4.7)
ratio of 10−4 . This bandwidth has a measured single difference
carrier-phase noise level of about 2 mm, and a Doppler noise level of about 3.5 cm/s.
The results throughout this work were all obtained using the tracking loop gains set
to these conservative values.
Clearly, the phase-rate noise is much higher than the phase noise. This increase
in noise is expected since only the phase is directly measured, and the phase-rate is
determined within the PLL by differentiating the phase. If a dynamic model were
86
CHAPTER 4. ENHANCED DIFFERENTIAL GPS RECEIVER
included in the PLL, one would expect that the phase-rate noise could be reduced.
However, a dynamic model within the PLL greatly increases the complexity and
computational effort within the receiver software. Increased complexity is undesirable
for three reasons:
1. It is more difficult to modify the receiver software than the external navigation
filter. The receiver software is on a dedicated embedded processor, and is therefore very difficult to program and debug. It is also impossible to change the
software once the receiver is on-orbit. Software on the science computer (which
will run the navigation filter) can be modified on-orbit.
2. The PLL operates at a much higher rate (operating at 100 Hz) than the navigation filter (operating at 1 Hz). Moving additional motion calculations to the
tracking loop will greatly increase the computational loading of the processor.
3. The dynamic model could potentially require additional information from external sources. Sending data to the embedded processor increases internal communication bandwidth requirements.
For these reasons, the receiver software was designed with the most general and simple
PLL, and all dynamic modeling was done in the external navigation filter (described
in Chapter 5).
4.4
Summary
In conclusion, the GPS receiver was modified to operate in orbit. The communication
interfaces were changed to handle the logistical issues of formation flying in orbit,
with limited communication resources. The clock slewing was stabilized to handle
long experiments. An orbit propagator was included to ensure achieving navigation
fix at orbital velocity. Finally, the tracking loop was modified to have a conservative bandwidth, but still provide sufficiently low-noise measurements. An adjustable
bandwidth feature was also added, to improve robustness in case of unexpected operational contingencies.
Chapter 5
Relative Navigation Filter
Following the road map to the system in Figure 2.6, the next step is the filter. The
previous chapter described the receiver and the measurements that it provides. These
measurements are sent to the filter, which then uses them to update the estimate of
the state.
The filter used is an Extended Kalman Filter (EKF). The objective of this research
is to find the simplest filter design that meets the performance goals, as discussed in
Section 1.1.3. How sophisticated must the models and the methods used in the filter
be to achieve the desired accuracy? This chapter answers this question, and presents
the resulting EKF design.
5.1
Kalman Filter
Consider a discrete nonlinear system
xk+1 = fk (xk , wk , uk )
yk = hk (xk , ν k )
where
xk
= the state vector at discrete time-step k
yk
= the measurement vector at discrete time-step k
87
(5.1)
(5.2)
88
CHAPTER 5. RELATIVE NAVIGATION FILTER
fk (·) = the discrete nonlinear time-varying function propagating the current state at time k to the next discrete time k + 1
wk
= the process noise, which is the unknown or unmodeled effects in
the state dynamics during the time interval from k to k + 1
uk
= control commands initiated at discrete time k
hk (·) = the nonlinear time-varying observation function relating the current state vector to the measurement vector at time k
νk
= the sensor noise, which is the unknown or unmodeled effects in the
measurements at time k
A subset of this general description are discrete linear systems,
xk+1 = Φk xk + wk + uk
y k = Hk x k + ν k
(5.3)
(5.4)
where
Φk = the linear state dynamics matrix, which is a time-varying function
propagating the current state at time k to the next discrete time k + 1
Hk = the linear observation matrix, which is also time-varying, relating the
current state vector to the measurement vector at time k
For a linear system, the Kalman Filter is the optimal recursive estimator. For
nonlinear systems which cannot be effectively approximated as linear, the Extended
Kalman Filter (EKF) is used to estimate the state, x. It is well known that the EKF
is not optimal [AG74, BH92]. Relative navigation using GPS is a nonlinear problem.
Therefore, the problem must either be linearized and used in a standard Kalman
filter, or the nonlinear system must be used within an EKF. Both approaches are
potentially sub-optimal.
A recursive filter is one that takes measurements at discrete time intervals, and
over time improves the estimate of the state using these measurements. It has two
5.1. KALMAN FILTER
89
Figure 5.1: The Kalman filter has two stages: A time propagation going from
t(k) to t(k + 1) and a measurement update. The measurement
updates the a priori estimate x− , and becomes the a posteriori
estimate x+ .
stages. The first stage is the measurement update, which updates the a priori state
+
estimate x̂−
k and creates the a posteriori estimate x̂k . The next stage is the time
propagation, which uses a dynamics model of the system to propagate the estimate
−
x̂+
k from time k to the next discrete time, x̂k+1 .
The derivation and the final equations comprising the Kalman Filter and Extended
Kalman Filter are very similar. For this reason, this thesis will refer to just the
Kalman Filter, but the reference to a nonlinear or linear filter will be clear by the
context.
The Kalman Filter creates an estimate of the state by balancing two sources of information: measurements and models. The filter uses models of the system dynamics
and of the measurement process. The filter also considers the physical measurements
from the sensor. Both sources will have uncertainties or noises within them. This
leads to uncertainty and error in the estimate. The uncertainty is represented by covariances. The Kalman filter is designed to minimize the estimate error by weighting
the model and the measurements inversely proportional to their uncertainty.
For Kalman Filters, this relationship is captured in the Kalman gain equation:
−1
Kk = Pk− HkT Hk Pk− HkT + R̂k
(5.5)
90
CHAPTER 5. RELATIVE NAVIGATION FILTER
where
Pk− = the a priori covariance of the current state estimate error at discrete
time k
R̂k = the expected covariance of the measurement noise at discrete time k
For the nonlinear case, the observation matrix is the Jacobian of the observation
function, which is defined
Hk =
∂hk ∂x x=x̂−
(5.6)
k
The state error covariance is defined as:
Pk = E{x̃k x̃Tk } = E{(x̂k − xk ) (x̂k − xk )T }
(5.7)
The Kalman gain, Kk , is a function of the state covariance, Pk . For this reason, the
covariance must be propagated and updated accurately for proper filter performance.
The update of the covariance is performed by:
Pk+ = (I − Kk Hk ) Pk− (I − Kk Hk )T + Kk R̂k KkT
(5.8)
Equation 5.8 is referred to as the Joseph form of the covariance update, and is used
because it provides a more numerically stable algorithm [PJ68]. The covariance is
propagated from discrete time-step k to k + 1 using
−
Pk+1
= Φk Pk+ ΦTk + Q̂k
(5.9)
where Q̂k is the expected process noise covariance matrix. Note that the dynamics
for this system are described in continuous form (see Section 2.1.3). The dynamics
are of the form
ẋ(tk ) = f (x(tk ), w, u)
(5.10)
5.2. MOTIVATION FOR FILTER DESIGN
91
The linear propagation matrix, Φk , requires two steps to derive. First, the nonlinear
continuous function is linearized, by taking the Jacobian of f (·), so that
F =
∂f ∂x x=xk
(5.11)
In an estimator, the function f (·) must be linearized about the best state estimate,
x̂−
k . This linearized continuous function, F , must then be changed to its discrete
form, using
Φk = eF ∆t
(5.12)
where ∆t is the time interval for the discrete system.
These equations recursively determine the state covariance over time, which in
turn is used to find the Kalman gain. If Hk and Φk are known for all time, then the
Kalman gain and state covariance can be defined for all time given just an initial state
covariance. There is no feedback between the state estimate or measurements and
the Kalman gain. In some cases, the lack of feedback can lead to divergence between
the expected covariance and the actual errors; this is further addressed in Chapter 8.
5.2
Motivation for Filter Design
Performing relative navigation using real hardware in realistic environments is not
easy, even though it can seem simple in MATLAB simulations. Figure 5.2 shows the
results from a reasonably simplified MATLAB simulation. An environment was used
that assumed process noises and sensor noises with white Gaussian distributions. It
neglected ephemeris and ionospheric measurement errors, and used only a Keplerian
model for the motion dynamics. The filter used was a simple Extended Kalman
Filter, with R̂ and Q̂ set to the expected noise levels. As shown in Figure 5.2, the
filter performs well, and over time is able to achieve centimeter-level accuracy.
However, if this same filter is used for data from GSFC FFTB hardware-in-theloop tests using the same formation, the performance is unacceptable, as shown by the
92
CHAPTER 5. RELATIVE NAVIGATION FILTER
Relative Carrier Position Error (LVLH)
Radial (m)
0.1
0.05
0
−0.05
−0.1
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time(sec)
2000
2500
3000
In−Track (m)
0.1
0.05
0
−0.05
−0.1
Cross−Track (m)
0.1
0.05
0
−0.05
−0.1
Figure 5.2: This plot shows the position error over time in the RIC frame.
Using a simple MATLAB simulation, based on the same assumptions as the filter use, the filter appears to perform very well.
(Scale ±0.1m)
position error results in Figure 5.3. The plot shows that the error does not converge
over time, and the covariance is not a reasonable indicator of the actual performance.
This behavior is clearly not acceptable for a filter that will be used in a real system.
Why are the two performances so different? The assumptions made in developing
the simulation environment are poor models of reality. As a result, the simple filter
designed in the simulation environment was not adequate for the small but important differences between the MATLAB simulation and the hardware simulation. The
filter must be sufficiently robust to perform in the presence of real conditions. The
error sources that caused the differences between Figures 5.2 and 5.3 will be further
analyzed in Section 7.2.
There are several areas where differences may arise between simulation and reality.
Do the models in the filter accurately represent what is occuring in reality? Do the
5.2. MOTIVATION FOR FILTER DESIGN
93
Relative Carrier Position Error (LVLH)
Radial (m)
1
0.5
0
−0.5
−1
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time(sec)
2000
2500
3000
In−Track (m)
1
0.5
0
−0.5
−1
Cross−Track (m)
1
0.5
0
−0.5
−1
Figure 5.3: Now, using the same filter as was used for Figure 5.2, but with
hardware-in-the-loop data, the performance is no longer acceptable. Notice the scale is much larger (±1 m). Special attention
must be given to the filter design.
parameters Q and R accurately represent the actual process and sensor noises that are
present? Is the method used to incorporate the measurement, or the method used to
propagate the state, accurate? Is the initial estimate accurate enough for the filter to
converge? All of these design options will impact the filter estimation accuracy. The
models and methods for the measurement update and the time propagation within
the Kalman Filter can be designed independently. The initialization of the filter
must also be carefully designed. The goal is a simple filter design that still provides
acceptable performance in a real-world environment.
94
CHAPTER 5. RELATIVE NAVIGATION FILTER
5.3
5.3.1
Measurement Update
Measurement Models
The measurement model is based on the model of the single difference carrier phase, as
shown in Equation 2.24, and the single difference Doppler, as shown in Equation 2.25.
Relating the state vector to the measurement vector requires grouping the models for
all of the measurements together. There are two options: using the carrier phase
and Doppler measurements, or just using the carrier phase measurements alone. The
expected measurement function, ĥ0k (x̂−
k ), when using phase and Doppler is

ŷk0
1i
1j
∆βij1
∆B̂ij1
kr̂ − r̂i k − kr̂ − (r̂i + ∆rij ) k + ∆bij +
+

.

..


 kr̂Ni − r̂i k − kr̂Nj − (r̂i + ∆rij ) k + ∆bij + ∆βijN + ∆B̂ijN

= 
 ˙ 1i ˙ 
r̂ − r̂i · los1i − r̂˙ 1j − r̂˙ i + ∆ṙij · los1j + ∆ḃij + ∆Ḃij1


..

.
 ˙r̂Ni − r̂˙ i · losN − r̂˙ Nj − r̂˙ i + ∆ṙij · losN + ∆ḃij + ∆Ḃ N
i
j
ij


∆Iˆij1 (r̂i , ∆r̂ij , r̂m ) + ν∆φ


..


.


 ˆN

 ∆Iij (r̂i , ∆r̂ij , r̂m ) + ν∆φ 


+

ν∆φ̇




..


.


ν∆φ̇
= ĥ0k x̂−
k +ν














(5.13)
(5.14)
Equation 5.13 is the model used in the filter, and can be compared to the actual
measurement, shown in equation 2.42. A model of the ionosphere is used to determine
an estimated value for ∆Iijm . Any error in this estimate, as well as the ephemeris error
and other noises is now considered part of the sensor noise, ν∆φ . These errors are
analyzed in Section 7.2.
5.3. MEASUREMENT UPDATE
95
This function is linearized about the state estimate x̂−
k using the Jacobian defined
in Equation 5.6. When linearizing ĥk (x̂−
k ), the ionosphere, differential GPS clock
offset, and ephemeris error are neglected. It will be shown in Section 7.2 that neglecting these terms introduces less error than the linearization assumption. Using this
simplification, the Jacobian when using carrier phase and Doppler is expressed as
Hk0 =
"
LOS(N ×3) 1(N ×1)
0(N ×3)
0(N ×3)
0(N ×1) I(N ×N )
0(N ×1) LOS(N ×3) 1(N ×1) 0(N ×N )
#
(5.15)
where the subscripts indicate the dimensions of each quantity. 0(i×j) represents a
matrix of all zeros (with dimension i × j), and 1(i×j) is a matrix of all ones. N is the
number of valid measurements at each time-step. LOS is the matrix of lines-of-sight,

los1
 . 
. 
LOS = 
 . 
losN

(5.16)
If the Doppler measurements are not used, and there are only carrier phase measurements, the function ĥk (x̂k ) reduces to

ŷk

kr̂1i − r̂i k − kr̂1j − (r̂i + ∆rij ) k + ∆bij + ∆βij1 + ∆B̂ij1


..

= 
.


Ni
Nj
N
N
kr̂ − r̂i k − kr̂ − (r̂i + ∆rij ) k + ∆bij + ∆βij + ∆B̂ij


∆Iˆij1 (r̂i , ∆r̂ij , r̂m ) + ν∆φ


..

(5.17)
+
.


∆IˆijN (r̂i , ∆r̂ij , r̂m ) + ν∆φ
= ĥk x̂−
(5.18)
k +ν
and the Jacobian is
Hk =
h
LOS(N ×3) 1(N ×1) 0(N ×3) 0(N ×1) I(N ×N )
i
(5.19)
96
CHAPTER 5. RELATIVE NAVIGATION FILTER
The nonlinear and linearized form both require knowledge of the GPS satellite
states at the time they transmitted the measured signal. The states of the GPS satellites are determined from the broadcast ephemeris by using the iterative Algorithm 2
presented in Section 2.2.2.
5.3.2
Linearity
The largest driving factor for the filter design is linearity. For relative navigation
using GPS, the linearity for the measurement update is determined by the separation
between the vehicles and the GPS satellite locations. If the geometry introduces
very small nonlinearities, then a linear update method can be used. In this case,
the measurements are modeled as a linear system, and the state estimate is updated
using
−
−
x̂+
k = x̂k − Kk yk − Hk x̂k
(5.20)
where Hk has been defined in Equation 5.19. However, if the nonlinearity of the
application is too large, then Hk x̂−
k will not provide a sufficiently accurate model of
the measurement hk (xk ). In this case, a nonlinear measurement model must be used
to update the state estimate,
−
−
y
=
x̂
−
K
−
ĥ
x̂
x̂+
k
k
k
k
k
k
(5.21)
where ĥk (·) is defined in Equation 5.17. Why not just always use ĥk x̂−
to update
k
the state? The nonlinear function will often require more computational effort and
complexity to determine than Hk x̂−
k . Furthermore, the covariance must still be updated using Hk , and this leads to a departure of the state estimate from the expected
covariance.
The effect of separation distance on filter performance can be demonstrated in a
series of simulations. A series of 2-vehicle formations, each with a different separation
distance between the vehicles, can be simulated. These simulations are performed
using Simple Dynamics/Simple Measurements (SD/SM) in GSAT-RTE, to remove
5.3. MEASUREMENT UPDATE
97
any other noise or disturbance sources. The separations ranged from 100 meters to
100 kilometers in the in-track direction (radial and cross-track separations were ≈0).
As the separation increases, the nonlinearity is expected to increase. Every other
condition in the simulations, including the differential process noise, is held constant.
The simulations are run and the measurements are then used in two filters: one with
a linear update and one with a nonlinear update.
The effect of nonlinearity is measured by the vector
−
εN L = ĥk x̂−
k − Hk x̂k
(5.22)
and it is a function of the receiver states as well as the GPS states. Note that
εN L is defined as the difference between the linear model and the nonlinear model,
ĥk x̂−
k , not the actual measurement, hk (xk ). The resulting maximum and mean
values of εN L at a set time for each formation in these experiments is shown in Table
5.1. Figure 5.4 shows the resulting impact on estimation performance due to the
growing nonlinearity. The horizontal axis has the characteristic separation between
vehicles listed in kilometers. The vertical axis of the upper plot is the time-averaged
Root-Sum-Square (RSS) of the relative position estimate error in centimeters.1 The
vertical axis of the lower plot is the RSS of the relative velocity estimate error in
millimeters per second. The results shown in Figure 5.4 reflect the error introduced
by linearization alone; no other unmodeled noises or disturbances are included.
The results in Figure 5.4 clearly show that for short separations (200 m or less)
a linear model can be used without degrading the estimation performance. However,
at 1 kilometer and above, there is a significant degradation of position estimation
performance. Table 5.1 shows that at 1 km, there is already a 1–2 cm error due just
to linearity effects. As will be seen in Chapter 7, this linearization error is more significant than most other error sources. As expected, the nonlinear Extended Kalman
Filter performs much better. The position and velocity error due to separation distances remains nearly constant up to about 10 km separations. However, as distances
1
A complete description of the error calculations is given in Section 6.1.4.
98
CHAPTER 5. RELATIVE NAVIGATION FILTER
Table 5.1: The mean and maximum differences between linear and nonlinear
models.
∆r (m) maximum(εN L ) (m)
100
0.0002
200
0.0011
1,000
0.0278
5,000
0.6958
10,000
2.7830
20,000
11.0945
100,000
277.0160
mean(εN L ) (m)
0.0001
0.0005
0.0129
0.3462
1.3967
5.5924
140.6523
increase beyond that, even the nonlinear filter has a noticeable degradation in position performance. The lower plot in Figure 5.4 shows that velocity estimation is
much less sensitive to separation size, though it does follow the same trend as the
position error.
The reason that the nonlinear EKF is also sensitive to separation is because the
differential linearization error in creating Hk will grow as the lines-of-sight between the
users and the NAVSTAR satellites become less parallel. This is a second order effect,
since Hk is only used in determining the Kalman gain, Kk , but it is still significant for
very long separations. The linearization errors also impact the propagation between
time-steps, and this also contributes to the error in the EKF results (and will be
discussed further in Section 5.4). Note that for these simulations, the propagation
method was the same in both filters, and so the difference between the KF and EKF
performance is due solely to the measurement update method.
5.3.3
Measurement Method Selection
The results of Section 5.3.2 clearly illustrated the importance of the linearity in the
measurement update. The previous study can be refined by considering additional
methods to handle nonlinear measurements. A number of techniques exist, many of
which have been used by other researchers. These techniques are listed here in order
of increasing complexity:
5.3. MEASUREMENT UPDATE
99
Linearization Error Effect
RSS Pos. Error (cm)
6
5
4
3
2
1
0
0.1
1
10
100
10
100
RSS Vel. Error (mm/s)
4
EKF
KF
3
2
1
0
0.1
1
Separation Distance, ∆R (km)
Figure 5.4: Compares the linear Kalman Filter performance with the non-
linear Extended Kalman Filter performance for formations with
different separation distances between vehicles. As the distance
increases, linearization errors are introduced in the filter, degrading their performance.
1. Least Squares. In this method, the state estimate is determined from only the
current measurements using the pseudo-inverse of the linear observation matrix,
−1 T
T
so x̂+
Hk yk . Note that this method is not able to independently
k = Hk Hk
determine the carrier phase bias. Furthermore, it uses the differential Doppler
measurement to determine velocity. The advantage of this approach is that it
is the simplest, least computationally intensive approach possible.
2. Linear Kalman Filter. This is the linear method used in the previous section.
It is shown in Equation 5.20. It assumes that the measurement can be modeled
as a linear function of the state.
100
CHAPTER 5. RELATIVE NAVIGATION FILTER
3. Park’s Linear Kalman Filter [CP01].
This method is based on the linear
Kalman update, but a correction is applied to the measurements to account
for long separations between vehicles. The update is now
−
∗
−
x̂+
k = x̂k + Kk (yk ) − Hk x̂k
(5.23)
where

yk∗

∆φ1i + 1∆φ


..

= 
.


N
N
∆φi + ∆φ
(5.24)
This correction term, m
∆φ , was developed by Park as a first order correction for
the curvature in the wave front observed at long separations. It can be applied
to range or range-rate measurements,
m
m
m
m
∆φ = kr̂1 − r̂ k (1 − los1 · los2 )
m = (losm − losm ) · r̂˙ 2 − r̂˙ m
∆φ̇
2
1
(5.25)
(5.26)
The term losm
i refers to the unit vector along the line-of-sight between the
receiver indicated in the subscript and the mth GPS satellite, in the ECEF
frame. The subscripts 1 and 2 refer to the master and slave vehicle respectively.
4. Nonlinear. This is the nonlinear filter used in the previous section, and is shown
in Equation 5.21. It assumes that the measurement is a nonlinear function,
which is used in place of the observation matrix during the state estimate. The
covariance update still uses Hk .
5. Iterated Nonlinear [AG74]. It is also possible to iterate the Kalman update.
This method is useful if there are large changes in the measurement function
as the state estimate changes (i.e., Hk is a strong function of xk ). For this
5.3. MEASUREMENT UPDATE
101
technique, the state estimate on each iteration is
−
−
−
−
y
=
x̂
+
K
−
ĥ
(x̂
)
−
H
−
x̂
x̂
x̂+
k,i
k
k,i
k,i
k,i+1
k,0
k,i
k,0
k,i
−1
T
T
Kk,i = Pk− Hk,i
Hk,i Pk− Hk,i
+ R̂k
∂ ĥk,i Hk,i =
∂x +
(5.27)
(5.28)
(5.29)
x=x̂k,i
and continues until
+
kx̂+
k,i − x̂k,i−1 k < (5.30)
For this work was set at 10−4 , and usually only required two or three iterations
to reach.
This list of techniques spans the typical possibilities and complexity levels. The goal
is to see how well they work for the particular application of LEO relative navigation using CDGPS. Note that Method 1 (least-squares) requires significantly less
computational effort than the other approaches, and Method 5 (iterated nonlinear)
requires significantly more than Methods 2–4. However, Method 3 (Park’s linear)
only requires a slight increase in computational effort beyond Method 2 (linear), and
Method 4 (nonlinear) requires only a slight increase beyond Method 3.
A series of experiments using GSAT-RTE demonstrate how the performance of
these different approaches compare. To increase simulation fidelity, the Complex
Dynamics/Simple Measurement (CD/SM) approach is used for these studies. Three
sets of experiments were performed, with separation distances between vehicles of
100 m in the first set, 1 km in the second set, and 10 km in the third set.
Table 5.2 shows the results from these experiments. First, it is clear that the
velocity estimation is not strongly affected by the method selected. Focusing then
on position errors, the next point is that the linear methods (either least-square or
Kalman) are not effective for long separations, which reiterates what was shown in the
previous section. At 10 km, the errors for the linear techniques are hundreds of meters.
Using Park’s correction clearly improves the performance for larger separations by
102
CHAPTER 5. RELATIVE NAVIGATION FILTER
Table 5.2: Performance Comparison between Different Measurement Update
Methods. Numbers are time-averaged RSS errors.
Relative Position Error (cm)
Method
0.1 km 1 km 10 km
Weighted Least-Square
0.53
15.09 650.86
Linear KF
0.73
3.11 726.24
Parks KF
0.77
2.14 22.75
Nonlinear KF
1.22
0.85
3.53
Iterated Nonlinear
1.22
0.85
3.53
Relative Velocity Error (mm/s)
Method
0.1 km 1 km 10 km
Weighted Least Square N/A
N/A
N/A
Linear KF
0.29
0.34
4.20
Parks KF
0.29
0.33
0.36
Nonlinear KF
0.30
0.34
0.34
Iterated Nonlinear
0.30
0.34
0.34
more than an order of magnitude. These results illustrate why this technique is used
for initialization (see Section 5.5), and represents the first experimental validation
of this approach. However, even with the improvement, the performance of Park’s
method is still unacceptable at 10 km, with position errors of ≈20 cm.
For the nonlinear update method, there is fairly uniform performance across the
three distances (at least in comparison with the other techniques), with only about
3.5 cm error at 10 km. Finally, it is observed that the iterated technique does not
improve the standard nonlinear performance, but it does introduce a significant increase in computation. Based on the observations that the best of the linearized
approaches could not meet the performance goals beyond 1 km separations and the
iterated nonlinear filter added no extra benefit, it is clear that a nonlinear Kalman
filter is the best choice for this application.
5.4. TIME PROPAGATION
5.4
103
Time Propagation
A similar comparison can be done to determine the relative state propagation technique. Normally, the receiver provides measurements once every second. With some
minor modifications, it is possible to provide measurements at 10 Hz, but this increases the requirement for inter-satellite communication bandwidth by ten times. It
is very simple to decrease the update rate as well, by simply using the data provided
by the receiver at the desired lower rate. The time between measurement updates
is the time interval through which the filter must propagate the state. For this application, which has very low dynamics (there are only small thrusters, and natural
motions are on the order of 90 minutes), a 1 Hz update rate is more than sufficient.
5.4.1
Propagation Model
The state dynamics are presented in Section 2.1.3. For the filter, the simplest version
of this model is used,

∆r̈ij =
3

µ 
kri k (ri + ∆rij )
 + CECEF
ri − q
3
kri k
3
(kri k2 + 2ri · ∆rij + k∆rij k2 )
(5.31)
+w∆r + ∆uij
All of the perturbing forces, such as differential drag and higher order gravity
terms, are included in the process noise, w∆r . Equation 5.31 handles the position
and velocity states. The clock offset and clock drift dynamics are modeled simply as,
∆b̈ij = w∆b
(5.32)
The clock model is based on empirical observations during development. For a carrier
phase measurement to be used, there must be no cycle slip or other loss of signal.
Under this condition, the bias states are constant,
∆β̇ijm = 0
(5.33)
104
CHAPTER 5. RELATIVE NAVIGATION FILTER
These models, in Equations 5.31–5.33, create the nonlinear function,
ẋ(t) = f (x(t), ri ) + w + u
(5.34)
where x(t) is defined:2







x(t) = 






∆rij (t)


∆bij (t) 

∆ṙij (t) 


∆ḃij (t) 


1
∆βij 

..

.

(5.35)
∆βijN
and
w =
h
u =
h
iT
0(1×4) w∆r w∆b 0(1×N )
iT
0(1×4) ∆uij 0 0(1×N )
(5.36)
(5.37)
The continuous function f (·) is linearized about the current state, by modifying
the Jacobian, as expressed in Equation 5.11, to include the absolute state:
F =
∂f ∂x x=xk ,ri
(5.38)
In an actual filter, the function f (·) must be linearized about the best estimate of the
states, so xk = x̂−
k and ri = r̂i , where the absolute position estimate, r̂i , is determined
in an independent navigation filter. The linearized relative state propagation is now
determined by
ẋ(t) = F x(t) + w + u
2
(5.39)
This definition of x(t) can be compared to the discrete definition of xk , at a specific time tk ,
defined in Equation 2.39
5.4. TIME PROPAGATION
105
The linear dynamics matrix F is built from the following blocks:
F11 = 0(4×4)
F12 = I(4×4)

F21

µ 
= 3
r 

(5.40)
x2
−1 + 3 r2 −
r3
µ
Ω2e
3 yx
r2
zx
3 r2
−1 +
0

0
2Ωe

 −2Ωe 0
F22 = 
 0
0

0
0
#
"
F11 F12
F =
F21 F22
3 xy
r2
3
y2
3 r2 − rµ Ω2e
3 zy
r2
0
0 0
3 xz
r2
0
3 yz
r2
2
−1 + 3 zr2
0


0 


0 
0
(5.41)
(5.42)


0 0 

0 0 

0 0
(5.43)
(5.44)
where
x, y, z = The 3 components of the relative position.
r = The magnitude of the distance from the center of the Earth to the
follower vehicle.
The discrete linear propagation, Φk , is then determined taking the matrix exponential of F , as shown in Equation 5.12.
5.4.2
Propagation Method Selection
Several techniques exist for performing the state propagation, and just as with the
measurement update, there is a trade-off between complexity and performance. The
performance in controlled simulations of typical propagation techniques spanning the
range of complexity can be compared. The simplest technique that meets the performance target can then be identified.
The performance of the propagation method is a function of both the physical
separation between vehicles, ∆r, and the temporal separation between updates, ∆t.
106
CHAPTER 5. RELATIVE NAVIGATION FILTER
∆r impacts the accuracy of the linearized propagation matrix Φ. Uncorrected, errors
grow over time, and so a longer ∆t will scale the error magnitudes. Four sets of
experiments were performed which varied ∆r and ∆t.
1. A formation with the vehicles ≈100 m apart, with measurement updates once
per second.
2. A formation with vehicles ≈10 km apart, with measurement updates once per
second.
3. A formation with ≈100 m vehicle separations, with measurements once every
20 seconds (0.05 Hz).
4. A formation with ≈10 km vehicle separations, with measurements once every
20 seconds.
∆t of twenty seconds is still a very short interval compared to the orbital period. It
was selected for this study because it is approximately the longest practical outage
for CDGPS. Because of cycle slips and changes in visibility, the number of valid
measurements is inversely proportional to the length of the time interval.
The data from each of these simulation sets were used with a range of different
propagation methods. These methods are again listed in order of increasing complexity:
1. Generic dynamics. The system is simply modeled as an s−2 plant, so x̂k+1 =
Φ(s−2 ) x̂k , where
Φ(s−2 ) =
"
I I∆t
0
#
I
(5.45)
This is the most general dynamics model, and essentially integrates accelerations
and velocities. It is the best model to use when nothing is known about the
state dynamics, and is also the least computationally intensive.
2. Linear dynamics. A linear state propagation is used, but in this method the
dynamics matrix, Φk , is the linearized matrix of the relative Kepler orbital
5.4. TIME PROPAGATION
107
Table 5.3: Performance Comparison between Different Time Propagation
Methods
Relative Position Error (cm)
Method
0.1 km, 1 sec 10 km, 1 sec
1
Generic ( s2 )
0.86
15.02
Linear
0.88
2.55
Nonlinear
0.89
2.41
Relative Velocity Error (mm/s)
Method
0.1 km, 1 sec 10 km, 1 sec
1
Generic ( s2 )
0.62
56.33
Linear
0.30
0.60
Nonlinear
0.30
0.34
0.1 km, 20 sec
0.66
0.56
0.55
10 km, 20 sec
28.26
8.39
4.05
0.1 km, 20 sec
0.88
0.29
0.28
10 km, 20 sec
93.11
7.19
0.35
equation, as derived from equation 5.44. Note that this is similar to Hill’s
equations [MK76].
3. Nonlinear dynamics. The state is propagated using the nonlinear functions in
Equations 5.31–5.33, so that
x̂˙ k = f (x̂k , ûk )
(5.46)
Equation 5.46 is propagated using a fourth-order Runge Kutta approach. The
covariance is still propagated using Φk , as shown in Equation 5.9.
Table 5.3 shows the results of the propagation method comparison. The values show
the RSS relative position estimation error, in centimeters and the RSS relative velocity
estimation error, in millimeters per second. For the 100 m tests, regardless of time
interval, all methods perform very well (with the generic dynamic method only slightly
worse in velocity). For the 1-second time interval, regardless of formation separation,
both the linear and nonlinear propagation techniques work well, with only a slight
improvement using the nonlinear method. Only as fleet separation increases and
the time interval increases (the fourth case), is there a significant difference between
the linear and nonlinear methods. Note that for all cases, the standard nonlinear
measurement update method was used.
108
CHAPTER 5. RELATIVE NAVIGATION FILTER
The nonlinear model used is very simple, but does not propagate over long time
intervals. Therefore, the propagation technique is not as important to the overall estimator performance. In other applications (highly elliptic orbits or GEO) where GPS
measurements are not available for long periods of time, the propagation technique
will be of greater importance. For Low Earth Orbit relative navigation though, even
using a linear Keplerian model for the state dynamics may be sufficient. For the work
presented in this dissertation, the nonlinear state propagation technique is used for
the filter design. This maintains consistency during development, and allows uniform
analysis across different time intervals.
Another option for the measurement update and the time propagation is the
Unscented Kalman Filter (UKF), introduced by Julier [SJ97]. It was developed as
a means to propagate and update the covariance for highly nonlinear systems. The
technique was also implemented during these trade studies. However, it was found to
be much more computationally intensive, while there was no apparent improvement
over the EKF.
5.5
Filter Initialization
Since relative state estimation is a nonlinear system, it is especially sensitive to the
filter initialization [AG74]. The initial state estimate is determined by taking the
least-square solution of the differential code phase measurements (∆ρ) and differential Doppler measurement (∆φ̇). For close formations (vehicles less than 1 km apart),
this method gives an initial estimate with an accuracy of 2-4 m. However, for larger
separations, the error in the least squares solution can be much larger, as discussed in
Section 5.3.2. To compensate, Park’s algorithm [CP01] for correcting long-separation
measurements is implemented. Using this technique, separations of hundreds of kilometers can still be initially determined to within a few meters. With the corrected
5.5. FILTER INITIALIZATION
109
measurements, the initial state estimate is found


−los11 1

..
.. 
G = 
.
. 


n
−los1 1
−1 T
G
G† = GT G
#"
#
"
†
0
∆ρ
G
0
=
x̂−
0
0
∆φ̇
0 G†
(5.47)
(5.48)
(5.49)
where
∆ρ0 =
∆φ̇
0
=
h
h
N
∆ρ1ij + 1∆φ · · · ∆ρN
ij + ∆φ
N
∆φ̇1ij + 1∆φ̇ · · · ∆φ̇N
ij + ∆φ̇
iT
(5.50)
iT
(5.51)
m
and the terms m
∆φ and ∆φ̇ are defined in equations 5.25 and 5.26.
Since the initial estimate is determined by the code phase estimate, the initial
covariance is set to reflect this. It is determined upon initialization as follows
P∆r = G† (σν∆ρ )2 G†
T
T
G†
P∆ṙ = G† (σν∆φ̇ )2
#
"
diag(P
)
0
∆r
P0− =
0
diag(P∆ṙ )
(5.52)
(5.53)
(5.54)
where
σν∆ρ = the expected standard deviation on the differential code phase noise.
σν∆φ̇ = the expected standard deviation of the differential Doppler noise
To insure that P0 is positive definite, only the diagonals of the sub-matrices P∆r and
P∆ṙ are used.
As the vehicles travel along the orbit, new GPS satellites will come into view, and
new carrier biases will need to be added to the state. The initial estimate of the biases
110
CHAPTER 5. RELATIVE NAVIGATION FILTER
is determined from the difference between the expected and measured range [EO99]
m
m
∆β̂ijm = ∆φm
−
kr̂
−
r̂
k
−
kr̂
−
r̂
k
+
∆
b̂
i
j
ij
ij
(5.55)
and an original algorithm was developed to determine the initial covariance for that
specific bias estimate,
−
(σβ )2 = GP∆r
GT + (σν∆φ )2
(5.56)
where
σβ
= the initial standard deviation for the new bias estimate, this is
entered on the diagonal of the covariance matrix, P
−
P∆r
= the a priori relative position sub-block of the covariance matrix
(σν∆φ )2 = the covariance of the expected noise on the ∆φ measurement
Using this technique, the new measurements are brought on-line in a seamless transition.
Chapter 6
Hardware-in-the-Loop
Demonstrations
This chapter presents the results from hardware-in-the-loop (HWIL) simulations performed using the NASA Goddard Space Flight Center (GSFC) Formation Flying
Test Bed (FFTB). The experiments used actual prototype GPS receivers designed
for the Orion mission (as described in Chapter 4). Four separate receivers are used
to simulate several formations of four vehicles.
6.1
Conditions
This section defines the simulation conditions for the results reported in Section 6.2.
It describes the FFTB conditions, the filter settings used, and the formations that
were tested.
6.1.1
Formation Flying Test Bed
The FFTB has many parameters and levels of fidelity in its simulation environment [SP01, JS99]. These parameters are user selectable and relate to both the user
dynamics as well as the RF signal characteristics.
111
112
CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS
For the dynamics, the simulation used a tenth-order gravity model. Since the filter
uses a first-order model, this gravity model is sufficiently advanced for evaluating the
receiver and filter performance. The atmospheric drag model is based on Lear’s
atmospheric model. All user vehicles were modeled identically, with a surface area
of 1 m2 , a drag coefficient of 2, and 0.1 metric tonne (which is the smallest mass the
simulator would model). Furthermore, all vehicles were constrained to a nadir earthpointing attitude, which will result in almost identical drag forces on all vehicles.
The antenna is assumed to be at the center of gravity, with the antenna aligned with
the axis pointing out the radial direction. GPS satellites with elevation angles with
respect to the user less than 5◦ were not used for navigation (this angle is referred to
as the mask angle).
For the GPS RF signals, a diverging ephemeris and clock model was used, as
specified in NATO Standard Agreement STANAG 4294 Issue 1. This simulates a
divergence between the actual GPS satellite state and the broadcast ephemeris state.
The ionosphere was modeled as Equation 2.18. The Total Electron Count was assumed constant, at 10−16 . This represents an unrealistic simplification, since the TEC
will normally vary depending on a number of conditions (including whether it is day
or night). The constant TEC model is used here as a place-holder for more advanced
ionospheric mitigation approaches, such as using a dual-frequency receiver, and allows
further analysis of the other noise sources. There is also no multipath noise in the
simulation, but this is not expected to be a significant error source for microsatellites.
6.1.2
Filter
The decentralized filter for these demonstrations used the nonlinear update method,
using Equation 5.21, and the nonlinear measurement model of Equation 5.17. The
nonlinear propagation method, as given in Equation 5.46, is implemented, based on
the models in Equations 5.31–5.33. The filter used an ionospheric model based on
the same model that the simulator used. This will almost completely remove the
ionospheric effect. The ionospheric effect is only important for formations with long
separations between vehicles (over 1 km)—this will be further discussed in Section
6.1. CONDITIONS
113
Table 6.1: Initial Orbital Parameters for 1 km In-Plane Elliptical Formation
Veh.
1
2
3
4
Time:
a(m)
e
7017995.7 0.005000
7017988.6 0.005103
7018005.0 0.004862
7017992.8 0.005038
10:00:00 UTC 21 July
i(◦ ) Ω(◦ )
28.5 0.00
28.5 -1.13
28.5 -0.43
28.5 1.59
2003
ω(◦ )
-88.76
-88.76
-88.76
-88.76
M(◦ )
135.00
136.13
135.42
133.44
7.2.2. For these cases, the fact that the same ionospheric model was used in both
the filter and the FFTB simulator means that the results represent a lower bound for
the estimator performance. Only carrier-phase, single-difference measurements were
used. The update rate was 1 Hz.
6.1.3
Formations
For this dissertation, a series of different formations based on the same master orbit
have been run. The orbit simulated has an altitude of ∼450 km, eccentricity of 0.005,
and 28.5◦ inclination.
Several different formations were simulated. The ranges of formation sizes are
based on typical formation sizes planned for the Orion mission [OR01]. They are also
similar to those planned for TechSat-21 [TSAT]. The formations simulated were:
1. 100 m In-track. Here the vehicles are in the same orbital path, and all separated
one from another by 100 m in the in-track direction. The separation between
vehicles is purely a difference in the mean anomaly of each vehicle. They are
all in line, so there is a 300 m spread between the first and last vehicle in the
row, with the master vehicle being the second vehicle.
2. 10 km In-Track. This formation is the same as the previous, but the vehicles
are all spaced ten kilometers from each other. Again, the master vehicle is the
second vehicle in the row, with a 30 km spread between the first and last vehicle.
3. 1 km In-plane ellipse. This formation is considered the baseline demonstration
for meeting Orion’s performance targets. The elliptical formation is a simple
114
CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS
example of a passive aperture, which is of interest to a variety of research applications [GI00, RS99]. The master vehicle follows the reference orbit. The other
three vehicles move about the master vehicle in an elliptical path in the local
frame around the reference vehicle. All relative motion is within the orbital
plane. The three slave vehicles are spaced with an equal angular separation
radians between slave vehicles). The elliptical path
between one another ( 2π
3
in the local frame is 1 km (radial) × 2 km (in-track). The relative velocity
between the vehicles in this formation is on the order of 2-3 m/s. The initial orbital elements to create this formation are given in Table 6.1. Figure 6.1 shows
the in-plane, LVLH frame projection of the motion of the vehicles for a portion
of this experiment (only a short period was shown to maintain clarity).
4. 1 km Out-plane ellipse. This formation has the same elliptical motion as the
in-plane ellipse, but the ellipse was canted out of the orbital plane. This out-ofplane motion introduces greater differential J2 accelerations, which will cause
greater process noise.
5. 10 km In-plane ellipse. This formation is the same as the 1 km case, except the
ellipse is 10 km × 20 km.
6. 1 km Thrusting. For this case, only three vehicles are used. They begin in an
in-track formation, with one vehicle 1 km ahead of the reference vehicle, and
the other 1 km behind. At a predetermined time, both vehicles perform a tensecond thrust firing using previously generated control commands, changing the
formation from an in-track formation into an elliptical formation. The firing
(after an initial 0.5 sec jerk period) was a constant 0.1 m/s2 input. This thruster
firing is applied in the GSFC simulator. The thruster commands are also fed
to the filter, with a random 10% error added to simulate thruster noise. This
experiment was to test the GPS receiver’s ability to track through accelerations
as well as the filter’s ability to handle the noisier acceleration process.
6.1. CONDITIONS
115
Motion of fleet in LVLH Frame
2000
1500
Radial Direction (m)
1000
500
0
−500
−1000
−1500
−2000
−2000
−1500
−1000
−500
0
500
In−Track Direction (m)
1000
1500
2000
Figure 6.1: This is the in-plane elliptical motion of three slave vehicles (start-
ing at the “o” positions) around a reference vehicle (marked by
“+”). The motion is shown in a local reference frame, looking
down into the orbital plane.
6.1.4
Statistics
The error in the state estimate is used as the performance figure of merit, which is
defined as x̃k = x̂k − xk . Specifically, the states of interest are relative position and
relative velocity. The clock states and phase biases are only solved for in order to
determine the position and velocity.
Two different measures of this error are made. The first is the statistical mean
and standard deviation of the error over time. The second is the mean of the 2norm of the error at every time-step. These statistics were taken over the last half
of the simulations, to ensure that the bias estimates had converged. These provide
a measure of the steady-state performance. No quantitative measure of the initial
transient response is made.
116
CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS
The mean and standard deviation of the error are measured in each axis. This
allows for comparison of the errors in the different directions. Because of the geometry
of the GPS satellites, it is expected that the errors would be larger in the radial
direction. It is also expected that since the greatest disturbances act primarily in the
direction of the velocity, that there will be larger errors in the in-track direction. For
the radial direction (indicated by the variable x) in the local frame, the mean and
standard deviation of the error are:
µjx
kf
1 X j
=
x̃
nk k=k k
(6.1)
kf
2
1 X j
=
x̃k − µjx
nk k=k
(6.2)
i
σxj
i
where the superscripts indicates the slave vehicle, kf is the final time-step (at time
tf ), ki is the initial time-step (at time ti ), and nk is the number of time steps between
ki and kf . The same equations exist for the in-track (y) and cross-track (z) directions.
To measure the combined mean and standard deviation of the error, the rootsum-square (RSS) of the mean and standard deviation over the three dimensions is
taken. This RSS process is performed for each differential solution in the formation
(so for a formation with four vehicles, there would exist three differential solutions).
The average of these RSS values is taken across the differential solutions, providing
a single number for the mean and standard deviation of the error for the formation.
µformation
1 X
=
N − 1 j=2
q
j 2
j 2
j 2
(µx ) + (µy ) + (µz )
(6.3)
σformation
1 X
=
N − 1 j=2
q
j 2
j 2
j 2
(σx ) + (σy ) + (σz )
(6.4)
N
N
where N is the number of vehicles in the formation.
6.2. RESULTS
117
To determine the norm of the error for vehicle j, r̃j , the mean of the norm is taken
over time,
r̃
j
kf q
1 X
=
(x̃jk )2 + (ỹkj )2 + (z̃kj )2
nk
(6.5)
k=ki
This provides a single scalar value for each differential solution in the formation. The
mean of these norms can then be taken over all the differential solutions, providing a
single formation value,
1 X j
=
r̃
N − 1 j=2
N
r̃formation
(6.6)
where r̃formation is the formation relative position error magnitude. The same procedure for means, standard deviations, and norms, are also applied to velocities.
6.2
6.2.1
Results
General Performance
For all experiments, data storage of the raw measurements began after all four of the
receivers achieved navigation fixes. The receivers performed “warm” starts, where
they were provided almanac information for the NAVSTAR constellation, a rough
current position guess (often wrong by several hundred kilometers), and a rough
current time guess (off by up to fifteen seconds). The receivers can reliably and
repeatedly achieve navigation lock; this was accomplished hundreds of times during
the course of development. A navigation fix was usually attained, and active tracking
initiated, in less than two minutes after the simulation began.
Absolute estimation was performed using a least-squares point solution. Little
effort was made to improve absolute state estimation in order to demonstrate the
robustness of the relative navigation even with fairly coarse absolute estimates. Generally, the absolute position error was on the order of 20 meters, and absolute velocity
118
CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS
Absolute Position Error (LVLH)
Radial (m)
20
10
0
−10
−20
500
1000
1500
2000
2500
3000
3500
500
1000
1500
2000
2500
3000
3500
500
1000
1500
2000
Time(sec)
2500
3000
3500
In−Track (m)
20
10
0
−10
−20
Cross−Track (m)
20
10
0
−10
−20
Figure 6.2: Absolute Position Error over time, in the ECEF frame of ref-
erence. Absolute navigation was performed using least-square
point solutions, and achieved ≈20m accuracy.
error was on the order of 0.1 m/s. Figure 6.2 shows the absolute position error from
one of the hardware-in-the-loop demonstrations, and Figure 6.3 shows the absolute
velocity error for the same simulation. Similar performance was observed in groundbased outdoor tests. The results are also similar to performance that has already
been demonstrated on orbit [RC01, PA99].
Low Earth Orbit provides excellent visibility of the GPS satellites, as shown in
Figure 6.4. The upper plot shows the number of commonly visible satellites used for
the relative navigation solution for the 1 km elliptical formation. The corresponding
GDOP is shown in the lower plot. At times all twelve channels were actively tracking.
Because of the high number of commonly visible satellites, and the fact that some
of the valid satellites are at low elevations, very good GDOP was common. It can
also be seen that the number of satellites used changes rapidly, since the receiver
is moving at orbital velocities. This requires the state and measurement vectors to
6.2. RESULTS
119
Radial (m/s)
Absolute Velocity Error (LVLH)
0.2
0.1
0
−0.1
Cross−Track (m/s)
In−Track (m/s)
−0.2
500
1000
1500
2000
2500
3000
3500
500
1000
1500
2000
2500
3000
3500
500
1000
1500
2000
Time(sec)
2500
3000
3500
0.2
0.1
0
−0.1
−0.2
0.2
0.1
0
−0.1
−0.2
Figure 6.3: Absolute Velocity Error over time, in the ECEF frame of refer-
ence. Using least-square point solutions of the Doppler measurements, an accuracy of ≈0.1 m/s was achieved.
constantly change dimensions — impacting every matrix in the filter. It also requires
new carrier phase biases to be initialized frequently.
6.2.2
1 km Results
This section presents the results from the 1 km elliptical formation. This formation
was used to set the performance baseline for this research.
The three slave vehicles each compute a differential solution with respect to the
master vehicle simultaneously and independently. Figure 6.5 shows the position errors
for the three simultaneous relative solutions, and Figure 6.6 is an enlarged view of
the same data. Figure 6.7 shows the relative velocity errors. The three subplots in
each figure correspond to the projections of the error into the Radial, In-Track, and
Cross-Track directions.
120
CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS
Performance Record
12
Number SVs
11
10
9
8
7
6
0
500
1000
1500
2000
2500
3000
3500
4000
0
500
1000
1500
2000
Time(sec)
2500
3000
3500
4000
1.6
1.5
GDOP
1.4
1.3
1.2
1.1
1
0.9
Figure 6.4: The upper plot shows the number of commonly visible satellites
used for the relative navigation solution. The lower plot shows
the corresponding GDOP. The LEO environment provides excellent visibility and GDOP.
At the start of the simulations, there are large position errors (on the order of 2-5
m). This initial position error is due to the initial carrier phase bias estimate errors,
which in turn are caused by the inherently larger errors in the code phase measurements. Over time, the biases become observable through the natural motion of the
vehicles, and the position solution converges. The results in Figure 6.5 show that the
biases are determined within 5 minutes. This is typical in all of the formations simulated. After the initial convergence, the biases on new measurements coming on-line
are determined, as discussed in Section 5.5. Figure 6.4 shows that new measurements
come on-line frequently during the simulation, and yet this initialization process does
not disturb the position or velocity estimates.
Table 6.2 gives the means and standard deviations of the errors across the fleet’s
three solutions, as defined in Equations 6.1–6.2. The values are given for the Radial
6.2. RESULTS
121
Relative Position Error,(LVLH)
Radial (m)
0.1
0.05
0
−0.05
In−Track (m)
−0.1
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time (sec)
2000
2500
3000
0.1
0.05
0
−0.05
Cross−Track (m)
−0.1
0.1
0.05
0
−0.05
−0.1
Figure 6.5: Relative Position Error over time, projected in the Radial, In-
Track, and Cross-Track directions. Position Error for three independent simultaneous solutions for 1km in-plane ellipse during hardware-in-the-loop experiments Note biases are determined
within five minutes, and less than 2 cm position error (1-σ) is
achieved.
(R), In-Track (I), and Cross-Track (C) directions. Note that all computations within
the filter are done in ECEF, and they are only translated into RIC coordinates in
post-processing for display purposes. Comparing the errors in the RIC directions
provides insight into the estimator error sources. As expected, the errors are larger
in the radial and in-track directions (due to geometry and highest process noise,
respectively), and smallest in the cross-track direction.
122
CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS
Relative Position Error,(LVLH)
Radial (m)
0.02
0
In−Track (m)
−0.02
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time (sec)
2000
2500
3000
0.02
0
Cross−Track (m)
−0.02
0.02
0
−0.02
Figure 6.6: An enlarged view of relative position error shown in Figure 6.5.
This view shows clearly that there is correlation between the
relative position solutions.
The position error has a mean of 0.2–1.1 cm, and a standard deviation of 0.3–
0.7 cm. The velocity error has a mean of ≈0.03 mm/s and a standard deviation
of ≈0.3 mm/s. The velocity mean error is extremely low, which is encouraging,
because, in general, active control algorithms are very sensitive to the velocity error
mean [MT01]. It can also be observed that the velocity error appears very “white”
(with no long time-correlated errors), which is a sign of a “healthy” filter. For the
1 km elliptical formation, the estimator performance is better than required.
6.2. RESULTS
123
−3
Radial (m/s)
2
Relative Velocity Error,(LVLH)
x 10
1
0
−1
−2
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time (sec)
2000
2500
3000
−3
In−Track (m/s)
2
x 10
1
0
−1
−2
−3
Cross−Track (m/s)
2
x 10
1
0
−1
−2
Figure 6.7: Relative Velocity Error over time, projected in the Radial,
In-Track, and Cross-Track directions. The error is less than
0.5mm/s, and appears very“white”, which is an encouraging sign.
6.2.3
Compiled Results
Table 6.3 shows a compiled list of results for the different formation variations. These
statistics are calculated as described in Section 6.1.4, and Table 6.3 specifically lists
values computed using Equations 6.3–6.4. The error plots for these formations are
shown in Appendix A.
First, it is clear that for the close formations (all the cases at 1 km or less), the
performance is better than the target precision. As expected, the position accuracy
degrades for the long separation formations. Section 7.2 shows that the primary source
124
CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS
Table 6.2: Relative State Estimation Results: 1km In-Plane Elliptic Formation
Rel. State Error
Position (cm)
Velocity (mm/s)
R
I
C
R
I
C
Mean (µ) St. Dev.(σ)
0.251
0.454
1.061
0.660
0.159
0.285
0.032
0.156
0.001
0.275
0.017
0.107
Table 6.3: Compiled Results for Various Formations
100m In-Track
1 km In-Plane
1 km Out-Plane
1 km Thrusting
10 km In-Track
10 km In-Plane
Target
Position (cm)
Velocity (mm/s)
Mean (µ) St.Dev. (σ) Mean (µ) St.Dev. (σ)
0.93
0.46
0.01
0.32
0.83
0.82
0.04
0.33
1.03
0.54
0.04
0.34
1.38
0.60
0.02
0.83
5.76
1.92
0.07
0.40
2.83
1.55
0.04
0.54
2.00
0.50
of this error is from differential ephemeris and ionospheric effects. The ephemeris and
ionospheric errors have very long time-correlation, and therefore cause the position
error to have a higher mean than standard deviation. Likewise, they have very little
impact on velocity. Velocity accuracy is very good in all cases.
6.2.4
Correlation of Differential Errors
These results are the first reported results for orbital formations with more than two
vehicles. As such, it is now possible to compare simultaneous differential solutions.
This comparison provides insight into the correlation between relative solutions within
a formation, as discussed in Section 2.5.
Figure 6.6 graphically illustrates the correlation in relative position errors for
different slave vehicles. Two important points can be made from Figure 6.6. First,
the error between the solutions is indeed correlated. It is clear in the figure that
6.2. RESULTS
125
4
Motion of fleet in LVLH Frame
x 10
1
0.8
0.6
Radial Direction (m)
0.4
0.2
0
−0.2
−0.4
−0.6
−0.8
−1
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
In−Track Direction (m)
0.4
0.6
0.8
1
4
x 10
Figure 6.8: This formation has two slave vehicles near each other (left side),
and a third far away (right side). This formation demonstrates
how spatially correlated vehicles will have correlated differential
errors. The diamond and triangle vehicle are 100 m apart, and
the other vehicles are approximately 10 km apart.
the relative position errors are similar, and that they are affected by the same error
sources. However, it is also readily apparent that these correlation effects are very
small — and that the total error is still below the specifications of ±2 cm.
The correlation between single difference solutions should be a function of the separation distances between the slave vehicles. For example, two closely spaced slave
vehicles will experience highly correlated errors in their single difference measurements with the master (see Section 7.2). The 1 km elliptical formation presented in
Section 6.2.2 has the vehicles equally distributed, which makes it difficult to observe
any spatial correlation. A better demonstration of the relationship between vehicle
location and error correlation is provided by using the in-line formation pictured in
Figure 6.8.
The formation has four vehicles, where the three slave vehicles have in-track separations from the master vehicle of −10 km, −9.9 km, and +10 km. In this case the
first two vehicles are very close to each other, and should have more highly correlated
126
CHAPTER 6. HARDWARE-IN-THE-LOOP DEMONSTRATIONS
errors than the third vehicle. The master vehicle is marked by the cross (at the origin
of the local frame).
Figure 6.9 shows the resulting relative position errors within the formation. The
errors over time are marked by the same symbols used in Figure 6.8. The position
errors in this example are on the order of ≈5 cm which is typical for 10 km separation
distances. The vehicles that are close together (marked by the diamond and triangle)
have much more closely correlated errors than the third vehicle which is farther away.
Note also that there is some symmetry between the diamond/triangle errors and the
circle errors. The vehicles are on opposite sides of the master, and their errors are
almost mirror images.
Section 7.2 analyzes the sources and magnitudes of the differential errors. They
are a function of separation distance between the master and slave vehicle. Figure
6.9 demonstrates that these errors are not only a function of separation magnitude,
but direction as well. The errors are highly correlated with the formation’s spatial
distribution.
An area of future research would be to use a centralized filter for the formation
state estimation, and determine whether it is able to take advantage of this correlation
to further improve the relative navigation accuracy. For this work though, the results
show that the more appealing decentralized filter, even with some correlated errors,
can still achieve the relative navigation performance target.
6.2. RESULTS
127
Relative Position Error,(LVLH)
Radial (m)
0.1
0.05
0
−0.05
In−Track (m)
−0.1
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time (sec)
2000
2500
3000
0.1
0.05
0
−0.05
Cross−Track (m)
−0.1
0.1
0.05
0
−0.05
−0.1
Figure 6.9: These are the relative position errors for the formation shown in
figure 6.8. The errors marked with the diamond and triangle are
for the vehicles which are located near each other. Clearly, their
errors are more highly correlated than that of the third vehicle
(which is farther away).
Chapter 7
Performance Comparisons and
Error Analysis
7.1
Performance Comparisons
In designing the orbital relative navigation receiver/filter system, a number of implementation options present themselves. Two of the key options are whether to use the
carrier-phase Doppler measurements and whether to use Single Differences or Double
Differences. All of these approaches are widely used in many applications. However,
there is a trade-off associated with each option.
To decide what method to use, performance comparisons using the same data sets
were used in different filters, one designed with each option. Holding all other conditions equal, this provides a measure of the impact that the specific implementation
makes on the filter performance.
7.1.1
Using Doppler Measurements
The first implementation trade study is whether to use the differential Doppler mea˙+
surements, ∆φ̇m
ij . The Doppler measurement is the estimated phase rate, φ̂ , within
the tracking loop as presented in Equations 4.3 – 4.5 (see Section 4.3.4). The reason
for using differential Doppler measurement is that it provides a direct measure of the
128
7.1. PERFORMANCE COMPARISONS
129
Table 7.1: Comparison of Performance with and without Doppler measure-
ments
100 m In-Track
1 km In-Plane
1 km Out-Plane
10 km In-Track
10 km In-Plane
Without Doppler
Pos. (cm) Vel. (mm/s)
µ
σ
µ
σ
0.93 0.46 0.01 0.32
0.93 0.82 0.04 0.33
1.03 0.54 0.04 0.35
5.76 1.92 0.07 0.40
2.77 1.51 0.28 0.43
Pos.
µ
0.92
0.93
1.03
5.79
2.80
With
(cm)
σ
0.47
0.82
0.55
1.93
1.50
Doppler
Vel. (mm/s)
µ
σ
0.01 0.33
0.04 0.33
0.04 0.35
0.07 0.40
0.28 0.43
relative range rate between user vehicles. However, the results in Section 4.3.4 show
that the carrier phase noise, ν∆φ , is about 2 mm, while the Doppler noise, ν∆φ̇ , is
about 3.5 cm/sec. Care must be taken in comparing a position measurement and a
velocity measurement. Still, the corresponding noise in position obtained from integrating the Doppler measurement is much greater than that on the carrier phase. The
reason against using the Doppler measurements is that it requires more bytes to be
transmitted across the fleet. It also creates a larger measurement vector and therefore
increases the number of computations. Is there enough performance benefit by using
the Doppler measurements that justifies the increase in bandwidth and computation?
To address this question, the filter was run both using these Doppler measurements
combined with the carrier phase measurements, and then only using the carrier-phase
measurements without Doppler. Several formations were used, with the conditions
given in Section 6.1. The comparison results from one example are shown in Figure
7.1 for the relative position performance, and in Figure 7.2 for the relative velocity
performance. There are two lines plotted in these figures, although the lines are very
difficult to distinguish in many places.
Table 7.1 shows the results from all of the formations. These values are determined
using the procedure described in Section 6.1.4.
The errors in the position and velocity estimate are nearly identical in both cases.
These results indicate that the use of the Doppler measurement does not make a significant impact. The performance improvement from using the Doppler does not justify
130 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS
Relative Carrier Position Error (LVLH)
Radial (m)
0.1
0.05
0
−0.05
−0.1
500
1000
1500
2000
2500
3000
3500
500
1000
1500
2000
2500
3000
3500
In−Track (m)
0.1
0.05
0
−0.05
−0.1
Cross−Track (m)
0.1
Car+Dop
Car Only
0.05
0
−0.05
−0.1
500
1000
1500
2000
Time(sec)
2500
3000
3500
Figure 7.1: Relative position performance in two cases: using differential
Doppler, and not using differential Doppler. There is not a significant change in performance, so the Doppler measurements are
not used in the final design
the increased complexity required. Therefore, to provide simplicity without sacrificing performance, the Doppler measurement is not used in the final receiver/filter
system.
Note that the decision to not use the Doppler measurement is application specific. The tracking loop employs a very general filter, without any knowledge of the
expected orbital dynamics. These orbital dynamics could also have been included in
the tracking loop, but would greatly increase the receiver complexity (as discussed
in Section 4.3.4). In this case, the orbital dynamics are included in the navigation
filter, which enables it to determine velocity much better than the tracking loop can
measure the range-rate. In other applications, with less predictable dynamics, the
Doppler measurements may improve estimation performance.
7.1. PERFORMANCE COMPARISONS
−3
Radial (m/s)
2
131
Relative Velocity Error (LVLH)
x 10
1
0
−1
−2
500
1000
1500
2000
2500
3000
3500
500
1000
1500
2000
2500
3000
3500
−3
In−Track (m/s)
2
x 10
1
0
−1
−2
−3
Cross−Track (m/s)
2
x 10
Car+Dop
Car Only
1
0
−1
−2
500
1000
1500
2000
Time(sec)
2500
3000
3500
Fig. 7.2: Relative velocity estimation, with and without the Doppler measurements.
7.1.2
Using Double Differences
Another important implementation issue is deciding whether to use single differences
or double differences. Section 2.3.1 describes the single difference measurement, and
introduces the double difference, in Equation 2.28. The advantage of the double
difference is that it removes the receiver clock state from the state vector. This
could potentially be very advantageous because the clock is much noisier than any
of the differential motion dynamics. The standard deviation of the differential clock
noise, w∆b , is 0.07 m/s2 , while the standard deviation of the perturbing forces, w∆r ,
is expected to be less than 10−5 m/s2 . For this reason, it seems that the double
difference may be very desirable.
The primary disadvantage of using double differences is that it increases the complexity of the filter. Logistically, it requires additional effort to select a master channel,
and to align and create the valid double difference measurements every time step. If
there is a cycle slip on the master channel, then all of the biases must be re-initialized,
132 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS
Relative Carrier Position Error (LVLH)
Radial (m)
0.1
0.05
0
−0.05
−0.1
500
1000
1500
2000
2500
3000
3500
500
1000
1500
2000
2500
3000
3500
In−Track (m)
0.1
0.05
0
−0.05
−0.1
Cross−Track (m)
0.1
Car+Dop
Car Only
0.05
0
−0.05
−0.1
500
1000
1500
2000
Time(sec)
2500
3000
3500
Figure 7.3: Relative position performance using Single Differences and Dou-
ble Differences. Their overall performance is not significantly
different.
and not just the bias on one channel. Having a master channel becomes an additional
vulnerability in the system.
The procedure in the previous section was repeated to compare the performance
using single and double difference measurements. For the double difference filter, a
simple master channel selection algorithm was implemented. Essentially, the highest
visible satellite was selected, and then used as master until view was lost, at which
point a new master was selected (again the currently highest elevation satellite).
Figure 7.3 compares the performance for relative position and Figure 7.4 compares the performance for relative velocity. Here, the difference between the two
implementations is more apparent than in the Doppler study. However, after the
initial transient, the performance is very similar. The transient difference is much
7.1. PERFORMANCE COMPARISONS
−3
Radial (m/s)
2
133
Relative Velocity Error (LVLH)
x 10
1
0
−1
−2
500
1000
1500
2000
2500
3000
3500
500
1000
1500
2000
2500
3000
3500
−3
In−Track (m/s)
2
x 10
1
0
−1
−2
−3
Cross−Track (m/s)
2
x 10
Car+Dop
Car Only
1
0
−1
−2
500
1000
1500
2000
Time(sec)
2500
3000
3500
Fig. 7.4: Relative velocity performance using Single Differences and Double Differences.
greater in position than in velocity. This suggests that the transient is a strong function of the carrier phase bias determination process, which impacts position but not
velocity. Once the biases are determined, the performance is very similar.
Several different formations were simulated and the results are presented in Table
7.2. Note that these numbers are from the steady-state performance, and do not
reflect the difference in the transient response. In all cases, there is no significant
difference in performance between the two approaches.
Based on this study, it was decided to use single difference measurements in the
final filter implementation. The results of this study also suggest that any steady
state error in the filter performance is not due to the receiver clock state. This can be
inferred from the fact that the error level remains about the same using the double
difference, where the clock state is removed. In particular, the large noise on the clock
134 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS
Table 7.2: Comparison of Performance between Single Differences and Dou-
ble Differences
100 m In-Track
1 km In-Plane
1 km Out-Plane
10 km In-Track
10 km In-Plane
Single Difference
Pos. (cm) Vel. (mm/s)
µ
σ
µ
σ
0.93 0.46 0.01 0.32
0.93 0.82 0.04 0.33
1.03 0.54 0.04 0.35
5.76 1.92 0.07 0.40
2.77 1.51 0.28 0.43
Double
Pos. (cm)
µ
σ
1.32 0.66
1.23 1.02
1.26 0.68
5.64 1.98
3.29 2.24
Difference
Vel. (mm/s)
µ
σ
0.01 0.37
0.03 0.38
0.04 0.42
0.08 0.48
0.26 0.50
does not degrade the ability of the filter to precisely estimate the relative position
and velocity states.
In summary, the filter used to produce the results in Section 6.2 used single differences and did not use the Doppler measurements. These design options provide
the same level of performance with a simpler and more robust design.
7.2
Error Analysis
The previous chapters have presented the design and demonstration of the GPS receiver and relative navigation filter. It has been shown in Section 6.2 that the sensor
meets the performance target of less than 2 cm error at 1 km separation. However,
questions still remain. What causes the remaining error? Why does the error increase
with separation distances? Recall that Section 5.3.2 already discussed the effect of
linearization on relative navigation, this section will deal with the remaining error
sources.
7.2.1
Propagation Error vs. Measurement Error
To begin, there are two main sources of error: propagation error and measurement
error. A first step is to determine which of these contributes the largest error. To
do this, the different modes of GSAT-RTE can be utilized (as described in Section
3.3.1). As a review, the three primary modes are:
7.2. ERROR ANALYSIS
135
1. Simple Dynamics/Simple Measurements (SD/SM) — For this mode, the measurements are created in MATLAB using the same model as the filter (see
Equation 5.17), and adding a 2 mm white sensor noise to the measurement.
The state is propagated in MATLAB, using the same dynamics as the filter
(see Equation 5.31) and adding a 10−6 m/s2 white process noise for the motion
dynamics, and a 0.07 m/s2 white process noise for the clock dynamics.
2. Complex Dynamics/Simple Measurements (CD/SM) — The same measurement
simulation is used as in the previous mode. However, the state is taken from
the FFTB high fidelity orbit propagator. This will have a much more realistic
process noise, including aerodynamic drag, higher-order gravity, and third-body
gravity.
3. Complex Dynamics/Real Measurements (CD/RM) — In this mode, the same
FFTB dynamics are used, but the actual hardware-in-the-loop measurements
are used as well. These will include ionosphere, ephemeris error, and receiver
hardware effects.
By using the same filter and the same formation conditions for these three different
environments, the incremental effects of more realistic noise can be measured. The
SD/SM provides a baseline, the CD/SM demonstrates the impact of realistic process
noise, and finally CD/RM demonstrates the impact of adding realistic sensor noise.
A series of simulations, with formation sizes ranging from 100 m to 100 km, are
performed in each environment. The averaged error norms (as defined in Equation
6.6) are plotted in Figure 7.5 as a function of formation separation, ∆r. The upper
plot is the relative position error norm, and the lower plot is the relative velocity error
norm (r̃formation and r̃˙formation respectively, as defined in Section 6.1.4). Each point
represents the averaged value for a different formation. The baseline performance
is labeled SD/SM; the gradual increase in error as ∆r increases represents the error
only due to linearization error, as discussed in Section 5.3.2. The line labeled CD/SM
shows the error with realistic process noise present. The upper plot shows that the
position estimation error changes very little. The velocity error has a small, but
distinct, increase. This should be expected, since the process noise (such as drag)
136 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS
Estimation Accuracy vs. Relative Distance
RSS Pos. Error (cm)
5
4
3
2
1
0
0.1
1
10
100
10
100
RSS Vel. Error (mm/s)
2
1.5
SD/SM
CD/SM
CD/RM
1
0.5
0
0.1
1
Separation Distance, ∆r (km)
Figure 7.5: This study compares the impact of real sensor noise and more
complex process noise. The line marked with diamonds is the
baseline performance, with only simple noise models. The line
marked with x’s shows the error using realistic process noise. The
line marked with o’s shows the error using realistic sensor noise
as well as process noise. The sensor noise has a much greater
impact.
will act as an unmodeled acceleration, which would impact the velocity estimate the
most. Finally, the line labeled CD/RM shows the error with both realistic process
and sensor noise. Note that in this case the velocity error does not increase at all,
but the position error increases by a large amount. As the separation reaches 10 km,
and larger, the error grows well beyond the desired performance range.
Note that the CD/RM values were determined from hardware-in-the-loop simulations, and therefore has the lowest number of experimental samples. The other
two approaches, done in simulation, used the average of many samples. Since the
CD/RM uses less samples, the expected uncertainty (or expected variation) in its
results is much higher. This potentially explains why the 200 m error is higher than
7.2. ERROR ANALYSIS
137
the 1 km error. It is expected that if a larger number of hardware simulations were
performed there would be greater consistency in the results. However, even with the
larger uncertainty, the overall trend is still readily apparent.
From this study, we see that process noise directly impacts the velocity error, and
the sensor noise directly impacts the position error. Furthermore, it appears that the
sensor noise effect on position is much larger than the process noise effect on velocity.
7.2.2
Individual Error Contributions
The next step is to individually examine the potential error sources. To do this,
additional experiments were run, where each error source was simulated one at a
time. Since the largest error was due to sensor noise, most of the noises analyzed
were in the measurement, rather than the dynamic model. The noises investigated
were: ionosphere, ephemeris, large separations, absolute state estimate error, and
differential drag. Furthermore, the effect of receiver robustness (if there are large
numbers of cycle slips or communication outages) was also investigated. These results
represent the first experimental study of the impact of differential errors in Low Earth
Orbit on relative navigation using CDGPS.
Large Separation
The signal takes a finite time to travel from the GPS satellite to the user satellite.
If one user vehicle is further from the GPS satellite than the other, the signal will
take longer to reach it, as illustrated in Figure 7.6. Suppose the receivers on two
different vehicles, say i and j, take measurements at exactly the same time. The
signal each vehicle sees at that moment measures the range between that vehicle’s
current location and the location of the GPS satellite at the time of transmission.
The difference between transmission and reception time is the quotient of the range
divided by the speed of light. If user j is further away, the signal it sees at the moment
of measurement will have been sent at an earlier time.
Therefore, the state of the GPS satellite for the measurement by user i and by
user j will be different. This includes the position as well as the GPS clock state.
138 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS
Figure 7.6: The time that the signal takes to travel to the user vehicles will
be different. That means that the state of the GPS satellite
at the time of transmission will be different, and this must be
accounted for.
The GPS satellites move at approximately 2.7 km/s. If user j were 30 km further
from the GPS satellite than user i, there would be an error of
30km ×
km
1
× 2.7
≈ 27cm
c
sec
(7.1)
on the range measurement. This is a very significant measurement error.
Fortunately, this error can be almost completely removed by using a precise nonlinear function for modeling the measurements. It requires performing the iterative
GPS state estimation algorithm (Algorithm 2) for both user i and j, and then distinguishing rmi and rmj . It also requires including the differential GPS clock term,
∆Bijm . This analysis assumed that the receivers are able to perfectly synchronize their
measurements, an assumption which is further discussed in Section 7.2.4.
7.2. ERROR ANALYSIS
139
Figure 7.7: There will be some error between the predicted and actual loca-
tion of the GPS satellite. If users in a formation are far apart,
this will cause a noticeable differential error as well.
Ephemeris Error, ∆Eijm
The state of the GPS satellites can only be determined by using the broadcast
ephemeris data. This predicted GPS satellite state is not exactly correct. Using
the ephemeris, there will be a difference between the actual range and GPS clock
state and the predicted values. For the absolute case, the error is random, with a
standard deviation of about 4 meters [GPS96, EK96].
If the two vehicles were co-located, this ephemeris error would completely cancel.
However, as the separation grows between users, the differential ephemeris error also
grows. An exaggerated view is shown in Figure 7.7. The actual effect is much smaller
than pictured in Figure 7.7 — if the vehicles were 100 km apart, the angle between
lines of sight as viewed by the GPS satellite would be about 0.3◦ .
A series of simulations were run for formations with different separations, and
fictitious ephemeris error was added for each GPS satellite. Since it was a simulation,
the ephemeris error effect could be measured on each measurement. The results are
shown in Figure 7.8. This series of simulations was run for three different ephemeris
values: one with about half the expected standard deviation (marked with diamonds),
one with the expected level (marked with x’s), and one with about double the expected
140 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS
Ephemeris Effect on Measurements
4
Smaller Error
Expected Error
Larger Error
3.5
Max Measurement Error (cm)
3
2.5
2
1.5
1
0.5
0
0
2
4
6
8
10
12
Differential Distance ∆R (km)
14
16
18
20
Figure 7.8: This is the measured differential ephemeris error effect over a
range of formation separations. Three different ephemeris error
levels were simulated. The middle line is the expected error level.
standard deviation (marked with triangles). The figure shows the maximum single
measurement error within a sampled measurement vector.
The ephemeris error is difficult to correct. Since the error between the predicted
satellite location and actual location should change slowly, it is possible to include
this ephemeris error term for each visible satellite as an additional state. Then, the
differential ephemeris error could be estimated, though it is unclear how accurate this
process would be.
Absolute State Error, εm
ij
There is an error in the absolute state estimate that is used in the measurement model.
It is very similar to the ephemeris error, and almost the same arguments exist for the
absolute state error effect as the ephemeris error effect. However, the differential error
due to the absolute state estimate is a function of both vehicle separation and the
7.2. ERROR ANALYSIS
141
Figure 7.9: The error in the absolute state estimate will cause a differential
error. This error is a function of both the vehicle separation and
the absolute error magnitude.
magnitude of the absolute error, as illustrated in Figure 7.9. As long as the absolute
state error remains relatively small, this effect has a much smaller impact on the
relative state estimate than the ephemeris error. At 10 km separations, the absolute
error effect on the estimate is still less than 1 cm.
Ionosphere, ∆Iijm
The ionosphere delays the propagation of electro-magnetic signals. This will affect the
transmission time of the carrier wave, which in turn changes the measured range. The
differential model simply subtracts the two absolute model values, computed using
Equation 2.18. This function uses the absolute state estimate, GPS state estimate,
relative state estimate, and estimate of the total electron count (T EC).
The differential ionospheric delay is much smaller than the absolute ionospheric
delay. If the user vehicles were co-located, the error would cancel out completely.
The differential ionospheric delay, as determined by Equation 2.18, was measured
from simulations for a range of different vehicle separations. At an arbitrary time in
the simulation, the maximum ionospheric delay value in the measurement set and the
142 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS
Measurement Error due to Ionosphere (cm)
Differential Ionospheric Error vs. Relative Distance
1
0.1
0.01
Max
Mean
0.1
1
Separation Distance, ∆ R (km)
10
Figure 7.10: This is the measured differential ionospheric effect over a range
of formation separations. The top line shows the maximum
differential effect for a given measurement vector, and the lower
line shows the average effect over all the measurements. The
scales are logarithmic.
mean over all the measurements was recorded. The results are shown in Figure 7.10.
For close formations, the effect is indeed negligible, as the maximum is well below
1 mm. However, for separations on the order of tens of kilometers, the effect becomes
important, with maximum values of 2–5 cm on each measurement. When compared
to the carrier phase noise of 2–5 mm, the differential ionosphere effect is significant.
The effect of the ionospheric error on estimation performance is shown in Table
7.3. Data from three different HWIL simulations (CD/RM) were processed using
different ionospheric models. Table 7.3 shows the norm of the relative position error
(r̃formation ) from the different filters. In each filter, a different model of the ionosphere
is used in the filter. Models can be used to predict the ionospheric delay on each
signal, but most models are considered at best to be able to remove 50% to 75% of
7.2. ERROR ANALYSIS
143
Table 7.3: Ionospheric modeling accuracy effect on performance
Formation
100 m In-Track
1 km In-Plane Ellipse
10 km In-Track
Position Error (cm)
No model 50% 75% Perfect
0.65
0.61 0.59
0.57
1.32
0.99 0.88
0.85
10.33
4.96 3.01
3.24
the ionospheric effect [WF87]. The first column shows the position error when the
filter uses no ionospheric model. Clearly, this performance is the worst. The next
three columns show the position error when the filter implemented increasingly better
ionospheric models (a model that is 50% accurate, then 75%, and finally a perfect
model). Note that for the 1 km formation, even with no ionospheric model, the error
is still below 2 cm.
There are other ways to mitigate the ionospheric error besides just using a model
of the ionosphere in the filter. One could also use either a dual frequency receiver,
or combine the code phase with the carrier to observe the ionospheric delay. The
ionospheric delay will affect the two frequencies differently (see Equation 2.18), and
so this delay becomes observable with a dual frequency receiver. Using code phase,
the wave group is advanced while the wave itself is delayed, which allows observability
of the ionosphere [PE01, GPS96]. There are other correction broadcasts available as
well which may improve the ionospheric correction, one example is the work at JPL
on real-time orbit determination using GPS [AR02].
Aerodynamic Drag, ∆aA
It is expected that one of the largest process noises in Low Earth Orbit will be the
atmospheric drag. In the demonstrations of the previous chapter, identical, spherical
vehicles, were used in the simulation. Therefore, the differential drag was very small,
and only a function of differential altitude.
This may not be realistic. Different vehicle bodies, or even identical vehicles with
different attitudes, traveling through the rarefied atmosphere will have different coefficients of drag (CD ) and/or cross-sectional areas. To look at the effect of differential
144 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS
Table 7.4: Comparison of Performance using identical or different CD
Formation
100 m In-Track
100 m In-Track
10 km In-Track
10 km In-Track
CD (1) CD (2)
2
2
2
1
2
2
2
1
Position Error (cm)
µ
σ
0.3194
0.4098
0.3193
0.4098
0.6865
0.5106
0.6867
0.5108
Velocity Error (mm/s)
µ
σ
0.0139
0.3333
0.0221
0.3367
0.0576
0.3419
0.0583
0.3495
drag, additional simulations were run where the vehicles were given different coefficients of drag. The CD/SM environment was used, to highlight process noise above
any sensor noise differences. Two different formations are examined, a 100 m in-track
separation, and a 10 km in-track separation. It is not expected that in-track separation should impact this effect, but both formations were run to verify this expectation
(radial separation would make an impact, since the atmosphere density would be different at different altitudes). For both formations, two vehicles were used, and two
simulations were run. In the first simulation, both vehicles are set with CD = 2. Then
the simulation is re-run, with CD = 1 for vehicle one, and CD = 2 for vehicle two.
The results of these comparative simulations, shown in table 7.4, include the mean
and standard deviation of the errors in the relative position and relative velocity
estimates. There is an increase in the velocity error with different drag coefficients,
but it is very small. The effect is so small, additional digits are displayed to capture the
difference. As expected, the effect is similar for short separation and long separation
formations.
This is a significant result. Differential drag should be the largest dynamic process
noise present. Even by using very different coefficients of drag (different by a factor
of 2), there is still very little impact on the estimation performance. This reiterates
the point that the measurement error is much more important to the precision than
the dynamic model.
7.2. ERROR ANALYSIS
145
Cycle Slips
As a final test of robustness, the effect of cycle slips and measurement losses were
studied. A nominal 1 km elliptical formation was used, in the CD/SM environment.
Two tests were done separately, a cycle slip test and a measurement loss test. To
simulate cycle slips, a check was done for each channel at every time-step. A certain
slip probability was set, and a random number between 0 and 1 was selected (with
uniform distribution). If the random number was less than the percentage, then that
measurement was marked as invalid, and the measurement would be re-initialized
on the next time-step. Some channels will slip more than others, so to improve the
simulation, each channel was assigned its own probability of slipping with a normal
distribution around a mean probability of 0.1%, 1%, 5%, 10%, or 20% (in five different
experiments).
A similar approach was used for measurement outage. Every time step, a random
number was generated and compared with a percentage. If it was lower, then it was
assumed that the remote measurements were not available during that time step. If a
set of measurements is not available, all channels must be reinitialized the next time
step. This procedure is a very simplistic simulation, since an actual communication
problem would probably have correlation between probabilities from one time step to
the next (i.e., if an outage is experienced, it will often last for longer than just one
epoch). However, it provides an initial look at robustness.
The percentages simulated for both slips and outages are much higher than the
percentages expected during an actual mission. Both outdoor tests and hardwarein-the-loop tests had slips less than 0.1% of the time. However, it is important to
study the effect of slips and outages in case these conditions are experienced during
actual operation. It should be expected that more frequent losses would especially
degrade the position estimate, since it would require reinitializing the carrier phase
bias. There will be some settling time using the kinematic bias determination method
with each bias reinitialization, as described in Section 5.5.
The results of these tests are shown in Figure 7.11. The mean and standard
deviations in the error for position (upper plot) and velocity (lower plot) are shown
at each of the slip and outage probabilities. Note that the velocity is plotted on a
146 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS
Sensor Robustness
15
Position (cm)
Mean
StDev
10
5
0
0.1%
1%
5%
10%
20%
Percentage Slips
0.1%
1%
10%
Percentage Outage
0.5
Velocity (mm/s)
0.4
0.3
0.2
0.1
0
0.1%
1%
5%
10%
20%
Percentage Slips
0.1%
1%
10%
Outage
Figure 7.11: The impact of cycle slips or communication outages as a func-
tion of frequency rates.
much smaller scale than the position. The cycle slip tests are plotted on the right (in
the first five sets), and the outages are plotted on the left (in the last three sets). First,
as expected, we see that the velocity is not affected strongly by slips or outages. Next,
we see that for position, the bias is degraded much more than standard deviation; this
is consistent with the fact that the carrier phase biases are being reinitialized much
more frequently. The position performance is definitely impacted by cycle slips and
measurement losses. Fortunately, during normal LEO operation, outages are never
expected to be as frequent as these tests simulated.
7.2.3
Error Summary
Table 7.5 summarizes the various errors studied. All tests are in the CD/SM environment to allow the simulation of the sensor noises. For this summary, a 100 m in-track
formation and a 10 km in-track formation were used. For both formations each noise
7.2. ERROR ANALYSIS
147
Table 7.5: Performance Impact Comparison of Different Error Sources
Active Error Source
No Errors
Ephemeris Error
Long Separations
Ionosphere
Absolute State Err.
Slips
No Errors
Atmospheric Drag
100 m
Pos. (cm) Vel. (mm/s)
Sensor Noise
0.355
0.299
0.361
0.299
0.374
0.299
0.413
0.299
0.355
0.299
0.409
0.299
Process Noise
0.479
0.303
0.479
0.308
10km
Pos. (cm) Vel.(mm/s)
0.405
3.252
10.944
20.805
0.805
0.400
0.315
0.315
0.318
0.342
0.318
0.315
0.808
0.808
0.320
0.325
was applied individually, and all other conditions were held constant. This isolated
the effect of each specific noise. Then, the average error norm for relative position
and velocity was recorded. The numbers in the table reflect the average over a set
of 20 tests for each error condition. This measures the direct impact of the given
noise on estimation performance. The errors applied in these tests are completely
unmitigated.
The results in Table 7.5 clearly demonstrate the impact of separation distance. All
of the noise sources are negligible when the user vehicles are 100 m apart. At 10 km,
the error from many of the sources is very significant. These results also confirm
that velocity is not as sensitive to these noises as position, as was seen in Figure 7.5.
Note that the experiments done to create Figure 7.5 mitigated the large separation
and ionospheric effects. Without those sources, the remaining error at 10 km was on
the order of ≈4-5 cm, which is also what was measured in experimental results (see
Section 6.2).
The largest error source is the ionospheric error. At ten kilometers, the ionosphere
causes on average a 20 cm relative position error, which is the cumulative effect of the
individual measurement errors shown in Figure 7.10. For this reason, the ionospheric
error must be mitigated, perhaps through modeling or using a dual-frequency receiver.
The next largest error is due to the “large separation” effect; this can be completely
148 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS
removed just by determining the GPS satellite state for both received signals (though
this requires performing additional computation) instead of assuming it is the same
for both receivers. Ephemeris and absolute state error also have a material impact on
performance at long separations. For the results presented in Chapter 6, the errors
in the 10 km formations are primarily due to ephemeris and absolute state errors,
since the ionosphere and the large separation effects were mitigated. (The ionosphere
was mitigated by using the same model in the filter as the FFTB used, and the
large separation effect was removed by computing independent GPS satellite states).
Again, the differential drag and other process noises have a much smaller impact than
the sensor noise.
This error sensitivity analysis for differential noise sources is important for any
future relative navigation design. It also helps explain the results from Chapter 6.
The error analysis clarifies why there is a larger error at long separations, predicts
what that error level should be, and shows the causes of the errors. The challenges
that must be overcome to further improve the sensor performance are now clear.
These results impact overall mission design as well. The closer the vehicles are, the
more accurate the navigation will be. For rendezvous operations, this performance
is acceptable, since greater accuracy is only needed as the vehicles are close to each
other. On the other hand, for large-scale distributed aperture applications (10 km or
more), this suggests that other sensors may be needed to augment GPS navigation
to achieve consistent precision across any range of separations.
7.2.4
Noise Floor: Synchronization
Section 2.3.3 presented models for the carrier-phase measurements and orbital dynamics. The error sources analyzed in Section 7.2.2 correspond to the terms in the
measurement model (as presented in Equation 2.35) which are not part of the state
vector. Section 7.2.2 also analyzed the differential drag, ∆aA , which is expected to be
the largest error source in the dynamics model (as presented in Equation 2.37). The
question remains, after accounting for these other terms, what sets the fundamental
limit on relative navigation accuracy?
7.2. ERROR ANALYSIS
149
Table 7.6: HWIL Noise Floor Performance
Formation
Zero Separation
1 km In-Plane
Position Error (cm)
µ
σ
0.62
0.70
0.83
0.82
Velocity Error (mm/s)
µ
σ
0.005
0.25
0.042
0.33
Olsen discusses the ability of the GPS receivers to take synchronized measurements
[EO99]. He derives a phase error bound which is due to the error in sample times
between the receivers. The receiver can determine absolute time to ≈100 ns accuracy.
The clocks are slewed at a 1 Hz rate directly before the measurements are taken for
navigation (also at 1 Hz). Based on these assumptions, the phase error bound due
to synchronization would be 60 kHz (the maximum expected Doppler shift) × 100 ns
(sample time error) × 0.19 m (carrier wavelength) × 2 (both receivers) ≈ 2 mm in
single-difference carrier-phase error [EO99]. Note that there is no way to distinguish
the synchronization error from any other errors in the phase lock tracking loop, as
discussed in Section 4.3.4.
This predicted noise floor can be experimentally verified. A HWIL simulation
(CD/RM) was run with two antennas located at the same positions, with two different receivers taking measurements. Over the course of the simulation, the antennas
drifted apart by less than 5 m. Using this formation, with ∆r ≈ 0, the differential noises will be completely canceled, leaving only the synchronization error and
PLL tracking error.1 The observed phase errors from the simulations had a mean of
3.1 mm, as measured using GSAT-NAT (see Section 3.3). Table 7.6 shows the resulting relative navigation performance for this ∆r ≈ 0 case. Previous results from the
1 km formation are also shown for comparison. Note that the position errors in Table
7.6 are created by CD/RM simulations, and are slightly greater than the error in
Table 7.5 (under the “No Error” case), which was created using CD/SM simulations.
In conclusion, the receiver has a fundamental limit to its performance. Even for
an ideal formation, with all differential errors equal zero, there will be a phase error
1
Multipath, the other error source grouped in ν∆φ , is not included in the HWIL simulations.
150 CHAPTER 7. PERFORMANCE COMPARISONS AND ERROR ANALYSIS
in the single difference measurements. These errors have been measured to be about
3 mm, and cause about an 8 mm error in the relative position estimate. For orbital
relative navigation, where there are large Doppler shifts, this can be a more significant
effect than the tracking loop errors discussed in Section 4.3.4.
Chapter 8
Adaptive Estimation
The results reported in Section 6.2 demonstrate the filter performance assuming that
the process and sensor noise levels are known and properly modeled. However, it
is quite possible that these noise conditions may not be well known on orbit. For
example, the receiver may have more or less noise on the signal reception. The
differential process noise may be much larger or smaller than expected. Any of the
terms in the phase measurement, as presented in Equation 2.24, could contribute
to the sensor noise, and any of the terms in the dynamic model, as presented in
Equations 2.10 and 2.12, could contribute to the process noise.
These noise sources can effectively be modeled as Exponentially Correlated Random Variables (ECRV). Some of these ECRV noise sources, such as the ionosphere,
will have relatively long time constants, even to the extent that they appear to be
constant biases. Other noise sources can be modeled as ECRVs with short timecorrelation, or even as white noise. This section presents adaptive techniques that
have been developed to identify the standard deviations of both the sensor noise
and the process noise, and properly tune the filter to account for these noise levels.
These techniques are intended to handle random variables with short time correlations. These short-correlation sources are important, and have a strong influence on
the performance of the filter.
Chapter 2 presents the theoretical expectation of these noise levels, (see especially
Sections 2.1.2 and 2.3.3). Chapter 5 describes how the filter lumps all unmodeled
151
152
CHAPTER 8. ADAPTIVE ESTIMATION
forces into the process noise (see Section 5.4.1), and all unmodeled GPS signal effects
into the sensor noise (see Section 5.3.1). Chapter 7 presents experimental measurements of these error sources. These noise levels will change as operational conditions
change, and perhaps the most important condition is the separation distance between
the vehicles in the formation.
In Chapters 6 and 7, formations with separations ranging from 100 m to 10 km
were simulated. When the vehicles are 100 m apart from each other, the expected
standard deviation of the differential process noise for the dynamics, w∆r , is 10−6
m/s2 , but this value will change with separation distance (∆r). At 10 km, the differential process noise is estimated to be on the order of 10−4 m/s2 . The standard
deviation in the differential clock noise, w∆b , should remain at ≈0.05m/s2 . The sensor
noise, ν ∆φ , as described in Section 4.3.4, should be approximately 4 mm. However,
since the sensor noise will also include the lumped errors from other sources, it will
also change as a function of the separation, ∆r.
8.1
Importance of Q and R
In the relative navigation filter, the covariance of the sensor noise is represented by R̂k ,
and the covariance of the process noise is represented by Q̂k . These two parameters
have a significant impact on the filter performance. The importance of Q and R is
described in many references [AG74, PM82, ST94, GG84].
To illustrate the impact of Q̂k in orbital relative navigation using CDGPS, consider
the following example. HWIL simulations were performed for an in-track formation
with two identical vehicles and a separation distance (∆r) of 10 km, with all other
simulation conditions as described in Section 6.1. The measurements from the simulation are filtered using two different values of Q̂k , one that is too high and one that
is too low.
Figure 8.1 illustrates the results using a design value of Q̂k which is lower than
the actual process noise covariance (Q̂k was set to correspond to a process noise of
σw∆r = 10−6 ). The upper plot shows the RSS position error, with the scale in meters;
8.1. IMPORTANCE OF Q AND R
153
RSS Error on Relative State Estimate
Pos. Error (m)
15
10
5
0
5
10
15
20
5
10
15
20
25
30
35
40
45
30
35
40
45
5
Vel. Error (cm/s)
4
3
2
1
0
25
Time (min)
Figure 8.1: If the reasonable, but wrong value of Q̂ is used in the filter,
divergence can occur.
the lower plot shows the RSS velocity error, with the scale in cm/s. Clearly, the filter
diverges and the performance is unacceptable.
To avoid filter divergence, one may set the design value of Q̂k higher than expected.
However, this can also lead to excessive estimation error, especially in the velocity
estimate. Figure 8.2 shows the results, using the same data set and conditions, with
the design value of Q̂k set corresponding to a process noise of σw∆r = 10−2 . Note
that the scales in Figures 8.1 and 8.2 are different. In this case, the position error is
shown in centimeters, and the error is about 5cm. The velocity plot is still scaled in
cm/s, and though it performs better than when Q̂k is set too low, the estimate is still
worse than the desired performance.
The same process can be repeated, varying the design value of R̂k instead of Q̂k . If
R̂k is set too low, there is unacceptably high error in the velocity. If it is set too high
(a conservative estimate), the filter may diverge. Conceptually, the ratio of Q̂k /R̂k is
154
CHAPTER 8. ADAPTIVE ESTIMATION
RSS Error on Relative State Estimate
50
Pos. Error (cm)
40
30
20
10
0
5
10
15
20
5
10
15
20
25
30
35
40
45
30
35
40
45
5
Vel. Error (cm/s)
4
3
2
1
0
25
Time (min)
Figure 8.2: If Q̂ is set too high, in an attempt to be conservative, there is
too much noise on velocity.
what determines the filter performance. If Q̂k /R̂k is low, the filter trusts the model,
and tends to ignore the measurements. If Q̂k /R̂k is high, then the filter trusts the
measurements more, and does not “smooth” them as much using the model.
The previous example suggests that the estimation error is very sensitive to the
filter design values of Q̂k and R̂k . This is well established for linear systems with linear
filters (see Gelb [AG74]). For reference, Figures 8.3 and 8.4 show the sensitivity of a
linear system to these parameters. In Figure 8.3 the same set of measurements from
a linear system are filtered using a range of design values of R̂k . The horizontal axis
shows the standard deviation of the noise used to compute R̂k . The vertical axis is
error in the state estimate. The dashed vertical line marks the true value of the sensor
noise covariance, Rk . In Figure 8.4, the sensor noise is held constant (with R̂k = Rk ),
and the design value of Q̂k is varied. The dashed vertical line marks the true value
of the process noise covariance, Qk . In both cases, the minimum error is realized
8.1. IMPORTANCE OF Q AND R
155
Linear Estimation with changing Q parameter
0.5
0.45
0.45
0.4
0.4
0.35
0.35
0.3
0.3
Error
Error
Linear Estimation with changing R parameter
0.5
0.25
0.25
0.2
0.2
0.15
0.15
0.1
0.1
0.05
0.05
State Error
Real Parameter Value
0
−4
10
−2
0
10
10
Corresponding Parameter Seed Design Value
2
10
Fig. 8.3: Design R sensitivity, linear
example
State Error
Real Parameter Value
0
−6
10
−4
−2
0
10
10
10
Corresponding Parameter Seed Design Value
2
10
Fig. 8.4: Design Q sensitivity, linear
example
when the parameter design value equals the real value. Note that the estimate error
is much higher when R̂k Rk and when Q̂k Qk .
The same sensitivity study can be performed for orbital relative navigation using
CDGPS. The measurements and vehicle states are stored from hardware-in-the-loop
simulations (as described in Chapter 6). The measurement set is then processed using
a range of filters, each with a different set of parameter design values. First, R̂k is
varied while Q̂k is held constant (shown in Figure 8.5), and then Q̂k is varied keeping
R̂k constant (shown in Figure 8.6). The resulting relative velocity estimate error is
then calculated for each filter. This provides a measure of the sensitivity of the filter
to the design parameter value.
Since these are HWIL simulations, the actual values of Qk and Rk are not known,
and the value can only be estimated from the minimum error points in the sensitivity
curves. These curves, and corresponding minimum locations, are sensitive to the
actual values of Qk and Rk , as well as the time step size (∆t), and the formation
separation (∆r). The results shown are for a formation with ∆t = 1 sec and ∆r =
1 km. For these conditions, the minimum estimation error was achieved with R̂k
corresponding to a sensor noise of σ∆φ ≈ 0.004 m, and with Q̂k corresponding to a
process noise of σw∆r ≈ 7 × 10−5 m/s2 . Note that the R̂k sensitivity is very similar
156
CHAPTER 8. ADAPTIVE ESTIMATION
Linear Estimation Error with Changing R Parameter
Linear Estimation Error with Changing Q Parameter
0.01
0.01
State Error
0.009
0.009
0.008
0.008
0.007
0.007
Velocity Error (m/s)
Velocity Error (m/s)
State Error
0.006
0.005
0.004
0.006
0.005
0.004
0.003
0.003
0.002
0.002
0.001
0.001
0
−7
10
−6
10
−5
−4
−3
−2
10
10
10
10
Corresponding Parameter Seed Design Value
−1
10
0
0
10
Fig. 8.5: Design R sensitivity, HWIL
data
−7
10
−6
10
−5
−4
−3
10
10
10
Corresponding Parameter Seed Design Value
−2
10
Fig. 8.6: Design Q sensitivity, HWIL
data
to the linear case, shown in Figure 8.3. The Q̂k has much more pronounced error
on either side of the minimum point. These sensitivity curves clearly illustrate the
importance of using the correct value of R̂k and Q̂k in the filter design; using the
wrong value can greatly degrade the filter accuracy. This example is not intended to
identify the actual orbital noise levels, but only demonstrate that for this application
the correct parameter settings are important.
In simulation, the filter can be tuned, and the best value of Q̂k and R̂k can be
determined and used in the filter. However, in actual orbital operation, the noise
environment may be different than the simulation model. Furthermore, even if the
environment is correctly understood, the parameter value providing the minimum
error may change as the vehicles change formations. Therefore, there needs to be a
way to change Q̂k and R̂k on orbit in case the conditions are different from the initial
design value.
8.2
Adaptive Estimation
To robustly handle uncertainty in the standard deviation of the sensor and process
noises, an adaptive filter is applied that identifies the value of Rk or Qk . There are
8.2. ADAPTIVE ESTIMATION
157
many different adaptive filters in existence [SH91, GG84]. The Method of Maximum
Likelihood Estimation (MMLE) is an adaptive technique used within the framework
of the Kalman Filter, that was originally proposed in 1972 by Mehra [RM70, RM72].
The routines presented in this work are modified from algorithms summarized by
Maybeck [PM82]. The basic premise is to use the measurement and state residuals
to modify the parameter values for sensor and process noise. A variant of the MMLE
technique has also been employed by Campana et al. for absolute GPS navigation
[CM00].
8.2.1
Process Noise
The process noise covariance, Qk , is a measure of the uncertainty in the state dynamics
during the time interval between measurement updates. It is generally defined in
terms of the process noise vector, wk , so that wk ∼ N (0, Qk ).
MMLE uses the residual between the a priori and a posteriori state estimates to
update the estimate of the value of Q̂k . Maybeck [PM82] derives the update equation
as
Q? = ∆xk ∆xTk + Pk− − Pk+ − Q̂−
k
(8.1)
−
∆xk = x̂+
k − x̂k
(8.2)
where
and
Q?
= the process noise covariance update
∆xk = the state estimate residual
x̂+
k
= a posteriori state estimate
x̂−
k
= a priori state estimate
Pk+
Pk−
Q̂−
k
= a posteriori state covariance estimate
= a priori state covariance estimate
= the current expected process noise covariance
158
CHAPTER 8. ADAPTIVE ESTIMATION
Equation 8.1 is the heart of the adaptive routine, and is worth some consideration.
The term ∆xk is the measured state residual; it represents the difference between the
state estimate before the measurement update and after the measurement update.
If this residual is large, then it indicates that the filter is not predicting the future
state very well, because when the measurements are applied there is a large jump
in the expected state. As the filter converges, this residual should decrease, as its
ability to predict the next state should be improving. The second half of Equation
8.1, (Pk− − Pk+ − Q̂−
k ) is a measure of the predicted state residual, and represents the
expected change in the state covariance. For clarity, Equation 8.1 can be rewritten
i
h
Q? = ∆xk ∆xTk − Pk+ − Pk− − Q̂−
k
(8.3)
+
Q? = ∆xk ∆xTk − Pk+ − Φk−1 Pk−1
ΦTk−1
(8.4)
which is equivalent to
where Φk−1 is the state propagation matrix for the time interval from k − 1 to k.
Equation 8.4 shows explicitly that Q? is the measured state residual minus the change
in the a posteriori covariances between two contiguous time steps. Fundamentally,
this difference in state covariances over time is what Q̂k represents.
The process noise update, Q? , is then combined with the current value of Q̂k in a
running-average filter (or low-pass filter),
= Q̂−
Q̂+
k
k +
1 ?
Q − Q̂−
k
LQ
(8.5)
In Equation 8.5, LQ is the window size. It sets the number of updates being averaged
together, or the window of past measurements that are averaged. If LQ is small, then
each update has a large impact, and if LQ is large, then each update has only a small
effect. The performance of the adaptive routine is very sensitive to the selection of
LQ , and should be selected for each application.
8.2. ADAPTIVE ESTIMATION
159
For the orbital relative navigation application using CDGPS, this Q-adaptive
scheme did not perform well without modification. The uncertainties in the carrierphase biases are initially very large, and are indistinguishable from the position and
clock offset state uncertainty. For convenience in discussion, let Q̂k , Pk , and ∆xk be
expanded as

Qr

Q̂k = 
 Qṙ,r
Qβ,r

Pr

Pk = 
 Pṙ,r
Pβ,r
h
∆xk =
∆xTr
Qr,ṙ Qr,β


Qṙ,β 

Qβ,ṙ Qβ
 k
Pr,ṙ Pr,β

Pṙ Pṙ,β 

Pβ,ṙ Pβ
k
iT
∆xTṙ ∆xTβ
Qṙ
(8.6)
(8.7)
(8.8)
k
where
subscript r
= quantities related to the position and clock offset (elements
1-4 of the state vector, as defined in equation 2.39)
subscript ṙ
= quantities related to the velocity and clock drift (elements
5-8 of the state vector)
subscript β
= quantities related to the carrier-phase bias (elements 9-N of
the state vector)
The process noise will directly effect ∆xṙ , and the integral of the process noise will
enter into ∆xr . However, the fluctuations in the bias estimates will be present in
both ∆xβ and ∆xr . These bias fluctuations were observed during experimentation
to be on the order of several centimeters, which is much larger than the effect of the
expected process noise, which has a standard deviation on the order of 10−4 m/s2 .
The presence of the large bias ambiguity makes it impossible to identify the process
noise, and keeps the estimate of Q̂k from converging properly. Therefore, a means for
isolating the process noise from the bias ambiguity was developed.
160
CHAPTER 8. ADAPTIVE ESTIMATION
To isolate the process noise, Equation 8.1 is modified to only include the velocity
terms,
Q?ṙ = ∆xṙ ∆xTṙ + Pṙ− − Pṙ+ − Q̂−
ṙ
(8.9)
Equation 8.9 represents the changing process noise on the velocity.
Note that the propagation matrix, Φk varies over time. Therefore, Q̂k should also
reflect this time dependence. Q?ṙ in Equation 8.9 is a covariance in the discrete domain.
The actual process noise is a continuous quantity, which for ∆t small relative to the
system time constant (which is one orbit, or about 90 minutes), can be approximated
from Q?ṙ as
1
qc? = diag (Q?ṙ )
∆t #
"
0
0
Q?c =
0 diag (qc? )
(8.10)
(8.11)
Q?c now represents the updated continuous spectral power density, and must then be
mapped back into discrete domain at this time step, using the usual definition [AG74],
?
Q =
Z
tk+1
Φ(tk+1 , τ )Q?c ΦT (tk+1 , τ )dτ
(8.12)
tk
where Φ(tk+1 , tk ) is the linear state propagation from time tk to tk+1 , (it is the formal
expression of Φk ). Q? is now used in Equation 8.5, to obtain an updated estimate
of Q̂+
k , which is then used for the state propagation between time steps k and k + 1.
This isolation and re-mapping procedure effectively removes the swamping effect of
the bias ambiguity, and allows the adaptation routine to successfully identify the
process noise.
8.2. ADAPTIVE ESTIMATION
8.2.2
161
Sensor Noise
The routine for adaptively identifying the sensor noise is similar to that of the process
noise. Sensor noise only impacts the measurement update. The sensor noise, R, can
be defined in terms of the measurement noise vector, ν, such that, ν k ∼ N (0, Rk )
The sensor noise present is observed by the residual between the expected and
actual measurements. Maybeck [PM82] derives the sensor noise update equation,
R? = ∆y∆yT − Hk Pk+ HkT
(8.13)
∆y = yk − ŷk+
(8.14)
where Hk is the observation matrix at time k. For nonlinear systems, Hk is the
Jacobian of the nonlinear measurement function, as defined in Equation 5.6. ∆y is
the measurement residual. yk is the set of measurements taken this time step. ŷk+ is
the a posteriori measurement expectation,
ŷk+ = hk x̂+
k
(8.15)
Note that ŷk+ uses the a posteriori state estimate, so this routine is run after the
measurement update. This requires ŷk to be computed a second time, after it is computed once in the normal filter update. The second term in Equation 8.13, HP + H T ,
cancels of expected measurement error due to the state uncertainty. The remainder
is a measure of the “unexpected” measurement error, which should be attributable
to sensor noise.
As with the Q adaptation, the R̂k estimate is updated with this sensor noise
measure through a running-average filter,
R̂k+ = R̂k− +
1 ?
R − R̂k−
LR
(8.16)
As with the process noise, the selection of the sensor noise window size, LR , is application specific.
162
CHAPTER 8. ADAPTIVE ESTIMATION
One of the characteristic issues of GPS estimation is the fact that as GPS satellites
come into view or leave view, the measurements available change continuously. This
means that the measurement vector changes dimension, and the placement of a given
channel within the vector will change. Care must be taken to ensure that the R
matrix matches the same channels throughout the process.
In the context of R-adaptation, it is important to initialize the corresponding R̂k
matrix elements properly as new measurements come on-line. For new measurements,
it is assumed that the new channel will have a similar noise level as the other channels.
Therefore, the newly introduced elements of the R̂ matrix, rij , are initialized as
rij,k =
(
1
N
0
PN
n=1 rnn,k−1
: i=j
: i 6= j
(8.17)
where
i, j
= the rows and columns of the R̂k matrix
k
= the time step
N
= the number of GPS satellites in view at time k − 1
This routine improves the R adaptation performance, by avoiding large jumps in
the sensor noise estimate after convergence as new measurements come on-line. It is
analogous to the bias initialization routine for state estimation presented in Section
5.5.
8.2.3
Identify Noise
MATLAB simulations are presented to demonstrate the effectiveness of the adaptive
schemes to identify the process and sensor noise levels. Simulations are performed
with known noise levels added to the dynamics and measurements, and with large
initial errors in the estimates of those noise levels.
To demonstrate process noise identification, the simulation was run with the acceleration process noise set at σw∆r = 10−6 and clock noise set at σw∆b = 0.05. The
initial estimate for both was set at σ̂w = 1. The same absolute and relative state
8.2. ADAPTIVE ESTIMATION
163
−4
5
Q adaptation
x 10
Q
x
Qy
Qz
Value of Qmotion
4
3
2
1
0
0
100
200
300
400
500
1
Est.
Real
Value of Qclock
0.8
0.6
0.4
0.2
0
0
100
200
300
Time (sec)
400
500
Figure 8.7: The adaptive filter is able to estimate the process noise, both of
the acceleration and of the clock state.
filter as described in Chapter 5 was implemented, with the Q-adaptation routine run
after the measurement update in the relative state filter. The window size was set at
LQ = 10. The results are presented in Figure 8.7; the upper plot shows the motion
dynamics identification, and the lower plot shows the clock drift noise. Notice that
the levels of the noises in the two plots are orders of magnitude apart, and yet they
can still be accurately identified. For this demonstration, only white process noise
was added to the simulated Keplerian motion, so there is no differential drag or other
biased noise included.
To demonstrate the sensor noise identification, measurements were created in
MATLAB with a white noise of σ∆φ = 2 mm added onto the carrier signal from each
GPS satellite. There was no ionospheric, ephemeris, or other bias in the simulated
signal. The R-adaptation routine was run at the end of the measurement update in
the relative state filter. The window size was set at LR = 10. Figure 8.8 shows the
ability of the adaptive filter to identify the noise level on the carrier signal. The solid
164
CHAPTER 8. ADAPTIVE ESTIMATION
Carrier Phase R adaptation
0.08
Est. Mean
Est. 1
Real
0.07
0.06
Value of R (m)
0.05
0.04
0.03
0.02
0.01
0
0
100
200
300
Time (sec)
400
500
600
Figure 8.8: This figure demonstrates the adaptive filter’s ability to identify
the sensor noise level (indicated by the dashed line), even with
very erroneous initial estimates.
line marks the mean estimate over all valid channels, while the curved dashed line
marks the noise estimate on Channel One. Even with an initial guess of σ∆φ = 10cm,
the filter is able to correctly identify the noise level.
8.2.4
Application Notes
There are some important notes concerning the application of these algorithms:
1. These two routines, the Q-adaptation and R-adaptation, do not run simultaneously. If both R and Q are unknown, an iterative approach of running the
routines one after another can be implemented.
2. The routines were always able to identify the parameter if the initial guess was
larger than the parameter value. They did not always converge when initial
guesses were below the actual values.
8.2. ADAPTIVE ESTIMATION
165
3. Both routines are effective at identifying standard deviations of random variables with short time correlations. They are not effective at identifying biases
or long time-correlated variables.
8.2.5
Active Thrusting
Formation flying often involves active control of the vehicles within the formation. A
special case of adapting the Q parameter occurs during active control. Very often, the
uncertainty associated with propulsion devices on spacecraft will be far greater than
the natural differential dynamics. To account for this, when thrusters are turned on,
the filter must account both for this new acceleration and for the larger uncertainty
in the state.
It is assumed that any intended control input (a thruster firing) can be input to
the filter. The filter feeds the thruster commands into the state propagation:
x̂˙ k = f (x̂k ) + ∆ûk
(8.18)
where ∆ûk is the expected differential control input (acceleration due to thrusters)
at time step k. The nonlinear propagation function f (·) is defined in Equations 5.31
and 5.32.
To account for the greater uncertainty associated with the thrusters, the covariance is also updated, so that Equation 8.10 is modified:
qc = qc + qu
(8.19)
qu = (Ku · abs (∆ûk ))
(8.20)
where
The constant Ku represents the expected level of uncertainty in the Orion thruster
noise. For this work, it was set at 10%.
166
8.3
CHAPTER 8. ADAPTIVE ESTIMATION
Adaptive Performance
Three distinct advantages of the adaptive filter are demonstrated in this section. The
first demonstration compares the adaptive filter performance with the performance of
the filter using a reasonable, but wrong, parameter setting. The second compares the
covariance behavior using the adaptive filter and using a good, but fixed, parameter
setting. Finally, the third is an example of the active thrusting adaptation working
successfully.
8.3.1
Wrong Parameter Correction
Consider the 1 km formation case presented in Section 6.2. That example used the
process noise corresponding to σ∆r = 10−4 m/s2 , and the results were presented in
Figures 6.5 and 6.7. Now consider the case where the reasonable, but wrong, process
noise estimate of σ∆r = 10−6 is used to set Q̂k in the filter. The same saved data, with
all other conditions the same, is run through this filter with the different parameter
setting. The resulting relative position error is shown, using the same scales, in
Figure 8.9. The solid line plots the estimate error, and the dashed lines represent the
expected standard deviation for that state (from the corresponding diagonal element
of the covariance matrix). It is clear that the solution diverges and does not perform
well.
The same data set is now filtered using the Q-adaptive routine. The initial estimate of the process noise is σw∆r = 1m/s2 , and LQ = 10. Figure 8.10 displays the
resulting relative position error. By comparing Figure 8.10 with Figure 6.5, it can be
seen that the performance is nearly the same as using the ideal parameter setting from
the previous section. By the simulation’s end, the estimate of σw∆r is ≈2×10−4 m/s2 .
The adaptive filter works well in correcting for an inaccurate estimate of the noise
covariances, and thereby improving the estimator performance.
8.3. ADAPTIVE PERFORMANCE
167
Relative Carrier Position Error (LVLH)
Radial (m)
0.2
0.1
0
−0.1
−0.2
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time(sec)
2000
2500
3000
In−Track (m)
0.2
0.1
0
−0.1
−0.2
Cross−Track (m)
0.2
0.1
0
−0.1
−0.2
Figure 8.9: Without an adaptive filter, the relative position estimate does
very poorly when Q̂ is wrong.
Relative Carrier Position Error (LVLH)
Radial (m)
0.2
0.1
0
−0.1
−0.2
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time(sec)
2000
2500
3000
In−Track (m)
0.2
0.1
0
−0.1
−0.2
Cross−Track (m)
0.2
0.1
0
−0.1
−0.2
Figure 8.10: Using an adaptive filter for the process noise, the relative posi-
tion performance is much better.
168
8.3.2
CHAPTER 8. ADAPTIVE ESTIMATION
Covariance Comparison
Another benefit of the adaptive filter is that it does a better job of keeping the
covariance consistent with the real performance. In Figure 8.9, not only does the position estimate diverge, but the covariance bounds still indicate nominal performance.
Without adaptive routines, the covariance is completely determined from the Riccati
equations (the combination of Equations 5.5, 5.8, and 5.9), and has no feedback from
the residuals.
The ability to improve the covariance estimate is illustrated in the following example. Data is stored from a HWIL simulation for a formation with ∆r = 10 km.
The data is processed in a filter with ∆t = 10 sec. The longer time-step and large
separation between vehicles has the effect of increasing the process noise. Figure 8.11
shows the velocity estimation performance, with no adaptive filtering. Note how the
velocity error (marked by the solid line) drifts significantly outside of the covariance
bounds (marked by the dashed lines). Figure 8.12 shows the same data filtered with
the Q-adaptation filter. In this example, it can clearly be seen that the covariance
bounds are adapted to reflect the larger error. The adaptation of the covariance
provides confidence that the filter will not “go to sleep” and let the state estimate diverge. A filter “goes to sleep” when it ignores the measurement residuals, and simply
propagates the states based on the modeled dynamics. This can lead to divergence
and must be avoided. Therefore, the adaptive covariance behavior illustrated in Figure 8.12 is very desirable, and demonstrates improved filter robustness in the face of
uncertain noise conditions.
8.3.3
Thrust Demonstration
It is also important to demonstrate effective estimation during active thrusting. As
explained in Section 8.2.5, the Orion thrusters have much larger noise than the naturally occuring dynamics. They are expected to provide accelerations of ±10% of the
commanded value. Even when the filter is fed the expected commands (as shown in
Equation 8.18), the filter may perform poorly if Q̂k is not adapted to account for the
greater noise.
8.3. ADAPTIVE PERFORMANCE
−3
Radial (m/s)
2
169
Relative Velocity Error (LVLH)
x 10
1
0
−1
−2
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time(sec)
2000
2500
3000
−3
In−Track (m/s)
2
x 10
1
0
−1
−2
−3
Cross−Track (m/s)
2
x 10
1
0
−1
−2
Figure 8.11: Relative velocity error with no adaptation. Note how the esti-
mate is well outside of the expected covariance bounds.
−3
Radial (m/s)
2
Relative Velocity Error (LVLH)
x 10
1
0
−1
−2
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time(sec)
2000
2500
3000
−3
In−Track (m/s)
2
x 10
1
0
−1
−2
−3
Cross−Track (m/s)
2
x 10
1
0
−1
−2
Figure 8.12: Relative velocity error with Q adaptation. Now the covariance
more accurately reflects the actual velocity error. The mean
relative velocity error is also lower.
170
CHAPTER 8. ADAPTIVE ESTIMATION
To demonstrate this thrust-adaptation, a HWIL simulation was run using a 3vehicle formation, where the formation was changed from an in-track formation to
an in-plane elliptical formation. Sample control inputs were performed during the
simulation using a script of previously generated control commands. There is a 10second thruster firing of 0.1 m/s2 in the radial direction. The resulting change in
radial velocity can clearly be seen in Figure 8.13, which shows the relative velocity of
one of the slave vehicles in the RIC frame. The thrust commands are fed forward to
the Kalman filter. However, to demonstrate robustness, the value fed to the filter was
changed by a Gaussian random amount (with a 10% standard deviation) to simulate
uncertainty in actual thruster behavior.
The measurements were processed in two filters. The first filter did not augment
the process noise during the thrust, as in Equation 8.19. Figure 8.14 shows the position error, and Figure 8.15 shows the velocity error for one of the relative states
during the simulation. Both the position error and velocity error jump during the
thruster firing, and there is a period of about 30 seconds for settling after the commanded thrust. This jump is due to the 10% simulated command error which is not
reflected in the process noise covariance. The second filter does augment the process
noise during the thrust. The resulting position error is shown in Figure 8.16 and
velocity error in Figure 8.17. During the actual thruster firing, the velocity estimate
jumps, while the position estimate maintains accuracy throughout the thruster firing. The velocity estimate returns almost immediately to the previous accuracy level
directly after the thruster firing. Augmentation of the process noise during thrusting
significantly improves estimation performance.
8.3. ADAPTIVE PERFORMANCE
171
Relative Velocity (LVLH)
Radial (m/s)
0.5
0
−0.5
−1
−1.5
0
100
200
300
400
500
600
700
800
0
100
200
300
400
500
600
700
800
0
100
200
300
400
Time (sec)
500
600
700
800
In−Track (m/s)
1.5
1
0.5
0
−0.5
Cross−Track (m/s)
0.15
0.1
0.05
0
−0.05
Figure 8.13: Shows the thrust during a formation maneuver by one of the
slave vehicles; the commanded thrust was ∆V ≈ −1m/s over a
10 second period in the radial direction.
172
CHAPTER 8. ADAPTIVE ESTIMATION
−3
Relative Position Error,(LVLH)
2
Radial (m/s)
Radial (m)
0.02
0
Relative Velocity Error,(LVLH)
x 10
1
0
−1
−0.02
1100
1200
1300
1400
1500
1600
1700
1800
1900
0.02
0
−0.02
1100
1200
1300
1400
1500
1600
1700
1800
1900
0.02
0
−0.02
1000
1100
1200
1300
1400
1500
1600
Time (sec)
1700
1800
1900
Fig.
8.14: Position error during
thrust, constant Q
1400
1500
1600
1700
1800
1900
2000
1200
1300
1400
1500
1600
1700
1800
1900
2000
1200
1300
1400
1500
1600
Time (sec)
1700
1800
1900
2000
0
1
0
−1
1100
Fig.
8.15: Velocity error during
thrust, constant Q
−3
Relative Position Error,(LVLH)
2
Radial (m/s)
0.02
Radial (m)
1300
−1
−2
1000
2000
1200
1
−2
1000
1100
−3
x 10
2
2000
Cross−Track (m/s)
Cross−Track (m)
1000
−2
1000
1100
−3
x 10
2
2000
In−Track (m/s)
In−Track (m)
1000
0
Relative Velocity Error,(LVLH)
x 10
1
0
−1
−0.02
1100
1200
1300
1400
1500
1600
1700
1800
1900
0.02
0
−0.02
1100
1200
1300
1400
1500
1600
1700
1800
1900
0.02
0
−0.02
1000
1100
1200
1300
1400
1500
1600
Time (sec)
1700
1800
1900
2000
Fig. 8.16: Position Error during
thrust, augmented Q
1200
1300
1400
1500
1600
1700
1800
1900
2000
1200
1300
1400
1500
1600
1700
1800
1900
2000
1200
1300
1400
1500
1600
Time (sec)
1700
1800
1900
2000
1
0
−1
−2
1000
1100
−3
x 10
2
2000
Cross−Track (m/s)
Cross−Track (m)
1000
−2
1000
1100
−3
x 10
2
2000
In−Track (m/s)
In−Track (m)
1000
1
0
−1
−2
1000
1100
Fig.
8.17: Velocity error during
thrust, augmented Q
Chapter 9
Conclusions
Formation-flying in Low Earth Orbit has great potential. A simple, robust, low-cost,
and yet precise, relative navigation system is required to enable the benefits of LEO
formation-flying. Carrier differential GPS has the capability of meeting these needs.
This dissertation presents the development and demonstration of a carrier differential GPS receiver and an Adaptive Extended Kalman Filter for LEO formation
flying missions. The tools to analyze and improve both the receiver and the filter have
been created. The error sources and the implementation issues have been studied,
leading to a final receiver/filter system design. Both software and hardware-in-theloop simulations have been performed, and the results from these tests demonstrate
the ability of the relative navigation system to meet the performance requirements
for LEO formation flying.
9.1
Summary of Findings and Contributions
This work consists of two primary contributions: the development of a CDGPS relative navigation system and the demonstration of that system.
1. Development—The first primary contribution of this dissertation is the development of a GPS receiver and an Adaptive Extended Kalman Filter that can
be used for orbital formation flying. This contribution is built on three distinct
achievements.
173
174
CHAPTER 9. CONCLUSIONS
(a) A GPS receiver has been improved for orbital relative navigation (see
Chapter 4). The communication interfaces have been modified so that
it can send measurements to a cross-link or to ground, share data with
a spacecraft bus or ground operator, and receive commands. The clock
steering has been modified so that synchronous measurements can be taken
reliably for long periods. The tracking loop was also modified, with a commandable bandwidth setting so that the receiver can be set to operate
either more robustly or with less noise depending on actual environment
experience. The receiver can also initialize and operate in the orbital environment, as has been demonstrated in hundreds of hours of hardwarein-the-loop testing.
(b) An Extended Kalman filter has been designed for this application. Trade
studies were performed to determine the best implementation approaches
for the filter (see Section 7.1). Single differences are used instead of double
differences since they are simpler and give comparable performance. It has
also been shown that the Doppler measurement from the current tracking
loop does not improve relative navigation performance for this application.
Furthermore, a variety of measurement update and propagation methods
were also compared (see Chapter 5). It was found that a nonlinear measurement update is required to achieve acceptable performance, while a
linear propagation method could provide acceptable performance.
(c) The EKF was modified to include an adaptive filter that can effectively
estimate the process and sensor noise covariances (see Chapter 8). It is
shown to work very well for noises with short time-correlations. Furthermore, it provides feedback for the covariance from the residuals, which
prevents filter divergence and maintains the covariance as a more accurate
indicator of the performance of the nonlinear filter.
These three developments combine to provide a low-cost, robust, and relatively
simple relative navigation system for LEO formation flying.
9.1. SUMMARY OF FINDINGS AND CONTRIBUTIONS
175
2. Demonstration—The performance of this relative navigation system was then
demonstrated in both software and HWIL simulations. These demonstrations
allowed validation of the design, as well as a means for analyzing relative navigation in LEO using CDGPS. Some of the key findings during demonstrations
include:
(a) The relative navigation system designed for this dissertation can reliably
achieve less than 2cm relative position error, and 0.5 mm/s relative velocity
error for formations with 1–2 kilometer separations between vehicles (see
Chapter 6). These are the best results yet reported, and this was done
using a very simple filter design that does not require very detailed orbit
and disturbance models.
(b) A decentralized estimator is able to meet the performance goals (see Section 6.2.4). Even though in some cases it may be less accurate than a
centralized approach, a decentralized filter is more appealing for implementation reasons. This work experimentally establishes that the decentralized
filter is sufficient for centimeter-level precision during LEO formation flying.
(c) In analyzing the demonstration results, it has been shown that the measurement errors have greater impact on performance than the dynamic
propagation errors (see Section 7.2). Furthermore, these measurement errors have greater impact on the position estimate, while the dynamic propagation errors have greater impact on the velocity estimate. The largest
error source for relative navigation is the ionospheric delay. For formations
of one kilometer, the ionospheric effect is not significant, but for formations
of ten kilometers or more, the ionospheric effect must be mitigated. The
largest differential process noise is the differential drag, but its effect is so
small that it can be neglected for all formation sizes.
The HWIL demonstrations of the receiver and filter increase confidence that
the system can operate successfully on orbit. The analysis findings also provide
a basis for future research in the area of LEO formation flying.
176
9.2
CHAPTER 9. CONCLUSIONS
Future Research
As with most research, this dissertation opens many more paths of interest for future
research. Some of the major areas are:
1. A closed loop demonstration. So far, all of the work has been focused on the
estimator. The next step would be to perform closed-loop active control simulations. The Goddard Space Flight Center should now have the capability to do
this. Then further work exploring the estimator impact on control performance
could be performed. It is also an essential step for further formation flying
mission development.
2. Improve velocity performance. Even though the relative navigation system
designed in this dissertation met the requirements for the Orion mission, there
is continued interest in further improving the ability to estimate relative velocity.
Improvements in relative velocity estimation contributes directly to lowering the
required control effort for closed-loop formation control, and therefore increasing
mission life [MT01].
3. A centralized filter comparison. The centralized filter approach has not yet
been fully implemented. This work with a decentralized filter has set a conservative bound for the expected performance of a centralized filter. But it is not
clear how much improvement a centralized filter would provide. This should
be studied by implementing a centralized filter in the same environment as the
decentralized filter, to perform a parallel comparison between them.
4. Further adaptive work. This dissertation only begins to study the adaptive
filters for orbital relative navigation. Some clear areas of research are:
(a) Continue studying performance sensitivity to window sizing.
(b) The radius of convergence for initial parameter estimates is still unknown,
and the underlying factors influencing convergence should be further analyzed.
9.3. CLOSING REMARKS
177
(c) Study dynamic approaches to window sizing, where the window size is
changed as a function of time, residual sizes, or other criteria.
(d) Other methods of simultaneous process and sensor noise adaptation should
be examined.
(e) Perhaps most important, there is a need for methods that better handle
adapting to biases or long time-correlated variables.
5. Attitude modeling. Simulations need to be performed using attitude models.
When dealing with errors of one centimeter, there is a strong coupling between
attitude and position. Work on attitude determination and control needs to be
combined with this work on relative position and velocities.
6. Orbital Demonstration. Finally, all of this is just leading to performing actual
orbital demonstrations. Carrier differential GPS is an ideal approach for formation flying navigation, and formation flying has great potential. The Orion
mission would be an excellent opportunity to validate this technology.
9.3
Closing Remarks
As an engineer, I derive the greatest satisfaction from making things work. To face a
problem, and to not only solve it in theory, but to physically demonstrate it working,
provides immense sense of purpose and fulfillment.
This project has turned out to be just such an experience. The Orion mission
needed a relative navigation sensor. I have developed a receiver and filter that exceeds
the performance requirements for the mission. And I did so with a simple, flexible,
and robust design. The challenge also led to the development of an adaptive EKF,
which has been especially rewarding.
I have full confidence in the system. No short cuts were taken, no unjustifiable
assumptions were made. I can fully recommend that this system is ready to fly, and
can achieve centimeter-level accuracy for Low Earth Orbit formation flying missions.
178
CHAPTER 9. CONCLUSIONS
THE END
Appendix A
Additional HWIL Results
This appendix includes the plots from additional formations, as listed in Section 6.2.
Table A.1: Compiled Results for Various Formations
100m In-Track
1 km In-Plane
1 km Out-Plane
1 km Thrusting
10 km In-Track
10 km In-Plane
Target
Position (cm)
Velocity (mm/s)
Mean (µ) St.Dev. (σ) Mean (µ) St.Dev. (σ)
0.93
0.46
0.01
0.32
0.83
0.82
0.04
0.33
1.03
0.54
0.04
0.34
1.38
0.60
0.02
0.83
5.76
1.92
0.07
0.40
2.83
1.55
0.04
0.54
2.00
0.50
179
180
APPENDIX A. ADDITIONAL HWIL RESULTS
A.1
100 m In-Track
Relative Position Error,(LVLH)
Radial (m)
0.1
0.05
0
−0.05
In−Track (m)
−0.1
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
200
400
600
800
1000
1200
1400
Time (sec)
1600
1800
2000
2200
0.1
0.05
0
−0.05
Cross−Track (m)
−0.1
0.1
0.05
0
−0.05
−0.1
Figure A.1: Relative Position Error (RPE), 100 m in-track formation.
−3
Radial (m/s)
2
Relative Velocity Error,(LVLH)
x 10
1
0
−1
−2
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
200
400
600
800
1000
1200
1400
1600
1800
2000
2200
200
400
600
800
1000
1200
1400
Time (sec)
1600
1800
2000
2200
−3
In−Track (m/s)
2
x 10
1
0
−1
−2
−3
Cross−Track (m/s)
2
x 10
1
0
−1
−2
Figure A.2: Relative Velocity Error (RVE), 100 m in-track formation.
A.2. 10 KM IN-TRACK
181
A.2
10 km In-Track
Relative Position Error,(LVLH)
Radial (m)
0.1
0.05
0
−0.05
In−Track (m)
−0.1
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time (sec)
2000
2500
3000
0.1
0.05
0
−0.05
Cross−Track (m)
−0.1
0.1
0.05
0
−0.05
−0.1
Figure A.3: Relative Position Error (RPE), 10 km in-track formation.
−3
Radial (m/s)
2
Relative Velocity Error,(LVLH)
x 10
1
0
−1
−2
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time (sec)
2000
2500
3000
−3
In−Track (m/s)
2
x 10
1
0
−1
−2
−3
Cross−Track (m/s)
2
x 10
1
0
−1
−2
Figure A.4: Relative Velocity Error (RVE), 10 km in-track formation.
182
APPENDIX A. ADDITIONAL HWIL RESULTS
A.3
1 km Out-of-Plane Elliptical
Relative Position Error,(LVLH)
Radial (m)
0.1
0.05
0
−0.05
In−Track (m)
−0.1
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time (sec)
2000
2500
3000
0.1
0.05
0
−0.05
Cross−Track (m)
−0.1
0.1
0.05
0
−0.05
−0.1
Figure A.5: Relative Position Error (RPE), 1 km out-of-plane ellipse.
−3
Radial (m/s)
2
Relative Velocity Error,(LVLH)
x 10
1
0
−1
−2
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time (sec)
2000
2500
3000
−3
In−Track (m/s)
2
x 10
1
0
−1
−2
−3
Cross−Track (m/s)
2
x 10
1
0
−1
−2
Figure A.6: Relative Velocity Error (RVE), 1 km out-of-plane ellipse.
A.4. 10 KM IN-PLANE ELLIPTICAL
A.4
183
10 km In-Plane Elliptical
Relative Position Error,(LVLH)
Radial (m)
0.1
0.05
0
−0.05
In−Track (m)
−0.1
500
1000
1500
2000
2500
500
1000
1500
2000
2500
500
1000
1500
Time (sec)
2000
2500
0.1
0.05
0
−0.05
Cross−Track (m)
−0.1
0.1
0.05
0
−0.05
−0.1
Figure A.7: Relative Position Error (RPE), 10 km in-plane ellipse.
−3
Radial (m/s)
2
Relative Velocity Error,(LVLH)
x 10
1
0
−1
−2
500
1000
1500
2000
2500
500
1000
1500
2000
2500
500
1000
1500
Time (sec)
2000
2500
−3
In−Track (m/s)
2
x 10
1
0
−1
−2
−3
Cross−Track (m/s)
2
x 10
1
0
−1
−2
Figure A.8: Relative Velocity Error (RVE), 10 km in-plane ellipse.
184
APPENDIX A. ADDITIONAL HWIL RESULTS
A.5
1 km Thrusting
Relative Position Error,(LVLH)
Radial (m)
0.1
0.05
0
−0.05
In−Track (m)
−0.1
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time (sec)
2000
2500
3000
0.1
0.05
0
−0.05
Cross−Track (m)
−0.1
0.1
0.05
0
−0.05
−0.1
Figure A.9: Relative Position Error (RPE), 1 km in-plane thrusting formation.
−3
Radial (m/s)
2
Relative Velocity Error,(LVLH)
x 10
1
0
−1
−2
500
1000
1500
2000
2500
3000
500
1000
1500
2000
2500
3000
500
1000
1500
Time (sec)
2000
2500
3000
−3
In−Track (m/s)
2
x 10
1
0
−1
−2
−3
Cross−Track (m/s)
2
x 10
1
0
−1
−2
Figure A.10: Relative Velocity Error (RVE), 1 km in-plane thrusting.
Bibliography
[AD98] A. Das and R. Cobb, “TechSat 21 – Space Missions Using Collaborating Constellations of Satellites,” Proceedings of the 12th Annual AIAA/USU Conference
on Small Satellites, Logan, UT, Aug. 1998.
[AG74] A. Gelb, Applied Optimal Estimation, MIT Press, Cambridge, MA, 1974.
[AL02] A. Long, D. Kelbel, T. Lee, D. Leung, J.R. Carpenter, C. Gramling, “Relative
Navigation of Formation-Flying Satellites,” CNES International Symposium for
Formation Flying: Missions and Technologies, Toulouse, France, Oct. 2002.
[AR02] A. Reichert, T. Meehan, T. Munson, “Toward Decimeter-Level Real-Time
Orbit Determination: A Demonstration Using the SAC-C and Champ Spacecraft,”
Proceedings of the ION GPS Conference, Portland, OR, Sep. 2002.
[BP95] B.W. Parkinson, P.K. Enge, “Differential GPS,” Global Positioning System:
Theory and Applications, Volumes 1 and 2, American Institute of Aeronautics and
Astronautics(AIAA), Progress in Astronautics and Aeronautics Series, Volume 164,
Washington, DC, 1996, pp. 11-27.
[BH92] R.G. Brown, P.Y.C. Hwang, Introduction to Random Signals and Applied
Kalman Filtering, John Wiley and Sons Inc., New York, 1992.
[CM00] R. Campana, L. Marradi, “GPS-based Space Navigation: Comparison of
Kalman Filtering Schemes,” Proc. of Institute of Navigation GPS Meeting, Salt
Lake City, UT, Sep. 2000.
[CP01] C.W. Park, Precise Relative Navigation Using Augmented CDGPS, Ph.D.
Dissertation, Stanford University, Dept. of Mechanical Engineering, June 2001.
185
186
BIBLIOGRAPHY
[DAL] Maxim semi-conductors web site, http://www.maxim-ic.com/1-Wire.cfm
[DAR] ESA Science, Darwin Homepage, http://sci.esa.int/home/darwin/index.cfm
[DK94] D.T. Knight, “A New Method for Instantaneous Ambiguity Resolution,”
Proc. of Institute of Navigation 7th International Technical Meeting Conference,
Salt Lake City, UT, 1994.
[DS02a] NASA
GSFC
Distributed
Space
System
Mission
List,
Home
Page,
http://gsfctechnology.gsfc.nasa.gov/dssmissionlist.htm
[DS02b] NASA
GSFC
Distributed
Space
System
http://gsfctechnology.gsfc.nasa.gov/dss.htm
[DV01] D.A. Vallado, Fundamentals of Astrodynamics and Applications, Second Edition, Microcosm Press, El Segundo, CA, 2001.
[EK96] E. Kaplan, Understanding GPS Principles and Applications, Artech House
Publishers, Boston, MA, 1996.
[EORB] EO-1 Homepage, http://eo1.gsfc.nasa.gov.
[EO98] E. Olsen, C.W. Park, J. How, “3D Formation Flight using Differential Carrierphase GPS Sensors,” Proc. of the ION-GPS Conference, Sept 1998.
[EO99] E. Olsen, GPS Sensing for Formation Flying Vehicles. Ph.D. Dissertation,
Stanford University, Dept. of Aeronautics and Astronautics, Dec. 1999.
[EO00] E. Olsen, P. Stadter, M. Asher, “Long-Baseline Differential GPS based Relative Navigation for Spacecraft with Crosslink Range Measurements,” Proc. of the
ION GPS Conference, Salt Lake City, Sep. 2000.
[FB97] F. H. Bauer, J. Bristow, D. Folta, K. Hartman, D. Quinn, J. P. How, “Satellite
Formation Flying Using an Innovative Autonomous Control System (AUTOCON)
Environment,” Proceedings of the American Institute of Aeronautics and Astronautics (AIAA) Guidance Navigation and Control Conference, New Orleans, LA, May
1997.
BIBLIOGRAPHY
187
[FB98] F. H. Bauer, K. Hartman, E. G. Lightsey, “Spaceborne GPS: Current Status
and Future Visions,” 1998 IEEE Aerospace Conference Proceedings,, IEEE, Aspen,
CO, March 1998.
[FB99] F. H. Bauer, K. Hartman, J. P. How, J. Bristow, D. Weidow, and F. Busse,
“Enabling Spacecraft Formation Flying through Spaceborne GPS and Enhanced
Automation Technologies,” Proceedings of the ION-GPS Conference, Nashville,
TN, Sept. 1999.
[FD00] F. D. Busse, G. Inalhan, J. P. How, “Project Orion: Carrier-Phase Differential GPS for Formation Flying,” Proc. of AAS Guidance and Control Conference,
Breckenridge, CO, Feb. 2000.
[FD01] F. D. Busse, J. P. How, J. Simpson, J. Leitner, “Orion-Emerald: Carrier
Differential GPS for LEO Formation Flying,” Proc. of IEEE Aerospace Conference,
Big Sky, MT, Mar. 2001.
[FG79] F. M. Gardner, Phaselock Techniques, John Wiley and Sons Inc., New York,
1979.
[GD02] G. Davis, M. Moreau, F. Bauer, J.R. Carpenter, “GPS Based Navigation
and Orbit Determination for the AMSAT AO-40 Satellite,” AIAA Guidance and
Control Conference, Monterey, CA, Aug 2002.
[GG84] G. G. Goodwin, K. S. Sin, Adaptive Filtering Prediction and Control,
Prentice-Hall Inc., Englewood Cliffs, NJ, 1984.
[GI00] G. Inalhan, F. Busse, J. How, “Precise Formation Flying of Multiple Spacecraft Using Carrier-Phase Differential GPS,” Proceedings of AAS Space Flight Mechanics Winter Meeting, Clearwater, FL, AAS 00-109, Jan 2000.
[GL97] E. G. Lightsey, Development and Flight Demonstration of a GPS Receiver
for Space, Ph.D. Thesis, Department of Aeronautics and Astronautics, Stanford
University, Feb., 1997.
188
BIBLIOGRAPHY
[GL00] E. G. Lightsey, “Going Up: A GPS Receiver Adapts to Space,” GPS World,
Sep. 2000.
[GPS96] B. W. Parkinson, J. J. Spilker,Jr., P. Axelrad, P. Enge, Global Positioning
System: Theory and Applications, Volumes 1 and 2, American Institute of Aeronautics and Astronautics(AIAA), Progress in Astronautics and Aeronautics Series,
Volumes 163 and 164, Washington, DC, 1996.
[GRACE] Earth
System
Science
Pathfinder
GRACE
homepage,
http://essp.gsfc.nasa.gov/grace/.
[GW02] J. Leitner, F. Bauer, D. Folta, R. Carpenter, M. Moreau, and J.P. How,
“Formation Flight in Space,” GPS World, Feb. 2002, pp. 22–31.
[HT97] E. H. Teague, Flexible Structure Estimation and Control Using the Global
Positioning System, Ph.D. Dissertation, Stanford University, Dept. of Aeronautics
and Astronautics, June 1997.
[ICD01] F.D. Busse, P. Ferguson, “GPS Payload Interface Control Document,” Rev.
2.0, Aug. 2001. Contact authors for copy.
[IK99] I. Kawano, M. Mokuno, T. Kasai, T. Suzuki, “First Autonomous Rendezvous
using Relative GPS Navigation by ETS-VII,” Proceedings of the ION-GPS Conference, Nashville, TN, Sept. 1999.
[IK01] I. Kawano, M. Mokuno, T. Kasai, T. Suzuki, “First Autonomous Rendezvous
Using Relative GPS Navigation by ETS-VII,” Journal of the Institute of Navigation, Vol. 48, No. 1, Spring 2001.
[JA98] J.C. Adams, J.P. How, “GPS Attitude Determination for Spinning Spacecraft
with Non-aligned Antenna Arrays,” Proceedings of the ION National Technical
Meeting Conference, Long Beach, CA, Jan 1998.
[JA99] J.C. Adams,Robust GPS Attitude Determination for Spacecraft, Ph. D. Dissertation, Stanford University, Dept. of Aeronautics and Astronautics, 1999.
BIBLIOGRAPHY
189
[JS99] J.Simpson, et al., “Testing of the International Space Station and X-38 GPS
Receiver,” Proceedings of the ION GPS Conference, Nashville, TN, Sep. 1999.
[JW92] W. Larson, J. Wertz, Space Mission Analysis and Design, Microcosm Inc.,
Torrance CA, 1992.
[KZ96] K.R. Zimmerman, Experiments in the Use of the Global Positioning System
for Space Vehicle Rendezvous, Ph.D. Dissertation, Stanford University, Dept. of
Aeronautics and Astronautics, Dec. 1996.
[LISA] Laser Interferometer Space Antenna homepage: http://lisa.gsfc.nasa.gov/
[MK76] M. Kaplan, Modern Spacecraft Dynamics and Control, John Wiley and Sons,
Inc., New York, 1976.
[MT01] J. How and M. Tillerson, “Analysis of the Impact of Sensor Noise on Formation Flying Control,” Proceedings of the American Control Conference, pp.
3986-3991, 2001.
[MT02] M. Tillerson, Coordination and Control of Multiple Spacecraft using Convex
Optimization Techniques, S.M. Thesis, Department of Aeronautics and Astronautics, MIT, June 2002.
[MU98] M.J. Unwin, M.K. Oldfield, C.I. Underwood, R. Harboe-Sorensen, “The Use
of Commercial Technology for Spaceborne GPS Receiver Design,” Proc. of Institute
of Navigation GPS Meeting, Nashville, TN, Sep. 1998.
[MU00] M.J. Unwin, P.L. Palmer, Y. Hashida, C.I. Underwood, “The SNAP-1 and
Tsinghua-1 GPS Formation Flying Experiment,” Proc. of Institute of Navigation,
Salt Lake City, UT, Sep 2000.
[MU02] M.J. Unwin, S. Gleason, Y. Hashida, “Applying GPS to a Constellation of
Disaster Monitoring Satellites,” Proceedings of ION GPS Conference, Portland,
OR, Sep. 2002.
190
BIBLIOGRAPHY
[OM02a] O. Montenbruck, T. Ebinuma, E.G. Lightsey, S. Leung, “A Real-Time
Kinematic GPS Sensor for Spacecraft Relative Navigation,” Aerospace Science and
Technology 6, pp. 435-449, Apr. 2002.
[OM02b] O. Montebruck, S. Leung, “GPS Operations on the PC sat Microsatellite,”
Proc. of the ION GPS Conference, Portland, OR, Sep. 2002.
[OR01] P. Ferguson, F. D. Busse, B. Engberg, J.P. How, M. Tillerson, N. Pohlman, A.
Richards, R. Twiggs, “Formation Flying Experiments on Orion Emerald Mission,”
Poc. of AIAA Space 2001 Conference and Exposition, Albuquerque, NM, Aug.
2001, AIAA-2001-4688.
[PA99] D. Highsmith, P. Axelrad, “Relative State Estimation Using GPS Flight Data
from co-Orbiting Spacecraft,” Proceedings of the Institute of Navigation GPS Conference, Nashville, TN, Sep. 1999.
[PE01] P. Misra, P. Enge, Global Positioning System—Signals, Measurements, and
Performance, Ganga-Jamuna Press, Lincoln, MA, 2001.
[PE03] Personal communication with Pr. Per Enge, 2003.
[PB97] P. Binning, I. Galysh, “Satellite to Satellite Relative Navigation Using GPS
Pseudoranges,” Proc. of ION National Technical Meeting, Santa Monica, CA, Jan.
1997.
[PJ68] R.S. Bucy, P.D. Joseph, Filtering for Stochastic Processes with Applications
to Guidance, Interscience Publishers, N.Y., 1968.
[PM82] P. Maybeck, Stochastic Models, Estimation, and Control, Volume 2, Academic Press, New York, 1982.
[RB71] R.Bate, D. Mueller, J. White, Fundamentals of Astrodynamics, Dover Publications, Inc., New York, 1971.
[RC01] J.R. Carpenter, E. Schiesser, “Semi major Axis Knowledge and GPS Orbit
Determination,” Journal of the Institute of Navigation, Vol. 48, No. 1, Spring 2001.
BIBLIOGRAPHY
191
[RC02] J.R. Carpenter, “Decentralized Control of Satellite Formations,” International Journal of Robust and Nonlinear Control, 2002, 12:141-161.
[RM70] R.K. Mehra, “On the Identification of Variances and Adaptive Kalman Filtering,” IEEE Transactions on Automatic Control, Vol. AC-15, No. 2, pp. 175–184,
April 1970.
[RM72] R.K. Mehra, “Approaches to Adaptive Filtering,” IEEE Transactions on
Automatic Control, pp. 693–698, October 1972.
[RS99] R.J. Sedwick, T.L. Hacker, D.W. Miller, “Optimum Aperture Placement for
a Space-Based Radar System Using Seperated Spacecraft Interferometry,” Proceedings of AIAA GNC, Aug. 1999.
[GW97] S. Han, C. Rizos, “Comparing GPS Ambiguity Resolution Techniques,” GPS
World, Oct. 1997.
[SH91] S. Haykin, Adaptive Filter Theory, 2nd Edition, Prentice Hall Inc., Englewood
Cliffs, NJ, 1991.
[SJ97] S. Julier, J. Uhlmann, “A New Extension of the Kalman Filter to Nonlinear Systems,” Proceedings of AeroSense: The 11th International Symposium on
Aerospace/Defense Sensing, and Simulation and Controls, 1997.
[SP01] STR Series Multichannel Satellite Navigation Simulator Reference Manual,
May 2001.
[ST94] R. Stengel, Optimal Control and Estimation, Dover Publications, New York,
1994.
[TE01] T. Ebinuma,R. Bishop, E. Lightsey,“Hardware-in-the-Loop GPS Test Facility
for Spacecraft Autonomous Rendezvous,” Proceedings of ION GPS Meeting, Salt
Lake City, UT, Sep. 2001.
[TSAT] AFRL
SV
Directorate,
TechSat-21
http://www.vs.afrl.af.mil/factsheets/TechSat21.html
homepage,
192
BIBLIOGRAPHY
[WB02] W.Bertiger, et al.,“GRACE: Millimeters and Microns in Orbit,” Proc. of the
ION GPS Conference, Portland, OR, Sep. 2002.
[WF87] W.A. Feess, S.G. Stephens, “Evaluations of GPS Ionospheric Models,” IEEE
Transactions on Aerospace and Electronic Systems, vol. AES-23, no. 3, pp.332-338,
1987.
[WL89] W.M. Lear, “GPS Navigation for Low Earth Orbiting Vehicles,” NASA Johnson Space Center Internal Note 87-FM-2, Rev. 1, Mar. 1989.
[WW00] W.R. Williamson, J. Min, J.L. Speyer, “A Comparison of an Optimal Global
and a Suboptimal Decentralized GPS/INS Filter for Relative State Estimation,”
Proceedings of ION National Technical Meeting, Anaheim, CA, Jan. 2000.
[WW02] W.R. Williamson, M.F. Abdel-Hafez, I. Rhee, E.J. Song, J. Wolfe, D.
Cooper, D.F. Chichka, J.L. Speyer,“A Formation Flight Experiment Using Differential Carrier Phase for Precise Relative Navigation,” Proceedings of the ION
GPS Conference, Portland, OR, Sep. 2002.
[XEUS] A.
Parmer,
XEUS
mission
homepage,
general/Projects/XEUS/main/xeus main.html
http://astro.esa.int/SA-
Download