I'm trying to calculate Galileo stallite's position from ephemerides data.

I'm reading from https://gssc.esa.int/navipedia/GNSS_Book/ESA_GNSS-Book_TM-23_Vol_I.pdf at 3.3.1.

The first step is:

Compute the time Tk from the ephemerides reference epoch toe (t and Toe are expressed in seconds in the GPS week): Tk = t - Toe

I have the value of Toe as it's retrieved from ephemeris data, but I'm not sure where the value of t comes from.

I have a hunch that t is retrieved fom the clock parameters, but those arn't in the ephemerid parameters. So if I retrieve the clock parameters separate from the ephemeris parameters then they will have the be retrieved at different times and create calculation errors errors.

I've also read https://www.navcen.uscg.gov/pubs/gps/sigspec/gpssps1.pdf at 2.5.7 which explains t a little bit:

enter image description here

But I don't understand what it means by the "effective satellite PRN code phase time at the message transmission time" and "PRN code phase time offset".


I haven't found a direct solution but I've found a different path to take so I'm gonna post it here in case someone else finds this useful. There is a Volume 2 of the first PDF I posted that contains more practical examples of the math. The second volume contains a CD that has a program called gLab Tool Suit with all the examples and other nice programs. One of the examples is "sub_orbit.f" which is a function that takes in the Ephemeris parameters and Epoch and returns the satellites position. I've created a pastebin for the example code here: https://pastebin.com/9b38LB1R (It's in Fortran) but you can download both the PDF and CD for yourself here: https://gssc.esa.int/navipedia/index.php/GNSS:Tools

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.