I am currently trying to understand the best way to use the available information in RINEX navigation files for GPS and GLONASS satellites. My main goal currently is to calculate the position at epoch for the distributed navigation files. I understand that RINEX navigation files contain, in addition to orbital parameters (for GPS) or Cartesian coordinates (for GLONASS), additional parameters to calculate the orbital parameters or Cartesian coordinates at future/past time points (e.g., for the case of GPS navigation files: inclination rate; amplitude of sine and cosine corrections for inclination, orbital radius and latitude argument; the mean motion difference from computed value, and others).

However, if I just aim to extract the position at epoch, is it safe to ignore such additional parameters and just either extract directly the Cartesian coordinates for GLONASS satellites, or to calculate them from the osculating orbital elements directly derived from the data provided in the navigation file for GPS satellites?

Additionally, if just calculating the position at epoch, is there any need to apply clock corrections with the supplied clock bias, clock drift and clock drift rate corrections?

Thanks a lot in advance.


Searching other RINEX-related questions, I found TLE and RINEX gps differences and Elevation and Azimuth of satellite in different location, but both seem to be focused on the difference between elements obtained from TLE and RINEX files, and do not contain confirmation of my original questions.

  • $\begingroup$ Thanks a lot for your message! I indeed searched through the site and the previous questions that I found, although provided very interesting information about the comparison with data obtained from TLE elements for the same satellites, did not treat my specific questions. I have anyway added them to the original question for completion! $\endgroup$
    – Rafa
    Sep 16 at 11:46
  • $\begingroup$ That looks great, thanks! $\endgroup$
    – uhoh
    Sep 16 at 11:50

After insightful discussion about clock corrections of both GPS and GLONASS in Ephemeris time and clock corrections in RINEX navigation files, I understood better how to deal with the information provided in RINEX navigation files for both of them. In summary:

  • It is indeed necessary to apply clock corrections if one aims to obtain a time in UTC as accurate as possible for the provided ephemerides. A detailed explanation of how to perform these can be found in the answers to Ephemeris time and clock corrections in RINEX navigation files
  • For GLONASS, position can indeed be directly extracted as Cartesian coordinates in the ITRF frame (technically, PZ-90.11 frame, but this seems to have only a very small shift in the cm order with respect to ITRF). See GLONASS system specifications
  • For GPS, however, all the provided additional parameters should be used to calculate a position in ITRF. The exact procedure is described in Table 20-IV of the GPS system specifications. The procedure refers to the frame simply as a generic ECEF, but by reading the description of such ECEF frame, it is indeed ITRF.
  • 1
    $\begingroup$ For purposes of aligning GPS with the Earth Orientation Parameters, and propagating GPS spacecraft in the rotating frame directly rather than having to make many coordinate transforms back and forth, I recommend you read this thesis from 2015 $\endgroup$
    – Ryan C
    Nov 27 at 4:50
  • $\begingroup$ @RyanC, thanks a lot! That looks like a very useful source in many regards. I will certainly go in detail through it. It also looks like a very good reference for ITRF/GCRF coordinate transformation. On a quick look, I saw that one of the comparisons performed is comparing propagation in ITRF with propagation in GCRF, using the latter as the reference orbit. It would be interesting to also see a comparison with a real, true reference orbit, possibly obtained from RINEX navigation files. Are you by any chance aware of any other source with such a comparison? $\endgroup$
    – Rafa
    Nov 27 at 5:19

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.