Where can I find details regarding the SGP4 orbit propagator (satellite function of Aerospace Toolbox)?
39 views (last 30 days)
Show older comments
Related help page: https://www.mathworks.com/help/aerotbx/ug/satellitescenario.satellite.html#namevaluepairarguments
What assumptions does SGP4 propagator make for spacecraft ballistic coefficient?
What other perturbations are included or excluded? What assumptions are made for those?
0 Comments
Answers (1)
Youssef Noureddine
on 10 Nov 2022
Hi Eric,
The SGP4 Propagator is used in conjunction with two-line element sets produced by NORAD and NASA. It essentially models the motion of your current spacecraft based on other TLEs. I'll leave out the explanation of how exactly it works as it is quite complex, but generally because of the way the positions are estimated from other TLEs, you can expect to see errors on the order of approximately 1 kilometer at epoch which grows by 1-3 kilometers every day. So although I can't list out all the assumptions made, you can sort of get some insights on the degree of accuracy to expect from this propagator.
If you would like to see the exact underlying equations, I would recommend taking a look at some popular SGP4 propagators in the MATLAB file exchange and/or some reports such as the 'Spacetrack Report No. 3' where the equations were originally introduced.
Sincerely,
Youssef
3 Comments
Harish Saranathan
on 16 May 2024
The drag term BStar is assumed to be 0 when adding satellites using Keplerian elements. For SGP4 propagator, the keplerian elements are assumed to be the mean elements. The other elements that you see in a TLE file (such as mean motion) are deduced from these elements. The epoch is assumed to be satelliteScenario StartTime. The first and second time derivatives of mean motion are unused by the SGP4 algorithm.
In essence, adding a satellite using Keplerian elements is equivalent to adding a satellite using a TLE file with BStar set to 0.
When adding a satellite using a TLE file, the MATLAB algorithm does not make any additional assumptions outside of those already made by the SGP4 algorithm.
Sincerely,
Harish Saranathan
Kurt
on 30 Sep 2024
Edited: Kurt
on 30 Sep 2024
Some TLEs include a negative BSTAR value. What does that mean?
It appears that function tleread() blows up when it encounters a negative BSTAR value. For example, this TLE is acceptable:
1 38480U 00000A 22125.33472451 .00182152 00000-0 09453-0 0 10
2 38480 73.8231 342.6630 0019834 309.3639 50.5805 15.30761709681550
While this one throws an exception:
1 38480U 00000A 22125.33472451 .00182152 00000-0 -9453-0 0 10
2 38480 73.8231 342.6630 0019834 309.3639 50.5805 15.30761709681550
spacecraft:tleread:InvalidTLEFile
Apparently the minus sign MUST be in column 54. This may require leading zeros. For example, this is
valid:
1 38480U 00000A 22125.33472451 .00182152 00000-0 -09453-0 0 10
2 38480 73.8231 342.6630 0019834 309.3639 50.5805 15.30761709681550
I have found that some TLE generators do not insert leading zeros in the BSTAR term, and can blow up on you.
See Also
Categories
Find more on Reference Applications in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!