MATLAB Answers

How to convert ECI coordinates with given sidereal time to ECEF coordinates ?

140 views (last 30 days)
Alexander S.
Alexander S. on 15 Dec 2017
Answered: Meysam Mahooti on 12 Mar 2020
Hey, I have an understanding problem with a project I am doing for my electrical engineering studies. I have to calculate the position of a receiver (of satellite signals) on the earth. For that, one part of the project is to convert ECI coordinates into ECEF coordinates. I have given the position and velocity of the satellite in the ECI-system as well as the sidereal time for each position (ca.15 min of recording in seconds, for each second position vector,velocity vector and sidereal time of the satellite are known). The Julian Date is also given. How do I convert these satellite positions + velocity in an ECEF-system?
I know that i can use the rotation matrix to rotate the ECI-system to the ECEF-system. I wanted to use the formula of GMST(as in the picture) to find out the angle between the ECI and ECEF system, so i can use that angle in my rotation matrix. The problem is, i dont know how to use the given sidereal time for each position in that equation...
I really hope someone can help me with my problem, it would be a great x-mas present!!

  0 Comments

Sign in to comment.

Answers (2)


Amy MacDonough
Amy MacDonough on 18 Dec 2017
Hi Alexander,
The Aerospace Toolbox has a function dcmeci2ecef that will return the 3x3 transformation matrix.
I also see that there's a File Exchange function that may work for you (and could even be helpful just as reference)

  1 Comment

Alexander S.
Alexander S. on 21 Dec 2017
Thanks for your answer Amy! I found out that the given sidereal time is exactly what i was looking for. Or i could use the given JD to find out the time 't' that's given in the function.

Sign in to comment.


Translated by