In this project we compute the compare the errors obtained from propagating the trajectories of different satellites with to models: our model and the SGP4 model. Our model consist in solving the following differential equation:
Here,
The initial conditions of the initial value problem will be the position and velocity obtained from the TLE. In order to solve this system of 6 differential equations, we have opted to use the Runge-Kutta-Fehlberg method of order 7(8).
gcc
andg++
compilersmake
python3
gnuplot
Download the code:
[email protected]:victorballester7/final-bachelor-thesis.git
cd final-bachelor-thesis
chmod +x execute.sh
Sintax of the execution:
./execute.sh <satellite_name> <t/f pointEarth> <t/f sun> <t/f moon> <t/f otherPlanets> <t/f solarRad> <t/f atmoDrag> <tle/sgp4> <compress>
Here <t/f>
are flags to enable or disable the different pertubations and the argument <tle/sgp4>
is used to compare the errors with the TLE data set or with the SGP4 propagator. The argument `
The available satellites names are:
- Low Earth Orbit:
- HUBBLE
- IRIDIUM_71
- ISS
- NUTSAT
- STARLINK_1007
- Medium Earth Orbit:
- GALILEO_20
- GLONASS
- NAVSTAR_61
- SIRIUS_3
- Geostationary Orbit:
- GALAXY_16
- GALAXY_18
- GALAXY_19
- TDRS-3
- TDRS-5
- High Earth Orbit:
- TESS
Example:
./execute.sh ISS f t t f f t sgp4 10
This command computes the errors of the ISS satellite with the SGP4 propagator and with the following perturbations enabled: Sun, Moon and atmospheric drag.
We now expose the main results of this work: