When using classic Newton's second law we have

$$ \vec{F} = m \vec{a} $$

$$ \vec{F} = G \frac{M m}{r^2}{e_{r}} $$

$$ \vec{a} = \left( \frac{d^2 r}{dr^2} - r \left( \frac{d \phi}{dt} \right)^2 \right) \hat{e_{r}} $$

Because eccentricity of a GPS orbit is around e = 0.005 I believe we can treat GPS orbits as circular and write

$$ G \frac{M m}{r^2} = m r \left( \frac{d \phi}{dt} \right)^2 $$

Replacing angular velocity

$$ \frac{d \phi}{dt} = \frac{v}{r} $$

finally we get

$$ v = \sqrt{\frac{G M}{r}} $$

Now, GM ($\mu$) taken from GPS specification is $3.986005 * 10^{14} [m^3/s^2]$, $r$ taken from decoded ephemeris is about $26414660 [m]$. All this gives us

$$ v = 3885 [m/s]. $$

But the same ephemeris data, when decoded according to GPS Interface Specification, Table 30 (SV Velocity) gives values around

$$ v = 2774 [m/s] $$

for SV velocities.

At the beginning I thought that my procedure to calculate SV velocity is wrong. But later on found on the web (https://www.gps.gov/technical/icwg/meetings/2019/09/GPS-SV-velocity-and-acceleration.pdf) some other calculations where SV velocity is in the range 2600 to 3100 [m/s] with avarage 2880 [m/s]. And the question is. Can someone explain why I get such big difference when using classic Newton's law (3885 m/s) and when using ephemeris data (2774 m/s)? Most likely my understanding is wrong, but still cannot figure out what is wrong.

Satellite position, velocity and acceleration as decoded from ephemeris can be found here https://github.com/lukasz-wiecaszek/gr-gnss/blob/master/examples/kepler.dat

  • 1
    $\begingroup$ Are the 2 velocities in the same frame of reference? $\endgroup$ Commented Aug 2, 2022 at 20:34
  • 6
    $\begingroup$ I think you have a coordinate system problem. You're trying to compute using inertial coordinates (ECI), but GPS reports use earth-fixed coordinates (ECF). You can't just expect the velocity numbers to be equal when one coordinate system is rotating with respect to the other. When you make the proper transformation to reverse the effect, then your numbers should start to agree. $\endgroup$
    – Ryan C
    Commented Aug 2, 2022 at 21:10
  • $\begingroup$ You should make that an answer, @RyanC. $\endgroup$ Commented Aug 3, 2022 at 4:44

1 Answer 1


Let's go ahead and make a full answer from the comments.

Both the satellite and the reference frame are rotating from west to east. So you have to take your orbital velocity from Newtonian mechanics and subtract the velocity corresponding to the rotation of the reference frame. This reference frame velocity is not that of the surface of the Earth, but what would be obtained if the rotation were projected radially outward to the satellite's orbit. Since the radius of the orbit is four times that of Earth, the projected reference frame speed will be four times as fast as the speed on the ground, and that is enough to create a significant impact.

Let us compute the speed at two points in the orbital, first at the peak latitude which matches the orbital inclination and then at the Equator.

For the first computation, a simple scalar computation is sufficient because both the satellite and the reference frame are heading due east. Wikipedia gives an inclination angle of "approximately $55°$", and Earth's sidereal rotation period is $86164\text{ s}$, so (remembering that the reference-frame rotation velocity is proportional to the cosine of the latitude) we have

$|v|=3885-(2\pi×26414660/86164×\cos 55°)=2780\text{ m/s}.$

For the equatorial case, we need to take vector components because the satellite us heading in a northeasterly or southeasterly direction while the reference frame us still moving due east. We take vector components to the east and then to the north or south:

$v_e=3885\cos55°-2\pi×26414660/86164=+302\text{ m/s}$

(the satellite is still heading eastwards in the rotating frame)

$v_{n/s}=3885\sin55°=3182\text{ m/s}.$


$|v|=\sqrt{302^2+3182^2}=3197\text{ m/s}.$

This corresponds roughly to the range of speeds quoted in the pdf file. Examining the file we find it uses a slightly higher altitude ($26.56\text{ Mm}$ versus $26.41\text{ Mm}$ in the problem statement) and a slightly lower peak latitude, both of which would lower the relative velocities somewhat. Also the pdf file accounts for the orbital eccentricity. As with the calculation above, the relative speed is faster at the Equator than at the peak latitude due to the non-alignment of satellite and Earth-rotational directions.

  • 1
    $\begingroup$ Section 3 of the referenced paper by Thompson et al. explicitly states that the velocity is in ECEF: "The ECEF velocity of the SV can be computed by taking the time-derivative of the SV position equations in the interface specification." Also, figure 4 in the referenced paper shows a high correlation between absolute latitude and velocity for an inclined nearly circular orbit, which is to be expected with ECEF velocity but not with ECI velocity. $\endgroup$ Commented Aug 3, 2022 at 13:13
  • 1
    $\begingroup$ Dr. Thompson was one of the many people I have mentored over the years (and who has also mentored me). He would not make a mistake as egregious as suggested in the question. This is simply a conflation of ECI and ECEF by the OP. $\endgroup$ Commented Aug 3, 2022 at 13:17
  • 1
    $\begingroup$ I would like to thank all of you who has participated in this question/issue. I realized my mistake today morning (my time), after reading first answers. I even wanted to do the same calculations as Oscar did, but Oscar's work is so good, that all I may say at this moment is one more time thank you. $\endgroup$ Commented Aug 3, 2022 at 16:39
  • $\begingroup$ @Ryanc thanks for the catch! $\endgroup$ Commented Aug 3, 2022 at 18:31
  • 1
    $\begingroup$ @ŁukaszWięcaszek Please also thank Oscar in the stack overflow way, by accepting his answer. See stackoverflow.com/help/someone-answers for instructions. Thanks! $\endgroup$
    – Ryan C
    Commented Aug 3, 2022 at 18:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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