Simplified perturbations models are a set of five mathematical models (SGP, SGP4, SDP4, SGP8 and SDP8) used to calculate orbital state vectors of satellites and space debris relative to the Earth-centered inertial coordinate system. This set of models is often referred to collectively as SGP4 due to the frequency of use of that model particularly with two-line element sets produced by NORAD and NASA.
These models predict the effect of perturbations caused by the Earth’s shape, drag, radiation, and gravitation effects from other bodies such as the sun and moon.[1][2] Simplified General Perturbations (SGP) models apply to near earth objects with an orbital period of less than 225 minutes. Simplified Deep Space Perturbations (SDP) models apply to objects with an orbital period greater than 225 minutes, which corresponds to an altitude of 5,877.5 km, assuming a circular orbit.[3]
The SGP4 and SDP4 models were published along with sample code in FORTRAN IV in 1988 with refinements over the original model to handle the larger number of objects in orbit since. SGP8/SDP8 introduced additional improvements for handling orbital decay.[3]
The SGP4 model has an error ~1 km at epoch and grows at ~1–3 km per day.[3] This data is updated frequently in NASA and NORAD sources due to this error. The original SGP model was developed by Kozai in 1959, refined by Hilton & Kuhlman in 1966 and was originally used by the National Space Surveillance Control Center (and later the United States Space Surveillance Network) for tracking of objects in orbit. The SDP4 model has an error of 10 km at epoch.[1]
Deep space models SDP4 and SDP8 use only 'simplified drag' equations. Accuracy is not a great concern here as high drag satellite cases do not remain in "deep space" for very long as the orbit quickly becomes lower and near circular. SDP4 also adds Lunar–Solar gravity perturbations to all orbits, and Earth resonance terms specifically for 24-hour geostationary and 12-hour Molniya orbits.[2]
Additional revisions of the model were developed and published by 2010 by the NASA Goddard Space Flight Center in support of tracking of the SeaWiFS mission and the Navigation and Ancillary Information Facility at the Jet Propulsion Laboratory in support of Planetary Data System for navigational purposes of numerous, mostly deep space, missions.[1][4] Current code libraries[5][6] use SGP4 and SDP4 algorithms merged into a single codebase in 1990[7] handling the range of orbital periods which are usually referred to generically as SGP4.[7]
References
edit- ^ a b c Miura, Nicholas Zwiep (2009). "COMPARISON AND DESIGN OF SIMPLIFIED GENERAL PERTURBATION MODELS". California Polytechnic State University, San Luis Obispo.
- ^ a b Hoots, Felix R.; Ronald L. Roehrich (31 December 1988). "Models for Propagation of NORAD Element Sets" (PDF). United States Department of Defense Spacetrack Report (3). Retrieved 5 September 2023.
- ^ a b c Vallado, David A.; Paul Crawford; Richard Hujsak; T. S. Kelso (August 2006). "Revisiting Spacetrack Report #3" (PDF). Astrodynamics Specialist Conference. doi:10.2514/6.2006-6753. ISBN 978-1-62410-048-2. Retrieved 5 September 2023.
- ^ "Planetary Data System". NASA Science Mission Directorate. Retrieved 5 September 2023.
- ^ Kelso, Dr. T. S. "CelesTrak: Publications [AIAA 2006-6753]". www.celestrak.com. Celestrak. Retrieved 15 April 2019.
- ^ Gray, Bill (30 March 2019). "sat_code: Code for the SGP4/SDP4 satellite motion model". Github. Retrieved 15 April 2019.
- ^ a b Vallado, David A; Crawford, Paul; Hujsak, Richard. "Revisiting Spacetrack Report #3: Rev 1" (PDF). Celestrak. AIAA. Retrieved 15 April 2019.
External links
editSource code for algorithm implementations, and TLE interpretation in some cases:
- python-sgp4 A Python Implementation of the sgp4 model with automatic downloading of TLE Elements from NORAD database.
- PHP5 based on Gpredict
- Java: SDP4 and predict4java
- C , FORTRAN, Pascal, and MATLAB.
- go-satellite GoLang implementation of SGP4 model and helper utilities.