Precise SV Velocities
Precise SV Velocities
Precise SV Velocities
Wen Zhang, University of Leeds, Leeds, UK Mounir Ghogho, University of Leeds, Leeds, UK Luis Enrique Aguado, Advanced Digital Institute, Bingley, UK
BIOGRAPHY Wen Zhang received a B.Sc. degree in Physics from Central China Normal University (CCNU), Wuhan, China in July 2003, and an M.S. degree in Optical Engineering from National University of Defense Technology (NUDT), Changsha, China, in December 2005. Now she is a Joint-training doctorate candidate at both the University of Leeds, UK and the National University of Defense Technology, under the supervision of Professor Mounir Ghogho, Dr. Luis Enrique Aguado and Professor Bolong Gao. Her research currently focuses on the GPS/INS Integration. Prof. Mounir Ghogho received the M.S. degree in 1993 and the PhD degree in 1997, both in Signal and Image Processing from the National Polytechnic Institute (INP), Toulouse, France. He was an EPSRC Research Fellow with the University of Strathclyde, Glasgow, from September 1997 to November 2001. Since December 2001, he has been a faculty member with the school of Electronic and Electrical Engineering at the University of Leeds, where he is currently a Professor. His research interests are in signal processing for communications and networking. He is currently an Associate Editor of the IEEE TRANSACTIONS ON SIGNAL PROCESSING and a member of the IEEE SPCOM and SPTM Technical Committees. Dr. Luis Enrique Aguado has got over 15 years of research and project management experience in industrial and academic environments in the areas of satellite navigation and wireless communications. He is Sector Manager for the DSP Research Group at the Advanced Digital Institute in Bingley, UK. Before that he was Senior Research Fellow at the University of Leeds for 10 years, being Acting Director of the CAA Institute of Satellite Navigation
from 2006 to 2007. Dr. Aguado has a PhD in Electrical Engineering from University of Manchester (UK) and a B.S., also in Electrical Engineering, from University of Mondragon (Spain). ABSTRACT This paper presents an expansion of the algorithm provided in the GPS ICD to include the precise realtime computation in ECEF coordinate of the velocity and acceleration components of the satellite orbit besides the position components using the broadcast ephemeris. Precise satellite velocity and acceleration data are needed for applications using precise receiver Doppler measurements, such as GPS/INS integration. The expansion proposed in this paper improves the observed performance of an alternative derivation recently published. Ephemeris records are then expanded using this derivation and the resulting velocities and accelerations compared with the National Geodetic Survey (NGS) SP3 precise velocities and accelerations. This resulted in agreement in the order of one millimetre per second and one millimetre per second squared, respectively. It should be noted that using Keplers second law to calculate the first derivative of the true anomaly is not appropriate and it will decrease the agreement of the velocities to the order of one decimetre per second when compared with NGS SP3 precise velocities. KEY WORDS GPS; Broadcast Ephemeris; Satellite Velocity; Satellite Acceleration. 1. Introduction
GPS is used for applications where precise real-time satellite velocities and accelerations are needed as
well as satellite positions, such as GPS/INS integration. The satellite motion needs to be subtracted from the received signal dynamics to measure those of receiver antenna. Satellites ECEF positions can be derived from GPS Broadcast Ephemeris data by using the method described in the GPS interface control document ICD-GPS-200D [1]. However, it did not include algorithms for satellite ECEF velocity and acceleration determination. One method to derive the satellite velocity and acceleration is to use the rotation matrix method [2]. However, it should be noted that using Keplers second law to calculate the first derivative of the true anomaly is not appropriate as explained below and it will decrease the accuracy of velocity estimation. Another way to derive the satellite velocity and acceleration is to differentiate the satellite position with respect to time to calculate the velocity, and differentiate it a second time for the acceleration. This differential method can be implemented using the first order central differencing approximation of Taylor series [2], where one satellite velocity determination needs 3 successive satellite positions and one satellite acceleration determination needs 5 successive satellites positions. This paper shows how to calculate satellite velocities and accelerations using only the Keplerian elements and correction terms of the broadcast ephemeris, which is considered as an improvement of the rotation matrix method mentioned above. In the proposed method, just one set of Keplerian Parameters Definition
elements and correction terms of a specific epoch is required to compute both the satellite velocity and acceleration. The processing can be carried out using either post-processed/predicted ephemeris downloaded from the International GNSS Service (IGS), or real-time processing using GPS Broadcast Ephemeris parameters in the navigation data decoded by the receiver. In this paper, GPS ephemeris data definitions and computation of a satellites ECEF position vector are first introduced. Then, a set of equations to calculate the satellite velocity and acceleration is derived using Keplerian elements and correction terms included in the broadcast ephemeris. All the parameters and equations needed to compute a satellite position, velocity and acceleration are explicitly listed in tables for ease of use. An example is presented comparing the results obtained using the equations described with the results of precise NGS SP3 data. A comparison between the results obtained using Keplers second law to calculate the first derivative of true anomaly with NGS SP3 precise ephemeris is also carried out. Finally, a summary and conclusions are provided. 2. GPS Ephemeris Data Definitions and Computation of a Satellites ECEF Position Vector
Let us first list the symbols needed to compute the broadcast orbits. These are listed in Table 1 below using the notation adopted in [3].
t 0e a
e
Reference epoch of ephemeris Square root of semi-major axis Eccentricity Inclination angle (at time t 0 e ) Longitude of ascending node (at weekly epoch) Argument of perigee (at time t 0 e ) Mean anomaly (at time t 0 e ) Rate of change of inclination angle i Rate of change of longitude of ascending node Mean motion correction
i0 0
M0
& i
&
n
C uc C us C rc C rs Cic Cis
Amplitude of cosine correction to argument of latitude Amplitude of sine correction to argument of latitude Amplitude of cosine correction to orbital radius Amplitude of sine correction to orbital radius Amplitude of cosine correction to inclination angle Amplitude of sine correction to inclination angle Table 1 GPS ephemeris data definitions
Table 2 provides the algorithm by which a GPS receiver computes the position vector of a satellite index (1) Equation
( xs , y s , z s ) in the ECEF coordinate system from the orbital elements in Table 1 [3]. Definition semi-major axis Corrected mean motion =3.986005e14 m 3 / s 2 Time from ephemeris epoch Mean anomaly Eccentric anomaly Ek
a = ( a )2
n=
(2)
a
3
+ n
t k = t t 0e M k = M 0 + nt k M k = E k e sin E k
sin k = 1 e 2 sin Ek 1 e cos Ek
(6)
True anomaly k
Argument of latitude Argument of latitude correction Radius correction Inclination correction Corrected argument of latitude Corrected radius Corrected inclination
& & & k = 0 + ( e )t k e t 0 e x p = rk cos u k y p = rk sin u k x s = x p cos k y p cos ik sin k y s = x p sin k + y p cos ik cos k z s = y p sin ik
Table 2 Computation of a satellites ECEF Position Vector As indicated in Equations (15) to (19) in Table 2, the in-plane (orbital plane) satellite position vector r T and the satellite ECEF is rp = x p y p 0
ys
r T z s ] . rs can be r of rp as
matrices are
Thus, the ECEF coordinates Equations (17), (18) and (19) in Table 2 can be readily computed using the above matrix. Besides, the Keplerian orbital elements which define the orientation of the orbit are illustrated in Figure 1.
Figure 1 The Keplerian Orbital Elements Defining the Orientation of the Orbit
3. Computation of the Satellite ECEF Velocity & The first derivative of the rotation matrix R with respect to time, R , is given by
& & k cos k cos ik + ik sin k sin ik & & k sin k cos ik ik cos k sin ik & ik cos ik
& & k cos k sin ik + ik sin k cos ik & & k sin k sin ik ik cos k cos i & ik sin ik
Differentiating Equations (4) and (5) with respect to time and substituting the result of the first derivation & for M k in the second derivation, we obtain (20) Differentiating with respect to time the expression for sin( k ) in Equation (6) and then using the expression for cos( k ) in Equation (6) yields (21) In reference [2], the author presented a different & equation for calculating k using Keplers second law (the radius vector sweeps out the equal areas in equal time). In this case the derivative of the true & anomaly k is given by: (21) Using Equation (21) instead of (21) will result in a satellite ECEF velocity error when the time from ephemeris epoch t k is not equal to zero. The larger the value of t k , the larger the satellite ECEF velocity error. The main reason for this is that the semi-major axis a could not be corrected and compensated for when used at ephemeris epochs t k beyond the reference epoch t 0e in the algorithm. Meanwhile, the effect on the satellite ECEF acceleration is negligible. This is illustrated with an example in Table 7 of Section 5. Assuming the argument of the perigee is timeinvariant, differentiating Equation (7) with respect & & to time shows that k k . Further, substituting the
& E k = n (1 e cos E k )
& & & u k = k + 2(Cus cos(2 k ) Cuc sin( 2 k )) k (23) & & vk + 2(Cus cos(2 k ) Cuc sin( 2 k ))vk
Substituting the right hand side of Equation (9) for rk in Equation (12) and taking the first-order derivative of the resulting equation, we obtain the first-order derivative of the corrected radius, we have that
& & & rk = aeE k sin E k + 2(C rs cos(2k ) C rc sin(2k ))k & & aeE k sin E k + 2(C rs cos(2k ) C rc sin(2k ))vk
(24) Differentiating Equation (14) for the corrected longitude of node with respect to time, we have that
&k = a 2 1 e 2 n rk2
(25)
The derivatives of the in-plane x and y positions in equations (15) and (16) with respect to time give
r & & rp = x p
& yp
0 =
T
0]
& & & x p = rk cos u k rk u k sin u k & & & y p = rk sin u k + rk u k cos u k r & & rs = [x s
(26) (27)
right hand side of Equation (10) for ik in equation (13) and taking the first-order derivative of the resulting equation, we obtain the first-order derivative of the corrected inclination as follows
& ys
that is
& & xs = x p k sin k & & y p ( k cos k cos ik ik sin k sin ik ) (28) & & + x p cos k y p sin k cos ik & & y s = x p k cos k & & y p ( k sin k cos ik + ik cos k sin ik ) (29) & & + x p sin k + y p cos k cos ik & & & z s = y p ik cos ik + y p sin ik
(30)
& & & ik = i + 2(Cis cos(2 k ) Cic sin( 2 k )) k & & i + 2(Cis cos(2 k ) Cic sin( 2 k ))v k
(22)
where the correction terms can be readily calculated & from the expression for k in Equation (21). Substituting the right hand side of Equation (8) for k in Equation (11) and taking the first-order derivative of the resulting equation, we obtain the
4.
&& Taking the double-differenced terms && and k ik terms as zero, the second derivative of the rotation matrix R is
& 2 &2 & & ( k + ik ) sin k cos ik + 2 k ik cos k sin ik & 2 &2 & & ( k + ik ) cos k cos ik + 2 k ik sin k sin ik 2 & ik sin ik
& 2 &2 & & ( k + ik ) sin k sin ik + 2 k ik cos k cos ik & 2 &2 & & ( k + ik ) cos k sin ik + 2 k ik sin k cos ik &2 ik cos ik
In Classical Mechanics, considering the two-body problem of Earth and the satellite, the satellites acceleration in the nominal orbit plane is
r && = && rp x p
&& p y
r r = rp rp
r 3 = rp rk
& & & &&s = x p k 2 cos k + y p (( k 2 + ik 2 ) sin k cos ik x & & & & + 2 k ik cos k sin ik ) 2 x p k sin k & & & 2 y p ( k cos k cos ik ik sin k sin ik )
+ &&p cos k && p sin k cos ik x y
(33)
where = GM , with G being the universal gravitational constant and M being the Earth mass, respectively. Therefore, the in frame acceleration components can be expressed as &&p = x p rk 3 x (31)
&& p = y p rk 3 y
Differentiating have the rotated
(32) velocity
& & & &&s = x p k sin k y p (( k + ik ) cos k cos ik y & & & & 2 k ik sin k sin ik ) + 2 x p k cos k & & & 2 y ( sin cos i + i cos sin i )
2 2 2
p k k k k k k
r r & & &r vector rs = Rrp + Rrp with respect to time, we r && = [&& rs xs &&s y r & &&r &r &&s ]T = Rrp + 2 Rrp + R&&p z r
That is
Table 3 summarizes the algorithm to compute the & & & velocity vector ( x s , y s , z s ) and acceleration vector ( &&s , &&s , &&s ) of a GPS satellite in the ECEF x y z coordinate system from the orbital elements in Table 1.
Index (20)
Equation
Definition Rate of change of eccentric anomaly Rate of change of true anomaly Rate of change of inclination Rate of change of longitude of node
& E k = n (1 e cos E k ) & &k = E k 1 e 2 (1 e cos E k ) & & & ik = i + 2(C is cos(2 k ) C ic sin(2 k ))v k & & & u k = v k + 2(C us cos(2 k ) C uc sin(2 k ))v k
(21) (22)
(23)
(24)
Rate of change of radius Rate of change of argument of latitude In-plane x-velocity In-plane y-velocity
(25)
& & & k = e & & & x p = rk cos u k rk u k sin u k & & & y p = rk sin uk + rk uk cos uk
& & x s = x p k sin k & & y p ( k cos k cos ik ik sin k sin ik ) & & + x p cos k y p sin k cos ik & & y s = x p k cos k & & y p ( k sin k cos ik + ik cos k sin ik ) & & + x p sin k + y p cos k cos ik
(26) (27)
(28)
In-plane x-acceleration
(29)
In-plane y-acceleration
(33)
2 & 2 & & + y p (( k + i&k ) sin k cos ik + 2 k ik cos k sin ik ) & & & & 2 x p k sin k 2 y p ( k cos k cos ik i&k sin k sin ik )
ECEF x-acceleration
& 2 &2 & & y p (( k + ik ) cos k cos ik 2 k ik sin k sin ik ) & & & & & + 2 x p k cos k 2 y p ( k sin k cos ik + ik cos k sin ik )
+ &&p sin k + && p cos k cos ik x y
ECEF y-acceleration
(35)
ECEF z-acceleration
Table 3 Computation of a Satellites ECEF Velocity and acceleration Vector 5. Performance Results from equations (1) to (35), has been implemented using Matlab code. Table 4 is a set of input broadcast ephemeris data corresponding to the simulated time as employed in the Matlab program.
The above satellite position, velocity and acceleration determination algorithm, described
Parameter Value PRN 07 -0.185937500000e+02 -0.104283296339e+01 0.123813530663e-01 0.515369594765e+04 -0.242143869400e-07 0.337138772011e-06 0.247250000000e+03 -0.844499462507e-08
Parameter Time
Value 2002.08.20, 22:00:00 0.528200573103e-08 -0.901520252228e-06 0.643357634544e-05 0.252000000000e+06 -0.122502388129e+01 0.941362143443e+00 -0.193655107025e+01 -0.606810990399e-09
C rs M0
e
C uc C us t 0e
0
a Cic Cis C rc
i0
& i
&
Table 4 Broadcast ephemeris dataset The data in table 5 has been downloaded from the NGS as given in [2]. It lists both velocities and accelerations for PRN 07 on 20th August 2002 from time 22:19:01 to 22:19:10. The velocities are from the SP3 precise ephemeris and the accelerations are Time 22:19:01 22:19:02 22:19:03 22:19:04 22:19:05 22:19:06 22:19:07 22:19:08 22:19:09 22:19:10 obtained using the first-order central difference of a Taylor series approximation of the NGS SP3 velocities. We can use Table 5 as a precise reference of velocities and accelerations of these time specifications.
V x (m / s)
329.9513 330.1568 330.3622 330.5676 330.7729 330.9782 331.1834 331.3886 331.5937 331.7988
V y (m / s)
-888.5965 -888.8987 -889.2009 -889.5032 -889.8055 -890.1078 -890.4101 -890.7124 -890.0147 -891.3171
V z (m / s)
-2997.0555 -2996.9141 -2996.7727 -2996.6312 -2996.4897 -2996.3481 -2996.2064 -2996.0646 -2995.9228 -2995.7809
Ax (m / s 2 ) Ay (m / s 2 ) Az (m / s 2 )
0.2055 0.2054 0.2054 0.2053 0.2053 0.2052 0.2052 0.2051 0.2051 0.2050 -0.3022 -0.3022 -0.3022 -0.3023 -0.3023 -0.3023 -0.3023 -0.3023 -0.3024 -0.3024 0.1413 0.1414 0.1414 0.1415 0.1415 0.1416 0.1417 0.1418 0.1418 0.1419
Table 5 Satellite Velocity and acceleration from NGS SP3 precise position and velocity Table 6 are satellite velocities and accelerations calculated using the derived equations (28), (29), (30), (33), (34) and (35) in Table 3. The velocities and accelerations in Table 6 have been compared with the precise reference in Table 5 and the agreements are better than 1 mm/s and 1mm/s2.
Time 22:19:01 22:19:02 22:19:03 22:19:04 22:19:05 22:19:06 22:19:07 22:19:08 22:19:09 22:19:10
V x (m / s)
V y (m / s)
V z (m / s)
-2997.0556 -2996.9143 -2996.7728 -2996.6314 -2996.4898 -2996.3482 -2996.2065 -2996.0648 -2995.9229 -2995.7811
Ax (m / s 2 )
0.2054 0.2054 0.2053 0.2053 0.2052 0.2052 0.2051 0.2051 0.2050 0.2050
Ay (m / s 2 ) Az (m / s 2 )
-0.3022 -0.3022 -0.3022 -0.3022 -0.3022 -0.3023 -0.3023 -0.3023 -0.3023 -0.3023 0.1413 0.1413 0.1414 0.1415 0.1415 0.1416 0.1417 0.1417 0.1418 0.1419
329.9516 -888.5963 330.1570 -888.8985 330.3624 -889.2007 330.5678 -889.5030 330.7731 -889.8052 330.9784 -890.1075 331.1836 -890.4098 331.3888 -890.7122 331.5939 -891.0145 331.7990 -891.3169
Table 6 Satellite velocities and accelerations calculated using equations in Table 3 Table 7 shows the satellite velocity and acceleration calculated using the formulas in Table 3, but using equation (21) instead of (21) & when calculating k . The velocities and accelerations in Table 7 have been compared with the precise reference in Table 5 and the agreement of the velocities decreased to better than 1 dm/s, while the agreement of the accelerations are still Time 22:19:01 22:19:02 22:19:03 22:19:04 22:19:05 22:19:06 22:19:07 22:19:08 22:19:09 22:19:10 better than 1mm/s2. This decreased accuracy of the velocities is because the semi-major axis a change over the time epochs t k could not be corrected and compensated in the algorithm. Meanwhile, the impact of the change of the semimajor axis a on the acceleration calculation is negligible.
V x (m / s)
329.9635 330.1689 330.3744 330.5797 330.7850 330.9903 331.1955 331.4007 331.6058 331.8108
V y (m / s)
-888.5622 -888.8645 -889.1667 -889.4690 -889.7713 -890.0735 -890.3759 -890.6782 -890.9805 -891.2829
V z (m / s)
-2997.0121 -2996.8708 -2996.7294 -2996.5879 -2996.4464 -2996.3048 -2996.1631 -2996.0214 -2995.8796 -2995.7377
Ax (m / s 2 )
0.2054 0.2054 0.2053 0.2053 0.2052 0.2052 0.2051 0.2051 0.2050 0.2050
Ay ( m / s 2 )
-0.3022 -0.3022 -0.3022 -0.3022 -0.3022 -0.3023 -0.3023 -0.3023 -0.3023 -0.3023
Az (m / s 2 )
0.1413 0.1413 0.1414 0.1415 0.1415 0.1416 0.1417 0.1417 0.1418 0.1419
Table 7 Satellite velocities and accelerations ignoring the change on the semi-major axis
6.
Conclusions
In summary, this paper has presented an expansion of the ICD-GPS-200D algorithm to include the computation of the velocity components and acceleration components of the satellite additionally to the position components in the ECEF coordinate system using the broadcast ephemeris. The equations to calculate velocity and acceleration are summarized in Table 3. Computed acceleration and velocity for an example data set have been compared with National Geodetic Survey SP3 precise velocities and accelerations resulting in an agreement to one millimetre per second and one millimetre per second squared, respectively. With such a high accuracy satellite velocities and accelerations in real time, precise, Doppler based, GPS velocity and acceleration measurements can be obtained with simple single frequency stand-alone set-ups that may be used in different applications. We have proposed here a new algorithm for the derivation of the satellite velocity which was shown to provide millimetric performance, therefore outperforming existing methods. 7. Acknowledgements
The first author would like to thank Chinese Scholarship Council which sponsors her studies in the UK. 8. References 1. ARINC Engineering Services LLC., IGSGPS-200, Revision D, Navstar GPS Space Segment/Navigation User Interfaces, 7th December 2004 2. Zhang, J. et al, GPS Satellite Velocity and Acceleration Determination using the Broadcast Ephemeris, Journal of Navigation (2006), 59:2:293-305. 3. Kaplan, E. D. (Ed.), Understanding GPS: Principles and Application, 1996, Artech House Publishers