How to propagate orbits on a non-rotating axesm globe
I used as my foundation the example found here:
https://www.mathworks.com/help/map/plotting-a-3-d-dome-as-a-mesh-over-a-globe.html
As described, I plotted a radar dome on a axesm globe.
Now I want to display satellite orbits. For that, I used the orbital propagation model found here:
https://www.mathworks.com/help/satcom/ug/comparison-of-orbit-propagators.html
This model uses a TLE file to generate a set of ephemeris tables containing XYZ coordinates for a satellite at 60-second intervals.
[positionSGP4,velocitySGP4] = states(satSGP4);
positionSGP4 = 3×2881
10^7 x
-2.5292 -2.5313 -2.5334 -2.5353 -2.5373 …
0.6924 0.6848 0.6772 0.6695 0.6619
3.1681 3.1583 3.1484 3.1384 3.1284
I took this XYZ coordinate data and rotated it sideways, and added a time column to create an ephemeris table. I converted it to latitude and longitude, then I used it to plot satellite coordinates on my axesm earth globe.
What I found was that the satSGP4 orbit propagator model has a built-in rotating Earth model, while my axesm Earth model does not. A precessing, Sun-synchronous polar orbit works its way around the satSGP4 model every 24 hours, while with my axesm Earth model, it just keeps retracing the same path in longitude. Mind you, there is nothing in the positionSGP4 data to account for orbital precession. Something else is making it happen.
I tried biasing the longitude values based on time and got a reasonable-looking, precessing plot, but it is still out of phase with the SGP4 propagator model.
Question: is there something built into the propagator model that takes into account Earth’s siderial rotation? How do I apply that to my non-rotating Earth model?
I don’t want to go down the Satellite Communications Toolkit approach. I already have a working radar system, up to this point.I used as my foundation the example found here:
https://www.mathworks.com/help/map/plotting-a-3-d-dome-as-a-mesh-over-a-globe.html
As described, I plotted a radar dome on a axesm globe.
Now I want to display satellite orbits. For that, I used the orbital propagation model found here:
https://www.mathworks.com/help/satcom/ug/comparison-of-orbit-propagators.html
This model uses a TLE file to generate a set of ephemeris tables containing XYZ coordinates for a satellite at 60-second intervals.
[positionSGP4,velocitySGP4] = states(satSGP4);
positionSGP4 = 3×2881
10^7 x
-2.5292 -2.5313 -2.5334 -2.5353 -2.5373 …
0.6924 0.6848 0.6772 0.6695 0.6619
3.1681 3.1583 3.1484 3.1384 3.1284
I took this XYZ coordinate data and rotated it sideways, and added a time column to create an ephemeris table. I converted it to latitude and longitude, then I used it to plot satellite coordinates on my axesm earth globe.
What I found was that the satSGP4 orbit propagator model has a built-in rotating Earth model, while my axesm Earth model does not. A precessing, Sun-synchronous polar orbit works its way around the satSGP4 model every 24 hours, while with my axesm Earth model, it just keeps retracing the same path in longitude. Mind you, there is nothing in the positionSGP4 data to account for orbital precession. Something else is making it happen.
I tried biasing the longitude values based on time and got a reasonable-looking, precessing plot, but it is still out of phase with the SGP4 propagator model.
Question: is there something built into the propagator model that takes into account Earth’s siderial rotation? How do I apply that to my non-rotating Earth model?
I don’t want to go down the Satellite Communications Toolkit approach. I already have a working radar system, up to this point. I used as my foundation the example found here:
https://www.mathworks.com/help/map/plotting-a-3-d-dome-as-a-mesh-over-a-globe.html
As described, I plotted a radar dome on a axesm globe.
Now I want to display satellite orbits. For that, I used the orbital propagation model found here:
https://www.mathworks.com/help/satcom/ug/comparison-of-orbit-propagators.html
This model uses a TLE file to generate a set of ephemeris tables containing XYZ coordinates for a satellite at 60-second intervals.
[positionSGP4,velocitySGP4] = states(satSGP4);
positionSGP4 = 3×2881
10^7 x
-2.5292 -2.5313 -2.5334 -2.5353 -2.5373 …
0.6924 0.6848 0.6772 0.6695 0.6619
3.1681 3.1583 3.1484 3.1384 3.1284
I took this XYZ coordinate data and rotated it sideways, and added a time column to create an ephemeris table. I converted it to latitude and longitude, then I used it to plot satellite coordinates on my axesm earth globe.
What I found was that the satSGP4 orbit propagator model has a built-in rotating Earth model, while my axesm Earth model does not. A precessing, Sun-synchronous polar orbit works its way around the satSGP4 model every 24 hours, while with my axesm Earth model, it just keeps retracing the same path in longitude. Mind you, there is nothing in the positionSGP4 data to account for orbital precession. Something else is making it happen.
I tried biasing the longitude values based on time and got a reasonable-looking, precessing plot, but it is still out of phase with the SGP4 propagator model.
Question: is there something built into the propagator model that takes into account Earth’s siderial rotation? How do I apply that to my non-rotating Earth model?
I don’t want to go down the Satellite Communications Toolkit approach. I already have a working radar system, up to this point. orbit propagation, sgp4, rotating earth MATLAB Answers — New Questions