Upload
sheharyar-ashraf
View
58
Download
14
Tags:
Embed Size (px)
DESCRIPTION
the book that leads humanity to greatness.
Citation preview
Pg 1 of 50AGI www.agi.com
SGP4 Differential Correction
David A Vallado, Vince Coppola, Paul Crawford
Center for Space Standards and InnovationPresented at the AGI Users Exchange, Washington DC, August 28, 2007
Pg 2 of 50AGI www.agi.com
Outline Motivation Estimation Theory
Technical Review Solution Alternatives
Standalone Approach Discussion Availability
STK Approach Nomenclature Some Examples
Conclusions
Pg 3 of 50AGI 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
Pg 4 of 50AGI 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
Pg 5 of 50AGI 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
Pg 6 of 50AGI 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
Pg 7 of 50AGI 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
Pg 8 of 50AGI www.agi.com
Estimation Theory Review Bstar
Equinoctial elements( )
( )
( )
( )W
==
W
==
W++==+W==
+W==
cos2
tan
sin2
tan
sin
cos
iq
ip
MLeha
neka
e
e
eg
ef
M
y
c
wlw
w
KRmAcB D 0
*
2r=
Pg 9 of 50AGI www.agi.com
Estimation Theory - Review Formation of A
A
where H
Observation matrix
Error State Transition Matrix X, Xo
State either vectors or orbital elements at current time, and at epoch
oXX
=F
XobsH
=
F=
=
= H
XX
Xobs
XobsA
oo
Pg 10 of 50AGI 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
Pg 11 of 50AGI www.agi.com
Estimation Theory - Review
b Observation / Residual Matrix (observed calculated)
Pg 12 of 50AGI 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
Pg 13 of 50AGI www.agi.com
Estimation Theory - Review H matrix Observation matrix
Several types of observations Range, Azimuth, Elevation, other Position and velocity vectors from ephemeris
Can use just position vectors GPS Direction cosines Accelerometer Other
XobsH
=
Pg 14 of 50AGI 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
Pg 15 of 50AGI 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
Pg 16 of 50AGI www.agi.com
Pg 17 of 50AGI 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 Accomplishes both tasks (H and ) in one step Uses exact propagation technique
Pg 18 of 50AGI www.agi.com
Technical Details Finite Differencing
Ensures complete compatibility with the propagation routine Finite differencing vs Central Differencing
Lots of propagations! Simple to code, overall system independent of choice of model.
ddd
dd
2)()(
)()(
--+
=
-+=
XfXfXobsXfXf
Xobs
oo
Pg 19 of 50AGI www.agi.com
Technical Details
Epoch(to)
Nominal Orbit
Propagation
True Orbit Modified Orbit(1 of 6 for each component
of the state vector)
Observation times(ti)
rnompert
vnom
Earth rnom
rnom
vnom
vnompert
vnompert
rnompert
Pg 20 of 50AGI 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
Pg 21 of 50AGI www.agi.com
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
( ) xyUV dd = Tjwdiag ]/1[
Pg 22 of 50AGI 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 TEME > ECEF > SEZ
Determine nominal observations from the SEZ vector Find the b matrix as observed nominal observations Form the A matrix
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 back-substitution)
Solve dx = P ATWb
Check RMS for convergence
Update state X = X + dx
Repeat if not converged using updated state
Pg 23 of 50AGI 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
TEME > ECEF > SEZ Determine nominal observations from the SEZ vector Find the b matrix as observed nominal observations Form the A matrix
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
Pg 24 of 50AGI 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?
Pg 25 of 50AGI www.agi.com
TEME details Frame in between TOD and PEF
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
TEMEGMSTPEF
PEFGMSTTEME
GMSTGASTPEFGASTTOD
rROTrrROTr
EqeandrROTr
vv
vv
vv
)(3)(3
)(3
82
82
82828282
qqq
=-=
+=-=
Pg 26 of 50AGI www.agi.com
True Equator of Date (t1)
Mean Equator of Date (t1)
Dy
IPEF^e = e
- + DeITOD^
qGAST
z
Ecliptic
GCRS Equator
IMOD^
True Equator of Date (t2)
True Equator of Date (t3)
IITRF^
xp
IGCRF^
qGMSTITEME^EqEquinox
Pg 27 of 50AGI www.agi.com
Constants WGS-72 stated
We use as default
WGS-84 possibleSymbol Calculation Value
m 398,600.4418 km3/s2 RK 6378.137 km J2 C2,0 = 0.000 484 166 850 00 0.001 082 629 989 05 J3 C3,0 = 0.000 000 957 063 90 0.000 002 532 153 06 J4 C4,0 = 0.000 000 536 995 87 0.000 001 610 987 61
XKE 60/sqrt(RK3/m) 0.074 366 853 168 71 /min
TUMin sqrt(RK3 /m)/60 13.446 851 082 044 98 min
Symbol Calculation Value m 398,600.8 km3/s2
RK 6378.135 km J2 0.001 082 616 J3 0.000 002 538 81 J4 0.000 001 655 97
XKE 60/sqrt(RK3/m) 0.074 366 916 133 17 /min
TUMin sqrt(RK3 /m)/60 13.446 839 696 959 31 min
Pg 28 of 50AGI www.agi.com
Standalone Approach
Pg 29 of 50AGI 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.
Pg 30 of 50AGI www.agi.com
Standalone Processing Finite differencing
Scaling
aGMvcir =
nGMa
vascir
13===
( )
W
D+
=
0
0
0
0
0
23016
91
aM
a
a
ai
ae
ta
GMa
w
x
Pg 31 of 50AGI 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
Pg 32 of 50AGI 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/
Pg 33 of 50AGI www.agi.com
STK Approach
Pg 34 of 50AGI 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
Pg 35 of 50AGI 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)
Pg 36 of 50AGI www.agi.com
STK Specifics Getting TLE data
Select Satellite/Generate TLE From an ephemeris
Single Point Conversion Fast Not as accurate
Pg 37 of 50AGI 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
Pg 38 of 50AGI 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
Pg 39 of 50AGI 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
Pg 40 of 50AGI 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
Pg 41 of 50AGI www.agi.com
SGP4 Structural Organization (Revised)SGP4init
INITLif
method
if
Pg 42 of 50AGI 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
Pg 43 of 50AGI 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
Pg 44 of 50AGI 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
Pg 45 of 50AGI 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
Pg 46 of 50AGI 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
Pg 47 of 50AGI 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 TEMEOfDateEND SGP4FrameDefinition
Pg 48 of 50AGI 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
Pg 49 of 50AGI 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/
Pg 50 of 50AGI 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
Pg 51 of 50AGI www.agi.com
QUESTIONS???
Pg 52 of 50AGI www.agi.com
So how do we know its right? POE comparison
Historical TLE comparison
Pg 53 of 50AGI www.agi.com
Program Code Structure START
TwoLine2RVSGP4
Days2DMYHMS
SGP4Loop
Loop to read
input file of TLE data
SGP4init
Loop to propagate
each tle
Loop
JDay
Function Locations
if
if
DSPACE
DPPER
GETGRAVCONST
INITL GETGRAVCONST
GSTIME
if
if
DPPER
DSINIT
if DSCOM
GETGRAVCONST
SGP4GETGRAVCONST
DSPACEDPPER
SGP4Ext
SGP4IO
SGP4UnitOutput