Autonomous Prediction of GPS and GLONASS Satellite Orbits

16
Autonomous Prediction of GPS and GLONASS Satellite Orbits Received June 2011; Revised January 2012 ABSTRACT: A method to predict satellite orbits in a stand-alone consumer-grade GNSS navigation device is presented. The motivation for this work was to reduce the startup time of a navigation device without the use of network assistance. The presented orbit prediction method works for both GPS and GLONASS, achieving median accuracies of 58 and 23m in satellite position, respectively, for prediction up to four days ahead. A simple method for prediction of the satellites clock offsets is also discussed. A basic analysis indicates that the method gives a line of sight range error of 15m, for both GPS and GLONASS, with most of the error due to the clock offset prediction. Copyright # 2012 Institute of Navigation. INTRODUCTION When standalone GNSS navigation devices are turned on, there is a delay of at least 30 s before they begin to provide position information. This delay occurs because of the time needed for signal acquisition and tracking and after that one has to wait until the navigation data is acquired. It takes 18 s in GPS to send the three rst subframes [1 (p. 127128)] and 8 s in GLONASS to send the rst four strings [2 (p. 1819)], which contain the immediate or minimum data required for position- ing. Furthermore, in both systems, this essential information is repeated only once every 30 s [1, 2]. If the receiver does not have a direct view to the sky, for example because of trees or buildings in the way, the signal acquisition and tracking slows down and the time until the rst positioning result can take longer, even several minutes [3]. This is annoying for typical users, and could have more serious conse- quences in emergency or other special situations. Therefore, there is a demand for methods which could decrease the time from turning on a device to the rst position estimate, known as the Time To First Fix (TTFF). The minimum information needed for positioning in GNSS includes the satellite ephemeris param- eters and the clock correction terms, which model the difference between onboard time scale and GNSSs system time. Because one of the reasons for long TTFF is the time it takes to receive the satellite ephemeris broadcast, alternative ways of obtaining satellite position, velocity, and clock information can be used to reduce it. Then the satellite would be needed only for receiving the time of the satellite clock or a pseudorange measurement. This is faster because the satellite sends the time stamp once every 6s in GPS and every 2s in GLONASS [1, 2]. In addition, the information about satellite position and velocity can be used to speed up the signal acquisition in the GNSS receiver, which is another cause of the startup delay for two reasons. First, assuming that a crude estimate about the receivers location and approximate time are known, the satellite position coordinates can be used to identify the visible satellites. Secondly, with the information about satellite velocity information, the range of possible Doppler frequency shifts can be reduced. Altogether, by predicting the satellite kinematic state, i.e., position and velocity as well as clock correction terms, it would be possible to get the rst positioning result in about 5 s [3] after turning on the device. Besides reducing TTFF, satellite orbit prediction can also widen the capability of GNSS devices. In some navigation cases, the user is indoors or in urban canyons where the signal is strong enough to be detected and to get pseudorange measurements, but too weak or fragmental for reading the whole ephemeris. Then the predicted orbit can make it possible to both compute a position and reduce TTFF. A widely used alternative to the navigation message broadcast by the satellite is the use of NAVIGATION: Journal of The Institute of Navigation Vol. 59, No. 2, Summer 2012 Printed in the U.S.A. MARI SEPPÄNEN, JUHA ALA-LUHTALA, ROBERT PICHÉ, SIMO MARTIKAINEN, and SIMO ALI-LÖYTTY Tampere University of Technology, Tampere, Finland FI33101 119

description

A method to predict satellite orbits in a stand-alone consumer-grade GNSS navigation device ispresented.

Transcript of Autonomous Prediction of GPS and GLONASS Satellite Orbits

Page 1: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

Autonomous Prediction of GPS and GLONASSSatellite Orbits

Received June 2011; Revised January 2012

ABSTRACT: A method to predict satellite orbits in a stand-alone consumer-grade GNSS navigation device ispresented. The motivation for this work was to reduce the startup time of a navigation device without the use ofnetwork assistance. The presented orbit prediction method works for both GPS and GLONASS, achieving medianaccuracies of 58 and 23m in satellite position, respectively, for prediction up to four days ahead. A simple methodfor prediction of the satellite’s clock offsets is also discussed. A basic analysis indicates that the method gives a lineof sight range error of 15m, for both GPS and GLONASS, with most of the error due to the clock offset prediction.Copyright # 2012 Institute of Navigation.

INTRODUCTION

When standalone GNSS navigation devices areturned on, there is a delay of at least 30s before theybegin to provide position information. This delayoccurs because of the time needed for signalacquisition and tracking and after that one has towait until the navigation data is acquired. It takes18 s in GPS to send the three first subframes[1 (p. 127–128)] and 8 s in GLONASS to send the firstfour strings [2 (p. 18–19)], which contain theimmediate or minimum data required for position-ing. Furthermore, in both systems, this essentialinformation is repeated only once every 30s [1, 2]. Ifthe receiver does not have a direct view to the sky,for example because of trees or buildings in theway, the signal acquisition and tracking slows downand the time until the first positioning result cantake longer, even several minutes [3]. This is annoyingfor typical users, and could have more serious conse-quences in emergency or other special situations.Therefore, there is a demand for methods whichcould decrease the time from turning on a device tothe first position estimate, known as the Time ToFirst Fix (TTFF).

The minimum information needed for positioningin GNSS includes the satellite ephemeris param-eters and the clock correction terms, which modelthe difference between onboard time scale andGNSS’s system time. Because one of the reasons

for long TTFF is the time it takes to receive thesatellite ephemeris broadcast, alternative ways ofobtaining satellite position, velocity, and clockinformation can be used to reduce it. Then thesatellite would be needed only for receiving the timeof the satellite clock or a pseudorange measurement.This is faster because the satellite sends the timestamp once every 6 s in GPS and every 2 s inGLONASS [1, 2]. In addition, the information aboutsatellite position and velocity can be used to speedup the signal acquisition in the GNSS receiver,which is another cause of the startup delay for tworeasons. First, assuming that a crude estimate aboutthe receiver’s location and approximate time areknown, the satellite position coordinates can be usedto identify the visible satellites. Secondly, with theinformation about satellite velocity information, therange of possible Doppler frequency shifts can bereduced. Altogether, by predicting the satellitekinematic state, i.e., position and velocity as well asclock correction terms, it would be possible to getthe first positioning result in about 5 s [3] afterturning on the device.Besides reducing TTFF, satellite orbit prediction

can also widen the capability of GNSS devices. Insome navigation cases, the user is indoors or in urbancanyons where the signal is strong enough to bedetected and to get pseudorange measurements, buttoo weak or fragmental for reading the wholeephemeris. Then the predicted orbit can make itpossible to both compute a position and reduce TTFF.A widely used alternative to the navigation

message broadcast by the satellite is the use of

NAVIGATION: Journal of The Institute of NavigationVol. 59, No. 2, Summer 2012Printed in the U.S.A.

MARI SEPPÄNEN, JUHA ALA-LUHTALA, ROBERT PICHÉ, SIMO MARTIKAINEN,and SIMO ALI-LÖYTTY

Tampere University of Technology, Tampere, Finland FI33101

119

Page 2: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

assistance data servers that send data to the naviga-tion device that enable the computation of satelliteposition, velocity and clock offset. However, thereare problems associated with such assistance data:Connection to the assistance server may fail or theuser may consider the assistance data connection tobe too expensive. Furthermore, many navigationdevices are not even equipped to make a networkconnection. There is therefore interest in methodsthat can be implemented entirely in the navigationdevice, without network connection.In self-assisted GNSS, the aim is to attain proper-

ties similar to assisted GNSS, without a networkconnection. This is accomplished by generatingwithin the device the information that would havebeen received as assistance data. In this paper,satellite orbits are predicted using only the satellitebroadcast data that was received the previous timesthe device was in operation. This technique has beenimplemented in commercial products and is outlinedin the literature [3, 4], but these publications do notgive a detailed description of the algorithms. Wehave developed a related method and believe itsaccuracy is competitive compared to the othermethods. In our previous paper [5] we gave a detailedpresentation of the ephemeris prediction algorithmfor GPS satellites. The aim of this paper is to presentan extended version of the algorithm that also coversthe GLONASS satellites. Moreover, we present astudy of satellite clock offset prediction and of thepositioning error that can be expected with theposition and clock offset predictions.The paper begins with a description of the

satellite’s equation of motion. It includes only theforces that have the greatest effect on satellite orbit.Then, the reference frames used in the computationare introduced and the ephemerides’ structure andaccuracy in GNSS is discussed. After these introduc-tory sections, the actual algorithm is presented andits performance in GPS and GLONASS is evaluated.The next section discusses the prediction of the clockoffsets. Finally the errors due to the predictedsatellite orbit and predicted clock offsets arecombined in order to consider the total error in therange measurement. The paper concludes with ashort summary.

FORCE MODEL

The orbit prediction algorithm introduced in thiswork is based on the satellite equation of motion

€r ¼ a t; rð Þ (1)

where €r is the second time derivative of the satelliteposition vector and a is a vector valued functionwhich gives the satellite acceleration vector as afunction of time and position. Given the satelliteposition and velocity at instant t0, say r(t0) = r0 and

v(t0) =v0, we can compute the satellite position atany other instant t by double-integrating Equation (1)with respect to time. Usually, in order to predictGNSS satellite orbits with very high accuracy, alarge number of different forces must be included inthe model. However, we have taken into account onlythe four forces that have the greatest influence on asatellite orbit at GNSS satellite altitude, and writethe acceleration as

a t; rð Þ ¼ ag þ amoon þ asun þ asrp (2)

where ag, amoon, asun and asrp are the accelerationsdue to Earth gravitation (taking into account theunsymmetrical mass distribution of the Earth),lunar gravitation, solar gravitation, and solarradiation pressure, respectively.

If the Earth was a uniform sphere, the gravita-tional acceleration would depend on the satelliteradial distance r only, and the gravity potential Uwould be of the form

U rð Þ ¼ GME

rwhere G is the gravitational constant and ME is themass of the Earth. When the unsymmetrical massdistribution of the Earth is taken into account, thegravity potential U can be written in the form ofthe spherical harmonics expansion [6 (p. 57)]

U r; l; ’ð Þ ¼ GME

r

X1n¼0

Xnm¼0

�RE

r

� �n

Pnm sin’ð Þ

Cnm cos mlð Þ þ Snm sin mlð Þð Þ�

(3)

Here the potentialU is not only a function of satellite’sradius r, but also the longitude l and latitude ’. Theconstant RE in this formula is the Earth’s radius andthe terms Pnm are the associated Legendre polyno-mials of degree n and order m. The coefficientsSnm and Cnm in the formula are experimentallydetermined constants whose magnitude decreasesvery fast with increasing n and m. Therefore, thepotential can be approximated by taking into accountonly the first few terms. At GNSS satellite altitude,the terms up to the degree and order 4 are significant[7 (p. 54)], but we use terms up to the degree and order8. The values for the geopotential coefficients,Cnm andSnm, are obtained from the EGM2008 model [8].

The acceleration due to Earth gravitation can becomputed as a gradient of the gravity potential U.We have used a recursive algorithm introduced byCunningham [9] and later extended by Métriset al. [10] to compute the derivatives. The algorithmtakes the partial derivatives with respect to the Earthcentered Earth fixed (ECEF) position vector re, whichis related to the satellite inertial position by thetransformation re ¼ Rr , where R is the transforma-tion matrix. The gradient of the potential U gives

120 Navigation Summer 2012

Page 3: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

the acceleration in ECEF coordinates, which can betransformed to the inertial reference frame by theformula [6 (p. 68)]

ag rð Þ ¼ R�1rU reð Þ (4)

After the Earth’s gravitation the second biggestacceleration components in the satellite equation ofmotion are caused by the gravitational forces of theMoon and the Sun. To compute the accelerationacting on the satellite because of the gravitationalforce of any celestial body, one can use the form

acb ¼ GMrcb � r

rcb � rk k3 �rcbrcbk k3

!(5)

where M is the mass of the celestial body, rcb is itsposition in the Earth centered inertial referenceframe, and r is the position of the satellite in thesame reference frame. Besides the Moon and theSun, this formula can be used also for computingthe planetary accelerations, but we have ignoredthese because their influence on the satellite orbitis negligible.

The orbits of the Sun and the Moon must be knownin order to compute the gravitational accelerationwith the formula (5). In our model we use simplemodels presented in [6 (p. 70–73)] to compute thelunar and the solar coordinates. The coordinatesare accurate to about 0.1-1% [6].

The last acceleration component in Equation (2)arises when a satellite reflects and absorbs photonsemitted by the Sun. Taking into account only theSunwards component of radiation we obtain theformula

asrp ¼ �a l P0 1þ Eð ÞAU2

r2sun

Am

esun (6)

This kind of model for solar radiation pressure(SRP) is called also the Cannonball model [11]. InFormula (6) the factor rsun is the distance fromsatellite to Sun and esun is a unit vector fromsatelliteto Sun. The factor l is a shadow function, whose

value equals one when satellite is in sunlight, zerowhen it is in umbra and something betweenwhen it is in penumbra. We have used a conicalshadow model described in the book Satellite Orbits[6 (p. 80–83)]. The remaining factors are constants:AU is the astronomical unit, P0 is the solar radiationpressure at the distance of 1AU from the Sun, E isthe reflectivity coefficient of the satellite, m is themass of the satellite and A is the satellite’s surfacearea. For these constants we have used valuesshown in Table 1.It is hard to know the exact mass, surface area, or

reflectivity of the satellite. These numbers are also dif-ferent for different satellite types. For these reasons,the acceleration formula (6) is multiplied with anadditional parameter a. The value of this parameteris estimated based on real GPS and GLONASS orbitaldata. We estimated a separately for each satelliteusing an extended Kalman filter, in which the mea-surement model is discrete-time and the state modelis continuous-time. This kind of filter is presented in[12 (p. 278)] and [13 (p. 405)]. Details of the state andmeasurement models for this case are presentedin [7]. Asmeasurement dataweused precise ephemerispositions published by the National Geospatial-Intelligence Agency (NGA) [14] and the InternationalGNSS Service (IGS) [15]. The estimation of theparameter a was done several times using differentperiods during the GPS weeks 1592–1617. The meanRMS value for a 7day arc was 8.0m for GPS satellitesand 1.8m for GLONASS satellites. The RMS valuesshow that our model works significantly better forGLONASS satellites. The possible reasons for thisare discussed in thetest section. The resulting valuesvaried a little bit as a function of time, especiallyduring times when the satellite is in umbra.However, we wanted a constant parameter for eachsatellite and therefore took the satellite-specificmedian. Results of this estimation process are shownin Tables 2 and 3.As mentioned, the a parameters were estimated

for the constellation which was in operation duringGPS weeks 1592–1617. When the satellite constella-tion is changed, the parameters should be updatedor else the prediction accuracy will be slightlydecreased. Fortunately new satellites are added veryseldomly. Of course, changes in the constellation can

Table 1—Constants in the solar radiation pressure formula

P0 [Nm�2] E AU [km] A [m2] m [kg]

4.56 �10�6 0.21 149 597 870.691 13.4 1075

Table 2—Solar radiation pressure parameters for GPS satellites

PRN 1 2 3 4 5 6 7 8

a 1.439 1.484 1.337 1.335 1.434 1.339 1.441 1.3259 10 11 12 13 14 15 16

1.341 1.323 1.481 1.453 1.479 1.479 1.454 1.49017 18 19 20 21 22 23 24

1.445 1.488 1.474 1.475 1.465 1.470 1.498 1.35625 26 27 28 29 30 31 32

1.551 1.330 1.326 1.469 1.445 1.334 1.451 1.350

121Seppänen et al: Autonomous Prediction of GPS and GLONASS Satellite OrbitsVol. 59, No. 2

Page 4: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

be handled by updating the a parameters a few timesper year, for instance, as a part of a software update.To summarize, in this section we presented a

motion model for GNSS satellites. We can nowintroduce a vector valued function, q which, givensatellite position and velocity at instant t0, returnsthe satellite position and velocity at another instanttf. The definition for this kind of function is

q t0; tf ; r0; v0� � ¼ r tf

� �v tf� �� �

¼ r t0ð Þ þ R tft0 v t0ð Þ þ R tft0 a t; rð Þdt�

dt

v t0ð Þ þ R tft0 a t; rð Þdt

24

35

(7)

We have used the Runge–Kutta-Nyström -method[16 (p. 284), 6 (p. 124)] to solve the equation ofmotion. The algorithm is an efficient integrationmethod for second order differential equations inwhich the second derivative (the acceleration a ) isindependent on the first derivative (the velocity).

REFERENCE FRAMES

The International Earth Rotation and ReferenceSystems Service (IERS) maintains two importantreference systems: a Celestial Reference System(CRS) and a Terrestrial Reference System (TRS).CRS is a reference system whose coordinate axesmaintain their orientation with respect to distantstars. The origin of this reference frame is in thecenter of the Earth and Earth is in an acceleratedmotion while orbiting around the sun. ThereforeCRS is not precisely inertial, but is an adequateapproximation of an inertial reference frame for ourpurposes. TRS is an Earth fixed reference frame. Itsorigin is the Earth’s center of mass and its z-axis isthe mean rotational axis of the Earth. This mean poleof rotation was defined, because the Earth’s instanta-neous rotation pole moves with respect to Earth’scrust whereas in the Earth fixed reference frame theaxes must be pointing at a fixed point on the Earth’ssurface. The coordinate transformation between thesetwo reference systems can be written as

rTRS tð Þ ¼ W tð ÞG tð ÞN tð ÞP tð ÞrCRS (8)

where the matrices W , G , N and P describe polarmotion, Earth rotation, nutation, and precession,

respectively. The transformation matrices are timedependent and thus the vector rCRS, being constantin CRS, is time dependent after transformation toTRS. We follow [6] and use IAU76 theory whencomputing the precession matrix P and nutationtheory IAU80 for matrix N , although more recentmodels IAU2000A and IAU2000B are available andcan be found from [17].

The third matrix G describes the rotation of theEarth. In order to compute it, we need GreenwichMean Sidereal Time (GMST), which can be computedas follows. Starting from GPS time, we first computethe corresponding Julian date as JDGPS=2444244.5+ t/86400 s, where t is the number of seconds elapsedsince the beginning of GPS time, 6.1.1980. We expressthe Julian date (JD) in Universal Time UT1 bysubtracting the leap seconds τ that have been addedto Coordinated Universal Time (UTC) since thebeginning of GPS time, and adding the differencedUT1=UT1�UTC. That is

JDUT1 ¼ JDGPS þ dUT1� τ86400 s

The number of leap seconds is typically known bythe GPS device, because the current number of leapseconds is part of the broadcast message and newleap seconds are added only seldomly. However thetime difference dUT1, which is one of the Earthorientation parameters (EOP), is not necessarilyknown when starting the prediction. This timedifference is small (|dUT1|<0.9 s) and it does notcause noticeable error if we neglect it.

Next JDUT1 is divided into two parts, such that thefirst part, JD0hUT1 , is the JD at the beginning of thecurrent day and the second part, UT1, is the rest ofJDUT1. When computing these, one must note thatthe Julian date integer part changes at noon, but0 h universal time is at midnight. Also theUT1mustbe given in seconds. Taking these facts into accountwe can apportion as follows:

JD0hUT1 ¼ JDUT1 þ 0:5b c � 0:5UT1 ¼ JDUT1 � JD0hUT1

� ��86400 s

Now we can compute the Greenwich MeanSidereal Time in seconds with the formula [6, 17]

GMST ¼ 24110:54841þ 1:002737909350795 UT1þ8640184:812866 T0 þ 0:093104 T2 � 6:2�10�6 T3

(9)

Table 3—Solar radiation pressure parameters for GLONASS satellites

PRN 1 2 3 4 5 6 7 8

a 2.155 2.165 2.132 2.170 2.154 2.149 2.144 2.1449 10 11 12 13 14 15 16

2.137 2.147 2.134 2.142 2.136 2.145 2.142 2.13917 18 19 20 21 22 23 24

2.146 2.147 2.129 2.147 2.144 2.158 2.107 2.165

122 Navigation Summer 2012

Page 5: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

where the time arguments T and T0 are

T ¼ JDUT1 � 245154536525

T0 ¼ JD0hUT1 � 245154536525

i.e., the number of Julian centuries of UniversalTime elapsed since 2000 January, 1.5 UT1 at thecurrent time and at the beginning of the day, respec-tively. Furthermore, the equation of equinoxes [6, 17]

GAST ¼ GMSTþ Δc coseþ 0′:′002649 sinΩþ0′:′000013 cosΩ

(10)

is used to compute Greenwich Apparent SiderealTime (GAST). In this equation the parameters Δc, eand Ω come from the nutation theory and ′. ′ denotesthat the number is presented in arcseconds. Finally,we can compute the transformation matrix

G tð Þ ¼ Rz GASTð ÞIn this equationRz is a rotation around the z-axis, i.e.,

Rz gð Þ ¼cosg sing 0�sing cosg 00 0 1

0@

1A (11)

After multiplying the vector rCRS with precession,nutation, and Earth rotation matrices, it is in aTerrestial Intermediate Reference System (TIRS),whose z-axis points to the Celestial Ephemeris Pole(CEP). We assume that the orientation of Earth’srotation axis is the same as the orientation of thisCEP pole. CEP is not fixed with respect to thesurface of the Earth, but performs a periodic motionaround its mean position, called polar motion. Themotion is small, having a radius of under 10m, butit is important to take it into account. The rotationmatrix describing the polar motion is

W tð Þ ¼ Ry �xp� �

Rx �yp� �

where xp and yp are the polar motion parameters andRx and Ry are simple rotation matrices around thex- and y-axes. Together with dUT1 they are calledalso Earth Orientation Parameters (EOP). The dailyvalues for these parameters can be found from thehomepage of IERS [18].

IERS reports the observed values for EOP and quiteaccurate short term predictions. However, the Earthorientation parameters are not long-term predictable,which causes some problems while trying to do theprediction in a device without any network connec-tion. We cannot form a prediction model that wouldbe valid for the life of the device, i.e., years. Neitherare the EOP parameters part of the broadcastmessage yet, though this fact will be changed in thefuture as the new L1C signal comes into use [19].However, later in the section Initial Value Improve-ment we will show how to infer these parametersbased on the collected broadcast ephemeris data.

When transforming the position vector rCRS to theTRS one matrix at a time according to Equation (8),

every intermediate step is also a reference frame.For example, when multiplying with matrix P weget a mean of date (mod) system and after multipliedalso with nutation matrix N we get a true of date(tod) system. Figure 1 illustrates the connectionbetween CRS and TRS, as well as the intermediatereference frames between them. Next we willpresent the reference frames we have used, andillustrate how the transformation matrices betweenthem are compounded of those four matricesconnecting CRS and TRS.The broadcast position and velocity we get from

broadcast ephemeris are in Earth fixed reference inthe beginning. In GPS the reference frame isWGS84, which is so close to TRS that we assumethese two to be equivalent. In GLONASS thereceived ephemeris is in the Earth fixed PZ90.02reference frame [20] but it can be transformed toWGS84 or TRS by a translation of origin [21]

rWGS84 ¼ rPZ90:02 þ�0:36 m0:08 m0:18 m

24

35 (12)

Fig. 1–Connection between the IERS reference systems CRS andTRS. Transformation matrices and intermediate reference frames.The inverse of a transformation matrix is its transpose.

123Seppänen et al: Autonomous Prediction of GPS and GLONASS Satellite OrbitsVol. 59, No. 2

Page 6: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

Now for numerical integration we need an inertialreference frame and we choose to use the TIRSsystem at epoch t0, the initial epoch for the equationof motion. Before starting to predict satellite positionaccording to the model (7), we need to transform theposition and velocity vectors to this inertial referenceframe, denoted by subscript IN. For the positionvector, the transformation from TRS at an arbitrarytime t to the TIRS system at epoch t0 is

rIN ¼ rTIRS t0ð Þ¼ G t0ð ÞN t0ð ÞP t0ð ÞPT tð ÞNT tð ÞGT tð ÞWT tð ÞrTRS

(13)

However, when we start the prediction we havet= t0 and the transformation reduces to

rIN ¼ WT t0ð ÞrTRS t0ð Þ (14)

For velocity, the transformation from TRS to INcan be computed by differentiating Equation (13)with respect to time. When differentiating, the othermatrices are treated as constants and the timedependence of the Earth rotation matrix mtxGT(t)

is taken into account [5]. Denoting the transformation

matrix from reference frame A to B as RBA , we have

RTIRSCRS ¼ GNP and RCRS

TIRS ¼ RTIRSCRS

� �T ¼ PTNTGT . Withthese notations the velocity transformation is [5]

vIN ¼ RTIRSCRS t0ð ÞRCRS

TIRS tð ÞWT tð ÞvTRS þv� WT tð ÞrTRS

� �� � (15)

where v= [0 0 o]T is the angular velocity vector ofthe Earth’s rotation.After predicting the satellite position and velocity

at time t in the future, we have to do the transforma-tions the other way around. Solving rTRS and vTRS

from Equations (13) and (15) we get

rTRS ¼ W tð ÞRTIRSCRS tð ÞRCRS

TIRS t0ð ÞrIN (16)

vTRS ¼ W tð ÞðRTIRSCRS tð ÞRCRS

TIRS t0ð ÞvIN�v� RTIRS

CRS tð ÞRCRSTIRS t0ð ÞrIN

� �Þ (17)

When the satellite orbit is predicted, we actuallydo not know the exact matrix W tð Þ . However, wemight know the polar motion parameters xp and ypat the beginning of the prediction and because

they do not change much in a few days longprediction, we can approximate the matrix byW t0ð Þ ¼ W xp t0ð Þ; yp t0ð Þ� �

. Similarly, the third Earthorientation parameter dUT1 is needed to computethe rotation matrices RTIRS

CRS t0ð Þ and RTIRSCRS tð Þ . If we

set dUT1=0 when computing these matrices, wedo two approximations: setting dUT1(t0) = 0 causesa constant offset and setting dUT1(t) = dUT1(t0)neglects the variation of dUT1 during the prediction.The former approximation does not lead to signifi-cant errors, but neglecting the change in dUT1results in median error of 4.2m in the satelliteposition after a 4day long prediction. However, thisapproximation is necessary because the value ofdUT1 may, in general, be unknown to the deviceand its evolution is very difficult to predict. Bymaking these approximations, we can introduce atransformation function x, which depends both ontime and the polar motion parameter values but isindependent of dUT1 which is set to zero. Thetransformation function transforms the state of thesatellite from TRS to the inertial reference frameIN, that is

Here p ¼ xp yp �T is the vector of polar motion

parameters. The inverse transformation, from IN toTRS, is denoted j� 1. With these notations, we canwrite down the prediction function (7) in the TRSsystem. We end up with the formula

qTRS t0; tf ; rTRS t0ð Þ; vTRS t0ð Þ; p� �¼ r tf

� �v tf� �

" #TRS

¼ j�1 q t0; tf ; jr t0ð Þv t0ð Þ� �

TRS; t0; p

� �� �; tf ; p

� � (18)

In addition to the transformations j and j� 1,which are done at the beginning and at the end ofthe prediction, we need to do some transformationsduring the prediction. In the previous section it wasmentioned that the satellite position vector has tobe represented in an Earth fixed reference frame tocalculate the acceleration due to the Earth’s gravita-tion. TRS is an Earth fixed reference frame, so wecan do the transformation to it using Equation (16).Thereforethe transformation matrix R presented inEquation (4) is W tð ÞRTIRS

CRS tð ÞRCRSTIRS t0ð Þ . To speed up

the numerical integration, we approximate thematrixR. If the length of prediction is only some days,

rv

� �IN

¼ jrv

� �TRS

; t; p� �

¼RTIRS

CRS t0ð ÞRCRSTIRS tð ÞWT pð ÞrTRS

RTIRSCRS t0ð ÞRCRS

TIRS tð Þ WT pð ÞvTRS þ o� WT pð ÞrTRS� �� �

:

" #

124 Navigation Summer 2012

Page 7: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

the precession and nutation matrices remain almostunchanged. We can write PPT � I and NNT � I andthereby get the following approximation:

W tð ÞG tð ÞN tð ÞP tð ÞPT t0ð ÞNT t0ð ÞGT t0ð Þ �W tð ÞG tð ÞGT t0ð ÞMultiplication with the matrix G rotates the refer-

ence frame according to the Earth’s rotation. Mainlyit is a simple rotation around the z-axis, with theangular speed of the Earth. If the x-axis points to acertain meridian at the initial time t0, then at thetime t it points to the direction we get by rotatingthe x-axis around the z-axis with an angle of (t� t0)o.Thus,

W tð ÞG tð ÞGT t0ð Þ ¼ W tð ÞRz t� t0ð Þoð Þis the matrix R used to transform the inertial vectorto an Earth fixed reference frame when computingthe Earth gravitational acceleration. Its transposeis then used to transform the acceleration vector tothe IN reference frame. Again, the matrix W tð Þ isreplaced with W t0ð Þ while predicting.

EPHEMERIS REPRESENTATION IN GPSAND GLONASS

In GPS the satellite position is calculated usingthe 16 ephemeris parameters that are broadcast bythe satellite. One of these parameters is called thetime of ephemeris (TOE). With one received naviga-tion message, i.e., one set of ephemeris parameters,the satellite position can be calculated at any instantwithin �2 h from the TOE. Going outside of thisrange, the accuracy of the ephemeris deterioratesrapidly, as illustrated in Figure 2. Fortunately, thesatellite starts to send a new ephemeris every secondhour. The GPS satellite velocity can be computed bydifferentiating the ephemeris parameters withrespect to time. The equations for computing theGPS satellite broadcast velocity are presented for

instance in [22]. The obtained position and velocitycoordinates are in WGS84 reference frame which isvery close to IERS’s TRS, and in this paper weneglect the difference.In GLONASS the broadcast ephemeris is given in

the form of satellite position and velocity at theTOE instant, which is denoted tb in the GLONASSICD [2]. In addition, the current value for theacceleration originating from the gravitational inter-actions with the Sun and the Moon is given. Thisacceleration is part of a simple motion model thatcan be used to solve the satellite ephemeris at anyother time instant within about 15 minutes from tb.A new navigation message is broadcast every halfhour. In addition, the state coordinates in theGLONASS broadcast are represented in a differentreference frame, PZ90.02, so we have to do thetransformation (12).The GLONASS broadcast ephemeris is less

accurate than that of GPS, as illustrated in Figure 2.In this figure, the error is computed using the IGSprecise orbits [15] as a reference trajectory.

INITIAL VALUE IMPROVEMENT

We have observed that the dynamic model gavegood predictions when using precise ephemerisposition and velocity as an initial condition but thepredictions were about ten times worse when usingthe less accurate broadcast position and velocity.Therefore it is necessary to find means to improvethe satellite’s initial state.In the previous sections we presented how to

predict the satellite orbit by solving its equation ofmotion using the satellite positions and velocity att0 as initial conditions. In addition, we need to knowthe two Earth orientation parameters (xp and yp) inorder to be able to calculate the needed transforma-tion matrix W t0ð Þ . The third Earth orientationparameter, dUT1, is also needed when computingthe matricesRTIRS

CRS tð Þ, but we set it to zero when doingthe prediction. We do not have an analytical nor an

Time with respect to TOE [h]

[m]

GLONASS

GPS

−3 −2 −1 0 1 2 30

1

2

3

4

5

Fig. 2–The median error in the position coordinates (rx, ry, and rz) ofsatellite broadcast ephemerides

Fig. 3–The nonlinear function fk predicts or connects satellites’states from t0 to tk. This connection depends on the vector x, whichincludes satellites’ velocities and the polar motion parameters. Asmeasurements we have the satellites’ state vectors yk , which areobtained from the broadcast ephemeris. At x̂ the predicted statesfk x̂ð Þ fit the measurements best in the least squares sense

125Seppänen et al: Autonomous Prediction of GPS and GLONASS Satellite OrbitsVol. 59, No. 2

Page 8: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

empirical model for computing parameters xp and ypaccurately enough for the lifetime of the device andaccording to our assumptions we do not have a net-work connection to get updated information relatedto these parameters. Therefore, the observation thatthe polar motion parameters can be solved from thebroadcast ephemeris is an important detail. Other-wise this algorithm would not be suitable for atotally self-assisted GNSS device. We now call thesatellite initial state and polar motion parametersthe initial conditions, and present how the values ofthese initial conditions are computed.The first thing we do to improve the initial state

accuracy is to add an antenna correction to thebroadcast ephemeris position. The antenna correc-tion is the difference between the satellite center ofmass and its antenna phase center. When position-ing with GNSS, the receiver measures the pseudor-anges to the satellites using the signal transmittedfrom the satellites’ antennas, so the broadcastephemeris position describes the position of thesatellite antenna. However, the dynamic model usedinorbit prediction describes the motion of thesatellite center of mass. For GPS satellites we haveprovided antenna offsets used by NGA [23], and forGLONASS we use the values from [24]. For instance,the offset for GPS Block IIA satellites is

d ¼ 0:2794 m 0:0000 m 0:9519 m½ �T

The offset vectors d are given in a satellite bodyfixed reference frame. We now let r be the satelliteposition in an Earth centered reference frame, forexample TRS, and let esun be a unit vector fromsatellite to Sun in the same reference frame. Thenthe unit vectors pointing to the x, y, and z directionsof satellite body fixed frame can be written as

uz ¼ � rrk k ; uy ¼ � esun � uz

esun � uzk k and ux ¼ uy � uzuy � uz�� ��

in TRS. The unit vector uz is pointing toward theEarth, uy is chosen such that it is perpendicular tothe plane containing both the Earth and the Sun,and ux is defined such that it completes theright-handed system. Using these, the antennaoffset in TRS can be written as

d ¼ dxux þ dyuy þ dzuz:

The antenna offset vector d gives the antenna posi-tion coordinates with respect to the center of mass ofthe satellite. The center of mass rcom is then given by

rcom ¼ r� d:

The opposite correction, from center of mass toantenna phase center, could be done after the predic-tion. However, in our tests we do not do it, becausewe compare the predicted satellite positions to theprecise ephemeris, which is given in terms of thecenter of mass.

Like the solar radiation pressure parameters a,the antenna offset values should also be updatedwhen a new satellite is added to the constellationor when an old satellite is removed. This updatecan be done as a part of a software update.

After applying the antenna correction, thesatellite position coordinates can be used togetherwith the motion model to find estimates for thesatellite velocity and polar motion parameters byfitting them to the broadcast data. Let t0 denotethe time instant related to the latest receivedbroadcast ephemeris. For GLONASS this is theinstant of the position and velocity coordinates inthe ephemeris. For GPS the time instant can bechosen to be anything within �2 h from the timeof ephemeris (TOE) of the latest broadcast ephem-eris, because the accuracy inside this range is uni-form. For prediction, it is convenient to choose t0 tobe later than TOE, for instance TOE+1.5 h. After t0is chosen, the antenna corrected broadcast ephem-eris position, r0 ¼ r t0ð Þ, can be computed as explainedabove. From Equation (18) we see that in orderto predict states of satellites, we still need thesatellite initial velocity and the polar motion param-eters at instant t0. Therefore, if there is availableephemeris data from n satellites, the vector ofunknowns is

x ¼v10⋮vn0p0

2664

3775 ¼ vall0

p0

� �; (19)

where vi0 is the velocity of the ith satellite andp0 ¼ xp t0ð Þyp t0ð Þ �T are the polar motion parameters.

We introduce a function f which, starting from thedesired initial instant t0, computes the satellite stateat tk, i.e.,

r i tkð Þv i tkð Þ� �

¼ f ik xð Þ ¼ #TRS t0; tk; r i0; vi0; p0

� �; i¼ 1; . . .n (20)

Here #TRS, defined in Equation (18), is the functionthat predicts satellite states by integrating anonlinear differential equation and carrying out therequired transformations between the TRS andthe inertial reference frame. Therefore, it representsthe connection between a satellite’s two TRS states,for instance broadcast states. Moreover, the function#TRS models the effect of the polar motion parametersp0, which are buried in the TRS state representation.

Because the initial moment t0 and antennacorrected position r0 are assumed to be fixed, theyare left out of the arguments of the function f.Furthermore, in the simulations of this paper weuse five satellite broadcasts, which all have the sameinitial instant t0. Identical instants were assumedfor simplicity and the algorithm can equally well

126 Navigation Summer 2012

Page 9: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

handle broadcasts having slightly different instantt0. Indeed, this is an important notion as inreal applications the t0 differs from broadcast tobroadcast, depending on what data the receiver hascollected. However, one should not use too old, sayover a week old, broadcasts. This is because the polarmotion parameters p are changing with respectto time and this is not taken into account in ouralgorithm.

The least square fitting needs some observationdata. Assume that there is some broadcast dataavailable, i.e., positions and velocities of n satel-lites at the instants tk. We might have one or moreobservations for each satellite and the timeindexes of the observations might differ from onesatellite to another. Therefore, the set of timeindexes k would actually be dependent on thesatellite in question. However, we again simplifya little bit and present the algorithm in the form,where the number of observations m and timeinstants k=1, . . .,m related to these observationsare the same for every satellite. To conclude, wehave a set of satellites’ states yik as measurementsand these can be described as

y ik ¼ f ik xð Þ þ «ik; i ¼ 1; . . . ;n k ¼ 1; . . . ;m (21)

Here the vectors «ik are the differences between themeasured state at instant tk and the one which waspredicted using the nonlinear function f ik defined inEquation (20) The Figure 3 illustrates these notations.

All the observation vectors from different satellitesat different time instants can be combined into onemeasurement vector y. The corresponding combinednonlinear function is denoted f and the residual vector«. With these notations, the nonlinear weighted leastsquares problem is defined as finding the state x̂ thatminimizes the quadratic loss function

«TD« ¼ y� f xð Þð ÞTD y� f xð Þð Þ

Here the diagonal matrixD is a weight matrix thathas a value of (1000)2 in those elements correspond-ing to velocity components and ones elsewhere.These weights are empirical and we have found thatthey work well in this case. Furthermore, to use onlysatellites’ positions as measurements instead ofposition and velocity, the weights corresponding tothe velocity components can be set to zero.

A nonlinear least squares problem (LSQ)

x̂ ¼ argminx

y� f xð Þð ÞTD y� f xð Þð Þ

can be solved with the Levenberg-Marquardtmethod. The algorithm requires an initial iteratefor x. An initial iterate near the true value speedsup the convergence of the least squares fitting

algorithm. For the initial velocities vall0 we usethe broadcast velocity vBE t0ð Þ . For polar motionparameters we use xp=0.05 arcsec and yp=0.35arcsec, which is the approximate center of the polarmotion spiral during the years 2004–2008. Inpractice the initial iterate for polar motion could betaken from the results of a previous LSQ solution.From the LSQ solution we obtain estimates for the

polar motion parameters p̂0 and for the velocities v̂all0at the time instant t0. The orbit prediction for futuretimes then can be computed using the methodsdescribed in previous sections.

TESTS

For GPS satellites the least squares fitting can bedone with only received navigation message. Asillustrated in Figure 2, GPS’s broadcast ephemerisaccuracy is uniform within �2 h from the time ofephemeris. The same holds true also for the velocity,except the accuracy of velocity deteriorates a bitearlier. Therefore, we can compute satellite positionand velocity at any instant inside this range, anduse them as initial conditions or observations. How-ever, we have found that the algorithm works betterif the initial instant t0 of the prediction and themoment or moments of observations tk are chosenapart from each other. In paper [5] we chose the initialmoment of prediction as TOE+1.5 h and themeasurements as the satellite state at t1=TOE� 1.5 h.Now in this paper, we do not use the whole state,but only the position components as observations.Doing this improves the accuracy of the solved polarmotion parameters, and does not significantly affectthe prediction accuracy.Using only the position components as measure-

ments, we need more than one measurement instantin order to keep the least squares problem overdeter-mined. As one can see from Equation (19), thenumber of variables is 3n+2, where n is the numberof received satellites. Therefore, one positionmeasurement from each satellite, or 3n measure-ments, is not enough. However, two positionmeasurements for each satellite is already enoughto make the system overdetermined. Therefore, inthe tests of this paper we made the following choices:the initial instant is t0 =TOE+1.5 h and the mea-surement instants are t1 =TOE and t2 =TOE�1.5 h.For GLONASS the structure of the broadcast

ephemeris is different. The position and velocityare obtained only at one time instant, which can beused to integrate the orbit with the simple motionmodel from GLONASS ICD [2] about 15 minutes toeach direction. Compared to GPS the GLONASSbroadcast ephemeris is accurate for only a very shorttime (Figure 2). Therefore, in order to achieve good

127Seppänen et al: Autonomous Prediction of GPS and GLONASS Satellite OrbitsVol. 59, No. 2

Page 10: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

prediction results also with GLONASS we have to usemore than one received ephemeris parameter set. Forthis work it was decided to use the position and velo-city obtained without integration from two broadcastephemerides. When two ephemeris parameter setsare used, the best separation between the initial andmeasurement instant would be about 6 hours (seeFigure 4). However, this kind of situation is neverachieved in practice because the satellite is on theother side of the Earth after 6 hours. A more feasibletime difference is about 12 hours and the algorithmworks pretty well for this situation also. The disad-vantage of using a long separation like 12 hours isthat the required computational time increases incomparison to GPS.The tests were done using broadcast ephemerides

from GPS weeks 1618–1634. The predicted positionswere compared to the NGA precise ephemerispositions for GPS satellites and to the IGS preciseephemeris positions for GLONASS satellites. Thenorms of theprediction errors for a 4day longinterval are shown in Figure 5. Here the time differ-ence between broadcast ephemerides for GLONASSsatellites is 12 hours. The median error is shown bythe line inside the box. The upper and lower edgesof the box show the 75% and 25% quantiles of theerrors, respectively. The upper and lower whiskersextending from the box show the 95% and 5%quantiles of the errors, respectively. For one day longprediction the results are almost the same for GPSand GLONASS satellites. For longer predictionintervals we see that the errors get larger for GPSsatellites. This difference in the prediction resultsis not because of poorer accuracy of initial valuesfor GPS, in fact, for GPS the initial values, afterdoing the least squares fitting, are more accuratethan the least squares fitted initial values forGLONASS. This indicates that our force modelworks better for GLONASS satellites.

More information can be obtained by looking atthe errors in the RTN (Radial, Transverse, Normal)coordinate system. Let rECI and vECI be the positionand velocity of the satellite in ECI coordinate sys-tem. Transformation from ECI to RTN is achievedusing the transformation equation [25]

rRTN ¼ eR eT eN½ �rECI; (22)

where the unit vectors eR, eT, and eN are calculatedusing equations

eR ¼ rECIrECIk k (23)

eT ¼ eN � eR (24)

eN ¼ rECI � vECIrECI � vECIk k (25)

Here the directions eT and eN may also be referred toas along-track direction and cross-track direction,respectively.

Prediction errors in the RTN coordinate systemare shown in Figure 6. We see that for both GPSand GLONASS, the errors are mostly in thetangential or along-track direction. Prediction errorsin the radial and normal directions are small. Forpositioning applications, most important is theradial error, since this has the largest effect on thepseudorange error (see next section). For a four daylong prediction 95% of the radial errors are under6m for GPS and under 4m for GLONASS.

From the prediction results it is seen that ourmodel works better for GLONASS satellites thanfor GPS satellites. A possible explanation for theresults may be in the solar radiation pressure model.The solar radiation pressure model used in this workis a simple model including acceleration only fromthe direct solar radiation pressure. However studieshave shown that for GPS satellites there is also anacceleration, often called y-bias, in the direction ofthe solar panel axis of the satellite [11, 26]. Themagnitude of the y-bias acceleration is quite small,on the order of 10� 9m/s2, but for predictions over

GLONASS prediction errors

Length of prediction [days]

error [m]

Δt=

3h6h12

h24

h

1 2 3 40

50

100

150

200

Fig. 4–The effect of time differenceΔt between broadcast ephemeridesto the prediction errors for GLONASS satellites

Prediction errors

Length of prediction [days]

error [m]

GP

S

GLO

NA

SS

1 2 3 4

50

100

150

200

Fig. 5–Prediction errors for GPS and GLONASS satellites

128 Navigation Summer 2012

Page 11: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

several days the effects can be significant. The exactreason for the force is unknown, but one possibleexplanation is the misalignment of the solar panelaxis [11]. The effect of solar radiation pressure onGPS and GLONASS satellites has been studied byIneichen et al. [27], who found out that the meanvalues for y-bias acceleration were very close to zerofor GLONASS satellites, whereas for GPS satellitesthe mean values of y-bias were significantly differentfrom zero. This suggests that adding the y-biasacceleration to the solar radiation pressure modelmight increase the accuracy of the prediction resultsfor GPS satellites.

In order to estimate the computational complexitywe tested the runtime of our algorithm with NokiaN900 mobile phone which has a 600MHz ARMCortex-A8 CPU processor. The C-code used for testingwas automatically generated from our MATLABimplementation, using the Matlab Coder™ -tool. Webelieve that the code could be further optimized forreal device implementation. The time needed toperform a 4day long orbit prediction for one satellitewas 1.95 s, including the time needed to transformthe predicted positions into extended Keplerian form,i.e., to the GPS ephemeris format. The time needed tofit the initial velocity of one GPS satellite was 0.36 sfor known polar motion parameters. However, whensolving the polar motion parameters together withthe initial velocities of five satellites, the computa-tional time is 25.0 s. This is the bottleneck of the wholealgorithm and, as a consequence, the parametersshould be solved as seldom as possible. Instead,extrapolation based on earlier solved parametervalues should be preferred when possible.

We wish to point out that the fitting and subse-quent prediction can begin immediately after theprevious navigation session is completed. Predic-tions can be done before the device is turned off, sothat they are instantaneously available when thedeviceis opened again. If the device is a mobilephone, that is, the user tends to close the navigation

application but keep the phone on, the algorithm canbe carried out progressively such that the positionsare predicted only slightly ahead of real time.The time needed to integrate the GLONASS orbit

is the same as for GPS, but the time needed for thefitting of initial velocity differs, because it dependson the time difference between the two ephemeridesused for fitting. For GPS satellites, the timedifference of the furthermost states used for fittingis 3 h and therefore each iteration of the algorithmincludes the integration of the satellite equation ofmotion over a 3h long interval. As a consequence, ifthe time difference of the two received GLONASSephemerides is 12 h, the initial velocity fitting willtake four times longer than for GPS satellites,i.e., 4� 0.36 = 1.44 s.

SATELLITE CLOCK OFFSETS

In addition to the satellite ephemeris, the GNSSsatellite sends information about the satellite clockoffsets. These offsets, which describe the differencebetween the satellite’s own clock and the GNSSsystem time, are modeled with low order polyno-mials whose coefficients are sent in the navigationmessage. In GPS the offset, denoted dtgps, isapproximated with a second order polynomial andin GLONASS the offset, dtglo, is approximated witha first orderpolynomial, that is

dtgps tð Þ ¼ af 0 þ af 1 t� tocð Þ þ af 2 t� tocð Þ2 (26)

dtglo tð Þ ¼ �τn þ gn t� tbð Þ (27)

The polynomial coefficients are often denoted withthe symbols written in the equations above. In addi-tion to the polynomial coefficients, the equationsinclude two other terms, toc and tb, which are theclock data reference times. For further informationabout the clock offset polynomials, see the references[2] and [28].

GPS prediction errors in RTN(95% quantile)

Length of prediction [days]

error [m]

1 2 3 40

50

100

150

200RTN

GLONASS prediction errors in RTN(95% quantile)

Length of prediction [days]

error [m]

1 2 3 40

50

100

150

200RTN

Fig. 6–95% quantile of prediction errors in RTN coordinate system for (left) GPS satellites and (right)GLONASS satellites

129Seppänen et al: Autonomous Prediction of GPS and GLONASS Satellite OrbitsVol. 59, No. 2

Page 12: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

When computing the user’s position in a standa-lone GNSS, the pseudorange measurements are ofthe form

r ¼ u� rk k þ c tu � dtð Þ þ e (28)

where u is the user position, r is the satellite position,tu is the receiver clock bias and dt is the satelliteclock offset, and c is the speed of light in a vacuum.Furthermore, there is an additional error e, whichamong others includes the atmospheric delays,receiver noise, and multipath errors. These aresometimes referred to as User Equipment Errors(UEE). When considering the positioning calculationwithout reading the whole navigation message, i.e.,with only the time difference from satellite to thereceiver, we need to predict the satellites’ positionsr as well as the satellite clock offsets dt in order tocalculate the user position.As a part of the navigation message the navigation

device receives the coefficient for the clock offsetmodels stated in Equations (26) and (27). Thesimplest way to predict the offsets further is to usethe same polynomial models with the latest receivedcoefficients. This approach worked quite well withthe GPS satellites. The tests with the GPS broadcastephemeris data showed that the second order coeffi-cient af2 was zero, but the first order polynomialswere enough to model the offsets in the longer term.In contrast, for GLONASS, even the first ordercoefficient, the drift term gn, was zero for severalsatellites. Nevertheless, the ephemeris predictionalgorithm presented for GLONASS required twoearlier receiver broadcasts, so we can use twobroadcasts when calculating the clock offsets as well.Computing the future offset at t with the model

dtglo tð Þ ¼ �τn tbð Þ þ � τn tbð Þ � τn t�b� �� �

tb � t�bt� tbð Þ (29)

where tb is the reference time of the latest receivedbroadcast and t�b of another broadcast, one can obtainmore precise offsets, dtglo(t), for the GLONASS satel-lites. This model, where the coefficient gn is replacedwith the slope computed from two sequential � τnparameters, seems to work better than the para-meter gn that is sometimes given by the satellite.In analogy to the tests of the previous section, the

time difference tb � t�b between the two broadcastswas chosen to be 12h when testing the predictionmodel of Equation (29). Furthermore, the timeinstants tb of thechosen test sample were equal tothose used in the GLONASS ephemeris predictiontests in the previous section. The results are shownin Figure 7 together with the GPS offset predictionswhich were based on only one received broadcast.The error in the clock offset cdt is denoted by cΔtand it is expressed in meters. Again, the boxes showthe 75%, 50%, and 25% error quantiles, respectively,while the upper and lower whiskers show the 95%

and 5% quantiles. The individual error, |cΔt|, wascalculated as an absolute value between thepredicted clock offset and the precise clock offsetsobtained from the IGS products [15]. However,because the GLONASS system time is steered toUTC(SU), whereas the IGS products are in IGS time,one perceives a bias in GLONASS clock offsets.Furthermore, there is also a bias in GPS clock off-sets, because IGST is only loosely steered to GPStime. Fortunately, this kind of bias is identical forall satellites at a given time instant and thereby itcan be removed by calculating the offset error withrespect to the median of the offsets of all satellitesat that time instant.

The clock prediction errors, |cΔt|, illustrated inFigure 7 are smaller than the error in the predictedsatellite positions, which were shown in Figure 5.However, in the predicted positions, the radial error,which has the greatest impact on the pseudorange,was very small compared to the other error compo-nents, so both clock prediction error and predictedposition error need to be considered. This issue isfurther discussed in the following section.

RANGE ERROR

When considering the pseudorange error of aGNSS satellite, the error budget is often divided intoSignal-In-Space and User-Equipment errors [1, 28].The Signal-In-Space range error (SISRE) includesthe errors due to the satellite clocks and ephemerisparameters, whereas the User-Equipment error(UEE) includes the errors due to atmosphericpropagation modeling, receiver noise, and multipath[1]. These two error components are often assumedto be uncorrelated. Therefore, if we have a standarddeviation for both SISRE and UEE, the accuracy ofthe pseudorange value can be computed as the root

Length of prediction [days]

|cΔt|[m]

Prediction error in clock offsets

GLO

NA

SS

GP

S

1 2 3 40

10

20

30

40

Fig. 7–Errors in the predicted clock offsets. For GPS the offsets werecalculated using the latest received broadcast. For GLONASS theoffsets were calculated using two received broadcast messages witha separation of 12h.

130 Navigation Summer 2012

Page 13: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

sum square of the two components. This effectiveaccuracy of the satellites’ pseudoranges is termedthe User Equivalent Range Error (UERE). In addi-tion, the obtained UERE value might be multipliedwith an appropriate DOP value, which takes intoaccount the satellite geometry. See [28] on how tochoose the right definition of DOP for different situa-tions. To conclude, the total user navigation error(UNE) in a GNSS solution can be estimated by theformula

sUNE ¼ DOP�ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffis2SISRE þ s2UEE

q(30)

which was given in [29].SISRE is the error attributed to the ephemeris

parameters and clock model generated by the controlsegment. Because the purpose of our predictionmethod is to replace exactly this information, theSISRE is a suitable quantity for estimatingthe performance of our prediction method. Knowingthe distribution for SISRE a person having expertisewith GNSS positioning can infer the actual position-ing error in desired circumstances and applicationarea. Therefore, the rest of this section focuses ondetermining the standard deviation sSISRE from asample of errors in predicted satellite positions andin predicted satellite clock offsets. The individualerror components are computed with respect to IGSprecise orbit and clock offset data [15].

According to [29], the standard deviation for Signal-In-Space range error can be estimated by theformula

sSISRE ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffis2ΔR�cΔt þ

1

72s2ΔT þ s2ΔN� �r

(31)

where ΔR, ΔT, and ΔN are the radial, tangential, andnormal error components in satellite predictedposition, cΔt is the range error due to the inaccurateclock offset model, and s2X is the variance of thesubscript quantity X. This formula can be derivedby writing the range measurement Equation (28) interms of the RTN components and deducing in whichproportion they affect the pseudorange error if theuser’s location is restricted to the Earth’s surface.Denoting the exact distance components fromsatellite to the user as dR, dT, and dN, the rangeequation can be written as

r ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffid2R þ d2

T þ d2N

q� cdt ¼

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffid2R þ d2

q� cdt

Here d⊥ denotes the non-radial distance, i.e.,combined tangential and normal distances. Thecombined distance d⊥ is introduced because themagnitude of the distances dT and dN in the pseudor-ange are equal due to symmetry (Figure 8). If we

now have errors ΔR and Δ⊥ in the two distancecomponents and Δt is the error in the predicted clockoffset, then by first order Taylor approximation thetotal error in the range r is

Δr � cos bð ÞΔRþ sin bð ÞΔ⊥� cΔt (32)

Here the trigonometric coefficients cos(b) =dR/dLOS

and sin(b) =d⊥/dLOS are the partial derivatives of thefunction r with respect to the error terms ΔR andΔot, respectively. The variable dLOS is the Line OfSight distance, i.e., the distance between the userand the satellite.If the error terms ΔR, ΔT, ΔN, and Δt are

uncorrelated, the standard deviation for the errorΔr (32) is

ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffifficos2 bð Þs2ΔR þ sin2 bð Þ s2ΔT þ s2ΔN

� �þ s2cΔt

qIn [30] it was mentioned that the average angle

between the line of sight direction and the directionof the satellite’s radial position is b� 8∘. Then it ispossible to approximate cos(b)� 1 and sin(b)� 1/7.If we combine errors ΔR and cΔt into one errorcomponent ΔR� cΔt, which allows for errors’ depen-dence, then the equation above equals the sSISREdefined in Equation (31).Figure 9 shows the SISRE standard deviation as a

function of prediction length for both GPS andGLONASS. In addition, the standard deviations forthe orbit-only error and clock error

Fig. 8–In GNSS, the error in a pseudorange measurementconsists mainly of the error in the satellite’s radial distancedR from the Earth, whereas the non-radial d⊥ distance has onlya minor contribution. This is a consequence of the fact that theaverage value for the angle b is small, when the satellite’sdistance h is much bigger than the Earth’s radius RE.

131Seppänen et al: Autonomous Prediction of GPS and GLONASS Satellite OrbitsVol. 59, No. 2

Page 14: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

sORBIT ¼ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffis2ΔR þ 1

72s2ΔT þ s2ΔN� �r

sCLOCK ¼ scΔt

are included for comparison. As one can see, theclock offset error seems to dominate the range error,especially for GLONASS. Therefore, for futuredevelopment of the algorithm, one should focus onimproving the clock prediction method for GLONASS.In GPS, both the clock model and the orbit predictionmodel should be considered.The standard deviations of Figure 9 are convenient

for characterizing the positioning error. However, thestandard deviation is only one characterizing statisticof the error distribution and for example some quan-tiles would also be interesting. In addition, the SISREformula includes many approximations: We used anaverage value for the b and made some assumptionsabout the correlation between the error components.Therefore, we will now calculate the absolute rangeerror forevery prediction in our test sample by usingformula (32). From this sample of absolute valuesone can compute the 95% error quantile and median,which approximate the upper error bound and thetypical error, respectively. Earlier the angle b waschosen to be 8.21∘, but now we will calculate the error

quantiles as a function of the satellite’s angle ofelevation fel, i.e., the angular height measured fromthe horizontal, which depends on b through therelation

tanb ¼ R sin 90 � felð Þh�R cos 90 � felð Þ

where R is the radius of the Earth and h is the satel-lite’s distance from the Earth’s center. The 95%quantile and median of the absolute range error|Δr| are plotted as a function of satellite elevationin Figure 10. The two uppermost lines correspondto the 4 day long predictions: The solid line showsthe error for GPS and the line with the trianglesfor GLONASS. Below these lines are also from threedown to one day long predictions for both systems.

In GPS, the longer predictions include a largeerror in the non-radial component d⊥ and this makesthe error dependent on the elevation angle fel. InGLONASS there is no dependence of the elevationangle because the clock error dominates the rangeerror so strongly. These facts can be used whentrying to improve the algorithm and could be takeninto account when calculating the user position: For

Length of prediction [days]

σ[m]

Estimated range error for GPS

0 1 2 3 40

5

10

15SISRECLOCKORBIT

Length of prediction [days]

σ[m]

Estimated range error for GLONASS

0 1 2 3 40

5

10

15SISRECLOCKORBIT

Fig. 9–Error in predicted clock offsets seems to dominate the range error

0 30 60 900

10

20

30

40

50

60

Elevation angle [°]

[m]

Upper bound for |Δρ| (95% quantile)

4 days

3 days

2 days

1 day

0 30 60 900

5

10

15

[m]

Median of the range error |Δρ|

Elevation angle [°]

Fig. 10–Upper bounds (95% quantile) and typical values (median) for the absolute range error |Δr|

132 Navigation Summer 2012

Page 15: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

GPS it might be worthwhile to weight the differentpseudorange measurements according to the satel-lite angle of elevation.

CONCLUSION

Assisted GNSS is a common way to improve thestartup performance of personal navigations devices.The aim of this paperwas to study amethodwithwhichone could attain similar properties to assisted GNSS ina standalone GNSS device as well. These standalonedevices do not have any network connection and thebroadcast ephemeris is the only data they can receive.

In order to improve the TTFF when turning ona GNSS device, we need to know the satellitelocations beforehand, without reading the navigationmessage. Our method for predicting satellite positionis based on solving the satellite equation of motionnumerically. We have included only the most signifi-cant forces: Earth gravitation, solar and lunar gravi-tation, and solar radiation pressure in the equationof motion, which we call the force model. However,before we can use the force model we have to solvethe satellite’s initial state and the polar motionparameters, which are needed in order to know theexact rotation axis of the Earth. This is done by anonlinear least squares fitting algorithm, which usesearlier received broadcast ephemerides as its fittingdata. For GPS satellites, only one broadcast ephe-meris is needed when solving the initial values. ForGLONASS satellites, we have used two broadcastephemerides to solve the initial values.

The prediction method was tested with real broad-cast ephemeris data and the prediction error wascalculated using the precise ephemeris delivered byNGA for GPS and IGS for GLONASS as a reference.For one day long prediction, 95% of the predictionerrors were below 18m for both systems. With longerprediction intervals, our model works better forGLONASS satellites than for GPS satellites. Forinstance, in a three day long prediction, 95% of theerrors are below 100m for GPS and below 51m forGLONASS. The prediction errors were also studiedin the RTN coordinate system, which gives theradial, tangential or along-track, and normal orcross-track components of the errors. The errors arelargest in the tangential direction andrelativelysmall in the radial and normal directions. This isvery desirable because the error in the radialcomponent tends to have the greatest impact on therange error from the satellite to the receiver.

For radiation pressure we used a simple Cannonballmodel and a scale term which is pre-estimatedseparately for each satellite using precise ephemerisdata. Studies conducted for GPS satellites suggest thatthere is also acceleration in the direction of thesatellites’ solar panel axis, which is not observed for

GLONASS satellites. This acceleration, often calledy-bias, might be the reason for the difference in theprediction errors for GPS and GLONASS.In addition to the orbit prediction method, we

have briefly investigated the validity of the GNSSsatellite clock offset polynomials for prediction. Inour case, the length of prediction has been from oneto four days, which is notably outside the typicalGNSS broadcast life span, which is around 4h forGPS and about half an hour for GLONASS. As aconclusion, the offset polynomial received from theGPS broadcast can be used as such for up to a fourday long prediction, if one can accept an error of 18m (95% quantile). In contrast, for GLONASS, onereceived offset polynomial is not enough to reach anaccuracy which would be competitive with the GPSoffsets. However, if two broadcasts are received, witha separation of 12h for example, we can use them toform a simple linear prediction model. This modelwas able to predict the offsets with 35m accuracy(95% quantile) for four days.Finally, the navigation error related to the pre-

sented prediction method is discussed. We used theSignal-In-Space range error formula for approximat-ing the part of the range error that would accumulatefrom the error in the predicted satellite positions andthe predicted clock offsets. This formula gave stan-dard deviations of about 15m for the range error forboth GPS and GLONASS, when the prediction lengthwas four days and no impulsive change, like NANUevents, occurred. Moreover, a comparison betweenthe ephemeris and clock prediction errors indicatedthat the inaccuracy in the clock offset predictionsconstrains the positioning accuracy.

ACKNOWLEDGMENTS

This research was partly funded by Nokia Inc..Mari Seppänen also acknowledges the financialsupport of Tampere Graduate School in InformationScience and Engineering.

REFERENCES

1. Misra, P. and Enge, P., Global Positioning System:Signals, Measurements and Performance, 2nd ed.,Lincoln (MA): Ganga-Jamuna Press, 2006, 569 p.

2. Global Navigation Satellite System GLONASS: Inter-face Control Document (GLONASS ICD), Version 5.0,2002, Russian Institute of Space Device Engineering/Research.

3. Mattos, P. G., “Hotstart Every Time - Compute theEphemeris on the Mobile,” Proceedings of the 21stInternational Technical Meeting of the SatelliteDivision of The Institute of Navigation (ION GNSS2008), Savannah, GA, September 2008, pp. 204–211.

4. Zhang,W., Venkatasubramanian, V., Liu,H., Phatak,M.,and Han, S., “SiRF InstantFix II Technology,”

133Seppänen et al: Autonomous Prediction of GPS and GLONASS Satellite OrbitsVol. 59, No. 2

Page 16: Autonomous Prediction of GPS and GLONASS  Satellite Orbits

Proceedings of the 21st International TechnicalMeeting of the Satellite Division of The Institute ofNavigation (ION GNSS 2008), Savannah, GA,September 2008, pp. 1840–1847.

5. Seppänen, M., Perälä, T., and Piché, R., “Autonomoussatellite orbit prediction,”Proceeedings of the 2011 Inter-national Technical Meeting of the Intitute of Navigation,San Diego, CA, January 2011, pp. 554–564. Available:http://www.ion.org/meetings/abstract.cfm?meetingID=32&pid=72&t=C&s=2.

6. Montenbruck, O. and Gill, E., Satellite Orbits,3rd ed., Berlin Heidelberg New York: Springer, 2005,369 p.

7. Seppänen, M., “GPS-Satelliitin Radan Ennustaminen,”M.Sc. Thesis, Tampere University of Technology,March 2010, Available: http://math.tut.fi/posgroup/seppanen_mscth.pdf.

8. “An Earth Gravitational Model to Degree 2160”,EGM2008, 2008 General Assembly of the EuropeanGeosciences Union, Vienna, Austria, April 13–18, 2008,http://earth-info.nima.mil/GandG/wgs84/gravitymod/egm2008/first_release.html.

9. Cunningham, L., “On the Computation of the Sphe-rical Harmonic Terms Needed During the Numeri-cal Integration of the Orbital Motion of an ArtificialSatellite,” Celestial Mechanics, Vol. 2, 1970, pp.207–216.

10. Métris, G., Xu, J., and Wytrzyszczak, I., “Derivativesof the Gravity Potential with Respect to RectangularCoordinates,” Celestial Mechanics and DynamicalAstronomy, Vol. 71, no. 2, 1999, pp. 137–151.

11. Froidevall, L. O., “A Study of Solar Radiation Pres-sure Acting on GPS Satellites,” Ph.D. Dissertation,The University of Texas at Austin, Austin TX USA,August 2009, Available: http://repositories.lib.utexas.edubitstream/handle/2152/6623/froidevall45515.pdf.

12. Simon, D., Optimal State Estimation, Hoboken, NewJersey and Canada: John Wiley & Sons, 2006, 526 p.

13. Jazwinski, A. H., Stochastic Processes and FilteringTheory, New York: Academic Press, 1970, Vol. 64,378 p.

14. NGA GPS Satellite Precise Ephemeris (PE) Center ofMass, Available: http://earth-info.nga.mil/GandG/sathtml/PEexe.html.

15. Dow, J., Neilan, R., and Rizos, C., “The InternationalGNSS Service in a Changing Landscape of GlobalNavigation Satellite Systems,” Journal of Geodesy,Vol. 83, 2009, pp. 689–689, Available: http://dx.doi.org/10.1007/s00190-009-0315-4.

16. Hairer, E., Nrsett, S. P., and Wanner, G., SolvingOrdinary Differential Equations I: Nonstiff Problems,2nd ed., Berlin: Springer-Verlag, 1993, 528 p.

17. McCarthy, D. D. and Petit, G., IERS Conventions(2003). (IERS Technical Note; 32) Frankfurt am Main:Verlag des Bundesamts fr Kartographie und Geodäsie,2004, 127 pp.

18. IERS C04 Series of the Earth Orientation Parameters,Available: http://data.iers.org/products/214/14443/orig/eopc04_08_IAU2000.62-now.

19. Navstar Global Position System Interface Specifica-tion, Navstar GPS Space Segment/User SegmentL1C Interfaces Draft IS-GPS-800, CA: Arinc Engineer-ing Service LLC, 19 Apr 2006, Available: http://www.navcen.uscg.gov/gps/modernization/L1/IS-GPS-800_19_DRAFT_A pr06.pdf.

20. Global Navigation Satellite System GLONASS: Inter-face Control Document (GLONASS ICD), Version 5.1,Russian Institute of Space Device Engineering/Research, 2008, Available: http://facility.unavco.org/data/docs/ICD_GLONASS_5.1_(2008)_en.pdf.

21. Global Navigation Satellite System and Global Posi-tioning System. Coordinate Systems, Methods ofTransformations for Determinated Points Coordinate,2008, Available: http://protect.gost.ru/document.aspx?control=7&baseC=6&page=0&month=9&year=2009&search=&id=174517.

22. Korvenoja, P. and Piché, R., “Efficient Satellite OrbitApproximation,” Proceedings of ION GPS 2000,September 19–22, 2000, Salt Lake City, USA, 2000,pp. 1930–1937, Available: http://math.tut.fi/posgroup/korvenoja_piche_ion2000a.pdf.

23. NGA GPS Ephemeris/Station/Antenna Offset Docu-mentation, Available: http://earth-info.nga.mil/GandG/sathtml/gpsdoc2010_09a.html.

24. Cai, C., “Precise Point PositioningUsingDual-FrequencyGPS and GLONASS Measurements,” Master’s Thesis,University of Calgary, Calgary, Alberta, August 2009,Available: http://www.ucalgary.ca/engo_webdocs/YG/09.20291_ ChangshengCai.pdf.

25. Tapley, B. D., Schutz, B. E., and Born, G. H., StatisticalOrbit Determination, Elsevier Academic Press, 2004.

26. Springer, T., Beutler, G., and Rothacher, M., “A NewSolar Radiation Pressure Model for GPS Satellites,”GPS Solutions, Vol. 2, 1999, pp. 50–62.

27. Ineichen, D., Springer, T., and Beutler, G., “CombinedProcessing of the IGS and the IGEX Network,” Jour-nal of Geodesy, Vol. 75, 2001, pp. 575–586, Available:http://dx.doi.org/10.1007/s001900000152.

28. Kaplan, E. D.,UnderstandingGPS: Principles andAppli-cations, Boston/London: Artech House, 1996, 576 p.

29. Malys, S., Larezos, M., Gottschalk, S., Mobbs, S.,Winn, B., Feess, W., Menn, M., Swift, E., Merrigan,M., and Mathon, W., “The GPS Accuracy ImprovementInitiative,” Proceedings of the 10th International Tech-nical Meeting of the Satellite Division of The Instituteof Navigation (ION GPS 1997), Kansas City, MO,September 1997, pp. 375–384.

30. Montenbruck, O., Gill, E., and Kroes, R., “Rapid OrbitDetermination of LEO Satellites Using IGS Clock andEphemeris Products,” GPS Solutions, Vol. 9, 2005,pp. 226–235, Available: http://dx.doi.org/10.1007/s10291-005-0131-0.

134 Navigation Summer 2012