Initial Orbit Determination (Angles-Only Method)

Angles-only approach applying the Least Squares method
Updated 29 Feb 2024

View License

1) In test_AnglesOnly_GEOS3.m, we define global variables: const (astronomical and mathematical constants), CS (unnormalized gravity field coefficients), AuxParam (struct that represents model parameters and time for orbit propagator), eopdata (Earth orientation parameters), PC (planetary coefficients for JPL ephemerides computation).
2) Download Earth orientation parameters from the following link (if it is out of date):
3) Earth orientation parameters are read from EOP-All.txt.
4) Observations are read from GEOS3.txt, and biases from table 4-4 of the book “Fundamentals of Astrodynamics and Applications, 4th Edition, 2013,” are subtracted. Then, measurement noises are set from table 4-4. After that, the station’s ecef position is calculated using Position.m, and three sets of observations are selected to find the initial guess of the satellite state vector utilizing IODmain.m or anglesg.m.
5) Parameters for orbit propagator (AuxParam.Mjd_UTC = Mjd_UTC; AuxParam.n = 20; AuxParam.m = 20; AuxParam.sun = 1; AuxParam.moon = 1; AuxParam.planets = 1;) are set, and the initial state vector is propagated to the epoch (first measurement’s time). Then, the Least Squares’ initial parameters are set.
6) The epoch’s state vector is propagated to the times of all measurements in an iterative procedure and corrected at each stage. Then, epoch’s state vector is converted from the TOD to the ECI coordinate system and compared with the true state vector.
Please note that numerical integration is done in TOD coordinate system. Thus only Earth rotation is considered in Accel.m and VarEqn.m. Moreover, iterations should continue until the corrections are negligible.
O. Montenbruck, E. Gill, "Satellite Orbits: Models, Methods, and Applications", Springer Verlag, Heidelberg, 2005.
D. Vallado, "Fundamentals of Astrodynamics and Applications", 4th Edition, 2013.

Cite As

Meysam Mahooti (2024). Initial Orbit Determination (Angles-Only Method) (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2021b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

It was revised to decrease CPU usage.


test_AnglesOnly_GEOS3.m, test_AnglesOnly_STARLINK_5555.m, test_AnglesOnly_TSUBAME.m, and test_AnglesOnly_USA290.m were modified.


It was revised on 2023-08-15.


test_AnglesOnly_GEOS3.m, test_AnglesOnly_STARLINK_5555.m, test_AnglesOnly_TSUBAME.m, and test_AnglesOnly_USA290.m were modified.


STARLINK-5555.txt, TSUBAME.txt, and USA290.txt were modified.


It was revised on 2023-02-02.


test_AnglesOnly_GEOS3.m was modified.


It was revised on 2022-10-25.


It was revised on 2022-10-23.

Shampine-Gordon integrator is replaced by Radau IIA integrator.

The DE430 full matrix is added.

Revised on March 16, 2020.

Documentation is added.

Revised on 2016-11-20.