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
(Updated reference)
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Article Infobox2
{{Article Infobox2
|Category=Fundamentals
|Category=Fundamentals
|Authors=J. Sanz Subirana, J.M. Juan Zornoza and M. Hernández-Pajares, Technical University of Catalonia, Spain.
|Level=Intermediate
|YearOfPublication=2011
|Title={{PAGENAME}}
|Title={{PAGENAME}}
|Authors= J. Sanz Subirana, JM. Juan Zornoza and M. Hernandez-Pajares, University of Catalunia, Spain.
|Level=Medium
|YearOfPublication=2011
|Logo=gAGE
}}
}}
 
Table 1 provides the [[GPS General Introduction|GPS]] or [[GALILEO General Introduction|Galileo]] broadcast ephemeris parameters to compute their satellite coordinates at any observation epoch. These parameters are periodically renewed (typically every 2 hours for [[GPS]] and 3 hours for [[GALILEO General Introduction|Galileo]]) and must not be used out of the prescribed time (about four hours), because the extrapolation error grows exponentially beyond its validity period.
Next table 1 provides the [[GPS General Introduction|GPS]] or [[GALILEO General Introduction|Galileo]] broadcast ephemeris parameters to compute their satellite coordinates at any observation epoch. These parameters are periodically renewed (typically every <math>2</math> hours for [[GPS]] and <math>3</math> hours for [[GALILEO General Introduction|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] <ref group="footnotes"> [GPS/SPS-SS], DoD, USA, Global Positioning System Standard Positioning Service Performance Standard. http://www.navcen.uscg.gov/pubs/gps/sigspec/gpssps1.pdf, 1995. </ref>.The Galileo satellites follow a similar scheme
The algorithm provided is from the [IS-GPS-200, table 20-IV] <ref group="footnotes"> [IS-GPS-200], NAVSTAR GPS Space Segment/Navigation User Interfaces https://www.gps.gov/technical/icwg/IS-GPS-200M.pdf </ref>.The Galileo satellites follow a similar scheme


::[[File: GPS_Galileo_Coord_Comp_Table_1.png|none|thumb|640px|'''''Table 1:''''' GPS and Galileo broadcast ephemeris and clock message parameters.]]   
::[[File: GPS_Galileo_Coord_Comp_Table_1.png|none|thumb|640px|'''''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>5</math> meters (RMS) is achieved for GPS satellites with S/A=0ff and several tens of meters with S/A=on <ref group="footnotes"> Actually, the S/A was mainly applied to the satellite clocks and, apparently, not so often to the ephemeris.</ref>:
In order to compute satellite coordinates from navigation message, the algorithm provided as follows must be used. An accuracy of about 4 meters (RMS) is achieved for GPS satellites with S/A=0ff and several tens of meters with S/A=on <ref group="footnotes"> Actually, the S/A was mainly applied to the satellite clocks and, apparently, not so often to the ephemeris.</ref>:




Line 23: Line 21:
::<math>t_k=t-t_{oe}</math>
::<math>t_k=t-t_{oe}</math>


::If <math>t_k>302\,400</math> sec, subtract 604\,800 sec from <math>t_k</math>. If <math>t_k< -302\,400</math> sec, add 604800 sec.
:If <math>t_k>302\,400</math> sec, subtract <math>604\,800</math> sec from <math>t_k</math>. If <math>t_k< -302\,400</math> sec, add <math>604\,800</math> sec.




Line 79: Line 77:




:where <math>{\mathbf R}_1</math> and <math>{\mathbf R_3}</math> are the rotation matrices defined in the [[Transformation between Terrestrial Frames| transformation between terrestrial frames]].
:where <math>{\mathbf R}_1</math> and <math>{\mathbf R_3}</math> are the rotation matrices defined in [[Transformation between Terrestrial Frames]].





Latest revision as of 10:51, 10 September 2021


FundamentalsFundamentals
Title GPS and Galileo Satellite Coordinates Computation
Author(s) J. Sanz Subirana, J.M. Juan Zornoza and M. Hernández-Pajares, Technical University of Catalonia, Spain.
Level Intermediate
Year of Publication 2011

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 2 hours for GPS and 3 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 [IS-GPS-200, table 20-IV] [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 4 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 [math]\displaystyle{ 604\,800 }[/math] sec from [math]\displaystyle{ t_k }[/math]. If [math]\displaystyle{ t_k\lt -302\,400 }[/math] sec, add [math]\displaystyle{ 604\,800 }[/math] 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 Transformation between Terrestrial Frames.


Notes

  1. ^ [IS-GPS-200], NAVSTAR GPS Space Segment/Navigation User Interfaces https://www.gps.gov/technical/icwg/IS-GPS-200M.pdf
  2. ^ Actually, the S/A was mainly applied to the satellite clocks and, apparently, not so often to the ephemeris.