Sunteți pe pagina 1din 53

SGP4 Differential Correction

David A Vallado, Vince Coppola, Paul Crawford


Center for Space Standards and Innovation
Presented at the AGI Users Exchange, Washington DC, August 28, 2007

AGI

Pg 1 of 50

www.agi.com

Outline
Motivation
Estimation Theory
Technical Review
Solution Alternatives

Standalone Approach
Discussion
Availability

STK Approach
Nomenclature
Some Examples

Conclusions
AGI

Pg 2 of 50

www.agi.com

Motivation
SGP4 routinely used for satellite analysis
Updated Code available
Vallado et al (2006)
http://www.centerforspace.com/downloads/

TLE is convenient for


Distributing compact state information
Developing a quick ephemeris
Fast, modest accuracy

Usually sufficient to start a numerical DC technique


Useful in antenna pointing
AGI

Pg 3 of 50

www.agi.com

Motivation
Availability of data from which to form a TLE
Ephemerides
Observations

Several SGP4 DC programs are in use


AFSPC
No release of code nor technical details

Others
Various versions of SGP4 used

With the release of SGP4 code (2006)


Intent to release a publicly available version of DC
AGI

Pg 4 of 50

www.agi.com

Estimation Theory - Review


Least Squares
Minimize sum square of residuals
Normal Equation (linear form)

X = (ATWA)-1 ATWb
State (in X ) is found directly

For the orbit problem, its non-linear

dx = (ATWA)-1 ATWb
Corrections to the state (dx ) found through iteration

AGI

Pg 5 of 50

www.agi.com

Estimation Theory - Review


Identification of symbols
X
State, either vectors or orbital elements

A
Partial derivative matrix

W
Weighting matrix (1/sigma squared)

b
Observation / Residual Matrix (observed calculated)

(ATWA)-1
Covariance matrix
AGI

Pg 6 of 50

www.agi.com

Estimation Theory - Review


X State either vectors or orbital elements
Position and velocity vectors
Classical Orbital Elements
a, e, i, W, w, n

SGP4 Orbital Elements


n, e, i, W, w, M, and B*
Kozai form, but based on Brouwer theory

Equinoctial Elements
Recommended for near singular cases

Other

AGI

Pg 7 of 50

www.agi.com

Estimation Theory Review


Bstar
B* =

cD A
r 0 RK
2m

Equinoctial elements
af = ke = e cos (W + w )
n
ag = he = e sin (W + w )
L = lM = M + w + W
i
c = pe = tan sin (W )
2
i
y = qe = tan cos (W )
2

AGI

Pg 8 of 50

www.agi.com

Estimation Theory - Review


Formation of A
A

obs obs X
A=
=
= HF

X o
X X o

where
H=

obs
X

H
Observation matrix


F=
X o
Error State Transition Matrix
X, Xo
State either vectors or orbital elements at current time, and
at epoch

AGI

Pg 9 of 50

www.agi.com

Estimation Theory - Review


W Weighting matrix (1/sigma squared)
If range-only data,
W = [ 1/sr^2]

Difficult to form
If using TLE generated ephemeris, no knowledge
AAS 07-127 (GPS paper using TLEs)

If using obs, need sensor weights

If from numerical ephemeris, may be small

AGI

Pg 10 of 50

www.agi.com

Estimation Theory - Review


b Observation / Residual Matrix
(observed calculated)

AGI

Pg 11 of 50

www.agi.com

Estimation Theory - Review


(ATWA)-1 Covariance matrix
Not provided with existing TLE data
Observation data too sparse
Modeling not complete
Little historical emphasis on covariance
Never been trusted from SGP4
Very large values and unrealistic

Exists in a DC operation
Potential to investigate its value

AGI

Pg 12 of 50

www.agi.com

Estimation Theory - Review


H matrix Observation matrix
Several types of observations

obs
H=
X

Range, Azimuth, Elevation, other


Position and velocity vectors from ephemeris
Can use just position vectors

AGI

GPS
Direction cosines
Accelerometer
Other

Pg 13 of 50

www.agi.com

Estimation Theory - Review


Fit span is critical
Tradeoff between length of time (propagation)
To obtain enough observations
To not introduce too much error from the propagation

Kalman filters do not have this problem

AGI

Pg 14 of 50

www.agi.com

Discussion of Alternatives
Two major areas
1. Formation of the A matrix
Analytical, numerical
Finite differencing

2. Solution of the normal equations


Gauss-Jordon
Single Value Decomposition, SVD

AGI

Pg 15 of 50

www.agi.com

AGI

Pg 16 of 50

www.agi.com

Formation of the A Matrix

Calculating the A matrix


Analytical Partial derivatives

Can be time consuming depending on state vector elements


Often used for H as limited number of observation types
Error State Transition Matrix, , model dependant
Analytical
Constant system
Calculate from F matrix
Numerical integration of variational equations
Most complex

Finite differencing

AGI

Accomplishes both tasks (H and ) in one step


Uses exact propagation technique

Pg 17 of 50

www.agi.com

Technical Details
Finite Differencing
Ensures complete compatibility with the propagation routine
Finite differencing vs Central Differencing

obs f ( X + d ) - f ( X )
=

d
X o

obs f ( X + d ) - f ( X - d )
=

2d
X
o

Lots of propagations!
Simple to code, overall system independent of choice of model.

AGI

Pg 18 of 50

www.agi.com

Technical Details
True Orbit

Modified Orbit
(1 of 6 for each component
of the state vector)

vnompert

Nominal Orbit

Observation times
(ti)

vnom

rnompert
rnom
vnompert

Propagation

Earth

rnompert
rnom

AGI

Pg 19 of 50

vnom
Epoch
(to)
www.agi.com

Solution of the normal equations


Matrix inversion
Gauss-Jordan elimination
LU decomposition and back-substitution
Solution of matrix inverse can be difficult
Potential near singular values

Single Value Decomposition (SVD) processing


Returns a value even if A is singular
Diagonal matrix w lets you find which elements are important to
solution

AGI

Pg 20 of 50

www.agi.com

V (diag[1 / w j ]) U T dy = dx

SVD Processing
Normal Equation
ATWb = ATWA dx
Sb = SAdx

SVD solves the weighted least-squares problem


as
dx = V (diag[1/ wj]) UT S b
Matrices U, V, and vector w are the SVD decomposition
of the weighted Jacobian (design) matrix SA
Covariance information in V and w

AGI

Pg 21 of 50

www.agi.com

DC Matrix Inverse Approach

FOR i = 1 to the number of observations (N)

Propagate (SGP4) the nominal state to the time of the observation (TEME)
Find the slant range vector, sensor to the propagated state in the topocentric (SEZ) coordinate
system

Determine nominal observations from the SEZ vector


Find the b matrix as observed nominal observations
Form the A matrix

TEME > ECEF > SEZ

Finite (or central) differences


Analytical partials

H, Partials depending on observation type


, Partials for state transition matrix.

Accumulate ATWA and ATWb

END FOR

Find P = (ATWA)-1 using Gauss-Jordan elimination (LU decomposition and backsubstitution)

Solve dx = P ATWb

Check RMS for convergence

Update state X = X + dx

Repeat if not converged using updated state

AGI

Pg 22 of 50

www.agi.com

DC SVD Approach

FOR i = 1 to the number of observations (N)

Propagate (SGP4) the nominal state to the time of the observation (TEME)
Find the slant range vector, sensor to propagated state in topocentric (SEZ) coordinate system

Determine nominal observations from the SEZ vector


Find the b matrix as observed nominal observations
Form the A matrix

TEME > ECEF > SEZ

Finite (or central) differences


Analytical partials

H, Partials depending on observation type


, Partials for state transition matrix.

Accumulate ATWA and ATWb

END FOR

Use SVD to solve [S A], as U, V, and w, where (S = ATW)

Inspect wj, set any very small wj terms to zero rather than any 1/ wj term near-infinite

Solve dx = V (diag[1/ wj]) UT S b

Check RMS for convergence

Update state X = X + dx

Repeat if not converged using updated state

AGI

Pg 23 of 50

www.agi.com

Misc Issues to consider


Time, coordinate systems, Constants
UTC
TEME
WGS-72, WGS-84

Output
Cartesian state vector
Orbital elements
Kozai, Brouwer?

B*
Solved for?
AGI

Pg 24 of 50

www.agi.com

TEME details

Frame in between TOD and PEF


v
v
rTOD = ROT 3( -q GAST 82 ) rPEF and q GAST 82 = q GMST 82 + Eqe82
v
v
rTEME = ROT 3( -q GMST 82 )rPEF
v
v
rPEF = ROT 3(q GMST 82 )rTEME

TEME of Date
Calculate nutation parameters at each propagation time
We assume as the default

TEME of Epoch
Calculate nutation parameters at epoch
Use this value for all propagation times

Example Difference
24m in 3 days for a 7100 km altitude orbit

AGI

Pg 25 of 50

www.agi.com

Ecliptic
GCRS Equator

^
IGCRF
Mean Equator
of Date (t1)

^
ITOD Dy

^
IMOD

e = e- + De

EqEquinox ^
ITEME

^
IITRF
xp

qGMST
qGAST

True Equator
of Date (t1)

^
IPEF

True Equator
of Date (t2)

True Equator
of Date (t3)

AGI

Pg 26 of 50

www.agi.com

Constants
WGS-72 stated
We use as default
Symbol
m
RK
J2
J3
J4
XKE
TUMin

WGS-84 possible

AGI

Symbol
m
RK
J2
J3
J4
XKE
TUMin

Calcul ati on

60/sqrt(RK 3 /m)
sqrt(RK 3 /m)/60

Calcul ati on

C 2,0 = 0.000 484 166 850 00


C 3,0 = 0.000 000 957 063 90
C 4,0 = 0.000 000 536 995 87
60/sqrt(RK 3 /m)
sqrt(RK 3 /m)/60

Pg 27 of 50

Value
398,600.8 km3 /s 2
6378.135 km
0.001 082 616
0.000 002 538 81
0.000 001 655 97
0.074 366 916 133 17 / min
13.446 839 696 959 31 min

Value
398,600.4418 km3 /s 2
6378.137 km
0.001 082 629 989 05
0.000 002 532 153 06
0.000 001 610 987 61
0.074 366 853 168 71 / min
13.446 851 082 044 98 min

www.agi.com

Standalone Approach

AGI

Pg 28 of 50

www.agi.com

Standalone Processing
Fit observations or ephemeris
Computing the Jacobian by finite difference
Each state element Xj perturbed and moved to observation time.
Requires N more propagations than computing observations alone

Normal equation solution


SVD processing

Scale and Weighting factors


Used to mitigate the numerical magnitude differences in state
parameters.
No effect on perturbations, just the processing.
Weights for S based on circular orbit possible when no sensor
accuracy known.

AGI

Pg 29 of 50

www.agi.com

Standalone Processing
Finite differencing
Scaling
v cir =

GM
a

a
s=
=
v cir

AGI

a3
1
=
GM
n

9 GM
2
(
)
a

1
+
D
t

3
16
a
0

e a 0

i a 0

x=

W a 0

w a
0

M a
0

Pg 30 of 50

www.agi.com

Standalone Resolutions
Constants
Use WGS-72

Coordinate System
Use TEME
Recommend conversion to PEF and then the standard
IAU coordinate conversions
Recommend ephemerides be in J2000 (IAU-76/FK5) or
ITRF

AGI

Pg 31 of 50

www.agi.com

Standalone Availability
Beta code developed
Public code

In development and test


Designed to use AIAA 2006-6753 SGP4 code
Release expected in a few months
Check
http://www.centerforspace.com/downloads/

AGI

Pg 32 of 50

www.agi.com

STK Approach

AGI

Pg 33 of 50

www.agi.com

STK Approach
Fits a TLE to an ephemeris
Uses an iterative DC approach
Finite differences to compute state transition matrix
Gauss-Jordan elimination to solve the Normal eqns

Convergence metric: RMS of residuals


Current_RMS < Last_RMS
(Last_RMS - Current_RMS) / Last_RMS < tolerance

AGI

Pg 34 of 50

www.agi.com

STK Specifics

Getting TLE data


Select Satellite/Generate TLE
From an ephemeris
Trajectory sampling method
Satellite Tools/Generate TLE
BLS to minimize residuals
Options to solve for drag
(Bstar)

AGI

Pg 35 of 50

www.agi.com

STK Specifics

Getting TLE data


Select Satellite/Generate TLE
From an ephemeris
Single Point Conversion
Fast
Not as accurate

AGI

Pg 36 of 50

www.agi.com

Generate TLE Tool in STK


Observations
Cartesian position of the ephemeris in TEME
Weight matrix currently is Identity, I

Results
TLE
Solution summary
Convergence performance

Residuals
Graph, Report

AGI

Pg 37 of 50

www.agi.com

User Controls
Fit Method: Time Span or 1 Point in Time
Span to fit
Time step for samples
Epoch

B*
Solves for B*
User sets B* value

Convergence Tolerance
Maximum Iterations
AGI

Pg 38 of 50

www.agi.com

State elements
Previous to STK 8.0 (Fall 2006)
State was Cartesian position and velocity
Conversion to SGP4 Mean elements

Now STK uses mean equinoctial elements


Improved performance
Similar to Keplerian elements
No problems with singularities near e ~ 0.0, i ~ 0.0, p
Reduces some problems associated with orbital regimes

AGI

Pg 39 of 50

www.agi.com

State transition matrix


Change in pos/vel from a change in state elements
Forward difference
Perturbation size chosen per element
Need a small perturbation large enough to make a
difference larger than numerical noise

Reduced perturbation size near gravity resonance


One rev per day, two revs per day

AGI

Pg 40 of 50

www.agi.com

SGP4 Structural Organization (Revised)


SGP4init

SGP4

INITL
Near
Earth

if
method

DSPACE

if
method

DPPER

if <225

DSCOM

DPPER

Deep
Space

One initialization call


Routine calls toSGP4

DSINIT

AGI

Pg 41 of 50

www.agi.com

Issue
1. Routine has several different code paths
Based on detected situations during processing
Use deep space code or not
Gravity resonance or not

Different code different code paths


Code does not smoothly transition across paths
Jumps in computed position and velocity
Jumps lead to poor partials

Reference and perturbed state use different code paths


Finite difference poorly represents derivative
May cause divergence

Solution
Reduce perturbation sizes
Tries to avoid different code paths
We allow several times until a min size is reached
AGI

Pg 42 of 50

www.agi.com

Issue (contd)
2. SGP4 may fail
A concern for e ~ 0.0 and e ~ 1.0
Cant create a valid partial

Solution
Re-start procedure using a near-by solution

AGI

Pg 43 of 50

www.agi.com

Issue (contd)
3. B* issues
Sensitivity to B* for low orbits
Very small changes to B* may have large effect far from epoch
May lead to divergence

B* may be unobservable (GEOs)


Large changes in B* have almost no effect
Can lead to very large B* values

Solution
Set B* and do not solve for it
Re-start
AGI

Pg 44 of 50

www.agi.com

Issue (contd)
4. General divergence
RMS gets worse, not better
Original ephemeris not well-modeled by SGP4

Maneuvers, Gravity resonance when m m_WGS72


Near circular near equatorial GEOs
Re-entry, Launch

Solution
Scale the state update by a < 1.0

We allow 5 such re-scalings before giving up

Reduce the time span

We try to compute a fit for 1 rev


Re-start using this value as a seed

Reset user controls

Allow more iterations


Loosen the convergence tolerance
Reduce the time span

AGI

Pg 45 of 50

www.agi.com

STK Specifics
Output of data
Be careful to select/compare the proper system
TEME of Date
Default

TEME of Epoch
Possible AFSPC implementation

Other coordinate system


J2000, MOD, etc

STK reports do proper conversions for each

AGI

Pg 46 of 50

www.agi.com

Conversions
Setup
Determines how STK interprets incoming data
Reports are consistent

You can set STK up differently


Locate the file
C:\Program Files\AGI\STK 8\STKData\Defaults\_Default.ap

Set the following default as necessary


BEGIN SGP4FrameDefinition
ReferenceFrame TEMEOfDate
END SGP4FrameDefinition

AGI

Pg 47 of 50

www.agi.com

Test Case Overview


Verification test cases
Test each path through the code
High eccentricity
Data formats
Other

Challenging cases
GEO
Low inclination

HEO

AGI

Pg 48 of 50

www.agi.com

Conclusions
Two approaches
SGP4 differential correction with revised SGP4 code
STK differential correction

Future release of code Standalone SGP4DC


Documented
Technical equations in the literature
Test cases and results

Widely available
Softcopy: http://www.centerforspace.com/downloads/

AGI

Pg 49 of 50

www.agi.com

Conclusions
SGP4 Differential correction
TLEs are generated using a differential correction
process and the SGP4 propagator
Proper selection of intermediary elements is critical for
algorithmic robustness
Equinoctial appear to be best

Discontinuities due to conditional computation paths in


SGP4 generate nontraditional challenges
Results reflect development work on STK
implementation and a collaborative standalone effort

AGI

Pg 50 of 50

www.agi.com

QUESTIONS???

AGI

Pg 51 of 50

www.agi.com

So how do we know its right?


POE comparison

Historical TLE comparison

AGI

Pg 52 of 50

www.agi.com

Program Code Structure


START
Loop to
read
input file
of TLE
data

TwoLine2RVSGP4

SGP4init

INITL

Loop

GETGRAVCONST
GSTIME

Days2DMYHMS
if

DSCOM

if

DPPER

if

DSINIT

JDay

Loop to
propagate
each tle

Loop

SGP4

GETGRAVCONST

GETGRAVCONST

SGP4
if

DSPACE

if

DPPER

GETGRAVCONST
DSPACE
DPPER

Function
Locations
SGP4Ext
SGP4IO

Output

AGI

SGP4Unit

Pg 53 of 50

www.agi.com

S-ar putea să vă placă și