5006 ZUMBERGE ET AL.' PRECISE POINT POSITIONING OF GPS DATA
where Prxt is the true range, brxt is the phase bias or
ambiguity, Zrt is the zenith tropospheric delay, m(Orxt)
is the mapping function for elevation angle Orxt between
receiver and transmitter, and OJrx t is the phase windup
term to account for changes in the relative orientation
of the receiving and transmitting antennas [Wu et al.,
1993]. Receiver and transmitter clock corrections are
Crt and cxt, respectively. The term lYrx t accounts for
data noise in the measurement of phase to make (1)
an equality. A pseudorange measurement is similarly
modeled as
Prxt - Prxt -}- Zrtm(Orxt) q- Crt - Cxt q-T]rxt, (2)
where •rxt accounts for pseudorange data noise. Im-
plicit in Prxt are receiver coordinates and all nonclock
transmitter parameters.
Undifferenced Data
Consider data from R receivers spanning a period A;
typically we might have A = 24 hours. Let • be the
time between measurements and let f•/47r be the av-
erage probability that a satellite is in view above an
assumed elevation cutoff (• 0.25 for a 15 ø cutoff). If
there are X transmitters (X = 24 for the operational
GPS constellation), then the number of measurements
is given by
m = RX(f•/4•r)(A/6)d, (3)
where d is the number of data types. Normally, d = 2,
corresponding to ionosphere-free phase and pseudor-
ange.
The number of parameters to be estimated can be
written
n = aR + bX + c. (4)
For example, station-specific parameters might include
three Cartesian coordinates, a zenith tropospheric de-
lay parameter, a clock parameter, and one phase bias
parameter for each transmitter in view by the receiver
over the period of interest. Thus a - 5 + X in (4).
Transmitter-specific parameters might include epoch-
state position and velocity, two solar radiation parame-
ters, a Y bias parameter, and a clock parameter, giving
b = 10. In the case that transmitter parameters are
fixed, we have b = 0. Polar motion values and rates are
estimable with GPS, as is length of day, giving c = 5.
Over the period A it is essential to allow stochastic
variation of clocks because most receiver and transmit-
ter clocks look like white noise on timescales of minutes.
Temporal variation of phase biases is also necessary to
account for abrupt changes when the receiver loses lock
or slips a cycle. Stochastic variation for zenith tropo-
spheric delays and solar radiation parameters has also
been found to be effective. Because we use square root
information filter (SRIF) sequential estimation [Bier-
man, 1977; Lichten, 1990], such parameters contribute
only once to the parameter count; the above expressions
for a and b reflect this. SRIF sequential estimation is
used because it is numerically stable and allows con-
siderable flexibility for stochastic variation of parame-
ters. It is approximately a factor of 2 slower than least
squares estimation using normal equations.
The least squares estimate of n parameters with ra
measurements requires a number of arithmetic opera-
tions
B (x n2m, (5)
where the constant of proportionality depends on the
choice of estimation algorithm but is of order unity
[Bierman, 1977]. We neglect terms involving n 3 and
nm because they are small compared to n2m in this
application. Thus (3), (4), and (5) give
- +..., (6)
where the ellipses denote terms of order R 2 and lower.
The value of k is easily shown to equal (5 q- X)2ml,
where ral is the number of measurements per receiver
((3) with R - 1). In (6) we assume that the constant
of proportionality in (5) is 1.
Total processing times include three passes through
the filter module. Identification of phase-bias breaks
is performed after the first, and the third represents an
iteration, required because of nonlinearities in our mod-
eling of eclipsing satellites' yaw attitude [Bar-Sever et
al., 1996]. Total processing times also include auxiliary
modules for input/output, data cleaning, calculations
of predicted measured values and their derivatives with
respect to estimated parameters, and so on. Shown in
Figure I are actual processing times as a function of
R, as well as the theoretical filter times using (5), with
X - 24, f•/47r - 0.25, A - 30 hours, 6 - 5 min,
d- 2, a- 29, b- 10, and c- 5. From Figure 1it
is clear that somewhere in the region 50 _< R _< 100,
simultaneous analysis of data from R receivers starts to
become computationally infeasible with 40-Mfiop com-
puting devices.
Partitioning
One method to reduce the burden is to divide the
data into J groups. For simplicity we will assume that
there are J = 2 groups with ra/2 measurements in each.
Let n be the number of parameters common to both
groups divided by the total number of parameters n.
Then (1- n)n/2 parameters apply to the first group
only, and another (1 -n)n/2 apply to the second group
only. In the context of the GPS problem each data par-
tition could correspond to a distinct group of receivers;
each receiver belongs to one and only one group. The
common parameters are Earth orientation and satellite
parameters, while the group-specific parameters are the
parameters of receivers in the group.
The ral = ra/2 measurements in group I are used to
estimate nl = •n q- (1 - •)n/2 = (1 q- •)n/2 parameters,
requiring n•ml -- n2m(1 q- •)2/8 operations. The solu-
tion for the second group will require an equal number
of operations, so that together the two solutions cost
n2m(1 + n)2/4 operations.
Next, the two solutions must be combined. For
the combination one can think of n parameters be-
ing determined from nl + n2 measurements, costing