If you wish to contribute or participate in the discussions about articles you are invited to contact the Editor

GPS and Galileo Satellite Coordinates Computation: Difference between revisions

From Navipedia
Jump to navigation Jump to search
No edit summary
No edit summary
Line 87: Line 87:


[[Category:Fundamentals]]
[[Category:Fundamentals]]
[[Category:GNSS Time Reference, Coordinate Frames and Orbits]]
[[Category:GPS]]
[[Category:GPS]]
[[Category:GALILEO]]
[[Category:GALILEO]]

Revision as of 15:15, 8 August 2011


FundamentalsFundamentals
Title GPS and Galileo Satellite Coordinates Computation
Author(s) J. Sanz Subirana, JM. Juan Zornoza and M. Hernandez-Pajares, University of Catalunia, Spain.
Level Medium
Year of Publication 2011
Logo gAGE.png


Next table 1 provides the GPS or Galileo broadcast ephemeris parameters to compute their satellite coordinates at any observation epoch. These parameters are periodically renewed (typically every [math]\displaystyle{ 2 }[/math] hours for GPS and [math]\displaystyle{ 3 }[/math] hours for Galileo) and must not be used out of the prescribed time (about four hours), because the extrapolation error grows exponentially beyond its validity period.


The algorithm provided is from the [GPS/SPS-SS, table 2-15] [footnotes 1].The Galileo satellites follow a similar scheme

Table 1: GPS and Galileo broadcast ephemeris and clock message parameters.


In order to compute satellite coordinates from navigation message, the algorithm provided as follows must be used. An accuracy of about [math]\displaystyle{ 5 }[/math] meters (RMS) is achieved for GPS satellites with S/A=0ff and several tens of meters with S/A=on [footnotes 2]:


  • Compute the time [math]\displaystyle{ t_k }[/math] from the ephemerides reference epoch [math]\displaystyle{ t_{oe} }[/math] ([math]\displaystyle{ t }[/math] and [math]\displaystyle{ t_{oe} }[/math] are expressed in seconds in the GPS week):
[math]\displaystyle{ t_k=t-t_{oe} }[/math]
If [math]\displaystyle{ t_k\gt 302\,400 }[/math] sec, subtract 604\,800 sec from [math]\displaystyle{ t_k }[/math]. If [math]\displaystyle{ t_k\lt -302\,400 }[/math] sec, add 604800 sec.


  • Compute the mean anomaly for [math]\displaystyle{ t_k }[/math],
[math]\displaystyle{ M_k=M_o+\left( \frac{\sqrt{\mu }}{\sqrt{a^3}}+\Delta n\right)t_k }[/math]


  • Solve (iteratively) the Kepler equation for the eccentricity anomaly [math]\displaystyle{ E_k }[/math]:
[math]\displaystyle{ M_k=E_k-e\sin E_k }[/math]


  • Compute the true anomaly [math]\displaystyle{ v_k }[/math]:
[math]\displaystyle{ v_k=\arctan \left( \frac{\sqrt{1-e^2}\sin E_k}{\cos E_k-e}\right) }[/math]


  • Compute the argument of latitude [math]\displaystyle{ u_k }[/math] from the argument of perigee [math]\displaystyle{ \omega }[/math], true anomaly [math]\displaystyle{ v_k }[/math] and corrections [math]\displaystyle{ c_{uc} }[/math] and [math]\displaystyle{ c_{us} }[/math]:
[math]\displaystyle{ u_k=\omega +v_k+c_{uc}\cos 2\left( \omega +v_k\right) +c_{us}\sin 2\left( \omega +v_k\right) }[/math]


  • Compute the radial distance [math]\displaystyle{ r_k }[/math], considering corrections [math]\displaystyle{ c_{rc} }[/math] and [math]\displaystyle{ c_{rs} }[/math]:
[math]\displaystyle{ r_k=a\left( 1-e\cos E_k\right) +c_{rc}\cos 2\left( \omega +v_k\right) +c_{rs}\sin 2\left( \omega +v_k\right) }[/math]


  • Compute the inclination [math]\displaystyle{ i_k }[/math] of the orbital plane from the inclination [math]\displaystyle{ i_o }[/math] at reference time [math]\displaystyle{ t_{oe} }[/math], and corrections [math]\displaystyle{ c_{ic} }[/math] and [math]\displaystyle{ c_{is} }[/math]:
[math]\displaystyle{ i_k=i_o+\stackrel{\bullet }{i} t_k+c_{ic}\cos 2\left( \omega +v_k\right) +c_{is}\sin 2\left( \omega +v_k\right) }[/math]


  • Compute the longitude of the ascending node [math]\displaystyle{ \lambda_k }[/math] (with respect to Greenwich). This calculation uses the right ascension at the beginning of the current week ([math]\displaystyle{ \Omega _o }[/math]), the correction from the apparent sidereal time variation in Greenwich between the beginning of the week and reference time [math]\displaystyle{ t_k=t-toe }[/math], and the change in longitude of the ascending node from the reference time [math]\displaystyle{ t_{oe} }[/math]:
[math]\displaystyle{ \lambda _k=\Omega _o+\left( \stackrel{\bullet }{\Omega }-\omega _E\right) t_k-\omega _E t_{oe} }[/math]


  • Compute the coordinates in TRS frame, applying three rotations (around [math]\displaystyle{ u_k }[/math], [math]\displaystyle{ i_k }[/math] and [math]\displaystyle{ \lambda _k }[/math]):
[math]\displaystyle{ \left[ \begin{array}{c} X_k \\ Y_k \\ Z_k \end{array} \right] ={\mathbf R}_3\left( -\lambda _k\right) {\mathbf R}_1\left( -i_k\right) {\mathbf R}_3\left( -u_k\right) \left [ \begin{array}{c} r_k \\ 0 \\ 0 \end{array} \right] }[/math]


where [math]\displaystyle{ {\mathbf R}_1 }[/math] and [math]\displaystyle{ {\mathbf R_3} }[/math] are the rotation matrices defined in the transformation between terrestrial frames.


Notes

  1. ^ [GPS/SPS-SS], DoD, USA, Global Positioning System Standard Positioning Service Performance Standard. http://www.navcen.uscg.gov/pubs/gps/sigspec/gpssps1.pdf, 1995.
  2. ^ Actually, the S/A was mainly applied to the satellite clocks and, apparently, not so often to the ephemeris.