sgp4 differential correction

53
Pg 1 of 50 AGI www.agi.com 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

Upload: sheharyar-ashraf

Post on 14-Sep-2015

66 views

Category:

Documents


14 download

DESCRIPTION

the book that leads humanity to greatness.

TRANSCRIPT

  • 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

    qq

    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