zotero/storage/266N6YDD/.zotero-ft-cache

2751 lines
103 KiB
Plaintext
Raw Permalink Normal View History

2024-08-27 21:48:20 -05:00
fcT'L INST. OF STAND & TEf" f.:]f.
IIIDS blfiT17
NIST PUBLICATIONS
Nisr United States Department of Commerce Technology Administration National Institute of Standards and Technology
N/ST Technical Note 1385
NIST Technical Note 1385
Global Position System Receivers
and Relativity
Neil Ashby Marc Weiss
Time and Frequency Division Physics Laboratory National Institute of Standards and Technology 325 Broadway Boulder, Colorado 80303-3328
March 1999
'4rES
U.S. DEPARTMENT OF COMMERCE, William M. Daley, Secretary
TECHNOLOGY ADMINISTRATION, Gary R. Bachula, Acting Under Secretary for Technology NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY, Raymond G. Kamnier, Director
National Institute of Standards and Technology Technical Note Natl. Inst. Stand. Technol., Tech. Note 1385, 52 pages (March 1999)
CODEN:NTNOEF
U.S. GOVERNMENT PRINTING OFFICE WASHINGTON: 1999
For sale by the Superintendent of Documents, U.S. Government Printing Office, Washington, DC 20402-9325
.
Contents
1 Introduction
1
2. Theory
2
2.1 Pseudorange
2
2.2 Phase Time
2
2.3 Relevant Relativity
3
2.4 Common Misunderstandings
4
2.5 User Corrections
6
2.6 Relativistic Doppler Effect and Use of the GPS Carrier
7
2.7 Rotation Matrix
8
3. Time Tagging at Receiver
9
— 3.1 Time Tagging at Receiver General Prescription
9
3.2 Examples
11
Example 3.21 Multi- Channel Receiver, Time Tagging at Receiver
12
Example 3.211 Erroneous Use of ECEF Coordinates
16
Example 3.212 Iteration With a Succession of Inertial Frames
16
Example 3.213 The Benefit of Better Initialization
17
4. Time Tagging at Transmitter
18
4.1 Code Boundary Measurements
18
4.2 Phase Time
19
4.3 Accounting for Receiver Motion
20
— 4.4 Time Tagging at Transmitter General Prescription
22
4.5 Examples
24
Example 4.51 Time Tagging at Transmitter
24
Example 4.52 Time Tagging at Transmitter, Neglecting Doppler Corrections 29
5. Time Transfer Receiver
29
Example 5.1 Earth-Fixed Single Channel Timing Receiver
32
6. References
32
Appendix A. The Eccentricity Correction
35
Appendix B. Linearization Algorithm for Time Tagging at Multichannel Receiver
37
Appendix C. Linearization Algorithm for Time Tagging at Transmitters
39
Appendix D. Equivalence of Integrated Doppler and One- Way Light Time
42
Appendix E. Numerical Check on First-Order Doppler Correction
45
111
GLOBAL POSITIONING SYSTEM RECEIVERS AND RELATIVITY
Marc Weiss National Institute of Standards and Technology
Time and Frequency Division
325 Broadway, Boulder, CO 80303-3324
Neil Ashby
Department of Physics, Campus Box 390
University of Colorado
Boulder, CO 80309-0390
ABSTRACT
We illustrate the general methods for applying relativistic corrections needed by a GPS receiver in providing time or position to a user. We focus on estimating the geometric range delay, the time GPS signals require to propagate from the transmitter to the receiver in vacuum. We discuss several common uses of GPS including time tagging at the receiver, time tagging at the transmitter, and earth-fixed timing receivers. We include examples
which illustrate these cases numerically.
KEYWORDS
GPS receivers; relativity; navigation; gravitational redshift; second-order
Doppler shift; pseudorange.
1. INTRODUCTION
A GPS receiver must make two corrections that are related to relativity in order to provide time or position to a user. We discuss these corrections and focus mostly on estimating the geometric range delay to, the time for GPS signals to propagate from the
transmitter to the receiver in vacuum. Proper estimation of t^ is essential for solving for position or time. This is an application of the relativistic principle of the constancy of the speed of light, which states that electromagnetic signals travel in Euclidean straight lines
with speed c relative to an inertial reference frame. We present a few cases which apply to many common uses of GPS and illustrate them numerically.
We present the theory behind corrections with references given for any derivations not
done here. Through the derivations, we show that tlu> Interfac-e Control Document (ICDGPS-200) specifications, as issued by the Joint Program Office of the Global Positioning
System [1], consistently cover the requirements of relativity down to within 1 ns or less.
We show that the ICD specifications include relativity corrections with enough accuracy
for most applications [2,3]. In particular, we discuss the relativistic Doppler effect, the
formula for its instantaneous magnitude, and its relationship with typical GPS receiver operation. We also address the use of carrier-phase measurements, which is not discussed
in the ICD.
Relativistic effects which are not usually modelled in GPS are: (a) a small effect on
satellite clock rates due to the earth's oblateness and (b) a small time delay due to the
slowing of electromagnetic signal propagation in the earth's gravitational field. The earth's
oblateness contributes a very small constant rate correction for satellite clocks, which is so
small (less than 50 ps per day) that it can be neglected. It also causes a periodic variation in
the GPS satellite clock time having twice the orbital period and a peak-to-peak amplitude
less than 200 ps. For a GPS satellite-to-user Hnk the gravitational time delay is less than
200 ps [2].
Our goal is to give simple recipes, so that GPS users may understand how to im-
We plement receiver designs consistently with the requirements of relativity.
then back
up these prescriptions with full explanations and derivations, so that those interested can
understand where the prescriptions come from and what approximations are involved. The
result is that this document provides a brief tutorial on how relativity is apphed for users
of the GPS broadcast ephemerides.
2. THEORY
2.1 Pseudorange
Generally, a GPS navigation receiver measures the arrival times, on a local clock, of
signals from four or more different satellites. The receiver then uses these measurements
along with information in the navigation messages to solve for four unknowns: user position
{x,y,z) and the receiver clock offset from GPS time. The signals from the sateUites can
be thought of effectively as continuous timing signals arriving at the receiver from the
satellite clocks. The receiver has its own local clock for comparison. The user measures
either (1) the times in the received timing signals at a specific local clock time, or (2) the
arrival times on the local clock of a specific time tag in the received timing signals. The difference between the reception time (according to the local clock) and the transmission
time at one satellite (according to GPS time), multiplied by the speed of fight, is called
the pseudoTU'fige. These pseudoranges are used to solve for user position and time.
2.2 Phase Time In addition to times measured on real clocks, we can think of a particular phase point
in the wave train between transmitter and receiver as nvnnerically equal to some time r,
which follows the wave as it propagates. This "phase time" r is transmitted from the
satellite at SV clock time tsv and propagates to the receiver where it arrives at receiver clock time t^. Thus the pseudorange is c{tpi — tsv)-
2.3 Relevant Relativity
Several relativistic effects have already been incorporated into the GPS system so,
for the ordinary user of broadcast ephemerides, only two relativistic corrections must be
considered. First, the receiver must apply a correction to the transmitted time to account
for relativistic effects arising from orbit eccentricity of the transmitting satellite. This is
the Atr term defined in the ICD. Second, the finite and universally constant speed c of
signals propagating in a vacuum from a transmitter to a receiver, relative to an inertial
frame (the geometric path delay), must be accounted for. The receiver must also account
for ionospheric and tropospheric delay corrections, which we do not consider here.
Three relativistic effects are germane to GPS. Rates of clocks in GPS are adjusted
(as they are for International Atomic Time) to match the rate that clocks would run on
the geoid of the earth. The geoid is a surface of constant gravitational potential in the
rotating frame in which the effects (2) and (3) described below add to a constant value. The three relativity effects are as follows.
(1) Constancy of the speed of light and relativity of synchronization. GPS time is
defined using the principle of the constancy of c to synchronize an imagined system of
clocks everywhere in space in the neighborhood of the earth (this is called Einstein syn-
chronization). GPS satellite clocks are in principle adjusted to agree with this imagined system of clocks. This network of synchronized GPS clocks realizes a coordinate time, a
system of self-consistent time markers with which to label events. This definition of GPS
time requires a locally inertial coordinate system. GPS time is thus defined relative to an
earth-centered inertial coordinate system (an ECIF), but the rate is set to match the rate
at which clocks would run on the geoid. An ECIF is also used to simplify the paths of
signals propagating from satellites, since, with sufficient accuracy for GPS, light travels in
Euclidean straight lines at the speed c in vacuum relative to such inertial frames [2].
(2) Second-Older Doppler shift. A clock moving with respect to an ECIF runs slower
relative to coordinate time in that ECIF than if it were at rest in the ECIF. This is the
time dilation effect due to the magnitude of the relative velocity, sometimes called the
second-order Doppler effect.
GPS For satellites in
orbits, the fractional frequency offset
needed to compensate for this is approximately -1-8.3 x 10~^^ relative to the rate of clocks
on the earth's geoid.
A (3) Gravitational frequency shift.
clock at rest in a lower gravitational potcMitial
runs slower relative to coordinate time than if it were at rest in a higher potential. This
is called the gravitational red shift. Thus, standard clocks closer to the earth nin slowt^-
than standard clocks farther away, since the gravitational potential heconu^s nu^re negative
closer to the earth. Clocks on GPS satellites run faster than clocks at rest on the earth's surface. Thus GPS satellite clock frequencies need to be adjusted by a fraction of about
—5.3 X 10~^° relative to the earth's geoid, to compensate for this effect.
To compensate for the relativistic effects described in paragraphs (2) and (3) above
for circular orbits, and as a consequence of the requirement that GPS satellite clocks run at the rate that a standard clock on the geoid would run, atomic clocks in GPS satellites
are given a fixed fractional frequency offset of —4.4645 x 10~^^. The user does not have
to be concerned about these rate corrections.
These three relativistic effects, however, explain why the user must still apply two
corrections. The first relativistic correction is the Atr term defined in the ICD. This term
corrects the satellite vehicle (SV) clock offset due to any eccentricity in the vehicle orbit.
Eccentricity produces periodic time excursions from the nominal fixed fractional rate offset
of —4.4645 X 10~^°. The second correction applies to users' estimates of the geometric range
delay, the delay from the transmitter to the receiver if the signal traveled in vacuum. Since
ECEF an
frame rotates relative to any inertial frame, light does not travel in a Euclidean
ECEF straight line in an
frame. It is incorrect to calculate the geometric range in an
ECEF frame using the magnitude of the vector difference between the receiver's position
at reception and the transmitter position at transmission. The distance is most easily calculated in an ECIF where signals do travel in Euclidean straight lines at the speed of
light, the constant c.
Many ECI coordinate systems, differing by constant spatial rotations from each other,
may serve these purposes. All frames that have the same origin at the earth's center and
do not rotate with respect to the "fixed" stars will define simultaneity in the same way.
All such frames are equivalent for determining the propagation delay. Yet users usually
need to refer their positions to the earth. For example they may need their coordinates in
the WGS-84 coordinate system, the ECEF frame upon which the broadcast ephemerides are based. Users fixed on the earth who want time from GPS often know their coordinates as constants in the ECEF frame. In fact, most users would hke to know their coordinates in the ECEF frame.
2.4 Common Misunderstandings There has been confusion in the GPS community over a number of issues related to
relativity [5,6]. For example, arguments have been presented that we need to define a coordinate system in the rest frame of the receiver or perhaps in that of the transmitter. Since measurements are made in the receiver, it might at first appear necessary to use a coordinate system comoving with the receiver. However, such arguments overlook the fact
— — that relativistic effects indeed, any physical effects can be described in any coordinate
system.
Another argument that has been advanced is that we need to compute corrections in
the rotating coordinate system of the ECEF frame, since that is the coordinate system in
which the user ultimately wishes to find his/her position. The relativity of simultaneity
has sometimes been presented as a principle necessitating such constructions.
Although measurements are made with a particular instrument and an instantaneous
rest frame is associated with that instrument, it is not necessary to use that rest frame
to analyze the data. This is a common misunderstanding underlying many of the errors
in the literature: the belief that we must always use reference frames which are comoving with the transmitter or receiver. The user does not need a coordinate system whose origin
coincides with the user's trajectory in spacetime to analyze effects local to the user.
It is a common practice in physics to choose a convenient coordinate system to solve a
problem. This is particularly germane to relativity, where the principle of covariance states
that, if a problem is understood in one coordinate system, it can be understood in any
other by making appropriate transformations. Thus, even though neither the user nor the
transmitter are at rest in an ECIF, the user may choose an ECIF to simplify computations
of position, then transform those coordinates to the ECEF frame, the WGS-84 system.
The pseudorange that the user measures is the same regardless of which coordinate system
the user chooses. It is simpler to use an ECIF for computations than to try to make all
corrections in the rotating ECEF coordinate system.
The fundamental measurement of a GPS receiver is the pseudorange. This is a mea-
surement of the difference between the time associated with the phase of a GPS signal
We and the time on the local clock at the arrival of that phase.
will discuss why this
measurement has the same value regardless of which coordinate system the user chooses
to do calculations.
The phase of an electromagnetic wave is a relativistic scalar. This follows simply
because the phase is the relativistic scalar product of two fourvectors: the wave propagation
fourvector and the position fourvector. This means the phase has the same numerical value
in all reference frames. It does not matter whether this phase is evaluated in the earth-
centered inertial frame, the rest frame of the transmitter, or the rest frame of the receiver.
For GPS signals, GPS time is encoded in the transmitted pseudorandom noise (PR.N)
signal. The bits in the PRN code are bi-phase modulated on the L-band carrier. Thus
when the time arrives for new bit of the code, the phase of the carrier either reverses 180°
or it does not, corresponding to whether the next bit is one or zero. The receiver measures
the time of arrival of a GPS signal by comparing it with a locally generated replica of that
signal. The receiver correlates the received signal against the; local replica and examines
the correlator output to find the correlation maximum, then locks the local code replica
to the transmitted code. Maintaining this lock in general requires adjusting the frequency
and time offset of the code replica in the correlator relative to the local clock. Tlu^ riMciviM-
system then determines the time difference between the received phase tunc and the lime
on the local clock. It is as if the wave front of tlu^ GPS signal luus an unambiguous time
mai'ker on it. Thus, the user can measure the phase of the received signal, hence the time
as received, against the time of the receiver's local oscillator. The difference between the phase time as received and the time of the receiver's local oscillator, after multiplication by c to give a quantity with units of length, is the pseudorange.
We can see why the pseudorange is independent of which coordinate system the re-
ceiver uses to solve for position and/or time. This follows since the phase is a relativistic
scalar and the measurement is made when the receiver clock is co-located with that GPS
signal phase. The measurement is essentially the time difference between the local clock
time at a particular point on that clock's space-time path, and the GPS signal phase time
at the same spacetime point.
The navigation problem could be completely solved using only the ECEF frame. It is complicated in the ECEF frame because hght and hence GPS signals no longer travel in
R Euclidean straight lines. The time for a signal to travel from transmitter at to receiver
— at r is not |r R|/c. Similarly we could set up a coordinate system in either the rest frame
of the receiver or of the transmitter. However, we emphasize that the problem is greatly simplified by analyzing the problem in an ECIF, then transforming results appropriately
to the ECEF frame. This is simplified by the fact that the time coordinate in ECIF's as we have defined them is identical to that in the ECEF frame. Thus, for example, the
relativity of simultaneity is not an issue because time, and simultaneity, are defined the same way in all these coordinate systems.
2.5 User Corrections
At any arbitrarily chosen instant the ECEF frame coincides with an ECI frame having identical x, y, z axes, but not rotating. Removing the rotation of the earth from the ECEF
frame defines a coordinate system that is close enough to an inertial frame to serve for
estimating the path delay. As time passes, the ECEF system rotates while this ECI system
remains behind, so to speak. Any such fixed coordinate system may serve as an ECIF for
estimating geometric range, using the Euclidean distance between the coordinates in the
ECIF of the satellite at transmission and the coordinates of the receiver at reception. The time for the signal to travel this path, the geometric path delay tf). may be estimated to high accuracy as the geometric range divided by the defined speed of light c. The slowing of
electromagnetic signal speed in earth's gravitational field (the Shapiro time delay) amounts
to less than 200 ps delay for GPS users near earth. [2]
The principle of the constancy of the speed of light in an inertial frame requires that an ECIF be used for geometric path delay if it is calculated by dividing the Euclidean
distance by c. Using such an ECIF greatly simplifies the problem of solving for a GPS user's position or time. Whereas GPS is intended to provide users with their position or time in the ECEF system, if we use ECEF coordinates for geometric range with the
simple Euclidean distance metric and divide by c to obtain geometric path delay, we would
make significant eiiois since we would be ignoring motion of the receiver during the signal
propagation time. In general, a navigation solution requires pseudorange measurements from at least
four satellites. These are used to obtain geometric range delay estimates, which in turn are used to solve for position. To use the simplicity of the Euclidean distance metric that comes with an ECIF, all satellite positions at the transmission epochs must be transformed
into the common ECIF. The user may then solve for the receiver position in this coordinate frame, and for the GPS time t corresponding to this solution. Finally, the user must find
the receiver coordinates in the ECEF frame at the GPS time t by accounting for the rotation of the ECEF frame between the chosen moment tc at which an ECI frame is defined, and the GPS time t.
With a receiver using four satellites we generally have five different times of interest
as natural candidates for tc'- either a single GPS transmission time and four different
reception times (time tagging at transmission time), or a single reception time and four
diflPerent transmission times (time tagging at reception time). In any case an ECI frame
can always be found which coincides with the ECEF frame at a chosen instant of time, and in this sense the ECEF frame can determine an inertial coordinate system. This answers
the need for a coordinate system in which light travels in straight lines with speed c during
the transmission of the signals, and in which all the GPS satellite clocks can in principle be synchronized. We will give a number of examples below for using this general prescription. Our focus here will remain on relativistic corrections for GPS users. We do not consider
corrections for nonrelativistic delays: ionospheric plasma delays, tropospheric delays due to water vapor, multipath interference, or receiver system delays. Nonrelativistic delays must certainly be accounted for; however, here our topic is relativity.
2.6 Relativistic Doppler Effect and Use of the GPS Carrier Many receivers that make use of the GPS carrier use only the accumulated phase to
smooth code measurements. In this case the instantaneous relativistic Doppler shift need not be considered. As we show in Appendix D, the integrated carrier as received over one cycle of the code is equivalent to the change in geometric range over that interval. Thus if a receiver using accumulated Doppler shifts keeps track of geometric range, then it automatically keeps track of the relativistic Doppler shift. Nevertheless some receivers
may use the instantaneous frequency of the received signals for some purpose. Such a
receiver must account for the relativistic Doppler effect.
A receiver system that uses the instantaneous Doppler shift of the received cai'rier
signal must also correct for the frequency shift of the received signal within the framework of relativity. As the true range between the satelUtc and receiver changes duo to relative motion, the carrier frequency changes due to the Doppler effect. The relationship between the received frequency /, and the transmitted frequency, or proper frequency F. is derived
D in Appendix with accuracy sufficient for GPS. This relationship is [2,3,4]
NV / (1 + A^{rR)/c^ - v2/2c2)
. Nv
~
F{1 + A^{rT)/c^ - y^/2c^)
1
'
c
{^-^^J
where
V = transmitter velocity in ECI coordinates,
V = receiver velocity in ECI coordinates,
N = ECI unit vector in the direction of signal propagation,
A$ = gravitational potential difference between
a clock and a reference clock on the geoid.
If gravitational potential differences can be ignored, the relationship between received and transmitted frequency can be written without approximation as
/
F
7(v)(l-^) 7(V)(1-^)'
(1)
where
7(^) =
(2)
, 1- ^
The change in frequency is closely related to the rate of change of range. In fact, in
Appendix D we show that the relativistic Doppler frequency shift equation can be derived by differentiating the geometric path delay [4,6]. In Appendix D we have included for
completeness the effect of the gravitational frequency shift to order c~^, which is sufficient for users of the GPS. This proves the conceptual equivalence, within the framework of Special and General Relativity, of the methods of pseudorange (to obtain an instantaneous
A position solution) and integrated Doppler frequency (to obtain changes in position).
user of integrated Doppler frequency accounts for changes in the geometric path delay simply by integrating the relativistic Doppler shift and relating this observable quantity to the change in geometric range. This is discussed in detail in Appendix D.
2.7 The Rotation Matrix Ahnost always the user of the broadcast ephemerides will want to use coordinate
transformations which correspond to rotations of the coordinate system about the WGS-
84 z axis. For convenience we write out here an example of such a rotation matrix.
Consider an ECIF with z axis which coincides with the defined WGS-84 axis. Let the position coordinates of some point of interest in these ECI coordinates be denoted by
xeci
^ECI = Veci
(3)
zeci
Suppose that the ECI axes coincide with the ECEF axes at the time tc- To calculate the ECEF coordinates of the point at time t, note that the angle through which the ECEF coordinates have rotated is G{t) = fte{t-tc), where l^e = 7.292 115 146 7 x 10~^ rad/s
is the WGS-84 value of the earth rotation rate. Then the coordinates of the point in the
ECEF frame are given by
cos0(t) sin0(t)
XeCI
XeCEF = R {t)^ECI — -sin0(t) cos0(i)
Veci
(4)
1
ZECI
— This is sometimes called a "passive" rotation that is, a rotation of the coordinate axes
keeping physical position vectors unchanged. In eq (4) the time interval t — tc must be
small since the earth rotation rate actually varies. With t — tc as large as 3 s, errors no
mm larger than 0.05
are introduced.
3. TIME TAGGING AT THE RECEIVER
Generally, a GPS navigation user measures the arrival times of signals from four
different satellites and uses them to solve for four unknowns: position x. y, z and time
t. A common way of doing so is to make the four measurements at one instant at the
receiver ("time tagging at the receiver"). Another method is to use signals which left
the satellites at a common GPS time ("time tagging at the transmitters"). The latter
method is more complex, both because the signals are not received simultaneously, and
because GPS times on the satellite clocks must be obtained by applying transmitted clock
correction coefficients. That is, the clocks on the satellites are synchronized only if the
user applies transmitted clock corrections. The GPS satellite clocks themselves may differ from GPS system time by up to 1 ms in the underlying ECI reference frame [1. Sections
20.3.3.3.1.9-20.3.3.3.3.1]. Thus in the case of time tagging at the transmitters we must account both for the motion of the user during the intervals between transmission and
reception, and the differences between SV clock time and GPS system time. On the other
hand, as we shall show, time tagging at the transmitter can be used for navigation while avoiding most rotations.
— 3.1 Time Tagging at the Receiver General Prescription
(1) At a chosen reception time, measure the transmission times using the received pseudo-random noise (PRN) codes from four satellites. This gives us the times
tsv according to the SV clocks at transmission for the signals received at the
chosen reception time.
We need the GPS time of transmission for each satellite mid the
common reception time according to the (possibly biiuscd) local clock.
We obtain the time of reception from our local clock. Tlu^ transmission
time is encoded in the received signal. Since we are locked to the code, we
PRN can determine the offset of the locally generated
sequence required
to maintain lock.
(2) Apply the prescription of Table 20- IV of the ICD-200, for corrections to obtain
GPS system time i, at transmission.
This includes the eccentricity correction At^, described in the ICD200, section 20.3.3.3.3.1, and is an effect due to relativity. At^ is a
correction which applies to the SV clock; it is the same correction no
matter where the receiver is or how the receiver is moving. The value of
Atr will generally be different for the clocks in different satellites. For example, for a clock in a satellite of orbital eccentricity e, transmitting
at an instant when the eccentric anomaly is E, the correction to be
subtracted from the transmitted time is
Atr = Fx 10-^°ev^sin E ,
(5)
where
F = -4.442 807 633 s/m^/^
(6)
A is the semi-major axis of the satellite in meters, e is the orbital eccenE tricity, and is the eccentric anomaly. Values of these quantities are
transmitted in the navigation message.
(3) Compute each satellite's position in the ECEF frame at its transmission time.
This is a straightforward application of the equations of Table 20-IV
of the ICD-200 [1] for determining the a:, y, z coordinates of the satellite
at the instant of transmission. Note that the broadcast message gives the
ECEF satellite positions at the instant of transmission in
coordinates
specifically in the WGS-84 reference frame.
(4) Choose an ECIF for computation of the path delays.
This choice is arbitrary, but some choices are more convenient than
others. Simplification may sometimes occur if the choice is appropriately
made. A natural choice for the case of time tagging at the receiver is to freeze the ECEF frame at a time close to the expected GPS time of
reception.
(5) Transform the ECEF coordinates of each SV obtained in step (3) into the
chosen ECIF. This will normally require at least three, and perhaps four, of such
ECEF position vectors to be rotated. If we freeze the ECEF frame at
tlie instant of trHnsmission of on(^ of the satellites, only three of these
10
rotations will be needed. Alternatively, we may freeze the ECEF frame
at any instant to define an earth-centered inertial system. If we choose
the GPS time equal to the local clock's reception time, the later correc-
tions may be small.
GPS If the local clock is sufficiently close to
time
at the instant of reception, then the last step below, step (7), would not
need to be done.
(6) Solve the path delay equations for the receiver's position and time.
This can be done by linearizing the propagation delay equations
and solving them iteratively. Here we solve simultaneously for geomet-
ric range delay t]j and user position. The user's motion through the
ECIF during propagation is included in these to estimates. Note that
other contributions to path delay which we do not consider here, such
as ionospheric and tropospheric delays, should be incorporated in this
We process.
use an initial estimate of position to solve for the linearized
corrections to receiver position and the time offset. If these corrections
are not small enough for the user, they may be used to obtain a next
estimate of position and time. This, in turn, may be used to obtain
the next linearized correction for position and time offset. This iterative
process converges rapidly.
(7) Rotate the user's position coordinates into the ECEF reference frame.
After finding the user's position in the chosen ECI coordinate sys-
tem and the correct GPS system time, the receiver's ECI position coordinates are rotated into the ECEF reference frame at the instant cor-
responding to the measured reception time. If the ECI frame chosen
ECEF in step (4) is sufficiently close to the
frame at the instant of
reception, this step may be omitted.
3.2 EXAMPLES
In these examples we use orbital data representing the GPS constellation as it ap-
proximately was in March of 1995. Values of the semi-major axes, eccentricities, and inchnations have been randomized within very small, but reasonable limits. Keplerian
orbit algorithms are used to propagate the SV orbits forward in time and to accurately compute SV eccentric anomalies. Values of Atsvj are randomized using a uniform distribution within a 1 ms range. The SV identification numbers used are fictitious. However, the actual transmitter and receiver data used in these examples are selected from among many possibihties resulting from a simulation of the entire GPS constellation. The data are
thus obtained from a simulation where ''truth" is accurately known and can \yc c t)mpai'ed
with navigation solutions.
11
Example 3.21 Mult i- Channel Receiver, Time Tagging at the Receiver
We choose four satellites from this constellation in view from our receiver location with
elevations above the horizon greater than 20°. Suppose the receiver is truly at geocentric
m R ECEF latitude and longitude 35° N, 0° E, and distance = Q 378 136.3 from earth's
center. Suppose the user wants to make a measurement of position and GPS time at his/her clock time t = 37 239.999 422 365 6 s of the week, and that this just happens to = be GPS time t 37240 seconds exactly, for purposes of illustration.
The actual receiver ECEF coordinates at this instant, which we give here for compar-
ison with the navigation solution, will be
i? cos 35°
m 5 224 663.389
WGS84
(7)
E sin 35°
m 3 658 348.690
Such accuracy is not justified, but we are specifying positions witiiin 1 nun so that the
convergence of the algorithms can be checked.
We follow the step numbering from the prescription given above.
(1) Suppose we already have the measured SV clock times tsvi for the signals
received at the chosen reception time.
= The reception time is specified on the local clock, which is t 37 239.999 422 365 6 s. This just happens to be at GPS coordinate time i = 37 240.000 000 000 s exactly and corresponds to a pseudorange c X 0.075 ms for SV 1. The GPS time should be recovered during the
computations.
We (2)
apply the prescription according to Sect. 20.3.3.3.3.1 from the ICD-
GPS-200 describing the user algorithm. We then obtain the system time t^,
GPS the
time of transmission, for each satellite i. The relativistic eccentricity
correction is part of this calculation. (The subscript i is not used in the ICD,
but is added here for clarity.) The data we actually use in the present example
were generated from a computer simulation which propagated orbits and clocks
for the entire GPS constellation forward in time. In this simulation the offsets
^isvi were randomly generated.
(3) Using the broadcast ephemeris, we obtain the ECEF coordinates of the
satellites from the prescriptions given in Table 20-IV of the ICD-GPS-200. From
the GPS time ti, the time interval tk = ti — toe from ephemeris reference epoch
is calculated. Then tk may then be used in the algorithm for computation of
ephemerides. This gives the x, y, z coordinates of the sateUite, in the ECEF frame,
at its transmission epoch. Table 1 gives the results after these steps. (These data
are actually generated from a computer simulation of the GPS constellation.)
12
Table 1. GPS satellite positions in ECEF coordinates.
SV#
1
2 3 4
Transmission epoch ti {s)
37 239.924 422 365 6 37 239.920 713 391 8 37 239.925 307 870 37 239.929 346 353 9
X^ (m)
13 005 878.255 20 451 225.952 20 983 704.633 13 798 849.321
y^ (m)
18 996 947.213 16 359 086.310 15 906 974.416
-8 706 113.822
Zj (m)
13 246 718.721
-4 436 309.875
3 486 595.546 20 959 777.407
In Table 1, GPS system times ti rather than the time intervals
tk
— ti
toe
from
ephemeris reference epoch,
are
used
to label
the
events. The subscript i varying from 1 to 4 labels data from the different
satellites. Table 1 assumes that the eccentricity correction discussed in
Appendix A has already been applied to obtain the transmission epoch
data given in the second column of the table. The position coordinates
ECEF of each satellite are given in the
frame, which is turning in inertial
space.
(4) To rotate from ECEF to ECIF coordinates, the inverse of the rotation matrix of eq (4) is required. Thus we need {R^{t^ — ic))~\ which must be
calculated and applied to the coordinates of each satellite individually. That is,
ti will be different for each satellite, but tc is the same for all satellites. For
this example, we choose an ECIF by fixing the rotation of the ECEF frame at
We — tc = 37 239.000 000 000 s.
stress that this choice is arbitrary better choices
are usually available. The purpose of this choice is to illustrate its arbitrariness
and also to illustrate how rapidly the iteration algorithm converges. With this
choice, for example, the rotation matrix for satellite 3 is
cosCte{t3 -tc) -sinpeitd -tc)
{R^{t3-tc)y
sintteitz -tc) cos Clf,{t3 -tc)
(8)
1
and fteits - tc) = 0.925 307 870 fte = 6.747 451 534 x 10"^ Corresponding
transformations are applied to each of the transmitted data sets.
(5) We transform the coordinates in Table 1 into this ECIF. The rotation
We C matrix is different for each transmission epoch.
use a subscript to indicate
that the inertial system has been arbitrarily chosen. The results from transform-
ing to the ECI frame are given in Table 2.
(6) The propagation delay equations to be solved arc discussed in Api)cndi,\
B. We give a quick summary here. The notation is cis follows. The four GPS
GPS satellites, at
times ti, t2, ^3, t^ send out signals from the ECIF locations
13
Table 2. Transmitted data transformed to the chosen ECI system
SV #
1
2 3 4
Transmission Epoch t^ (s)
37 239.924 422 365 6 37 239.920 713 391 8 37 239.925 307 870 37 239.929 346 353 9
Xa (m)
ya (m)
ZCi (ni)
13 004 597.642 20 450 127.566 20 982 631.270 13 799 439.294
18 997 823.895 16 360 459.358 15 908 390.245
-8 705 178.668
13 246 718.721
-4 436 309.875
3 486 595.546 20 959 777.407
ri5
1*2 5
1*3 5
r4 5
respectively.
(The subscripts now label data from the different
satellites, after transforming to the chosen ECI reference frame. The rotations do
not affect the times.) These four signals are received simultaneously at time i by a
receiver at position re- The problem is to determine t and r^ at the receiver. The velocity of the receiver does not have to be considered. The receiver's position
re at the time of reception t will be determined by the solution of four equations
which express the condition that the speed of propagation is c. The four equations
to be solved are
(re - Tjf - c\t - tjf =0; 3 = 1,2,3,4.
(9)
However, if the position yc and time t are known approximately, the equations can
be reduced to a system of four linear equations which can be solved by standard matrix inversion techniques. These equations are derived in Appendix B, and are
_ Ar - - = - - - (r(^)
r^.) .
c^{t^'^ tj)At
- (^c^{t'^'^
tjf
(r^''^
r,)^) .
(10)
In eq (10), the quantity c{t^^^ —tj) is the ith estimate of the pseudorange from the
(i)
receiver to the jth satellite, and r^ is the zth estimate of the receiver position in
ECI coordinates. Equation (10) is a system of Hnear inhomogeneous equations in the corrections Ar, At, which can be solved by matrix inversion. The matrix of coefficients of the unknowns Ar and At will usually be nonsingular, unless the
configuration of satellites is so unfavorable that eqs (9) do not have a solution
(such a condition is possible.) The solutions obtained will be approximate, but can be used to obtain new trial values; the iteration can be repeated as many
times as necessary to obtain the accuracy required.
To illustrate this process in the present case, as our initial guess at receiver position we take a worst case and assume the receiver is at the center of the earth. Also, we do not know the receiver clock bias. In this example we assume the clock bias is such that the reception event
14
occurs at t = ti +0.07500 s. Then Table 3 gives the results at each stage
of the iteration.
m The calculation converges to within 1 after three iterations. The
time at reception on the receiver clock, determined by the solution, is
tR = 37 240.000 000 000 Os
(7) These results must lastly be transformed into the WGS84 system by applying the rotation R^itu — tc)- That is, to obtain WGS84 coordinates at
the instant of reception, we must use a sidereal rotation corresponding to that instant. The necessary rotation matrix is
COSfteitR -tc) sniVt^{tR-tc)
R^tR-tc) = - sin ft,,{tR - tc] COS^e{tR-tc)
(11)
1
and Cte{tR — tc) — 7.292 115 146 7 x 10~^ because in this case, tR — tc happens to be exactly 1 s. Upon applying this rotation to the position coordinates given
in the last line of Table 3, the measured values of the receiver position are
m 5 224 663.388
WGSBA
m • 0.000
(12)
m 3 658 348.689
These agree with the true position coordinates to within a inillimeter.
Table 3. Results of iterative solution of propagation delay equations.
# Trial
(start) 1 2
3 4
5
User's X position
m m 5 057 363.392 m 5 226 931.552
m 5 224 663.780 m 5 224 663.374
m 5 224 663.374
User's y position
m m 2 355.126 m 354.224 m 380.983 380.988 m 380.988 m
User's z position
m m 3 541 092.792 3 659 938.391 m
3 658 348.973 ui 3 658 348.689 ni
3 658 348.689 m
User's clock time
37 239.999 422 365 6 s 37 239.997 532 305 8 s 37 240.000 033 455 9 s 37 240.000 000 006 s 37 240.000 000 000 s 37 240.000 000 000 (1 s
15
Table 4. Iterative solution ignoring earth rotation.
# Trial
User's x position (m) User's y position (ni) User's z position (m) User's clock time (s)
(staxt)
1
1 2
3 4 5
5 057 359.485 5 226 927.086 5 224 659.325 5 224 658.919 5 224 658.919
2 012.579 00.194 27.107 27.112 27.112
m 3 541 090.386 m 3 659 935.704 m 3 658 346.291 m 3 658 346.008 m 3 658 346.008
37 239.999 422 365 6 37 239.997 532 323 37 240.000 033 469 3 37 240.000 000 019 6 37 240.000 000 013 6 37 240.000 000 013 6
Example 3.211 Erroneous Use of ECEF Coordinates
One might think that effects due to earth rotation, during the very small signal prop-
agation times from transmitters to receiver, were sufficiently small that transforming to
ECI coordinates was not necessary. Let us therefore test this with the example data given
We in Table 1.
again initialize the iteration as in Example 3.21, above. The results of the
iteration, using the same algorithm as before are given in Table 4.
In this case, the solutions are in error by a significant amount. The receiver time is
off by 14 ns and the position is in error by almost 30 m. Thus, it is an error to ignore
earth rotation during the propagation of signals from transmitters to receiver.
However, these results suggest an approach which could result in a computationally ef-
ficient strategy for the receiver. Suppose that the receiver is continually monitoring signals
from four or more satellites and keeping track of its approximate position by neglecting
earth rotation, as in Example 3.211 above, but that an accurate position is not needed
until some particular moment. At that moment, the erroneous position and time could be
used as a starting point for a correct iterative solution of the one-way light time equations.
Since the starting point is not far off, this iteration should converge very rapidly. Thus,
transformations to the chosen inertial frame C would be made only when an accurate
position and time were needed, eliminating much computation at other times.
Example 3.212 Iteration with a Succession of Inertial Frames Another approach is to consider a succession of inertial frames in the iteration process,
each of which is aligned with the WGS84 frame at the assumed reception time. This would
have the nice advantage that at the end of the iteration, the ECIF would be exactly ahgned
with the WGS84 frame, so no final rotation would be necessary. The disadvantage is that
the ECIF coordinates of the transmission events must be recomputed at each stage of the iteration. Thus in the intermediate stages of iteration more computation is required. During actual use, we might have very good estimates of the receiver position available
to start the iteration. Thus, very few iterations could yield receiver position to sufficient
16
accuracy, making this approach favorable. To illustrate this approach, we shall use a succession of equations of the form
Xc = R^{tc){R^r'^WGSS4 - {R^{t - tc)r'XwGS84
(13)
We to obtain inertial coordinates of the transmission events.
will first make a reasoned
guess for the receiver time tn and then set tc — iR- One iteration will yield a more accurate
We estimate for Ir.
will then choose tc to be this new value and recompute satellite
transmission event data for this new tc-, and repeat the process as often as necessary. The
results are given in Table 5.
Example 3.213 The Benefit of Better Initialization It pays to be more careful with our initial guesses. To illustrate this, let us take as
our initial time the latest transmission epoch plus 75 ms and take the initial position to be
the subsatellite point of the latest transmission epoch. Again using a succession of inertial
frames as in the above example, the results are given in Table 6. What has been achieved
is more rapid convergence, compared with the previous example.
Table 5. Iterative solution with a succession of inertial frames.
# Trial
User's x position (m) User's y position (m) User's z position (m) User's clock time tc (s)
(start) 1 2
3 4
5 057 363.550 5 226 931.564 5 224 663.794 5 224 663.388
1 986.551 -25.990
-0.018
0.000
3 541 092.792 3 659 938.391 3 658 348.973 3 658 348.689
37 239.999 422 365 6 37 239.997 532 305 8 37 240.000 033 455 9 37 240.000 000 006 37 240.000 000 000
Table 6. Effect of better initialization.
# Trial
Uiser's X position (m) Uiser's y position (m) Uiser's z position (m) User's clock time tc (s)
(start) 1 2
3 4
3 313 469.280 5 190 759.859 5 224 663.389 5 224 663.389 5 224 663.389
-2 090 568.570
400.888 -0.892
-0.000
0.000
5 032 997.819 3 634 586.629 3 658 412.593 3 658 348.689 3 658 348.689
37 240.004 346 353 9 37 239.999 499 918 6 37 240.000 000 000 37 240.000 000 000 37 240.000 000 000
17
4. TIME TAGGING AT THE TRANSMITTER
Let us now consider time tagging at the transmitters with four sateUites. This ap-
proach requires a prior estimate of receiver velocity and perhaps acceleration over the interval of signal reception. If all signals leave satellites simultaneously with respect to the
ECEF frame, most users will receive these signals within 20 ms of each other. For most
users acceleration will contribute negligibly.
We address two separate issues for this type of receiver. The most important from
a conceptual point of view is that, during the 20 ms or so which may be required for the receiver to make four time-of-arrival measurements, the receiver will generally move
through the inertial frame. This motion must be accounted for in order to achieve accurate
position determination.
A second, more practical comphcation, is that the C/A code repeats every millisecond, and it might be easiest to choose the GPS system time tag tc for the measurements to be identical to one of the instants at which the C/A code begins to repeat. We call this a "code boundary." In the present example we shall illustrate use of C/A code in which the receiver only measures the arrival times of code boundaries on its local clock. We shall first discuss C/A code boundary measurements and the necessary time measurement
corrections. Then we shall discuss how to account for receiver motion.
4.1 Code Boundary Measurements
First we discuss the choice of the time tc at which the ECEF frame is to be "frozen" in place to create the ECIF. The time tc denotes a GPS system time. Unfortunately,
because of the clock and relativistic corrections represented by the quantity Atsv in the
ICD-GPS-200, the GPS system time t at a satellite differs from the satellite clock time,
tsv according to the equation
t^tsv-Atsv-
(14)
Thus, transmission of a a particular system time tc would occur at satellite clock time
which is numerically Atsv later (or earlier if Atsv is negative) by
tsv ^tc + Atsv.
(15)
The correction Atsvj foi' a particular satellite is contained in the navigation message and can be computed by the receiver. It changes relatively slowly during the 20 ms or less required by the receiver to make four time-of-arrival measurements, so we shall assume that for a particular set of four time-of-arrival measurements, Atsvj are constants.
To assist in making clear the distinctions among the various times which occur in the
R following discussion, we shall use a subscript for times measured on the receiver clock, and SV for times measured on the transmitter clock. Both of these may differ from GPS
system times for events, due to noise, drifts, offsets, and relativistic effects.
18
tp on SV clock
GPS system time
tQ = chosen GPS system time
Figure 1. Illustration of SV and receiver clock offsets.
4.2 Phase Time
The "phase time" r is transmitted from the satellite at SV clock time tsv and propa-
gates to the receiver where it arrives at receiver clock time Ir. In a particular measurement,
r is some number. If this number is an integral multiple of 1 ms so that it lies on a code
boundary, then it may be particularly convenient for the receiver to implement the mea-
We surement of the arrival time.
shall assume in the following that r lies on a code
boundary. Thus for the channel corresponding to the jth satelhte (with j = 1, 2, 3, 4), the
sequence of events may be described as follows.
(a) A common system time tc is chosen for the measurements, which are to
be time tagged at the transmitter at this system time tc- This system time tc
is some integral multiple of 1 ms and thus there is a code boundary in the phase
time which is numerically equal, t = tc-
(b) While the phase code is numerically equal to tc and is transmitted when
the SV clock time tsv3 = t = tc-, this does not usually occur at the GPS system time t = tc- Because of clock and relativistic corrections, transmission of the true GPS system time tc occurs ^tsvj later.
(c) The wave train propagates to the receiver where the code boundary r =
tc is detected and the receiver clock time tjij of this event is recorded.
This sequence of events is illustrated in Figure 1.
The arrival of a point in the code corresponding to tru(> GPS system tinu^ ic ^vill
occur an amount A^;?j later. Because of the relative motion of the riHcMVtn and tiansniitlcr
19
through the ECI, Atjij will in general be different from Atsvj due to the first-order Doppler effect. The receiver needs to estimate this time difference in order to find the arrival time, on the local clock, of the point in the code corresponding to the true time tag tc-
The small interval Atjij can be very accurately estimated by using the Doppler formula, eq (D.6) in Appendix D, which relates the coordinate time interval dtn between signal arrivals at the receiver, and the corresponding time interval dtsv at the transmitter
/ N-v\
/ N-V\
dtRil
= dtsv 1
,
{D.6)
V where and v are the transmitter and receiver velocities through the ECI, respectively,
at the instants of transmission and reception. This gives the relation between the time interval separating transmission of two nearly equal phase times, and the time interval separating reception of the two phase times. The time intervals dtsvj are less than 1 ms. The first-order Doppler corrections are typically of order 10~^. Therefore we need good estimates of the velocities of receiver and transmitter, so that the Doppler corrections are known within 10~^ in order to calculate dtn to better than 1 ns.
Because the Doppler corrections in eq (D.6) are small, we can use eq (D.6) for small time intervals without making appreciable error. Thus, to sufficient accuracy for GPS, eq
(D.6) can be rewritten as
Atn,=Atsvj^r^-^^.
(16)
N The receiver needs estimates of the receiver velocity v and the unit vector pointing
from transmitter to receiver in the ECI. These can be obtained from estimates of position and velocity which have been built up over time during the computation of successive
navigation solutions. The transmitter velocity Vj can be computed from the prescriptions
given in Table 20-IV in the ICD-GPS-200, by taking derivatives of the satellite position with respect to coordinate time. Since all these vectors must be represented in the chosen
ECI, some rotations may be necessary. It is useful to keep in mind, however, that dot products may be computed in any convenient ECI frame.
Thus, in brief, if the phase time corresponding to true GPS system time tc is later than tsvj — tc by Atsvj, then the time of reception of the phase time corresponding to
tc at the receiver is later by Atjij given by eq (16) above. These time relationships are illustrated in Figure 1.
4.3 Accounting for Receiver Motion In the following discussion we will assume that the code boundary measurements have
been made and corrected as described above. After making the necessary corrections,
denote the values of the arrival times of the code corresponding to the true GPS time
20
tc on the receiver clock by tcj = tRj + ^tjij. These will still not be GPS system times
because in general there will be a bias on the local clock. Denote the bias by be, and
denote the GPS system times of arrival by tj; then the relation
tj=tcj+bc
(17)
R holds. Note that there is no subscript on the time on the left side of eq (17) because
this symbol now refers to the GPS system time of an event.
Further, because of the receiver's motion through the ECI, the receiver will not be at
a fixed position during the measurements, which occur from 67 to 86 ms after tc if the
receiver is near the earth. This means it is necessary to have available to the receiver an
estimate of receiver velocity in the chosen ECI frame, so that the receiver positions at the
various reception times can be calculated. Let the receiver position and velocity in the ECI
vc at the system time tc be re and
respectively. We assume vc is known to sufficient
accuracy, but re and be are to be determined by the measurement. Thus the positions of
the receiver at the measurement times are given by
rRj = TRitj) = rc + ^citcj +bc- tc)
(18)
The sateUite positions at the instant of transmission of the signals at the common GPS
system time tc wiU be denoted by r^. These positions are obtained from the navigation
messages and are specified in the WGS-84 reference frame. This means that all of these position vectors are specified in the same reference frame. Therefore it is natural when setting up the propagation delay equations to choose an ECI reference frame which coin-
cides with the ECEF frame at the instant tc- Thus no rotations are necessary in order to express these SV positions in a common inertial frame. If we solve for re, this will be in the ECIF (and the ECEF frame) at tc, so no rotation will be required for that vector. However, if we want trj in the ECEF frame, rotations will be necessary.
The propagation delay equations are
i^Rj -^jf = c^(^j -tcf
or
(re + ^citcj +bc- tc) - Fjf - c^itcj +bc- tc)^ . j = 1.2.3.4.
(19)
These four equations can be solved iteratively for the unknown bias be and the tlu-ee
position components re of the receiver in the ECEF frame at the chosen system time tcOne iterative method of solution is described in Appendix C. We briefly summai-ize that
process here.
We write the position and bias in terms of estimates, plus small corrections:
re = r^c + ^r- ^c = i^c + ^^
(20)
21
Substituting these expressions into eq (19) and expanding, keeping only linear terms in the
small quantities Ar and At, leads to a linear system of four equations in four unknowns:
R^;^ -Ar-c^i(T7^^)-v..Ry))A.4 c^(lj^O'-K)
(21)
where
T^/^=tcj+b)^^-tc,
(22)
and
Rf =r^)+vcTf)-r,.
(23)
This system of equations is solved by iteration in the manner described in Appendix C.
— 4.4 Time Tagging at the Transmitter General Prescription:
We now describe the specific procedure in parallel with the steps described above for
time tagging at the receiver.
(1) Measure the times tjij on the local clock at the reception of a given code
epoch r, corresponding to a single GPS phase time r in each code train, from
each of four satellites.
It may be convenient for a receiver to measure the time on its local
clock for the arrival of a particular point of the received code train,
such as one of the code boundaries. A code boundary corresponds to a
particular millisecond of the week. This millisecond is our chosen time
tag. However, each SV clock, and hence the clock's transmitted code,
is generally offset from from GPS time, and the offset will be different
We for each clock. The differences will be less than 1 ms.
will need to
account for this in step 2.
(2) Apply the prescription for corrections as given in the "User Algorithm for SV
Clock Correction" of the ICD-200, section 20.3.3.3.3.1, to obtain Atsvj For a given satellite, Atsv is the difference between the instant the
code for phase time r was transmitted and the value of GPS time r.
(See eqs (14-15).) Atsv includes both the relativistic correction Atr and the broadcast second-order polynomial correction for the SV clock
offset from GPS time.
(3) Compute each satellite's position in the ECEF frame at the time of transmission of GPS time t.
This is a straightforward application of the equations of Table 20-
GPS IV, for determining the z .x, t/, coordinates of the satellite at the
time tc-
22
(4) Choose an ECIF frame for computation of the one-way hght times.
In this case the natural choice is to freeze the ECEF frame at the GPS transmission time tc(5) If the ECI is defined by freezing the ECEF frame at GPS transmission time
tc, the coordinates of each sateUite will not need to be rotated. If we estimate receiver position at tc we do not need to rotate the receiver position coordinates
either. We need to adjust the local clock measurements, however, for the time
interval Atsv and the motion of the receiver over the time Atsv- This is because
the code boundary numerically corresponding to tc is not necessarily transmitted
at GPS time tcWe may use a deterministic estimate of the change in receiver po-
sition over the reception interval. Since this model is usually a velocity, we will refer to it that way here for simplicity. This velocity estimate remains fixed during the solution of user position and time. It is neces-
sary to obtain the velocity estimate in the coordinates of the chosen ECI.
Then we may estimate receiver coordinates in the ECEF frame which coincides at tc with the ECI. We then use the velocity to estimate receiver positions at the other reception times. We assume the user clock offset from GPS time is constant over the interval of reception.
First apply the corrections represented in eq (16) to compute Atfij. Then compute the times of arrival on the local clock tcj, of the signal
transmitted at GPS time r. Iftjij is the local clock time for the received
epoch from satellite j, then
tcj = tRj + AtRj
(24)
is the local clock time of reception of the signal transmitted at GPS time
t from satellite j. The correction AtRj is calculated from eq (16) using estimates of vrj, Tj, and Vj, and Vj in the ECI which have been built up from a filtering algorithm or from prior solutions.
The time relationships are illustrated in Figure 1 . For a given satellite vehicle SV, Atsv is the diff'erence between the instant the code for
GPS time r was transmitted and the value of GPS time r. Atsv includes
both the relativistic correction Atr and the broadcast second-order poly-
nomial correction for the SV clock offset from GPS time. Atjij is related
to Atsv by first-order Doppler corrections given in eq (16).
(6) Solve the equations for the geometric path delays to find the receiver's position
and time offset at tc-
Again we linearize the propagation delay equations and solve Ihcm
We iteratively.
may iterate to find the position at the first reception
23
.
time, using the velocity estimate to extend to the other reception times. This iteration is similar to step (6) in the case of time tagging at the
receiver.
(7) If we have solved for the user position at tc there is no final rotation. In
this case the ECIF and ECEF frame coincide at tc- If we want the ECEF frame
position at a different reception time, a rotation will be required.
It would be possible to update the velocity estimate using positions obtained from
two transmission time tags. This leads into other concerns and options associated with
using GPS: filtering estimates over time. Techniques for estimating position, velocity, and
We acceleration could be coupled with strategies for filtering these estimates over time.
We will not discuss these options here.
will mention, however, that if there are infrequent
measurements of GPS signals from individual satellites, the local clock may be used to
flywheel between them and find a solution. This may require careful filtering algorithms
for estimation of the local clock frequency. In particular, relativistic effects on the local
clock frequency due to velocity or gravitational potential may have to be considered.
4.5 EXAMPLES
Example 4.51 Time Tagging at Transmitter
We give here an example of the analysis of data when the measurements are time
tagged at the transmitter. This means that the receiver measures the arrival times of at
least four signals which were transmitted simultaneously, at GPS system time tc, from four satellites which are labelled with index j = 1, 2, 3, 4. This method of time tagging has
the great advantage that the satellite positions at the instant of transmission, as specified
in the navigation message, are all given in the same coordinate system. Thus no rotations
are necessary to express these positions in a common inertial frame. For this example we
choose a code boundary exactly corresponding to
tc = 240.000 000 000 s
The following steps are in the order of the seven steps listed in Sections 2 and 3 above.
(1) The times tfij on the local clock of reception of the code epoch r = 240
sec exactly are recorded. These are given in the first column of Table 7. (2) The satellite clock corrections Atsv, including the relativity corrections,
are obtained from the navigation messages; these are given in the second column
of Table 7. In this simulation these offsets are randomly generated within a 1 ms
range using a uniform distribution.
(3) Compute each satellite's position in the ECEF frame at the time of transmission of GPS system time r.
24
This is a straightforward appHcation of the equations of Table 20-IV in the ICD-200, for determining the x, y, z coordinates of the satelhtes at
the GPS time tc- The results are given in Table 7 for the four satelUtes.
(4) Choose an ECI frame for computation of the one-way Hght times.
In this case the natural choice is to freeze the ECEF frame at the GPS transmission time tc-
(5) Compute the received time offsets At/^j and the times tcj of arrival on
the local clock, of the signals transmitted at GPS system time tc = t. We must make the first-order Doppler corrections, then compute
the time intervals ^tnj. This requires estimating the Doppler correc-
tion. However since the Doppler corrections are very small, in a first
approximation we might neglect the Doppler correction factor entirely
and assume Ai/?j ^ Atsvj- We might then use the resultant positions
to estimate Nj to within a few percent. If the estimate of position in the
chosen ECIF is within 890 km of the true position and the receiver is
near the earth, then the error made in estimating the direction cosines of the line-of-sight unit vector Nj will then be less than 10""^. In a
second approximation, estimates of the Doppler correction factor which
use velocities and a value of Nj accurate within a few percent should be
adequate.
Estimating receiver velocity. In the present example we consider
a receiver which has an estimated ground velocity of Vg = 300 m/s in
a direction 30° north of east, parallel to earth's surface. Suppose the
receiver at the instant tc — 240 s exactly is at the position
i? COS 35°
m 5 224 663.389
X,iyG584 =
i? sin 35°
m 3 658 348.690
(25)
which has been used in our earlier examples. The net velocity will be
a linear combination of the ground velocity and velocity of the point
XivG584 due to earth rotation. From geometric considerations, the net
receiver velocity at time tc in this example will be
-Vy sin 30° sin 35°
vc
t;^ cos 30° + nei?cos35°
Vg sin 30° cos 35°
(26)
If the position and ground velocity were accurately known, the net re-
ceiver velocity in the ECIF would then be
-86.036 465 453"
Vc = 640.796 091481 m/s.
(2-
122.872 806 643
25
Therefore in the present example, we take the velocity estimate in the
ECIF to be
"-86"
vc = 641 m/s.
123 J
We Estimating receiver position.
illustrate the calculation of the
first-order Doppler correction with satellite 1 in Table 7. The unit vector
N is computed from the satellite and receiver positions, as in eq (D.3):
(28)
N= ' \rR{tR) -ftI^t)!
{D.3)
where rR{tji) and ftI^t) are the ECIF position vectors of receiver and
transmitter at reception and transmission times tR and tx- At the receive time, with bias of correction 423 ns, the receiver position vector is
actually
rRi = rc+vc(240.069 124 140 3 - 0.000 000 423
5 224 656.660
50.117
m
3 658 358.300
- tc)
(29)
and we therefore take as an estimate of this position the vector
6 000 000
ri?i
23 000 m,
3 100 000
(30)
and the receiver velocity is given in eq (28), which was discussed above.
The bias correction was not significant in arriving at this rough estimate
of receiver position.
Estimating satellite velocity. The satellite position at transmit time tc is given in the first row of Table 7. The satellite velocity is also needed. It may be obtained by differentiating the satellite positions, which are derivable from the prescription of Table 20-IV in the ICD-GPS-200, with respect to time, and then applying a rotation into the ECIF. For the present example the satellite velocity in the ECIF is
Vi =
-304.267 760 3 853.051 168 -257.220 637
m/s
(31)
26
The position estimates result in the following calculated values of the components of Ni:
-0.437 588
Ni
-0.114 125
-0.891 904
while the "true" value of Ni obtained from the simulation is
(32)
-0.477 846 083
Ni
-0.115 974 357
-0.870 754 311
(33)
For the present case, Atsv = -0.000 056 554 783 4 s. Then eq (16)
gives the estimate
Atm ~ -0.000 056 554 784 s
This estimate agrees extremely well with the "true" value of Atjn obtained from the simulation. For details of this comparison, see Appendix
E.
Thus the Doppler correction factor given in eq (16) can be computed by the receiver and added to tjij to predict, with excellent accuracy, the
arrival time tjij + dtjij of the code which corresponds to transmission
of tc from the satellite. Thus only times of arrival of code boundaries would actually be measured by the receiver.
Three additional calculations using eq (16) are given in the third column of Table 7 for the satellites used in the present example. Here
the time tc equals 240.000 000 000 s exactly. The first column of Table 7
= gives local clock arrival times of the phase time r tc- The second column lists the values of the SV clock and relativistic corrections derived
from the navigation messages. The third column lists the corrections AtRj obtained from eq (16). Note that the largest difference between
Atsvj and Atnj is little more than 0.5 ns. The maximum possible such
difference is about 4 ns and could occur for a clock in a satellite in low earth orbit. The resulting values of local clock arrival times tcj are listed in the last column of Table 7 and are repeated in the last column
of Table 8. There may still be a local clock bias in these data. In this
example, the receiver clock has a bias of —423 ns.
27
Table 7. Computation of first-order Doppler corrections.
= (units s)
ID #
tRj
AtsVj
^tRj eq (16)
tcj = tRj + AtRj
1
240.069 180 695 048 -0.000 056 554 796 2 -0.000 056 554 784 240.069 124 140 263
2
240.078 615 674 081
0.000 493 792 700 6
0.000 493 792 194 240.079 109 466 275
3
240.075 360 518 523
0.000 259 725 929 9
0.000 259 725 401 240.075 620 243 923
4
240.072 939 857 576
0.000 305 714 376 7
0.000 305 713 988 240.073 245 571 564
Table 8. Satellite positions r^ and mecisiured arrival times tcj-
ID #
I
2 3 4
Satellite Xj (in)
15 126 951.488 20 996 573.361 23 391 384.147 10 656 983.742
Satellite IJj (m)
2 403 354.115
-15 349 939.783
10 956 612.394
-11 270 652.822
Satellite Zj (m)
21 702 797.709
-5 178 329.880 —4 333 140.777
21 703 578.299
Local clock time tcj (s)
240.069 124 140 3 240.079 109 466 3 240.075 620 243 9 240.073 245 571 6
Table 8 gives the data from the all four measurements: the derived
positions of the satellites at GPS system transmission times and the
corresponding arrival times tcj on the receiver clock.
(6) The iterative solution, which has been carried out as described in Ap-
pendix C is given at successive stages in Table 9. At the initial stage, estimates
ECEF for the
receiver position are inserted. For the sake of illustration, we as-
sume the initial estimate of the receiver position places it at earth's center. The value of the local clock bias is initially estimated to be 300 ns. The iteration pro-
cess converges rapidly, to within a millimeter or so of the correct ECEF receiver
position.
(7) No rotations are necessary in the final stage since the position has been
determined in the ECEF frame.
The receiver positions at the times tcj of reception might be needed for other purposes. These could be obtained using a best estimate of the velocity of the receiver in the ECIF
(the ECEF frame at tc) using eq (18). The components of re are in this reference frame. A second series of measurements at a slightly later time t^ will give a new value of tq in
the new reference frame. These two values could be differenced or filtered to provide an update to the ground velocity. Such an updated value could be transformed into an ECIF
28
Table 9. Iteration solution for re and receiver clock bias be-
# Trial
1
2 3 4 5
Receiver Xq (m)
Receiver yc (m)
Receiver Zc (m)
Local clock bicus be (s)
0.0
5 051 460.568 5 226 991.162 5 224 663.799 5 224 663.390 5 224 663.390
0.0
-9 835.265
132.182
-0.023 -0.000 -0.000
0.0 3 545 131.610
3 659 870.280 3 658 349.573 3 658 348.690 3 658 348.690
0.000 000 300 -0.002 453 425 2
0.000 032 544 3 -0.000 000 417 2 -0.000 000 423 -0.000 000 423
with the help of a rotation such as in eq (28), to be used in further position measurements.
Example 4.52 Time Tagging at Transmitter Neglecting Doppler Corrections The first-order Doppler corrections to Atsv are very small, as seen in Example 4.51,
above. Here we repeat Example 4.51 with one change: the Doppler corrections are completely neglected. Since including these first-order Doppler corrections usually amount to
changing the arrival times on the local clock by less than 1 ns, only a few centimeters of
error would be expected to occur when such corrections are neglected. Table 10 gives the satellite positions Vj and the measured arrival times tcj when this approximation is made. The table is identical to Table 8 except in the fourth column.
Solutions of Eqs. (21) by iteration are given in Table 11. Thus neglecting the first-
order Doppler correction causes a position error of about 75 cm in this case.
Table 10. Satellite positions Vj and arrival times tcj neglecting Doppler correction.
ID #
1
2 3 4
satellite Xj (m)
15 126 951.488 20 996 573.361 23 391 384.147 10 656 983.742
satellite yj (m)
2 403 354.115
-15 349 939.783
10 956 612.394
— 11 270 652.822
satellite Zj (m)
21 702 797.709
-5 178 329.880 -4 333 140.777
21 703 578.299
~ tcj tjij -\- /\tsvj (s)
240.069 124 140 3 240.079 109 466 8 240.075 620 244 5 240.073 245 572
5. TIME TRANSFER RECEIVER
In this case we may use each pseudorange measurement from each satellite sepai^ately
to estimate our clock offset from GPS time. We either time tag measurements at a trans-
mission time and measure time of reception, or time tag measurements at a reception time
and determine time of transmission from the code lock of the receiver. We then use the
29
Table 11. Solution for re and receiver clock bias be neglecting Doppler correction.
# Trial
1
3 4 5 6
Receiver Xc (m) Receiver yc (m) Receiver Zq (m) Local clock bias be (s)
0.0
5 051 461.207 5 226 991.866 5 224 664.501 5 224 664.092 5 224 664.092
0.0
-9 835.359
132.086 -0.072
-0.096 -0.096
0.0
3 545 131.862 3 659 870.566 3 658 349.243 3 658 348.976 3 658 348.976
0.000 000 300 -0.002 453 427 6
0.000 032 542 4 -0.000 000 419 1 -0.000 000 424 9 -0.000 000 424.9
prescriptions from the ICD-200, Table 20-IV, to obtain the satellite position in the ECEF frame. We must estimate the geometric path delay t^ in addition to the ionospheric
and tropospheric corrections. Since we know the receiver position we may compute t£) as
follows.
If ECI position vectors are referenced to the time of signal transmission, then
\v{tn)-Ii{tT)\ ^Jr{tT)-mT)\ [r{tT)-n{tT)]-v
._
,
c
c
c^
where
R is the SV position vector,
r is the receiver position vector,
tT and tn are GPS time at respectively transmit and receive times, and
V is the receiver velocity vector in the ECIF.
The last term in eq (34) is sometimes called the Sagnac correction. In the case of an
earth-fixed user,
= V i7e X r.
(35)
If ECIF position vectors are referenced to the time of signal reception (instead of
satellite transmission time), then
to =tR — tT = \v{tR)-K{tT)\ «^^ \r{tR)-K{tn)\
c
c
V - [r(t;,) R(^h)] •
5
c^
.... (3b)
where:
V is the SV velocity vector in the ECI.
A single- channel receiver with antenna placed at a known location can provide a means for accurate transfer of GPS time to a local clock. Let the antenna be at the position
^ECEF whose earth-fixed coordinates are accurately known and do not change with time.
30
The appropriate expression for the total propagation delay for a signal from one satellite is eq (34). In eq (34) the positions are ECI positions but are referred to the time of transmission t^. The first term on the right side of eq (34) is proportional to the distance between receiver and transmitter at the transmit time tx', if we call this distance L, then
L = \r{tT)-Ti{tT)\.
(37)
Although the position vectors r{t'r) and R(tT) are ECI position vectors, the distance L is invariant under spatial rotation and can therefore be computed in any convenient
coordinate system. The ECEF position of the satellite at transmit time is directly derivable
from the prescription given in the ICD-200, Table 20-IV, and therefore no rotations are necessary to compute L:
L = IrECEFitr) —'R'ECEF{tT)\-
(38)
The second term in eq (34), the Sagnac correction term, can be further reduced for this case since it also is a scalar with respect to rotations. The ECI velocity of the earth-fixed receiver is due to earth rotation and is
= V 17e X r{tT).
(39)
The Sagnac correction term, which we denote by Atsagnaci is therefore
[r{tT)-R{tT)]-^e^r{tT) At Sagnac
C2
tie r{tT) X [r{tT)-K{tT)]
C2
^e r{tT)x [-R(iT)]
C2
He • K{tT) XX Tr{tT)
(40)
c2
^e • ^ECEPitT) X ^ECEFitr)
c2
l^el {XEC E F{iT)y EC EFitT) — yECEF{tT)x ECEFitr))
C2
where standard vector operations have been used to simplify the scalai* product. In the last step, the only component of the cross product which contributes is parallel to the earth's angular velocity vector; this product is invariant under rotations about this axis,
so the computation can be performed in the ECEF frame at the instant of transmission.
Thus for a timing receiver no rotations need be applied to compute the local time.
31
The final result in eq (40) above can be put in a form which is easy to interpret and can be found in many places in the literature:
"^^S AtSagnac =
,
(41)
where Ae — | [R(iT) x ^{tT)]z i^ the equatorial projection of the area swept out by a
vector from the center of the earth to the path of the timing pulse as it propagates from
transmitter at R(iT) to receiver at r{tT)- Clearly this area can be calculated in either
ECIF or ECEF coordinates.
Example 5.1 Earth-fixed Single- Channel Timing Receiver
We give four examples here based on the data from four different satellites given in Table 1. For all these examples the ECEF position of the receiver is that specified in eq
(7).
In Table 12 the first column labels different satellites corresponding to the data entries in Table 1. The second column gives the transmission epochs. The third column gives the transmission delay contributions X/c, the fourth column gives the Sagnac corrections, and the fifth column sums the entries in the previous three columns to give the time at the receiver. The agreement of the entries in the last column refiects consistency of the procedure across the satellite constellation.
Table 12. Examples of time transfer to a single-channel earth-fixed receiver.
# SV
Transmission epoch ij- (s)
L/C (s)
^^Sagnac (s)
tjij (s)
1
37 239.924 422 365 6
0.075 577 714 8 -0.000 000 080 5 37 240.000 000 000
2
37 239.920 713 391 8
0.079 286 677 5 -0.000 000 085 5 37 240.000 000 000
3
37 239.925 307 870
0.074 692 197 4 -0.000 000 067 4 37 240.000 000 000
4
37 239.929 346 353 9
0.070 653 609 2
0.000 000 036 9 37 240.000 000 000
6. REFERENCES
[1] "Navstar GPS Space Segment/Navigation User Interfaces," lCD-GPS-200, Revision C (10 October 1993), Code Went. No. 29562, ARINC Research Corporation, 4055 Hancock Street, San Diego, CA 92110.
[2] Ashby, N.; J.J. Spilker, Jr., "Introduction to Relativistic Effects in the Global Position-
ing System," Ch. 18 in Global Positioning System: Theory and Applications, Vol. /,
eds.,
B.
W.
Parkinson
and
J.
J.
Spilker,
Jr.,
Progress
in
Astronautics
and
Aeronautics ,
32
Vol. 163, AIAA, Inc., 370 L'Enfant Promenade, SW, Washington, DC 20024-2518
(1996).
Ashby, N. "Relativistic Effects in the Global Positioning System," Chinese J. Systems Eng. Elect. 6, 199-237 (1995).
Gibson, L. Ralph, "A Derivation of Relativistic Effects in Satellite Tracking," Naval
TR Surface Weapons Center
83-55, (April 1983).
Deines, S., "Missing Relativity Effects in GPS," paper presented at ION-GPS-90, Colorado Springs, CO, September 1990. See also "Missing Relativity Terms in the Current
GPS Algorithm," S. Deines, Contract F04701-87-C-0027, (June 1990), and "Missing
Relativity Terms in the GPS," Navigation 39, 111-131 (1992).
FUegel, H.; R. DiEsposti (1997), "GPS and Relativity: an Engineering Overview,"
Aerospace Report ATR-97(3389-l).
"Department of Defense World Geodetic System 1984, Its Definition and Relation-
DMA ships with Local Geodetic Systems,"
Technical Report 8350.2, Stock Number
DMATR83502WGS84, U.S. Geological Survey, Denver, CO, 80225.
Malys, S.; J. Slater, "Maintenance and Enhancement of the World Geodetic System 1984" (1994), Proc. ION-GPS-94, Salt Lake City, Sept. 20-23, 17-24 (1994).
"1992 lERS Annual Report" (July 1993), Central Bureau of lERS, Observatoire de
Paris, 61 avenue de I'Observatoire, F-75014 Paris, France.
10] "lERS Standards (1989)," D.D. McCarthy, ed., lERS Technical Note No. 3, Observa-
toire de Paris, 61 avenue de I'Observatoire, F-75014 Paris, France.
11] Moritz, H.; I.I. Meuller (1987), Earth Rotation, Theory and Observation, Ungar, New
York.
12] Hofmann-Wellenhof, B.; H. Lichtenegger, J. Collins (1993), GPS Theory and Practice, Second Edition, Springer- Verlag, New York.
13] Goldstein, H., Classical Mechanics, 2nd Ed. (1980), Addison-Wesley Pubhshing.
Reading, MA, Sect. 4-9, p. 174.
14] "Relativistic Effects in the Global Positioning System," D. Eardley et al., JASON,
MITRE Corporation, 1820 DoUey Madison Blvd, McLean, VA 22102, May 1985.
15] "Accuracy of Time Transfer in SateUite Systems," Committee on Accuracy of Time Transfer in Satelhte Systems, Air Force Studies Board, National Academy Press, Wash-
ington, D.C. (1986).
16] See eq (2) of "Lectures on Frequency Stabihty and Clocks," by R.F.C. Vessot. in
33
Experimental Gravitation, ed. B. Bertotti, Academic Press, Inc., 155 (1974). [17] Boucher, C; Z. Altamimi, M. Feissel, P. Sillard, "Results and Analysis of the ITRF94,"
lERS Technical Note 20, Central Bureau of lERS (March 1996), Observatoire de Paris, 61, avenue de I'Observatoire, F-75014 PARIS, Prance.
34
Appendix A.
The Eccentricity Correction
The epoch of the transmission event from each satelhte must be corrected to account
for variations in the proper time of each satellite clock due to orbital eccentricity. This
aspect of system design of the GPS was fixed very early when satellites did not have much
computing power. The correction compensates the atomic clock in the satellite for periodic gravitational frequency shifts and second-order Doppler shifts due to the satellites' periodic change of radius and velocity in its eccentric orbit. The correction converts the proper time
— kept on the atomic clock, to coordinate time that is, to GPS time. To put it another
way, a satellite in an eccentric orbit samples different values of earth's gravitational field as the satellite moves toward and away from the earth. Consequently it suffers a periodic
gravitational frequency shift. At the same time, conservation of angular momentum causes
the satellite to speed up or slow down, giving rise to a periodic second-order Doppler shift.
Thus SV clocks must be corrected for these effects so that the corrected clocks effectively
run at a constant rate, the rate of coordinate time. It is important to realize that this correction is the same for all receivers, no matter
where they are or what their state of motion is. The correction relates solely to the
transmitter. In particular it is correct for users of GPS anywhere in space. It is incorrect
to claim, as is done in Ref. [6], that the correction applies only to users near earth's
surface.
Let us denote the time that the user estimates from the information encoded in the signal as tsv a^ in the ICD-GPS-200. This must be corrected according to the section
describing the user algorithm to obtain GPS system time t (Sect. 20.3.3.3.3.1 in the ICD-
GPS-200C). The correction has several different, but equivalent forms. Using the notation of ICD-GPS-200C, Sect. 20.3.3.3.3.1, the relativistic correction to the transmission epoch
tsv is
Atr
=
-
^VGMA
2
^
es. mE^k
c^
= Fe^sinEk
2R V
(^-1)
where
F = -4.442 807 633 X 10"^° s//l^,
(^-2)
GM and where
is the product of the Newtonian gravitational constant and the mass of
A the earth,
is the semi-major axis of the satellite in meters, e is the eccentricity, Ek
R is the satellite's eccentric anomaly,
is the instantaneous position vector of the SV at
V transmission time, and is the instantaneous velocity vector of the SV. We need GPS
35
time t before we can obtain Ek as prescribed in Table 20- IV, so the equations are coupled.
It suffices to use tsv to determine E^, then obtain GPS time t. Also, since the scalar
product in the last form of the correction is invariant under spatial rotations, it can be evaluated in any inertial frame. This correction Atr is subtractedhom the transmitted time
tsv to obtain GPS system time t. The time t may then be applied to the user algorithm
for ephemeris (Table 20-IV in the ICD-GPS-200C), to obtain the x, y, z coordinates of each
satellite at transmission time.
Derivations of the above results can be found in references [2], [3], and [4].
36
Appendix B.
Linearization Algorithm for
Time Tagging at Receiver
We now explain one possible method of linearization of the one-way light time equa-
tions which are valid in an inertial coordinate system.
Consider four GPS satellites which at GPS times ti, ^2, ^3, ^4 send out signals from the ECIF locations ri, r2, r3, r^. We assume that these data have been expressed in the
chosen ECI reference frame. These four signals are received simultaneously at time t by a receiver at position r. The problem is to determine t and r at the receiver. The velocity of the receiver does not have to be considered. The receiver's position r at the time of
reception t will be determined by the solution of four equations which express the condition
that the speed of propagation is c. The four equations are
{r-rjf-c\t-t-,f=0; i = 1,2,3,4.
(B.l)
Such equations are clumsy to solve in general. However, if the position r and time t are known approximately, the equations can be reduced to a system of four linear equations which can be solved by standard matrix inversion techniques.
Suppose that for user position and time we write
r = r(*)+Ar; = + t t^'^ At,
{B.2)
where the quantities r^*^, t^'^^ represent guesses or trial values for the position and time, and Ar, At are assumed to be small quantities which are to be determined by solving eqs (B.l). The index i in eq (B.2) labels the zth trial value in a repeated or iterative process
of solving Eqs. (B.l).
We substitute eqs (B.2) into eqs (B.l), expand and neglect squares of the small
quantities Ar and At. Then the equations take the following form
= - (r(*) - r,) • Ar - ^{t^'^ - tj)At
- ((P{t^'^ - tjf
- (r^'' r,)^) ,
{B.3)
— for j 1, 2, 3, 4. In eqs (B.3), the quantity c(t^*^ ~^j) is the ith estimate of the pseudorange
from the receiver to the jfth satellite. Eqs (B.3) are a system of linear inhomogeneous equations which can be solved by matrix inversion. Numerical examples of the solution
are discussed in the main text. The matrix of coefficients of the unknowns Ar and At
will usually be nonsingular, unless the configuration of satellites is so unfavorable that eqs
(B.l) do not have a solution. The solutions obtained will be approximate, but can be used to obtain new trial values; the process of iteration can then be repeated.
37
Thus, suppose at stage i in the iteration, eqs (B.3) have been solved for corrections
Ar and At; then better approximations can be found by setting
^ = + r(*+i)
j.{r)
_^ ^j.;
i(^+i)
t(^)
At.
(BA)
The iteration converges rapidly, particularly if the initial trial guesses were close. The solutions will be found at some stage when the inhomogeneous terms on the right sides of eqs (B.3) become negligible. Then the solutions satisfy
(rW_r^.)2_c2(i(0_t^,)2^0; i = 1,2,3,4,
(R5)
which are equivalent to eqs (B.l).
In summary the computation scheme proceeds as follows: Step 1. Choose approximate values for user position and time. Step 2. Solve eqs (B.3) to obtain corrections Ar and At for user position
and time. Step 3. Test whether the corrections are sufficiently small that computa-
tion can be halted; if not, combine the corrections obtained in Step 2 with the
approximate values of position to obtain a new approximate position. Then go
back to Step 2.
38
Appendix C.
Linearization Algorithm for
Time Tagging at Transmitters
When the measurements are time tagged at the transmitters, then the measurements
at the receiver will occur at unequal times. This entails a different method for linearization
of the propagation delay equations than that discussed in Appendix B.
Suppose that we decide to time tag the signals from four GPS satellite transmitters at the common GPS system time tc- Let the arrival times of these signals on the receiver
clock be tjij, and let the positions of the sateUites at time tc from which these signals
were transmitted be r^, with j = 1, 2, 3, 4. These positions are derived from the navigation messages; they will be expressed in the ECEF frame at the instant tc- Therefore it is highly advantageous to work with an ECI reference frame which coincides with the ECEF
frame as though it were frozen at tc- Then no rotations will be necessary to bring the
— satellite positions into a common ECI frame they are already expressed in the ECIF
defined at tc- If we solve the propagation delay equations for the receiver position at tc
we have the receiver position in this same ECIF. Thus time tagging at the transmitters
.has the great advantage that no rotations are needed.
In general the signal propagation times from satellites to receiver will not be equal
they can vary roughly from 67 to 86 ms for a receiver on earth's surface. This means that
it will be necessary to have an estimate of the receiver velocity at the time tc in order that
the different receiver positions at the different signal arrival times can be accounted for.
We We may also need the receiver's acceleration.
assume these are available, to sufficient
accuracy, from previous position solutions or from a filtering algorithm.
We will illustrate this here by assuming the receiver position is expressible as a Taylor
series
r/?(t)-rc + vc(i-ic) + -,
(C.l)
where re and vc are the receiver position and velocity in the chosen ECIF, at time tc- An
additional acceleration term in this expansion might be needed for a receiver in a highly
dynamic trajectory. We assume here that vc is known but r^ is unknown.
The measured arrival times tjij of the signals on the receiver clock will in general not
be true GPS system times because of a possible bias be on the receiver clock. Thus the GPS system times of arrival will be
tj = tRj + be.
(C.2)
and as part of the data analysis, the bias will be found. The receiver positions at times tj
will therefore be
mitj) = TRj =rc + ycit'Rj +bc- tc)
{C.2)
39
In this Appendix we do not discuss code boundary measurements and corrections. This
We important topic is discussed in detail in Sect. 3.
simply assume that the appropriate
places in the code have been identified by the receiver.
The four propagation delay equations are then
(VRj -Tjf ^ C^itRj +bc -tcf
(C.4)
or
(re + y^citRj +bc- tc) - Yjf = c^{tRj + bc- tcf .
(C.5)
The unknown position vc and bias be may be found from these four equations cis follows. As in Appendix B, we assume we can write the unknown quantities in terms of good
estimates, plus small corrections. Thus we write
re
c + Ar, be = b^fi + Ai
(C.6)
where the quantities Yq\ b^ represent trial estimates for the position vector and clock bias, and Ar, At are small quantities. The index (i) in eq (C6) labels the i*'* trial value
in a repeated or iterative process of solving eqs (C.5).
We substitute {C.Q) into (C.5), expand and neglect squares of small quantities Ar
and At. Then the equations reduce to
R{^) Ar-c' ^(.) _ ^c R;
At = 1
R (')
T.
-
M)
(C.7)
where
Tf^ = tRj + 6^' - tc ,
(C.8)
and
Rf = r^;) + ycT^;^
(C.9)
This system of equations is of the same form as that discussed in Appendix B and can be
solved by iteration in a similar manner as that discussed at the end of Appendix B. The
main difference from eq (B.3) is that the velocity estimate vc appears in eq (C.7) in three
places:
both on the left and the right
sides in
the definition of R^(i) ,
and in the coefficient
of At on the left side.
Thus the iteration scheme proceeds as follows.
Step 1. Choose tc; estimate vq in the ECIF. This will be a combination of
velocity relative to the ground, and velocity of the ground relative to the chosen ECIF, due to earth rotation.
40
Step 2. Choose approximate values for the user position re and clock bias he. Compute ¥if and T^/K
Step 3. Solve eqs (C7) to obtain corrections Ar and At for user position
and clock bias. Step 4. Test whether the corrections are sufficiently small that computa-
tion can be halted; if not combine the corrections obtained in Step 3 with the
approximate values of position and bias, to obtain a new approximate position and bias.
Step 5. Recompute R^*^ and T-*^ and return to Step 3.
41
Appendix D.
Equivalence of Integrated Doppler
and One-Way Light Time
In this Appendix we show the complete equivalence of the one-way light time mea-
surement to integrated Doppler measurements. Neglecting gravitational path bending and gravitational time delay is well justified;
electromagnetic signals travel with speed c in straight lines in the ECI reference frame.
N The direction of propagation may then be described by a constant unit vector along the
path from transmitter to receiver. Let the coordinate time of transmission of a signal be denoted by tT and the coordi-
nate time of reception be denoted by tji. The positions of the transmission and reception events in ECI coordinates are denoted by rT{tT) and rR{tR). Also, the velocities of the
V transmitter and receiver at the transmission and reception epochs are denoted by and v,
respectively; this notation is introduced in eqs (1-2) where the Doppler effect was stated. In this Appendix we derive the Doppler formula including gravitational frequency shifts.
The one-way propagation of a signal from transmitter to receiver gives
K tR = + tT + -IrnitR) - ftI^t)! ,
{D.l)
K where represents a possible systematic error or bias in the coordinate time of the receiver
clock. The term \rji{tfi) — rT{tT)\/c is the propagation delay in the equation, which must
be accounted for in any use of GPS signals for navigation or time transfer. We show here
that if a receiver properly accounts for this term, then it has automatically accounted for
the relativistic Doppler effect, integrated over time.
Let there be a second signal sent from transmitter to receiver after one period of
oscillation of the oscillator in the transmitter. Let the times of transmission and reception
of this second signal be tT + dtx and tn -\- dtn. The frequencies will be very high, so the
K small differentials may be calculated by taking differentials of eq (D.l). The term in
drops out, and
— dtR = dtT+ --. 7-—
-—- -{drR-drT)
,
c\rR{tR) -rritTn
{D.2)
where dvR and drx are the changes in positions of the receiver and transmitter during the
N time intervals dtR and dix- But the unit vector is exactly
\rR{tR) -rT{tT)\
and during the small time intervals dtR, dtx we have
dvR = \dtR, dvT = VdtT .
42
{DA)
Therefore
dtR = dtr + -N • {\dtR - VdtT) •
(D.5)
Rearranging gives
— —j /
,
dtR ( 1
N-v\
j
=
,
dtT
/
1
(
N-V\
.
{D.6)
Next we relate the coordinate time intervals dtR, dtT to the proper frequencies of
received signal and transmitted signal. This part of the calculation is only carried to terms
of order c~^ . Let $(r) be the Newtonian gravitational potential at position r in ECI
coordinates. Let
A$ = $-$o,
(^-7)
where the constant $o is the effective gravitational potential on the rotating geoid, in-
cluding the centripetal contribution arising from earth's spin. Then the proper time dr
that elapses on an atomic clock as it moves through the position increment dr during the
coordinate time increment dt is given approximately according to general relativity by [2,3]
^ c^dT^ =[l + t^\c^dt^- {dvf = h +
i^^^ -
) c^dt^ .
{D.8)
This may be solved for the coordinate time increment dt in terms of the proper time:
— dr
dr
dt =
,
v/(l
+
2A$/c2-(drM)2/c2)
~
l+
^-liJrLr-MJliTlTT
_ .
.
{D.9)
where the square root has been expanded using the first term in a binomial expansion,
y/l + x/c^ ~ 1 + x/{2c^). This may be applied to the coordinate time intervals dtR and
dtx between receptions and transmissions of the two successive signals. Accurate to terms
of order 1/c^,
dtR^
rx7-T
T-
(D.IO)
dtT =
dTT T^n-A
^ "•"
c2
T-
2 c2
We substitute these results into eq (D.6) and obtain
(^11)
^) dra (1 -
. A^(rfl) _ IyI
^ "•"
C2
2 C2
^) drr (l -
_ A^(rT)
1
I
1 V^
^ '^
C^
2 C2
{D.12)
The last step is to relate the proper time intervals to the proper frequencies. Using
F and / for the proper transmitted and received frequencies, respectively, we find
1
.
dTT
f= 1
dTR
{D.13)
43
.
And substitution into eq (D.12) gives the final relation between proper frequencies:
1_N^ / (1 + A$(ri?)/c2 - v2/2c2) - F (1 + A$(rT)/c2 - Y'^ I2c^)
1_N:X
c
(^-14)
Upon neglecting the gravitational frequency shifts, this form agrees with eq (1) in the main
text to the required order of approximation. Several observations about the result in eq (D.14) are appropriate. First, all quanti-
ties, except the proper frequencies, are measured in ECI coordinates. Second, there are no
terms of the form v • V/c^. Third, to obtain the ratio f I F or F// correct to order 1/c^, we
N N must take care to expand the aberration factors (1 — • \/c^)~^ and (1 — • V/c^)~^ to
the required order. To illustrate this last point, let us calculate the ratio F//. Expanding
eq (D.14) to second order gives
P/,
^(rH)-^(rT)
,
,
v2
V2
N- v-V N-vN-V // N-v^x^2
+
^
+'
(^-15)
^
^
Conservation of coordinate frequency. Consider the special case when both the transmitter and the receiver are at rest in the ECI reference frame. Then eq (D.6) gives
dtji = dtT
This means that the coordinate time between reception of successive wavefronts is the same as the coordinate time between the emission of successive wavefronts. The coordinate
frequency is the reciprocal of this time, so this result states that for observers at rest in the
ECI reference frame, coordinate frequency is conserved. This is a well-known fact that can
be proved by separate arguments whenever the metric tensor coefficients do not depend on the time. This is the case here.
We may readily reverse the argument given above and pass from eq (D.14) back to
eq (D.l) by integration rather than differentiation. Equation (D.6) is an intermediate step in such an argument, which is obtained by combining eqs (D.IO, D.ll, and D.12) so as
to eliminate the proper time intervals drji and drT- Then eq (D.2) follows from (D.3-5). Integration then yields eq (D.l) with an unknown constant of integration.
Thus the change in the one-way light time, as used in GPS for pseudorange, is equal to
the integrated Doppler frequency shift over the interval of the change using the frequency
relation (D.13).
44
.
.
Appendix E.
Numerical Check on the First-Order Doppler Correction, Equation (16)
In this Appendix we use data provided in Example 5.1 to compare the "true" value
of Atjij from the simulation with values obtained using eq (16). For the case of satellite 1
in Example 5.1,
Atsv = -0.000 056 554 796 2 s.
Then eq (16) gives
Atm = -0.000 056 554 784 s
This estimate using first-order Doppler on the coordinate time may be compared with
the simulation which gives for the two arrival times of the position in the code train corresponding to tsv and tc the following time difference:
Atm =240.069 124 140 263 - 240.069 180 695 048 s = - 0.000 056 554 785 s
— The extremely good agreement between these numbers one calculated using the — Doppler formula and one using propagation delay equations suggests the following strat-
egy for measuring the coordinate time of arrival of the code corresponding to the chosen
measurement time tc- If we choose a time tc as some multiple of 1 ms so that it lies on a code boundary, the SV clock correction Atsvj can be computed from the navigation message. The receiver can then measure the arrival time tjij of the code boundary
tsvJ which is equal numerically to tc T (arrival of phase time = tc)- Then the Doppler
correction factor given in eq (16) can be computed by the receiver and added to tRj to
+ predict, with excellent accuracy, the arrival time tjij dtjij of the code which corresponds
to transmission of tc from the satellite. Thus only times of arrival of code boundaries would actually be measured by the receiver.
Three additional calculations based on eq (16) are given in Table E.l, for the four satellites used in Example 5.1. The simulated intervals Atsvj are given in the first column
of Table E.l. The second column lists the values of At^j obtained using eq (16). For comparison, the last column gives the "true" values of Atjij obtained from the simulation.
In all cases the first-order Doppler correction, eq (16), agrees extremely well with the
"true" values. The corrections have been incorporated into the data listed in Table 7.
45
Table E.l. Computation of first-order Doppler corrections.
= (units s)
ID #
1
2 3 4
AtsVj
-0.000 056 554 796 2 0.000 493 792 700 6 0.000 259 725 929 9 0.000 305 714 376 7
^tRj eq (16)
-0.000 056 554 784 0.000 493 792 194 0.000 259 725 401 0.000 305 713 988
AtRj
-0.000 056 554 785 0.000 493 792 194 0.000 259 725 400 0.000 305 713 988
46 U.S. GOVERNMENT PRINTING OFFICE I 999-0-773-022/40 1 3 I
NIST Technical Publications
Periodical
Journal of Research of the National Institute of Standards and Technology— Reports NIST research and development in those disciplines of the physical and engineering sciences in which the Institute is active. These include physics, chemistry, engineering, mathematics, and computer sciences. Papers cover a broad range of subjects, with major emphasis on measurement methodology and the basic technology underlying standardization. Also included from time to time are survey articles on topics
closely related to the Institute's technical and scientific programs. Issued six times a year.
Nonperiodicals
Monographs— Major contributions to the technical literature on various subjects related to the Institute's
scientific and technical activities.
Handbooks— Recommended codes of engineering and industrial practice (including safety codes)
developed in cooperation with interested industries, professional organizations, and regulatory bodies.
Special Publications— Include proceedings of conferences sponsored by NIST, NIST annual reports, and
other special publications appropriate to this grouping such as wall charts, pocket cards, and
bibliographies.
Applied Mathematics Series— Mathematical tables, manuals, and studies of special interest to physicists, engineers, chemists, biologists, mathematicians, computer programmers, and others engaged in scientific and technical work.
National Standard Reference Data Series— Provides quantitative data on the physical and chemical properties of materials, compiled from the world's literature and critically evaluated. Developed under a worldwide program coordinated by NIST under the authority of the National Standard Data Act (Public
Law 90-396). NOTE: The Journal of Physical and Chemical Reference Data (JPCRD) is published bimonthly for NIST by the American Chemical Society (ACS) and the American Institute of Physics (AIP). Subscriptions, reprints, and supplements are available from ACS, 1155 Sixteenth St., NW, Washington,
DC 20056.
Building Science Series— Disseminates technical information developed at the Institute on building materials, components, systems, and whole structures. The series presents research results, test methods, and performance criteria related to the structural and environmental functions and the durability and safety characteristics of building elements and systems.
Technical Notes— Studies or reports which are complete in themselves but restrictive in their treatment of a subject. Analogous to monographs but not so comprehensive in scope or definitive in treatment of the subject area. Often serve as a vehicle for final reports of work performed at NIST under the sponsorship of other government agencies.
Voluntary Product Standards— Developed under procedures published by the Department of Commerce in Part 10, Title 15, of the Code of Federal Regulations. The standards establish nationally recognized requirements for products, and provide all concerned interests with a basis for common understanding of the characteristics of the products. NIST administers this program in support of the efforts of private-
sector standardizing organizations.
Consumer Information Series— Practical information, based on NIST research and experience, covering
areas of interest to the consumer. Easily understandable language and illustrations provide useful background knowledge for shopping in today's technological marketplace.
Order the above NIST publications from: Superintendent of Documents, Government Printing Office,
Washington, DC 20402.
Order the following NIST publications—FIPS and NISTIRs—from the National Technical Information Service, Springfield, VA 22161.
Federal Information Processing Standards Publications (FIPS PUB)— Publications in this series
collectively constitute the Federal Information Processing Standards Register. The Register serves as the official source of information in the Federal Government regarding standards issued by NIST pursuant to
the Federal Property and Administrative Services Act of 1949 as amended, Public Law 89-306 (79 Stat. 1127), and as implemented by Executive Order 11717 (38 FR 12315, dated May 11, 1973) and Part 6 of Title 15 CFR (Code of Federal Regulations). NIST Interagency Reports (NISTIR)— A special series of interim or final reports on work performed by NIST for outside sponsors (both government and non-government). In general, initial distribution is
handled by the sponsor; public distribution is by the National Technical Information Service, Springfield,
VA 22161, in paper copy or microfiche form.
U.S. Department of Commerce
National Institute of Standards and Technology 325 Broadway Boulder, Colorado 80303-3328
Official Business Penalty for Private Use, $300