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
Jaume.Sanz (talk | contribs) No edit summary |
Gema.Cueto (talk | contribs) (Updated reference) |
||
(6 intermediate revisions by 4 users not shown) | |||
Line 4: | Line 4: | ||
|Level=Intermediate | |Level=Intermediate | ||
|YearOfPublication=2011 | |YearOfPublication=2011 | ||
|Title={{PAGENAME}} | |Title={{PAGENAME}} | ||
}} | }} | ||
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. | |||
The algorithm provided is from the [GPS | 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 | 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 78: | Line 77: | ||
:where <math>{\mathbf R}_1</math> and <math>{\mathbf R_3}</math> are the rotation matrices defined in | :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
Fundamentals | |
---|---|
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
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
- ^ [IS-GPS-200], NAVSTAR GPS Space Segment/Navigation User Interfaces https://www.gps.gov/technical/icwg/IS-GPS-200M.pdf
- ^ Actually, the S/A was mainly applied to the satellite clocks and, apparently, not so often to the ephemeris.