U.S. patent application number 11/506300 was filed with the patent office on 2006-12-14 for differential gps corrections using virtual stations.
Invention is credited to James E. Robbins.
Application Number | 20060282216 11/506300 |
Document ID | / |
Family ID | 22646816 |
Filed Date | 2006-12-14 |
United States Patent
Application |
20060282216 |
Kind Code |
A1 |
Robbins; James E. |
December 14, 2006 |
Differential GPS corrections using virtual stations
Abstract
Method and apparatus for providing GPS pseudorange correction
and carrier phase correction information for navigation or
surveying activities over a selected geographic region S of
arbitrary size. In a navigation mode, a virtual reference station
(VRS), positioned near a selected location L, receives differential
GPS (DGPS) correction signals, translates these signals into a
selected format, and broadcasts this DGPS information in this
format for use by a local user. In a survey mode, the VRS receives
corrected GPS information, translates this information into a
selected format and broadcasts this translated and corrected GPS
information and the VRS location, for use by a mobile station in
forming a baseline vector from the GPS mobile station to the VRS
location.
Inventors: |
Robbins; James E.; (Los
Alamitos, CA) |
Correspondence
Address: |
Bruce D. Riter
101 First Street PMB 208
Los Altos
CA
94022
US
|
Family ID: |
22646816 |
Appl. No.: |
11/506300 |
Filed: |
August 18, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11169054 |
Jun 27, 2005 |
|
|
|
11506300 |
Aug 18, 2006 |
|
|
|
10837197 |
Apr 30, 2004 |
|
|
|
11169054 |
Jun 27, 2005 |
|
|
|
09019495 |
Feb 5, 1998 |
|
|
|
10837197 |
Apr 30, 2004 |
|
|
|
08414444 |
Mar 31, 1995 |
|
|
|
09019495 |
Feb 5, 1998 |
|
|
|
08177012 |
Jan 3, 1994 |
|
|
|
08414444 |
Mar 31, 1995 |
|
|
|
Current U.S.
Class: |
701/472 |
Current CPC
Class: |
G01S 19/258 20130101;
G01C 21/28 20130101; G01S 19/43 20130101; G01C 15/00 20130101; G01S
19/41 20130101; G01S 19/071 20190801 |
Class at
Publication: |
701/214 |
International
Class: |
G01C 21/00 20060101
G01C021/00 |
Claims
1. (canceled)
2. A method of processing SATPS signals, comprising: a. Obtaining
signal information derived from SATPS signals received from at
least three satellites at three or more reference stations, b.
Obtaining ephemeris information for each of the satellites, c. For
each satellite, estimating from the signal information and from the
ephemeris information a satellite location error vector, d. For
each satellite, determining a component of range error due to
satellite location error at a selected location, and e. Making
available the component of range error for each satellite to
compensate for satellite location error when computing a position
estimate from SATPS signals received at a mobile station
location.
3. The method of claim 2, wherein determining a component of range
error comprises, for each satellite: determining a calculated range
from the selected location to the satellites; and combining the
calculated range with the satellite location error vector.
4. The method of claim 2, wherein estimating a satellite location
error vector for each of the satellites comprises: determining from
the SATPS signals a measured location of each satellite;
determining from satellite ephemeris information a calculated
location of each satellite; and, for each satellite, comparing the
measured location with the calculated location to determine the
satellite location vector.
5. The method of claim 3, wherein estimating a satellite location
error vector for each of the satellites comprises: determining from
the SATPS signals a measured location of each satellite;
determining from satellite ephemeris information a calculated
location of each satellite; and, for each satellite, comparing the
measured location with the calculated location to determine the
satellite location vector.
6. The method of claim 4, further comprising, at a mobile station
location: receiving SATPS signals from the satellites; and applying
the component of range error for each satellite to compute from the
SATPS signals received at the mobile station location a compensated
estimate of the mobile station location.
7. The method of claim 5, further comprising, at a mobile station
location: receiving SATPS signals from the satellites; and applying
the component of range error for each satellite to compute from the
SATPS signals received at the mobile station location a compensated
estimate of the mobile station location.
8. The method of claim 6, further comprising, at a mobile station
location: receiving SATPS signals from the satellites; and applying
the component of range error for each satellite to compute from the
SATPS signals received at the mobile station location a compensated
estimate of the mobile station location.
9. The method of claim 7, further comprising, at a mobile station
location: receiving SATPS signals from the satellites; and applying
the component of range error for each satellite to compute from the
SATPS signals received at the mobile station location a compensated
estimate of the mobile station location.
10. The method of claim 8, wherein the component of range error is
determined for each satellite at a central station and transmitted
to the mobile station location.
11. The method of claim 5, wherein the component of range error is
transmitted with an issue of data ephemeris label.
12. The method of claim 2, further comprising calculating for the
selected location an azimuth angle and an elevation angle for each
satellite, and making the azimuth angle and the elevation angle for
each satellite available to compensate at the mobile station
location for at least one of ionospheric delay correction and
tropospheric delay correction.
13. The method of claim 7, further comprising determining for each
satellite a pseudorange correction at the selected location by
combining the component of range error for the satellite with an
estimated clock error for the satellite and with a tropospheric
delay correction and with an ionospheric delay correction.
14. The method of claim 2, wherein the selected location
corresponds approximately to the mobile station location.
15. The method of claim 2, wherein determining a component of range
error comprises running a Kalman filter having states for satellite
clock error and for components of a satellite location error vector
for each satellite.
16. The method of claim 2, wherein making available the component
of range error for each satellite comprises synthesizing a
virtual-reference-station correction message which simulates a
correction message that would be produced by a real reference
station receiving SATPS signals at the selected location.
17. The method of claim 2, wherein the signal information is
derived from carrier phase measurements of SATPS signals received
at the reference stations, and wherein the method further
comprises: for each satellite, estimating from the signal
information a satellite velocity error.
18. The method of claim 16, wherein the signal information is
derived from carrier phase measurements of SATPS signals received
at the reference stations, and wherein the method further
comprises: for each satellite, estimating from the signal
information a satellite velocity error.
19. The method of claim 2, wherein the signal information is
derived from SATPS signals obtained at an observation time during
which at least one satellite is visible from at least three
reference stations.
20. Apparatus for processing SATPS signals, comprising a VRS
computer operative to: receive signal information derived from
SATPS signals received from at least three satellites at three or
more reference stations; receive ephemeris information for each of
the satellites; for each satellite, estimate from the signal
information and from the ephemeris information a satellite location
error vector; for each satellite, determine a component of range
error due to satellite location error at a selected location; and
make available the component of range error for each satellite to
compensate for satellite location error when computing location of
a mobile station from SATPS signals received at the mobile
station.
21. The apparatus of claim 20, further comprising a network central
processor to collect the signal information from the reference
stations and to provide the signal information to the VRS computer
in a network format.
22. The apparatus of claim 20, further comprising a transmitter
responsive to the VRS computer to transmit the component of range
error for each satellite for use by a mobile station.
23. The apparatus of claim 20, wherein the VRS computer is
operative to determine a component of range error for each
satellite by: determining a calculated range from the selected
location to the satellites; and combining the calculated range with
the satellite location error vector.
24. The apparatus of claim 20, wherein the VRS computer is
operative to estimate a satellite location error vector for each of
the satellites by: determining from the SATPS signals a measured
location of each satellite; determining from satellite ephemeris
information a calculated location of each satellite; and, for each
satellite, comparing the measured location with the calculated
location to determine the satellite location vector.
25. The apparatus of claim 23, wherein the VRS computer is
operative to estimate a satellite location error vector for each
satellites by: determining from the SATPS signals a measured
location of each satellite; determining from satellite ephemeris
information a calculated location of each satellite; and, for each
satellite, comparing the measured location with the calculated
location to determine the satellite location vector.
26. The apparatus of claim 22, further comprising a mobile station
operative to receive SATPS signals from the satellites, to receive
the component of range error for each satellite, and to apply the
component of range error for each satellite to compute from the
SATPS signals received at the mobile station location a compensated
estimate of location of the mobile station.
27. The apparatus of claim 24, further comprising a mobile station
operative to receive SATPS signals from the satellites, to receive
the component of range error for each satellite, and to apply the
component of range error for each satellite to compute from the
SATPS signals received at the mobile station location a compensated
estimate of location of the mobile station.
28. The apparatus of claim 20, wherein the VRS computer makes the
component of range error available with an issue of data ephemeris
label.
29. The apparatus of claim 20, wherein the VRS computer is further
operative to calculate for the selected location an azimuth angle
and an elevation angle for each satellite, and to make the azimuth
angle and the elevation angle for each satellite available to
compensate at the mobile station location for at least one of
ionospheric delay correction and tropospheric delay correction.
30. The apparatus of claim 20, wherein the VRS computer is
operative to determine for each satellite the pseudorange
correction at the selected location by combining the component of
range error for the satellite with an estimated clock error for the
satellite and with a tropospheric delay correction and with an
ionospheric delay correction.
31. The apparatus of claim 26, wherein the selected location
corresponds approximately to the mobile station location.
32. The apparatus of claim 20, wherein the VRS computer comprises a
Kalman filter operative to determine for each satellite a component
of range error at the selected location, the Kalman filter having
states for satellite clock error and for components of a satellite
location error vector for each satellite.
33. The apparatus of claim 20, wherein the VRS computer is
operative to make available the component of range error for each
satellite by synthesizing a virtual-reference-station correction
message which simulates a correction message that would be produced
by a real reference station receiving SATPS signals at the selected
location.
34. The apparatus of claim 20, wherein the signal information is
derived from carrier phase measurements of SATPS signals received
at the reference stations, and wherein the VRS computer is further
operative to estimate from the signal information a satellite
velocity error for each satellite.
35. The apparatus of claim 33, wherein the signal information is
derived from carrier phase measurements of SATPS signals received
at the reference stations, and wherein the VRS computer is further
operative to estimate from the signal information a satellite
velocity error for each satellite.
36. The apparatus of claim 20, wherein the signal information is
derived from SATPS signals obtained at an observation time during
which at least one satellite is visible from at least three
reference stations.
Description
FIELD OF THE INVENTION
[0001] This patent application is a continuation of application,
U.S. Ser. No. 09/019,495, filed on 5 Feb. 1998, which is a
continuation of application, U.S. Ser. No. 08/414,444, filed on 31
Mar. 1995, which is a continuation in part of application, U.S.
Ser. No. 08/177,012, filed on 3 Jan. 1994 and assigned to the
Assignee of this application. This-invention relates to a network
of Global Positioning System stations for providing code phase or
carrier phase differential corrections to enhance the accuracy of
location information over a wide area.
BACKGROUND OF THE INVENTION
[0002] Differential corrections for location information provided
by a Global Positioning System (GPS) offer the possibility of
reducing the inaccuracies in location and observation time provided
by such system from tens of meters to one meter or less and tens of
nanoseconds or less, respectively. However, differential GPS (DGPS)
corrections for determinations of location and/or time are usually
limited to a region no more than a few hundred kilometers (kin) in
diameter. For regions of larger diameter, errors due to differences
in ionospheric delay, tropospheric delay, satellite position errors
and similar phenomena accumulate and can increase the total
location error of a DGPS calculation to tens of meters or
larger.
[0003] Several workers have disclosed time distribution systems
using a master or base station and one or more subsidiary time
signal receivers. An example is U.S. Pat. No. 3,520,128, issued to
Novikov et al. An independent primary clock is connected to, and
provides exact time signals for, a plurality of secondary clocks by
radio waves. Each secondary clock receives a sequence of
uncorrected "exact" time signals and a sequence of timing marks to
correct this uncorrected time. The time signals for each secondary
clock are apparently corrected separately.
[0004] Cater, in U.S. Pat. No. 3,811,265, discloses transmission of
coded, time-indicating signals from a master clock at a central
station to one or more slave clocks, using a two-wire line and
binary-valued pulses with different time durations. A time
synchronizing pulse is periodically inserted (e.g., once per
second) on the line to correct for drift or other errors. If the
two-wire line is a standard 60-cycle power line or a television
cable, the binary-valued pulses use frequencies that lie outside
the frequency range normally used on that line, to avoid signal
interference with the standard signals transmitted over that
line.
[0005] A clock that can be synchronized by "wireless" signals is
disclosed by Gerum et al in U.S. Pat. No. 3,881,310. The clock
contains an electromagnetically operated mechanical oscillator
whose frequency 2f0 is twice the rated frequency of an alternating
current network connected to the clock. A time synchronization
module transmits a signal of frequency f1>>f0 that is
modulated by the network at 2f0 and received and demodulated by the
clock. Normally, the pulses received from the network drive the
clock and the oscillator is in a standby mode. The clock oscillator
is enabled, and the network is disconnected, when and only when the
network frequency differs by at least a predetermined amount from
the frequency 2f0 of the oscillator. The oscillator in standby mode
receives resonance energy of frequency 2f0 from the network for
maintaining the oscillations.
[0006] Chappell et al, in U.S. Pat. No. 3,941,984, discloses a
satellite-aided navigation system in which location fixes of a
mobile station are made at selected times. Between any two such
selected times, the mobile station velocity is determined using
Doppler shifts of signals received from the satellites. These
velocities, measured at intermediate times, are converted to
location coordinate increments and added to the location
coordinates given by the last location fix to provide intermediate
location coordinates between consecutive location fixes.
[0007] Cateora et al, in U.S. Pat. No. 4,014,166, disclose a
satellite-controlled digital clock system for maintaining time
synchronization. A coded message containing the present time and
satellite position is transmitted from a ground station to an
orbiting satellite and is relayed to a group of ground-based
receivers. A local oscillator aboard the satellite is phase-locked
to a precise frequency to provide the system with accurate
time-of-year information by a count of the accumulated pulses
produced by the oscillator. This count is compared with a time
count determined from the coded message received by the satellite.
After a selected number of errors are observed through such
comparisons, the on-board clock is reset to the time indicated by
the coded messages received. If transmission of the coded messages
is interrupted, the on-board oscillator continues to provide time
information that is transmitted to the ground-based receivers.
[0008] U.S. Pat. No. 4,042,923, issued to Merrick, discloses a
trilateralization method for determination of location coordinates
of a mobile station. Two stationary transceivers, each having a
known location and being spaced apart, each transmit a stream of
timed radar pulses having a unique code embedded therein, and these
two streams are received by the mobile station. The mobile station
fixes and stores its present location by determining the average
distance between itself and each of the transceivers in a
particular time interval of length approximately 1-1000 .mu.sec,
using triangulation. If the changes of the mobile station location
coordinates are not within reasonable limits, the location fix is
rejected and the last valid location fix is used.
[0009] An antenna space diversity system for TDMA communication
with a satellite is disclosed by U.S. Pat. No. 4,218,654, issued to
Ogawa et al. Differences of temporal lengths of paths from the
satellite through each antenna to a ground-based signal processor
station are determined by measurement of times required for receipt
of pre-transmission bursts sent in the respective allocated time
slots through two different antennas, in a round trip from base
station to satellite to base station. Variable time delays are then
inserted in the base station signal processing circuits to
compensate for the temporal length differences for the different
signal paths. These time delays are changed as the satellite
position changes relative to each of the antennas.
[0010] U.S. Pat. No. 4,287,597, issued to Paynter et al, discloses
receipt of coded time and date signal from two geosynchronous
satellites, which signals are then converted into local date and
time and displayed. The frequency spectrum is scanned by an antenna
to identify and receive the satellite signals. Temporal length
differences for signal paths from each satellite through a
receiving antenna to a signal processing base station are
determined, to provide compensation at the base station for these
differences. Time information is provided by a satellite every 0.5
seconds, and this information is corrected every 30 seconds.
Signals from either or both satellites are used to provide the time
and date information, in normal local time and/or daylight savings
local time.
[0011] Jueneman discloses an open loop TDMA communications system
for spacecraft in U.S. Pat. No. 4,292,683. A spacecraft, such as a
satellite, in quasi-geosynchronous orbit carries a transponder that
relays a coded signal from a ground-based signal-transmitting
station to a plurality of spaced apart, ground-based receivers.
This coded signal includes a time index and an index indicating the
spacecraft's present position. The time index is adjusted by each
receiver to compensate for the changing position of the spacecraft
through which the coded signal is relayed. The system is open loop
and requires no feedback from the receivers to the base
station.
[0012] Nard et al, in U.S. Pat. No. 4,334,314, disclose a system
for radio wave transmission of time-referenced signals between two
ground-based stations, with compensation for multi-path
transmission timing errors. Station no. 1 has a single antenna.
Station no. 2 has two antennas, spaced apart by a selected
distance, to allow measurement of and compensation for multi-path
transmission path length differences. A signal processor located at
the receiver antenna combines a plurality of timing marks, received
from the transmitting antenna along multiple paths; into a single
timing mark that compensates for the multiple path length
differences. This arrangement allegedly allows station-to-station
transmission over distances as large as ten times the trans-horizon
or direct sighting distance (which is approximately proportional to
the square root of the product of antenna height and Earth's
radius).
[0013] U.S. Pat. No. 4,337,463, issued to Vangen, discloses time
synchronization between a master station and a remote station in
which a coded message, transmitted by the master station, is
received by and activates a counter in, the remote station. The
remote station adds to the time value contained in the coded
message the length of the message as determined by the counter and
replaces the old time value by this sum. In this manner, the master
and remote stations can be time synchronized.
[0014] Method and apparatus for determining the elapsed time
between an initiating event and some other event are disclosed by
U.S. Pat. No. 4,449,830, issued to Bulgier. A first timer and a
second time mark the times of occurrence, respectively, of an
initiating event and a subsequent event that depends upon
occurrence of the initiating event. The two timers are initially
connected and synchronized, then disconnected before the initiating
event occurs. The timers are then reconnected after both events
have occurred, to allow determination of the elapsed time between
occurrence of the two events.
[0015] In U.S. Pat. No. 4,482,255, Gygax et al disclose a timepiece
for displaying both the present time and the present orientation of
the timepiece relative to the local Earth's magnetic field. The
timepiece displays time, date, and the direction and angle through
which the timepiece must be rotated in a tangent plane to align a
fixed axis on the timepiece with the local field. The local
magnetic field direction can be determined by two (static) Hall
effect sensors placed at right angles to each other.
[0016] Distance ranging and time synchronization between a pair of
satellites is disclosed by Schwartz in U.S. Pat. No. 4,494,211.
Each satellite transmits a timing signal and receives a timing
signal from the other satellite. The difference in time, including
compensation for signal processing delay on a satellite, between
transmission and receipt of the signals is transmitted by each
satellite to the other satellite and is used to establish time
synchronization and to determine the distance between the two
satellites. This exchange of signals would be repeated at selected
time intervals to maintain synchronization, where the satellites
are moving relative to each other. No communications link to a
third entity is required, and only one of the satellite clocks need
be adjusted to establish and maintain time synchronization.
[0017] A portable timekeeping device that provides reminders
(alarms) for taking certain actions at naturally occurring times is
disclosed in U.S. Pat. No. 4,512,667, issued to Doulton et al.
Means are provided for entering information on the present
geographical location, and the device computes the appropriate
times for taking the actions based upon the location and local time
of day and year. The intended application here is for an alarm
indicating the appropriate times after sunrise and before sunset
for Moslem prayers. The present geographical location is entered
and used together with the present time and present time of year
(computed using a timekeeping device plus information stored in a
ROM) to determine the appropriate times of day. A visually or
audibly perceptible alarm is provided at each appropriate time of
the day.
[0018] In U.S. Pat. No. 4,543,657, Wilkinson discloses a system for
synchronizing two clocks by transmission of a single pseudo-random
number (PRN) that is an unbroken stream of bits by a master clock.
At any point in time, the accumulated partial bit stream represents
a unique time of day. One bit of the number is transmitted every 10
msec, and the bit stream recycles every 24 hours. The total coded
signal for 24 hours is thus 8,640,000 bits long, and the time
resolution is 5 msec. The partial bit stream is received and
decoded by a receiver and applied to synchronize a remote clock
associated with this receiver. In order to compensate for signal
propagation time between the clocks, it appears that the distance
between-the master and remote clocks would have to be known and
fixed. An earlier U.S. Pat. No. 3,852,534, issued to Tilk,
discloses a method for maintaining synchronization between two
pseudorandom number generators at spaced apart locations, using a
common time generating source. The times for signal propagation
between the two generators may vary.
[0019] Plangger et ai, in U.S. Pat. No. 4,582,434, disclose
transmission and receipt of a continuously corrected single
sequence of timing signals. A microprocessor at the receiver
periodically compares these timing signals with on-board timing
signals generated by a local clock. A varactor diode in a crystal
oscillator circuit is adjusted to adjust the microprocessor's
operating frequency to minimize any error between the two timing
signal sequences. Timing signal processing delay time is
compensated for in a receiver circuit. The frequency for
microprocessor operation is continuously corrected. If the
transmitted timing signals are too weak or do not arrive, the
on-board timing signals control the microprocessor until the
transmitted timing signals are received in sufficient strength
again.
[0020] A remote time calibration system using a satellite is
disclosed in U.S. Pat. No. 4,607,257, issued to Noguchi. A base
station provides a referenced system of absolute timing signals and
transmits these to a satellite that orbits the Earth. The satellite
then calibrates and periodically adjusts its internally generated
time and transmits observed data plus the corresponding adjusted
satellite time to one or more data receiving stations on the Earth
that are distinct from the base station. Time calibration
optionally compensates for signal propagation time delay from base
station to satellite and allows continuous transmission of data
from satellite to the data receiving station(s). Several time
difference indicia are computed here.
[0021] Olsen et al, in U.S. Pat. No. 4,814,711, disclose a real
time geophysical survey system including four or more GPS
satellites, a fixed base station on the ground, and one or more GPS
data acquisition vehicles that communicate with the central station
and that receive GPS signals from the satellites. Each vehicle
determines its approximate horizontal location, and the central
station transmits signals to guide each vehicle along a selected
pattern for purposes of collecting survey data. Periodically, the
survey data are transmitted by each vehicle to the central station
for analysis, display and/or storage, using time-synchronized
signals.
[0022] A system for obtaining orbital data from GPS satellites is
disclosed by Counselman, in U.S. Pat. No. 4,912,475. Satellite
signals are received by three or more spaced apart, fixed ground
stations that form a network of baselines between these stations.
The ratio of maximum baseline length to minimum baseline length is
much greater than 1. From the satellite signals received at each
pair of base stations, certain double-differenced carrier phase
measurements are formed and used to determine the location of a
mobile GPS station in the vicinity of the base stations.
[0023] U.S. Pat. No. 5,001,730, issued to Franaszek et al,
discloses a clock synchronization algorithm useful for
address-independent networks, such as token buses and token rings.
The fastest clock in the network is identified as the master clock
for subsequent synchronization. Each node with a clock broadcasts
its time when a counter reaches a selected number. If, before a
node broadcasts its own time, that node receives a time from a
second node that is higher than its own time, the first node
concludes that the second node has a faster clock and does not
broadcast its own time. After a few cycles of time counting and
broadcasting, only the node with the fastest clock remains.
[0024] U.S. Pat. No. 5,099,245, issued to Sagey, discloses an
airborne vehicle location system that uses one or more satellites
and three or more spaced apart base stations with fixed, known
locations on the ground to determine the location of the vehicle.
Signals are transmitted by the vehicle to the base stations, to the
satellite, and relayed by the satellite (acting as a "bent pipe"
transponder) to a separate central station. The distance of each
base station from the airborne vehicle is determined by relative
time delays for arrival of these signals at the central station,
and these distances determine the location of the airborne
vehicle.
[0025] Morales-Garza discloses a wide area, real time television
audience response system, using satellite signal relaying, in U.S.
Pat. Nos. 5,101,267 and 5,223,923. Local area stations collect the
audience responses from their respective local areas. Each local
area station transmits its collected responses in one or more
assigned, non-overlapping time slots to a satellite that relays
this information to a central data center. The responses are
transmitted as pulses of a single frequency so that the
transmission channel bandwidths are kept relatively small.
[0026] A system for determining the location of a mobile station,
using two or more signal relay satellites with known locations and
a base station on the ground is disclosed by Toriyama, in U.S. Pat.
No. 5,111,209. The mobile station transmits an initiating signal to
a first satellite, and this signal is relayed to the base station.
The signal is than transmitted simultaneously to the first and
second satellites, which relay this signal to the mobile station.
The location of the mobile station is determined by the relative
times at which these relayed signals from the two satellites are
received by the mobile station.
[0027] A method of synchronizing time in a wide area network
without using a master or global clock is disclosed by Flammer in
U.S. Pat. No. 5,130,987. A frequency hopping band plan, known by
every node, is implemented, and each network node establishes a
time offset for each hop band for every other node. The known hop
timing offsets for each node are used to synchronize the times for
all nodes. Frequency hopping is implemented, in part, by assignment
of time slots to collections of hop bands.
[0028] In U.S. Pat. No. 5,138,631, Taylor discloses a satellite
communication network having a central station and a plurality of
subsidiary stations, all ground-based. An inbound message from a
satellite carries packets encoded in CDMA code, indicating the
intended destination. The central station receives these messages
and transmits the messages to the appropriate subsidiary stations,
using TDMA coding, at a faster bit rate. The central station may
serve several groups of subsidiary stations, each using a different
CDMA code.
[0029] Spradley et al, in U.S. Pat. No. 5,155,490, disclose a
geodetic survey system using four or more GPS satellites and three
or more GPS base stations with fixed, known locations on the
ground. Clock drift and clock offset for a clock in each of the
network of base stations is determined and compensated for by time
averaging. A mobile station receives location-determining signals
from each of the network of base stations and thereby determines
its location, by post-processing or by activities that approximate
real time processing.
[0030] Penrod, in U.S. Pat. No. 5,220,333, discloses a method for
synchronizing a given clock time to Universal Coordinated Time
(UTC) from a sequence of LORAN-C signal transmissions. The time
must be initially accurate to within 100 msec of UTC, and the
location of the clock must be initially known to within 5 miles.
The system then resynchronizes this time to UTC, accurate to within
a few msec, by identifying the correct LORAN-C time cycle and
compensating approximately for receiver time delay and signal
propagation time delay. Use of UTC to provide accurate time in a
GPS environment is disclosed by Desai et al in U.S. Pat. No.
5,319,374.
[0031] A vehicle tracking with a GPS antenna and receiver and
transmitter mounted on the vehicle is disclosed in U.S. Pat. No.
5,225,842, issued to Brown et al. The GPS receiver measures the
pseudoranges for the incoming signals and transmits this
information, unprocessed, to a selected workstation for processing
and determination of any differential GPS corrections to be applied
to the vehicle present location. The vehicle is assumed to travel
on a two-dimensional surface whose geometrical description is known
by the workstation.
[0032] U.S. Pat. No. 5,235,633, issued to Dennison et al, discloses
provision of a cellular telephone network in which each cellphone
unit has a GPS signal antenna and receiver attached. The cellphone
unit periodically advises a Mobile Telephone Switching Office of
the unit's present location. When a particular cellphone unit is to
be reached by an incoming phone call, the MTSO uses the
last-reported cellphone location to determine which cellular region
to use for completing the phone call link.
[0033] A multiple unit tracking system that uses Loran for
monitoring the location of a plurality of mobile stations, such as
ships at sea or aircraft, is disclosed by Stanifer et al in U.S.
Pat. No. 5,243,530. Each mobile station carries a Loran-based
location determination receiver, determines its own location, and
periodically transmits this location information to a base station
using relay stations as intermediaries by packet radio
techniques.
[0034] In U.S. Pat. No. 5,245,634, Averbuch discloses a backup time
synchronization system that can be used if GPS-based time
synchronization is lost in a network. The network includes a
central station and a plurality of remote stations whose clock
times are synchronized by the back-up system, using COMA cellular
radiotelephone links. The communication links use TI, JTI, CEPO or
microwave, with the uncontrolled time delays in a link being
approximately determined by an algorithm that accounts for link
distance, time delay for signal relay and processing, and receiver
temperature effects.
[0035] Use of a network of seismic sensors, each positioned using a
GPS signal receiver/processor, to receive and hold signal
information generated in a controlled seismic experiment, is
disclosed by Rialan et al in U.S. Pat. No. 5,276,655. Periodically,
such as once per day, the sensor information is downloaded to a
central station.
[0036] Mueller et al disclose a networked differential GPS system
in U.S. Pat. No. 5,323,322. An absolute pseudorange correction
(PRC) is defined for each satellite as a function of the observer's
location, and iso-PRC contours are determined for each such
satellite. PRC values are interpolated for locations between two
adjacent iso-PRC curves.
[0037] In U.S. Pat. No. 5,363,447, Dennis discloses a navigation
system in which GPS signals are received at each of a network of
GPS reference stations with known locations. GPS correction
information is generated, and this correction information is
broadcast for use by a remote GPS user, for correction of the
remote user's computed location.
[0038] A GPS-based tracking system for radiosondes, sonobuoys and
the like is disclosed by Brown et al in U.S. Pat. No. 5,379,224.
Samples of incoming GPS signals are received at a sensor and placed
in a data buffer. This sampled data is interleaved with other data
and sent over a data telemetry link to a processing workstation, at
a rate lower than the rate at which the GPS signals are received.
These data are processed at the workstation, and differential
corrections are periodically provided by the workstation for the
calculated location and velocity of the sensor.
[0039] Fernandes et al, in U.S. Pat. No. 5,379,320, disclose a
satellite communications network including a hub terminal and
several mobile terminals, wherein a GPS signal receiver/processor
located on each mobile terminal provides time and frequency
references for rapid signal acquisition. The remote terminals
transmit data individually or in blocks to the hub terminal, using
orthogonally-coded signals.
[0040] A GPS-based portable locating system is disclosed in U.S.
Pat. No. 5,389,934, issued to Kass. One or more mobile portable
units each carries a GPS signal antenna and receiver to determine
the unit's present location, a voice synthesizer to convert this
location information to voice form, and a cellular telephone to
transmit the present location information in voice form to a
selected data collection entity.
[0041] U.S. Pat. No. 5,390,124, issued to Kyrtsos discloses a
system for measuring pseudoranges from GPS signals received,
computing nonlinear errors in the pseudorange measurements, and
removing these errors in subsequent computations of present
location of a mobile GPS user. The GPS signals received and used
may be uncorrected or differentially corrected.
[0042] The approaches disclosed in these references generally: (1)
assume that the location of each timing signal recipient is known
precisely, or (2) usually provide approximate timing signals and/or
location signals that are, at best, accurate to within tens of
microseconds or (equivalently) tens of kilometers, or (3) do not
provide real time signals with high accuracy for synchronization or
location determination. What is needed is a system that provides
real time signals for timing synchronization and/or location
determination that have associated inaccuracies of at most a few
tenths of a nanosecond (or 1-3 cm, equivalently). Preferably, the
system should allow a timing signal or location signal recipient to
use the invention anywhere in the world and should allow rapid
determination of corrections of measurements taken from signals
received from satellites or ground-based sources. Preferably, the
system should allow quantitative determination of the contributions
of different error sources to the pseudorange corrections.
Preferably, the system should be able to support several formats
for reporting location and velocity parameters and should not
require use of data links that require high signal update rates
(e.g., every ten milliseconds). Preferably, the system should allow
use of carrier phase information to enhance the accuracy of
velocity coordinate information.
SUMMARY OF THE INVENTION
[0043] The invention meets this need by providing three or more
fixed Global Positioning System (GPS) signal antennas and
associated receiver/processors, referred to as GPS reference
stations, with known locations, that receive and analyze GPS
signals from each of three or more GPS satellites, using certain
approximations to extend the pseudorange and/or pseudorange rate
corrections to a much larger region S. The GPS may be replaced by a
Global Orbiting Navigational Satellite System (GLONASS) or any
similar satellite-based Satellite Positioning System (SATPS) for
location determination; these are discussed in detail below. These
GPS reference stations may be positioned at or near the boundary of
S and/or may be positioned throughout the interior of S as well.
Each reference station determines the pseudorange corrections for
GPS at its location and transmits this information as one or more
packets in RTCM SC-104 format to a central station. Alternatively,
the reference station does at most part of the signal processing
and transmits the partly processed or unprocessed pseudorange,
pseudorange rate and/or carrier phase information in packets to the
central station for subsequent signal processing. Each packet from
a reference station includes a station id. and includes a parameter
indicating the present status of that reference station. This may
include RTCM messages of types 1, 2, 3, 5, 6, 7, 9, 16 and/or
proprietary formats that are part of new message type 59.
[0044] The central station concatenates the packets into a binary
stream that is fed to a Trimble Net 4000 or equivalent GPS signal
processor to determine GPS pseudorange and/or pseudorange rate
and/or carrier phase correction parameters or information from
which location and/or velocity coordinates can be calculated with
no more than a specified inaccuracy over the entire region S, with
maximum inaccuracies that can be reduced in size by use of more
complex approximations. The central station then broadcasts a GPS
pseudorange and/or carrier phase correction message that can be
received and used by all mobile GPS stations within the region S,
which may include the entire Earth if desired.
[0045] The central station broadcasts a correction message that
would be provided by a reference GPS station, called a virtual
reference station (VRS) here, located at a selected site, or a
plurality of such selected sites, in the region S. The location
chosen for the VRS need not be, but may be, the site of an actual
or physical reference station. Any mobile SATPS station that is
near a VRS location can use this correction message broadcast by
the central station as if the message were broadcast by a reference
GPS station located at the virtual station site. This VRS will
normally provide its correction signals in an RTCM format and in
any other appropriate format that is requested. The central
station, acting as if it is a VRS, can translate these correction
message into another format that can be used more conveniently by a
surveyor or navigator operating near the VRS site but need not
receive and process GPS signals from the satellites. The invention
supports static surveying, kinematic surveying and navigation
activities over a region as large as the entire Earth.
BRIEF DESCRIPTION OF THE DRAWINGS
[0046] FIG. 1 illustrates an environment in which the invention is
used.
[0047] FIGS. 2A, 2B and 4 illustrate use of a virtual reference
station in a dedicated mode, an ad hoc (possible mobile) mode and a
survey mode.
[0048] FIG. 3 illustrates vectors used to analyze the
user-satellite range error in a navigation mode.
DETAILED DESCRIPTION OF BEST MODES OF THE INVENTION
[0049] FIG. 1 illustrates use of the invention to cover a large
region S, which may extend over the entire Earth or may have a
smaller diameter. Each of three or more GPS reference stations 11A,
11B, 11C, with GPS signal antennas 13A, 13B, 13C, and
receiver/processors 14A, 14B, 14C receives GPS signals, including
pseudorange information, from several common-view GPS satellites
15A, 15B, 15C, 15D. A common-view" satellite is visible from the
sites of at least three reference stations at the same observation
times. The location coordinates of each of the reference stations
11A, etc. is known with high accuracy, either by use of a surveyor
by some other means. As each reference station 11A, 11B, 11C,
receives the GPS signals from each of the GPS satellites 15A, 15B,
15C, the GPS-determined pseudorange for the GPS antenna for that
station and that satellite is compared with a calculated
pseudorange for that station and that satellite, and GPS
pseudorange corrections PRC(t;t0;m;n) are generated corresponding
to each GPS satellite (m=1, 2, 3, 4, . . . ) at each reference
station (n=1, 2, 3, . . . ).
[0050] Pseudorange is a time offset, or equivalent spatial offset,
that must be applied to a GPS signal receiver's clock to create a
time-based P-code or C/A-code to achieve maximum cross-correlation
with a corresponding code received from a GPS satellite being
tracked. The calculated pseudorange PR(t;t0;m;n) and RTCM-formatted
pseudorange correction PRC(t;t0;m;n), valid for times t>t0 and
near t=t0, for a given GPS satellite (m) and a given GPS signal
receiver/processor (location n) are described by the relations
PR(t;t0;m;n)=R.sub.us(t;t0;m;n)+O.sub.u(t;t0;n)
O.sub.s(t;t0;m)+.delta.I(t;t0;m;n)
+.delta.T(t;t0;m;n)+.delta.e(t;t0;m;n), (1)
PRC(t;t0;m;n)=R.sub.us*(t;t0;m;n)-O.sub.s*(t;t0;m)-PR.sub.meas(t;t0;m;n),
(2)
R.sub.us*(t;t0;m;n)=R.sub.us*(t;t0;m;n)+.epsilon.R.sub.us(t;t0;m;n)-
, (3) O.sub.S*(t;t0;m)=O.sub.S*(t;t0;m)+.epsilon.O.sub.S*(t;t0;m),
(4)
PR.sub.meas(t;t0;m;n)=PR.sub.meas(t;t0;m;n)+.epsilon.PR.sub.meas(t;t0;m;n-
), (5) Here: R.sub.us* is the calculated range from the reference
station (n) to the satellite (m); R.sub.u and .epsilon.R.sub.us are
the true range and error in calculated range, respectively;
O.sub.S* is the calculated offset of the satellite clock with
respect to GPS time (multiplied by the velocity of light in vacuum,
c); O.sub.S and .epsilon.O.sub.S are the true clock offset and
error in calculated clock offset, respectively; O.sub.u is the
offset of the GPS receiver/processor clock with respect to GPS
time; PR.sub.meas and .epsilon.PR.sub.meas are the measured
pseudorange and error in measured pseudorange, respectively;
.delta.I(t;t0;m;n) is the signal propagation time delay with
respect to free space propagation contributed by the ionosphere;
.delta.T(t;t0;m;n) is the signal propagation time delay with
respect to free space propagation contributed by the troposphere;
and &e represents residual errors, including multipath, in the
pseudorange. Each of the quantities in Eqs. (1)-(5) will vary with
time t and will depend upon the GPS receiver/processor chosen (n;
often referred to as simply a GPS "receiver" for convenience)
and/or choice of GPS satellite (m).
[0051] Carrier phase is the time integral of a frequency offset ox
(multiplied by the GPS carrier signal wavelength .lamda.) that is
applied to the GPS receiver's replica GPS signal to maintain phase
lock with the carrier of the signal received from a GPS satellite
that is being tracked. The propagation velocity c of
electromagnetic waves in a vacuum can be used to convert between
times and equivalent distances in Eqs. (1)-(5).
[0052] Equations (2)-(5) can be combined to yield the relation PRC
.function. ( t ; t .times. .times. 0 ; m ; n ) = .times. R us * ( t
; t .times. .times. 0 ; m ; n ) - .0. s * ( t ; t .times. .times. 0
; m ) - .times. PR meas .function. ( t ; t .times. .times. 0 ; m ;
n ) = .times. .times. .times. R us .function. ( t ; t .times.
.times. 0 ; m ; n ) - .0. S .function. ( t ; t .times. .times. 0 ;
m ) - .times. .0. U .function. ( t ; t .times. .times. 0 ; n ) -
.delta. .times. .times. I .function. ( t ; t .times. .times. 0 ; m
; n ) - .times. .delta. .times. .times. T .function. ( t ; t
.times. .times. 0 ; m ; n ) - .delta. .times. .times. e .function.
( t ; t .times. .times. 0 ; m ; n ) .times. ePR .times. .times. PR
meas .function. ( t ; t .times. .times. 0 ; m ; n ) . ( 6 )
##EQU1## In a GPS network, the terms O.sub.u and be can be combined
in a common offset Onet' of network time with respect to GPS time.
The pseudorange correction PRC, as determined by a network, can be
written as
PRC(t;t0;m;n)=.epsilon.R.sub.us(t;t0;m;n)-.epsilon.O.sub.S'(t;t0;m)
Onet'(t;t0;m;n)-.delta.I'(t;t0;m;n)-.delta.T(t;t0;m;n), (7) where a
prime on a variable on the right hand side indicates that the
variable is to be determined with reference to a selected network
reference point rather than to a user location.
[0053] Selective Availability (SA) induces errors in range and
range rate calculations by dithering the clock that controls the
carrier frequency and the code broadcast by a satellite, and by
falsifying clock and ephemeris information being broadcast to allow
calculation of the location and clock error of a satellite. The
dither effects can change significantly in a few seconds, but the
ephemeris information changes only with hourly page changes. Clock
dither and errors in the broadcast clock parameters affect all
observers equally. Compensation for these terms can be combined
into a single range term and a single range rate term for each
satellite. These compensation terms can be broadcast to all
observers at a rate of approximately once per second. Errors in the
ephemeris produce slowly varying errors in calculated range.
Compensation for these errors can be transmitted effectively as
offsets for the calculated location of the satellite.
[0054] When the satellite clock is dithered by activation of
Selective Availability, the term .epsilon.O.sub.S' varies much more
rapidly with time than do the other variables on the right hand
side of Eq. (7). Because of the presence of this term, an RTCM Type
I message must be broadcast frequently, (for example, once per
second or more often) so that the pseudorange collection terms PRC
can provide effective collection for the clock dither. If the term
.epsilon.O.sub.S' is somehow removed, the required rate for update
signals falls to a rate of the order of once per minute or lower.
If a new variable F noclock .function. ( t ; t .times. .times. 0 ;
m ; n ) = .times. PRC .function. ( t ; t .times. .times. 0 ; m ; n
) + .0. S ' .function. ( t ; t .times. .times. 0 ; m ) .times.
.times. .times. R us .function. ( t ; t .times. .times. 0 ; m ; n )
- .0. .times. .times. net ' .function. ( t ; t .times. .times. 0 ;
m ; n ) - .times. .delta. .times. .times. I ' .function. ( t ; t
.times. .times. 0 ; m ; n ) - .delta. .times. .times. T .function.
( t ; t .times. .times. 0 ; m ; n ) , ( 8 ) ##EQU2## is formed,
this new variable can be transmitted at the lower rate, because
none of the terms on the right in Eq. (8) varies rapidly with
SA-induced clock dither. A global network GPS user can obtain the
high update rate PRC term from an RTCM Type 1 PRC message
(automatically updated at relatively high rates) and can calculate
the high-rate clock correction term from the relation
.epsilon.O.sub.S'(t;t0;m)=F.sub.noclock(t;t0;m;n)-PRC(t;t0;m;n).
(9) The only additional term that need be sent for clock correction
purposes here is F.sub.noclock, and this occurs at the more
leisurely rate. This approach is thus more efficient than the
conventional approach, which would require transmission of the
separate or additional term .epsilon.O.sub.S'. The elevation angle
of a satellite, viewed from the network reference point, may be too
low for use by a navigator operating with the standard RTCM output
signals from the network. In this event, the network may implicitly
assign the term F.sub.noclock the value 0 and set
PRC(t;t0;m;n)=-.epsilon.O.sub.S'(t;t0;m). (10)
[0055] Each GPS satellite broadcasts a navigation message
containing parameters from which the satellite's clock error and
its location can be computed. The computed clock error and position
of the satellite are used together with measured or modelled values
for the tropospheric and ionospheric time delays to transform Eq.
(1) into a function of the user's antenna location and clock error.
The difference between the measured pseudorange and the calculated
pseudorange defined by Eq. (1) is an equation in four unknown
variables: three components of the user antenna spatial location
and the clock error of the user's receiver/processor. Simultaneous
measurements for each of four or more satellites produce a set of
four or more equations to be solved for these four unknown
variables. A complete solution for the pseudorange is given in
Appendix A of "Reference Trajectories from GPS Measurements", James
E. Robbins, Navigation, Journal of the Institute of Navigation,
vol. 35 (1988) pp. 89-103. Approximate values of the user's spatial
coordinates and clock error are often used to linearize the
resulting four equations and to determine perturbations around
these approximate solutions that satisfy the four equations. Errors
in the parameters of a satellite navigation message and errors in
the tropospheric and ionospheric time delays produce errors in the
user's location and clock offset, as derived from this process.
[0056] The difference between measured pseudorange at a reference
station and calculated pseudorange from Eq. (1), using the known
spatial coordinates of the reference station, is manifested by a
composite measurement error in the calculated pseudorange caused by
parameter errors in the satellite navigation message, and by errors
in compensation for the tropospheric and ionospheric time delays.
Differential GPS computation is implemented by distributing
corrections for these navigation message errors to users who apply
such corrections to the measured/calculated pseudorange differences
before the user spatial coordinates are determined. Differential
GPS correction is discussed below.
[0057] Differential corrections are obtained as differences between
GPS measurements and estimates of the corresponding quantities,
calculated from known or modelled values for the elements. A mobile
GPS station near a GPS reference station can use the pseudorange or
carrier phase correction applicable at that reference station to
modify or correct its own pseudorange or carrier phase equations to
compute more accurate spatial location and time coordinates.
However, the DGPS corrections for a GPS reference station become
less and less accurate for the GPS mobile station as the distance
between the mobile station and the reference station increases and
become substantial at distances of 200 km or more (for
pseudoranges) and at distances of 30 km or more (for carrier
phases). This degradation in accuracy with increase in distance
from a GPS reference station arises in large part because the
tropospheric and ionospheric paths differ for GPS signal
propagation from a given satellite to the reference station and to
the mobile station, and because of the different aspect angles for
line of sight from the reference station and from the mobile
station to that satellite.
[0058] Pseudorange corrections and/or carrier phase corrections may
take account of errors due to satellite clock errors, receiver
clock errors, ionospheric and tropospheric propagation time delays,
and other errors, not including errors due to the presence of
multipath signals and certain other error sources. These GPS
pseudorange corrections PRC(t;t0;m;n) or unprocessed measurements
are transmitted by each reference station to a central processing
station 17 for amalgamation and reconciliation of these corrections
for the same satellite (m) for all reference stations (n).
[0059] In the format defined by the RTCM SC-104 standards, the
tropospheric and ionospheric propagation time delays are not
modelled so that the pseudorange corrections must compensate for
the total effects of these time delays.
[0060] Where the same models for tropospheric time delays and
ionospheric time delays are used for the reference station and for
the mobile station, the contributions to pseudorange and/or carrier
phase errors of each of these time delays become smaller, because
these contributions arise only from differences between the actual
and the modelled time delays. Use of pseudorange and/or carrier
phase corrections for a GPS mobile station, based on these
corrections at a GPS reference station, may have acceptable
accuracy for mobile station-reference station separation distances
of several hundred kilometers.
[0061] A virtual reference station (VRS) that converts a
network-adopted format to a standardized (or more convenient)
format and rebroadcasts the signals in this standardized format,
can be implemented at the network central station, at a remote GPS
station, or at a local unit that moves with the user. A VRS
implemented at the network central station may be appropriate for a
network that feeds a plurality of dedicated VRSs whose locations
are fixed, such as airports, FM radio stations, government service
buildings, etc. This configuration requires transmission of the
correction information from the network central station to each
(re)broadcasting source (a VRS or its stand-in). FIG. 2A
illustrates this situation, using a dedicated channel that may be
shared by several VRSs 19i (i=1, 2, . . . ).
[0062] A plurality of VRSs 21i (FIG. 2B) implemented at locations
remote or spaced apart from the network central station can provide
a framework for ad hoc VRSs and for moving and/or stationary VRSs.
General DGPS correction messages broadcast by the network central
station are received and rebroadcast (in a translated format, if
appropriate) by a remote VRS 21i for use by any GPS user within a
selected distance from that remote VRS (a "local user"). Each
remote VRS 21i may serve one or many local users that are
sufficiently close to that VRS that the DGPS corrections broadcast
by the VRS can be used as if the local user were located at that
VRS site.
[0063] A VRS knows its own present location, either by use of a
permanent file containing such information for a stationary VRS, or
by use of continually updated VRS location information for a moving
VRS. The VRS calculates the (changing) location of a satellite from
satellite ephemeris information received from the network central
station.
[0064] One approach for calculation of the VRS location data uses a
format appropriate for global or unlimited area GPS networks. The
satellite clock offset and the receiver clock offset vary
temporally, but not with location of the receiver. The spatially
varying portion of a total pseudorange correction TPRC is expressed
as a sum of three components, which are computed individually in a
global format, to compensate for (1) errors in the computed
satellite location, (2) errors in estimated tropospheric time
delays and (3) errors in estimated ionospheric time delays. This
approach relies on real time calculation of the components of a
three-dimensional SAT error vector from the computed satellite
location to the actual satellite location, as a function of time.
This approach contrasts with the conventional approach of using
reference station measurements to calculate the GPS satellite
ephemerides from first principles, as is done in the GPS Control
Segment.
[0065] Tropospheric time delay is modelled using a non-proprietary
model based on exponential decay of the zenith component of this
delay with increasing altitude. Tropospheric time delay is modelled
by dividing the zenith component by the sine of the satellite
elevation angle, measured at the ! GPS station location. This model
provides a global format.
[0066] Ionospheric time delay is computed using a single-frequency
model for GPS. This model is summarized in the Navstar Interface
Control Document, ICD-GPS-200, published by Rockwell International
Corporation, Satellite Division, Revision B, 3 Jul. 1991, the
material from which is incorporated by reference herein, and the
required parameters for this model are broadcast by the GPS
satellites. Reference station measurements of ionospheric time
delay may be used to calculate improved values of these model
parameters, which are then distributed by the network. A single
frequency GPS station can use the single frequency model, with
parameters supplied by the GPS satellites or by the network. A
double frequency GPS station can use this single frequency model,
or the station can measure and determine the ionospheric time delay
using a two-frequency model, such as that disclosed in the
ICD-GPS-200 document, op cit.
[0067] After the tropospheric and ionospheric time delays have been
compensated for, the spatially varying portions of the pseudorange
corrections from each reference station are Kalman filtered to
estimate components of the SAT vector. Mutually perpendicular
radial, down-plane and cross-plane vector components can be
computed, and the vector can be transformed to Earth-centered,
Earth-fixed (ECEF) coordinates for distribution to the GPS mobile
stations, if desired.
[0068] A GPS mobile station may determine the components of a unit
vector that points from the mobile station to each of the GPS
satellites. The scalar or dot product of this unit vector with the
SAT vector produces the component of pseudorange correction
required to compensate for satellite location error at the mobile
station location. Use of the global ECEF coordinates for satellite
location correction, a common clock correction model and the global
formats of the tropospheric and ionospheric time delays provides a
global format for computing and distributing parameters used for
pseudorange corrections at any location. This format is appropriate
for regional networks of unlimited area; that is, the network may
cover the Earth and some regions of space near the Earth's surface,
if desired.
[0069] Satellite location is included in the pseudorange and
pseudorange correction computations in Eqs. (1(2), through the
range term R.sub.us that denotes the range from the user antenna to
the satellite antenna. More specifically, the range term is written
as R.sub.us=r.sub.user-r.sub.sat,=r.sub.us, (11) r.sub.sat=location
vector to satellite antenna, (12) r.sub.user=location vector to
user antenna. (13) An error .epsilon.r.sub.sat in the calculated
satellite location produces a corresponding error in the range term
R*, given by
(R.sub.us*).sup.2=(R.sub.us+.epsilon.R.sub.us).sup.2=r.sub.sat+.epsilon.r-
.sub.sat-r.sub.user.sup.2=R.sub.us.sup.2+2.epsilon.r.sub.satr.sub.us+.epsi-
lon.r.sub.sat.sup.2, (14)
.epsilon.R.sub.us=.epsilon.r.sub.sate.sub.us+[.epsilon.r.sub.sat2-(.epsil-
on.R).sup.2]/2R.sub.us.epsilon.r.sub.sate.sub.us (15)
e.sub.us=r.sub.us/r.sub.us=unit length vector from user to
satellite. (16)
[0070] FIG. 3, which is not drawn to scale, illustrates the vector
and scalar relationships of these quantities, showing the
components of the satellite range error .epsilon.r.sub.sat in the
radial direction (e.sub.r) and in an orthogonal plane defined by
the down-plane and cross-plane directions (e.sub.d and
e.sub.c).
[0071] The satellite location error vector .epsilon.R.sub.sat, can
be determined by the central station as follows. Satellite location
r.sub.sat is determined using the almanac or ephemeris information,
as set forth in the document Navstar GPS Interface Control
Document, ICD-GPS-200, op. cit., in an ECEF coordinate system.
These coordinates are then converted to an orbital coordinate
system with the relations
r.sub.sat=x.sub.sate.sub.x+y.sub.sate.sub.y+z.sub.sate.sub.z, (17)
e.sub.x=e.sub.y=e.sub.z1, (18) e.sub.r=r.sub.sat/r.sub.sat, (19)
e.sub.d=[er(t+t)-e.sub.r(t-t)]/e.sub.r(t+t)-e.sub.r(t-t), (20)
e.sub.c=e.sub.d.times.e.sub.r, (21) where e.sub.r, e.sub.d and
e.sub.c are unit vectors in the radial (from the Earth's center),
down-plane and cross-plane directions, respectively. Alternatively,
the down-plane vector e.sub.d is determined by the relation
e.sub.d=(d/dt) e.sub.r/(d/dt) e.sub.r (22) The cross-plane vector
e.sub.r is determined by the relation e.sub.c=e.sub.r.times.e.sub.d
(23) The error vector to be estimated, .epsilon.r.sub.sat, is
expressed in orbital coordinates as
.epsilon.r.sub.sat=.epsilon..sub.re.sub.r+.epsilon..sub.de.sub.d+.epsilon-
..sub.ce.sub.c (24)
[0072] A more general Cartesian coordinate system, defined by three
orthogonal (or linearly independent) unit length vectors (e.sub.1,
e.sub.2, e3), can be used to express the satellite location error
.epsilon.r.sub.sat in Eq. (24). However, use of the radial
coordinate system defined by the three unit length vectors
(e.sub.r, e.sub.d, e.sub.c) often allows use of measurements from
only three reference stations, rather than from four or more such
stations, to determine the satellite location error
.epsilon.r.sub.sat. If this radial coordinate system is used, and
if measurements from M 4 reference stations are available, the
measurements of M-3 of these reference stations can be used for
consistency checks on the measurements from three reference
stations that are used to determine the satellite location error
.epsilon.r.sub.sat.
[0073] The components of .epsilon.r.sub.sat, can change erratically
only at times when the navigation message changes; a satellite does
not jump around in space. Jumps in satellite clock error and in
satellite location that are associated with changes in the
navigation message can be calculated explicitly by repeating the
calculations using the old set and the new set of parameters.
Changes in the components of the vector .epsilon.r.sub.sat are
benign in a coordinate system with unit vectors oriented along the
radial direction r.sub.sat, down-plane direction and cross-plane
direction of the satellite orbit, (referred to herein as the
"orbital coordinate system"). Thus, a Kalman filter, running on the
satellite clock error and on components of the error vector
.epsilon.r.sub.sat in this system, with deterministic state changes
calculated when the navigation message changes, can operate
effectively with fewer than four simultaneous measurements.
Further, the spatial location components can survive occasional
lapses, for a moderate time interval, in satellite tracking. A
transformation from an Earth-centered, Earth-fixed (ECEF)
coordinate system to the instantaneous orbital coordinate system
can be calculated from information in the satellite ephemerides or
in the satellite almanacs broadcast by the GPS satellites in the
navigation messages. For distribution to users, the components of
.epsilon.R,, are retransformed to the ECEF.
[0074] Each VRS computes its VRS-to-satellite unit vector e.sub.us,
using ephemeris information from the network and the known VRS
location, and forms the scalar product e.sub.us
.epsilon.r.sub.sat.apprxeq..epsilon.R.sub.us to determine the
component of range error .epsilon.R.sub.us at the VRS location due
to satellite location error. Because the correction vector
.epsilon.r.sub.sat varies slowly, the message containing this part
of the pseudorange correction can be sent less frequently than
other parts of the message. The satellite location correction
message must contain an issue of data ephemeris (iode) label to
relate this to the iode of the satellite navigation message so that
users can properly use the corrections. Corrections for the
satellite clock error, to compensate for SA clock dither and other
disturbances, must be transmitted rapidly.
[0075] In the RTCM format, the Type 1 or Type 9 messages carry the
clock corrections, combined in the pseudorange correction with
location-dependent corrections for the location transmitted in a
Type 3 message. The VRS uses these messages and the term
F.sub.noclock extracted from auxiliary messages to calculate the
satellite clock error value .epsilon.O.sub.Sin Eq. (9). If the
network is not restricted according by the RTCM fonnat PRC
requirements, the satellite clock error value .epsilon.O.sub.S can
be transmitted directly and the auxiliary message term
F.sub.noclock is not used.
[0076] The azimuth angle A and the elevation angle E for a
satellite are used in calculations of the ionospheric and
tropospheric time delays. The VRS can calculate these angles using
the vector e.sub.us. The unit length vector e.sub.us is expressible
in a local (east, north, up) coordinate system as e.sub.us=e.sub.r,
cos E sin A+e.sub.north cos E cos A+e.sub.up sin E. (25)
[0077] The tropospheric time delay .delta.T for signal propagation
from the satellite to the VRS location is calculated by the same
model that is used for the network central station, which is
.delta.T(t;t0;m;n)=.delta.T.sub.0 exp(-h.sub.u/h.sub.s) cscE, (26)
where h.sub.u is the altitude of the VRS location and
.delta.T.sub.0 and h.sub.S are model parameters. These model
parameters can be constants or may be time-varying variables
obtained from the network central station.
[0078] The ionospheric time delay for signal propagation from the
satellite to the VRS location is calculated using the same model
that is used for the network central station. A Type 59 RTCM
message may be used, together with the model for single frequency
users set forth in Section 2.4.4.3 Ionospheric Model, Global
Positioning System Standard Positioning Service, OASD
(C31)/T&TC3, 6000, Defense Pentagon, Washington, D.C.
20301-6000, incorporated by reference herein. The RTCM Type 59
message broadcast by the network central station for the
ionospheric time delay model contains a set of the four alpha
parameters and the four beta parameters used in the model, plus an
additional term to be applied for time delay in the vertical
direction ("up" in Eq. (25) ) before the obliquity calculation is
performed. Additional time data are used to augment the RTCM time
tag to provide both time of day and date. The VRS location,
satellite location, satellite azimuth and elevation relative to the
VRS location, the time of day and the extended model parameters for
the ionospheric time delay model are then used to compute the
ionospheric time delay for signal propagation from the satellite to
the VRS location.
[0079] The RTCM pseudorange corrections at a VRS location are
calculated using the relation
PRC(t;t0;m;n).sub.VRS=.epsilon.R.sub.us(t;t0;m;n)-.epsilon..sub.s(t;t0;m)-
-.delta.I(t;t0;m;n)-.delta.T(t;t0;m;n) (27)
[0080] With appropriate coverage of the region S with GPS reference
stations, this embodiment may be used for a region S that is as
large as the entire Earth. The RTCM format has been used here for
illustration, but the invention is not limited to this format as
the initial communication formnat. Any appropriate communication
format can be used for the embodiments discussed here.
[0081] One or more VRSs can also be synthesized for use in static
or kinematic surveying, from information available at the network
central station. Here, the VRS synthesizes measurements as if
received from a virtual receiver at a selected location. These
measurements are used by surveyors as if this virtual receiver is
an actual base station at the selected location.
[0082] A carrier phase measurement of the GPS signals received from
satellite number m is obtained using the relation
.phi..sub.s(t1;t2;m;n)=.lamda..intg..sub.t1.sup.t2.delta..omega.(t;m;n)dt
(28) .delta..omega.(t;m;n)=.omega.(t;n;rcvr)-.omega.(t;m;rcvd) (29)
.omega.(t;n;rcvr)=.omega..sub.GPS+.epsilon..omega.(t;m;n;rcvr) (30)
.omega..sub.GPS=c/.lamda., (31) where .lamda. is the GPS carrier
wavelength (fixed: L1 or L2), .omega.(t;n;rcvr) is the nominal
(fixed) angular frequency generated internally by the GPS
receiver/processor (n, which may be a user location),
.omega.(t;m;rcvd) is the angular frequency of the GPS signal
received at the GPS antenna from the satellite, GPS is the (fixed)
angular frequency associated with the GPS signal transmitted by the
satellite, c is the velocity of light propagation in a vacuum, and
carrier lock is assumed to be maintained. The satellite transmits
at an angular frequency that may vary from the ideal frequency
.omega..sub.GPS and is expressed as
.omega.(t;m;tr)=.omega..sub.GPS+.epsilon..omega.(t;m;sv) (32)
Combining Eqs. (29), (30) and (32), the angular frequency
difference .delta..omega. is then expressible as .omega. .function.
( t ; m ; n ) = .times. .omega. GPS + .times. .times. .omega.
.function. ( t ; m ; n ; rcvr ) - .omega. .function. ( t ; n ; rcvd
) = .times. .omega. .function. ( t ; m ; tr ) - .times. .times.
.omega. .function. ( t ; m ; sv ) + .times. .times. .omega.
.function. ( t ; n ; rcvr ) - .times. .omega. .function. ( t ; m ;
rcvd ) . ( 33 ) ##EQU3##
[0083] The Doppler shift
.DELTA..omega.(t;m;n;Doppler)=.omega.(t;m;tr)-.omega.(t;m;rcvd)
(34) arising from motion of the satellite antenna and the user's
antenna relative to each other can be expressed to first order as
.DELTA. .times. .times. .omega. .function. ( t ; m ; n ; Doppler )
= .times. = ( v sv .function. ( t - t prop ; m ) - v rcvr
.function. ( t ; m ) ) e us .times. .omega. .function. ( t ; m ; tr
) / c , ( 35 ) ##EQU4## where v.sub.sv and v.sub.rcvr are the
time-varying velocity vectors for the satellite (m) and receiver
(n), respectively, e.sub.us is the unit vector from the user
antenna (n) to the satellite antenna (m), which may vary in
direction, and where t'=t-t.sub.prop is the time at which a signal
must be transmitted at the satellite antenna in order to arrive at
the user antenna at time t, given that the time required for signal
propagation between the two antennas is t.sub.prop
[0084] Equations (34) and (35) may be combined as
.omega.(t;n;rcvd)=[1-(v.sub.sv-v.sub.rcvr)e.sub.us/c].omega.(t;m;tr),
(36) and Eqs. (31) and (34) may be combined as .delta. .times.
.times. .omega. .function. ( t ; m ; n ) = .times. ( v sv - v rcvr
) .times. e us .function. ( .omega. .function. ( t ; m ; tr ) / c )
+ .times. .times. .omega. .times. ( t ; m ; n ; rcvr ) - .times.
.times. .omega. .function. ( t ; m ; sv ) = .times. ( v sv - V rcvr
) .times. e us .function. ( .omega. GPS / c ) + .times. .times.
.omega. .function. ( t ; m ; n ; rcvr ) - .times. [ 1 - ( v sv - v
rcvr ) .times. e us / c ] .times. .times. .times. .omega.
.function. ( t ; m ; sv ) ( 37 ) ##EQU5## The calculated carrier
phase output from a virtual receiver at a specified location then
becomes .PHI. .function. ( t .times. .times. 1 , t .times. .times.
2 , m , n ) = .times. .lamda. .times. .intg. t .times. .times. 1 t
.times. .times. 2 .times. { ( v sv - v rcvr ) e us .function. (
.omega. GPS / c ) + .times. .times. .times. .omega. .function. ( t
; m ; n ; rcvr ) - { 1 - ( v sv - v rcvr ) e us / c } .times.
.times. .times. .omega. .function. ( t ; m ; sv ) } .times. d t =
.times. .intg. t .times. .times. 1 t .times. .times. 2 .times. { (
v sv - v rcvr ) e us . + .times. .times. .omega. .function. ( t ; m
; n ; rcvr ) .times. ( c / .omega. GPS ) - { 1 - ( v sv - v rcvr )
e us / c ] .times. .times. .times. .omega. .times. ( t ; m ; sv )
.times. ( c / .omega. GPS ) } .times. d t = .times. .intg. t
.times. .times. 1 t .times. .times. 2 .times. { ( v sv - v rcvr ) e
us + { .times. .times. .omega. .function. ( t ; n ; rcvr ) -
.times. .times. .times. .omega. .function. ( t ; m ; sv ) ] .times.
c / .omega. GPS ) } .times. d t = .times. .intg. t .times. .times.
1 t .times. .times. 2 .times. { ( v sv - v rcvr ) .times. e us + c
.function. ( d / d t ) .times. { .times. .times. .tau. .times. ( t
; n ; rcvr ) - .tau. .function. ( t ; m ; sv ) } } .times. d t
.times. .intg. t .times. .times. 1 t .times. .times. 2 .times. { (
v sv - v rcvr ) e us + ( d / d t ) .times. ( .PHI. rcvr - .PHI. sv
) } .times. d t . ( 38 ) ##EQU6## Here,
.phi..sub.rcvr/c=.epsilon..tau.(t;n;rcvr), (39)
.phi..sub.sv/c=.epsilon..tau.(t;m;sv) (40) are the receiver clock
error and satellite clock error, respectively, evaluated relative
to GPS time. If account is also taken of the tropospheric and
ionospheric time delays experienced by a signal in propagating from
the satellite antenna to the receiver antenna, the change in
carrier phase for a selected time interval t1.ltoreq.t.ltoreq.t2
becomes
.phi.(t1,t2;m;n)=.intg..sub.t1.sup.t2{(v.sub.sv-v.sub.rcvr)e.sub.us+(d/dt-
)[.phi..sub.rcvr-.phi..sub.sv+.delta.T-.delta.I}}dt. (41) In
synthesizing the phase measurement from a VRS receiver, the
receiver clock offset term .sub.rcvr is defined as zero for the
virtual receiver and the phase integral in Eq. (41) becomes .PHI.
.function. ( t .times. .times. 1 , t .times. .times. 2 ; m ; n ) =
.times. .intg. t .times. .times. 1 t .times. .times. 2 .times. { (
v sv - v ) e us - ( d / d t ) .times. { .PHI. sv - .delta. .times.
.times. T + .delta. .times. .times. I } } .times. d t = .times. R
us .function. ( t .times. .times. 2 ; t prop ; m ; n ) - R us
.function. ( t .times. .times. 1 ; t prop ; m ; n ) - .times. .PHI.
sv .function. ( t .times. .times. 2 ; t prop , 2 ; m ) ++ .times.
.PHI. sv .function. ( t .times. .times. 1 ; t prop , 1 ; m ) +
.times. .delta. .times. .times. T .function. ( t .times. .times. 2
; t prop , .times. 2 ; m ; n ) - .delta. .times. .times. T
.function. ( t .times. .times. 1 ; t prop , 1 ; m ; n ) -- .times.
.delta. .times. .times. I .function. ( t .times. .times. 2 ; t prop
, 2 ; m ; n ) + .delta. .times. .times. I .function. ( t .times.
.times. 1 ; t prop , 1 ; m ; n ) , ( 42 ) ##EQU7## where
ti-t.sub.prop,i (i=1, 2) is the time at which a signal must be
transmitted at the satellite antenna in order to arrive at the user
antenna at time t=ti, given that the time required for signal
propagation between the two antennas is t.sub.prop,t,
R.sub.us(t;t.sub.prop;m;n) is calculated using ephemeredes
contained in the GPS navigation message (corrected by the network),
.phi..sub.sv(t;t.sub.prop;m;n) is calculated using the satellite
clock polynomial from the GPS navigation message (corrected by the
network), and .delta.T(t;t.sub.prop;m;n) and
.delta.I(t;.sub.prop;m;n) are calculated using model parameters
provided by the networks.
[0085] Using the notation developed above, the pseudorange
measurement at a user's receiver can be expressed as
PR(t;t0;m;n)=R(t;t0;m;n)+.phi.(t;t0;n;rcvr)-.phi.(t;t0;m;sv)+.delta.T(t;t-
0;m;n)+.delta.I(t;t0;m;n). (43)
[0086] This approach can be refined by causing the network central
station to calculate the adjusted carrier phase measurement at each
of several reference stations in the vicinity of the VRS of
interest. These adjusted carrier phase measurements are then
subtracted from the calculated carrier phase measurement made for
the VRS location, and these differences are used in a minimum least
squares computation to determine a scalar field of corrections for
the calculated VRS carrier phase.
[0087] A mobile surveyor or navigator uses the synthesized
measurements of pseudo range and/or carrier phase from Eqs. (42)
and (43), computed for the VRS site, as if these measurements were
received from a GPS reference station located at the VRS site.
[0088] Where carrier phase measurements are available at a high
rate at the network central station, satellite velocity errors and
errors in the rate of change of satellite clock offset can be
determined. The measurement noise on carrier phase is at least an
order of magnitude lower than the measurement noise on the
corresponding pseudorange. Because of this difference, performance
of the pseudorange-only approach adopted in the earlier patent
application (U.S. Ser. No. 08/177,012) can be enhanced by adding
velocity states and using carrier phase measurements.
[0089] Kalman filtering can be used at the network central station
to estimate the errors in satellite locations and satellite clocks.
This approach for the pseudorange-only variables is summarized from
the earlier patent application, and an extension that includes
velocity variables is also presented here. The state vector is
described as x=[x.sub.1 x.sub.2 x.sub.3
x.sub.4].sup.tr=[.epsilon..sub.c .epsilon..sub.d .epsilon..sub.r
S].sup.tr, where x.sub.4=.phi..sub.S=c.epsilon.T.sub.S is the error
remaining in the satellite's clock, after correction with the
parameters in the satellite's navigation message, multiplied by the
velocity of light in a vacuum. The three states x.sub.i (i=1, 2, 3)
are errors in the satellite's location, as calculated from
parameters in the satellite's navigation message, for example,
using Eq. (24). The measurement vector is z.sub.pr=[z.sub.1
z.sub.2, . . . z.sub.L], where L is the number of stations that
have a pseudorange measurement for a given satellite and z.sub.i is
the difference between the measured pseudorange and the pseudorange
calculated by Eqs. (1)-(5). In the context of the equations
presented here, z.sub.i=e.sub.us,i
.epsilon.r-.phi..sub.S+v.sub.i=e.sub.us,i(.epsilon..sub.ce.sub.c+.epsilon-
..sub.de.sub.d+.epsilon..sub.re.sub.r)-.phi..sub.S+v.sub.i, (44)
where e.sub.us,i is the unit length vector e.sub.us, determined
from the location of the ith station, and v.sub.i is noise present
in the measurement of the pseudorange. Each measurement z.sub.pr at
time t.sub.K is related to the pseudorange filter states x, using a
4.times.L transformation matrix H.sub.k=(h.sub.ij(t.sub.k)), by the
relations z.sub.pr,k=H.sub.k x.sub.k+v.sub.k, (45)
h.sub.i1=.differential.z.sub.i/.differential.x.sub.1=e.sub.us,ie.sub.c,
(i=1, . . . , L) (46)
h.sub.i2=.differential.z.sub.i/.differential.x.sub.2=e.sub.us,ie.sub.d,
(47)
h.sub.i3=.differential.z.sub.i/.differential.x.sub.3=e.sub.us,ie.su-
b.r, (48) h.sub.i4=-1, (49) v.sub.k=L.times.I measurement noise
vector at time t.sub.k, (50) R.sub.k=E[v.sub.k v.sub.k.sup.tr] (51)
Equation (45) may also be written as a sequence of scalar equations
for an individual (scalar) measurement Z.sub.pr,k,i for a selected
station (i=1, . . . , L).
[0090] Transitions between the filter states are described by the
relations x.sub.k=.PHI..sub.k x.sub.k-1+w.sub.k, (52) where
.PHI..sub.k is the state transition matrix, which can be modeled
here as the 4.times.4 identity matrix, and w.sub.k is a noise
vector with covariance matrix Q.sub.k=E[w.sub.k w.sub.k.sup.tr].
(53) The covariance matrix P.sub.k=E {X.sub.k x.sub.k.sup.tr] of
the filter states propagates according to the relation
P'.sub.k=.PHI..sub.k P.sub.k-1 .PHI..sub.k.sup.tr+Q.sub.k-1, (54)
and the primed value P'.sub.k represents the covariance matrix
P.sub.k before the new measurement is incorporated (obtained by
propagation from the preceding state).
[0091] Measurements are incorporated by the relations
x.sub.k=x'.sub.k+K.sub.k(z.sub.k-H.sub.k x'.sub.k), (55)
x'.sub.k=.PHI..sub.k x.sub.k-1, (56) K.sub.k=P'.sub.k
H.sub.k.sup.tr [H.sub.k P'.sub.k H.sub.k
.sup.tr+R.sub.k].sup.-1=Kalman gain matrix, (57) where x.sub.k' is
a predicted value of x.sub.k. The state covariance matrix, after
incorporation of the new measurement, is given by the relation
P.sub.k=(I-K.sub.k H.sub.k)P'.sub.k. (58) The initial value
matrices P.sub.0 and Q.sub.0 are selected design parameters.
Equations (44)-(58) can be used to perform Kalman filtering on the
measured quantities to estimate the errors in satellite location
and time coordinates.
[0092] The difference between two carrier phase measurements
.phi.(t.sub.meas.k.sup.;m;n) and .phi.(t.sub.meas,k-1.sup.;m;n),
separated by a short time interval
.DELTA.t.sub.k=t.sub.k-t.sub.k-1, can be expressed using the
integral in Eq. (54), viz. .DELTA. .times. .times. .PHI. .function.
( t meas , k ; m ; n ) = .times. .PHI. .times. ( t meas , k ; m ; n
) - .PHI. .function. ( t meas , k - 1 ; m ; n ) = .times. { ( v sv
- v rcvr ) .times. e us + ( d / d t ) .times. [ .PHI. rcvr - .PHI.
sv + .delta. .times. .times. T - .delta. .times. .times. I ] }
.times. d t = .times. { ( v sv - v rcvr ) + ( d / d t ) .times. [
.PHI. rcvr - .PHI. sv + .delta. .times. .times. T - .delta. .times.
.times. I ] } .times. .DELTA. .times. .times. t k . ( 59 ) ##EQU8##
An extended measurement can be constructed from this difference by
defining the scalar quantities z cp , k = .times. { ( v sv - v rcvr
) .times. e us + ( d / d t ) .function. [ .PHI. sv - .delta.
.times. .times. T + .delta. .times. .times. I ] } .times. .DELTA.
.times. .times. t k . - .times. .DELTA. .times. .times. .PHI.
.function. ( t meas , k ; m ; n ) = .times. [ .times. .times. v sv
.times. e us - ( d / d t ) .times. ( .times. .times. .PHI. sv -
.times. .times. .delta. .times. .times. T + .times. .times. .delta.
.times. .times. I ) ] .times. .DELTA. .times. .times. t k - .times.
.DELTA. .times. .times. .times. .times. .PHI. .function. ( t meas ,
k ; m ; n ) = .times. ( .times. .times. v sv .times. e us - ( d / d
t ) .times. ( .times. .times. .PHI. sv ) .times. .DELTA. .times.
.times. t k + v k , ( 60 ) ##EQU9## where
v.sub.k=(d/dt)(.epsilon..delta.T-.epsilon..delta.I).DELTA.t.sub.k-.epsilo-
n..phi.(.sub.meas,k;m;n) (61) is an extended measurement error.
[0093] An augmented state column matrix x A = [ x y ] ( 62 )
##EQU10## is defined, where x is the four-dimensional state defined
in the system of satellite location and clock errors, viz. x = [ x
1 x 2 x 3 x 4 ] = [ .times. .times. x orb .times. .times. y orb
.times. .times. z orb .times. .times. .PHI. ] ( 63 ) ##EQU11## and
v=(d/dt) x. The augmented measurement state is related to an
augmented error state by the following augmented matrix equations
for Kalman filtering z A , k = z A .function. ( t k ; t .times.
.times. 0 ; m ; VRS ) .times. .times. = [ z pr .function. ( t k ; t
.times. .times. 0 ; m ; VRS ) .times. Z cp .function. ( t k ; t
.times. .times. 0 ; m ; VRS ) ] tr , ( 64 ) z A , k = H A , k
.times. x A .function. ( tk ; t .times. .times. 0 ; m ; VRS ) + v A
.function. ( t k ; t .times. .times. 0 ; m ; VRS ) .times. .times.
= H A , k .times. x A , k + v A , k , ( 65 ) Z A , k = [ z pr , k z
cp ] .times. .times. = [ h k tr 0 0 .DELTA. .times. .times. th k tr
] .function. [ x v ] .times. + + .function. [ v pr , k v cp , k ] (
66 ) ##EQU12## H A , k = [ h k tr 0 0 .DELTA. .times. .times. th k
tr ] ( 67 ) ##EQU13## h.sub.k=[h.sub.1(t.sub.k) h.sub.2(t.sub.k)
h.sub.3(t.sub.k) h.sub.4(t.sub.k)]1.times.4 matrix with entries
(68) h.sub.1=e.sub.us e.sub.x,orb, (69) h.sub.2=e.sub.us
e.sub.y,orb, (70) h.sub.3=e.sub.us e.sub.z,orb, (71) h.sub.4=-1,
(72) x.sub.A,k=[x.sub.1 x.sub.2 x.sub.3 x.sub.4 v.sub.1 v.sub.2
v.sub.3 v.sub.4].sup.tr=[x v].sup.tr, (73)
x.sub.i=.epsilon..sub.i,m(t.sub.k),(i=1, 2, 3) (74)
x.sub.4=.phi..sub.s,m(t.sub.k), (75) vi=(d/dt) xi (i=1, 2, 3, 4),
(76) v.sub.pr,k=pseudorange measurement noise vector at time
t.sub.k, (77) v.sub.cp,k=carrier phase measurement noise vector at
time t.sub.k, (78) x.sub.A,k=[v.sub.pr,k v.sub.cp,k].sup.tr, (79)
R.sub.k=E[v.sub.A,k V.sub.A.k.sup.tr], (80) x.sub.A,k=.PHI..sub.A,k
x.sub.A,k-1+w.sub.A,k, (81) .PHI..sub.A,k=state transition matrix
for vector x.sub.A,k at time t.sub.k, (82) w.sub.A,k=noise vector
at time t.sub.k, (83) Q.sub.A,k=E[w.sub.A,k w.sub.A,k.sup.tr], (84)
P'.sub.A,k=.PHI..sub.A,k P.sub.A,k-1
.PHI..sub.A,k.sup.tr+Q.sub.A,k-1, (85)
x.sub.A,k=x'.sub.A,k+K.sub.A,k(z.sub.A,k-H.sub.A,k x'.sub.A,k),
(86) x.sub.'.sub.A,k=.PHI..sub.A,k x.sub.A,k-1, (87)
K.sub.A,k=P.sub.A,k H.sub.A,k.sup.tr[H.sub.A,k P'.sub.A,k
H.sub.A,k.sup.tr+R.sub.A,k].sup.-1, (88) P.sub.A,k=(I-K.sub.A,k
H.sub.A,k) P'.sub.A,k=E{x.sub.A,k x.sub.A,k.sup.tr], (89) where
P.sub.A,0 and Q.sub.A,0 selected initial matrices, I is the
8.times.8 identity matrix and 0 is a 1.times.4 matrix with zero
entries.
[0094] Transitions between the filter states may be described by
the relations x.sub.A,k=.PHI..sub.A,k x.sub.A,k-1+w.sub.A,k, (90)
where W.sub.A,k is the state noise vector and .PHI..sub.A,k is an
8.times.8 state transition matrix .PHI. A , k = [ I I .times.
.times. .DELTA. .times. .times. t k 0 I ] ( 91 ) ##EQU14## and 0
and 1 are the 4.times.4 zero matrix and 4.times.4 identity matrix,
respectively. Note that the transition matrix .PHI..sub.A,k now
explicitly depends upon a time difference .DELTA..sub.tk. Carrier
phase measurements are used in surveying. A VRS (dedicated or ad
hoc) 23i in FIG. 4 has a "location," for which it provides
corrected GPS-based location information, and serves as a reference
point for a survey baseline.
[0095] The RTCM SC-I 04 standard and format is one of many that can
be used for transmission of location data and correction data for
use in navigation and in surveying. In navigation activities, the
Wide Area Augmented System (WAAS) and other non-proprietary, as
well as proprietary, formats can also be used. In WAAS, using
standards specified by the Federal Aviation Administration,
individual error sources are analyzed and their variations with
time are modelled. The WAAS seeks to improve the accuracy at any
given range, and thereby to increase the permitted range, of GPS
measurements. In surveying activities, one popular "generic" format
is the Receiver Independent Exchange format (RINEX), which allows
data from a transmitter or receiver operating in one format to be
used with a transmitter or receiver in another format. Use of VRSs
as disclosed here would allow translation from a first format to a
second format, in a manner somewhat analogous to use of a gateway
to allow protocol-to-protocol translation between two data
communication networks.
[0096] Whether operating in a navigation activity, in a surveying
activity or in any other activity, the approach disclosed here
implements this format translation at the central station or at a
remote VRS. If the VRS is truly virtual and is not represented at
its assigned site by a computer and/or transceiver, format
translation is implemented at the central station and transmitted
as if a physical station, positioned at the VRS location, is
performing the format translation.
[0097] A Satellite Positioning System (SATPS) is a system of
satellite signal transmitters, with receivers located on the
Earth's surface or adjacent to the Earth's surface, that transmits
information from which an observer's present location and/or the
time of observation can be determined. Two operational systems,
each of which qualifies as an SA TPS, are the Global Positioning
System and the Global Orbiting Navigational System.
[0098] The Global Positioning System (OPS) is part of a
satellite-based navigation system developed by the United States
Defense Department under its NA VSTAR satellite program. A fully
operational GPS includes up to 24 satellites approximately
uniformly dispersed around six circular orbits with four satellites
each, the orbits being inclined at an angle of 550 relative to the
equator and being separated from each other by multiples of 600
longitude. The orbits have radii of 26,560 kilometers and are
approximately circular. The orbits are non-geosynchronous, with 0.5
sidereal day (11.967 hours) orbital time intervals, so that the
satellites move with time relative to the Earth below.
Theoretically, three or more GPS satellites will be visible from
most points on the Earth's surface, and visual access to two or
more such satellites can be used to determine an observer's
position anywhere on the Earth's surface, 24 hours per day. Each
satellite carries a cesium or rubidium atomic clock to provide
timing information for the signals transmitted by the satellites.
Internal clock correction is provided for each satellite clock.
[0099] Each GPS satellite transmits two spread spectrum, L-band
carrier signals: an L1 signal having a frequency f1=1575.42 MHz and
an L2 signal having a frequency f2=1227.6 MHz. These two
frequencies are integral multiples f1=1540 f0 and f2=1200 f0 of a
base frequency f0=1.023 MHz. The L1 signal from each satellite is
binary phase shift key (BPSK) modulated by two pseudo-random noise
(PRN) codes in phase quadrature, designated as the C/A-code and
P-code. The L2 signal from each satellite is BPSK modulated by only
the P-code. The nature of these PRN codes is described below.
[0100] One motivation for use of two carrier signals L1 and L2 is
to allow partial compensation for propagation delay of such a
signal through the ionosphere, which delay varies approximately as
the inverse square of signal frequency f (delay f2). This
phenomenon is discussed in the document ICD-GPS-200, op. cit. When
transit time delay through the ionosphere is determined, a phase
delay associated with a given carrier signal can be determined.
[0101] Use of the PRN codes allows use of a plurality of GPS
satellite signals for determining an observer's position and for
providing navigation information. A signal transmitted by a
particular GPS signal is selected by generating and matching, or
correlating, the PRN code for that particular satellite. All PRN
codes are known and are generated or stored in GPS satellite signal
receivers carried by ground observers. A first PRN code for each
GPS satellite, sometimes referred to as a precision code or P-code,
is a relatively long, fine-grained code having an associated clock
or chip rate of 10 f0=10.23 MHz. A second PRN code for each GPS
satellite, sometimes referred to as a clear/acquisition code or
C/A-code, is intended to facilitate rapid satellite signal
acquisition and hand-over to the P-code and is a relatively short,
coarser-grained code having a clock or chip rate of f0=1.023 MHz.
The C/A-code for any GPS satellite has a length of 1023 chips or
time increments before this code repeats. The full P-code has a
length of 259 days, with each satellite transmitting a unique
portion of the full P-code. The portion of P-code used for a given
GPS satellite has a length of precisely one week (7.000 days)
before this code portion repeats. Accepted methods for generating
the C/A-code and P-code are set forth in the ICD-GPS-200 document,
op. cit.
[0102] The GPS satellite bit stream includes navigational
information on the ephemeris of the transmitting GPS satellite and
an almanac for all GPS satellites, with parameters providing
corrections for ionospheric signal propagation delays suitable for
single frequency receivers and for an offset time between satellite
clock time and true GPS time. The navigational infonnation is
transmitted at a rate of 50 Baud. A useful discussion of the GPS
and techniques for obtaining position infonnation from the
satellite signals is found in Tom Logsdon, The NA VST AR Global
Positioning System. Van Nostrand Reinhold, New York, 1992.
[0103] A second configuration for global positioning is the Global
Orbiting Navigation Satellite System (GLONASS), placed in orbit by
the former Soviet Union and now maintained by the Russian Republic.
GLONASS also uses 24 satellites, distributed approximately
uniformly in three orbital planes of eight satellites each. Each
orbital plane has a nominal inclination of 64.80 relative to the
equator, and the three orbital planes are separated from each other
by multiples of 1200 longitude. The GLONASS circular orbits have
smaller radii, about 25,510 kilometers, and a satellite period of
revolution of 8/17 of a sidereal day (11.26 hours). A GLONASS
satellite and a GPS satellite will thus complete 17 and 16
revolutions, respectively, around the Earth every 8 days. The
GLONASS system uses two carrier signals L1 and L2 with frequencies
of f1=(1.602+9k/16) GHz and f2=(1.246+7k/16) GHz, where k (=0, 1,
2, . . . , 23) is the channel or satellite number. These
frequencies lie in two bands at 1.597-1.617 GHz (LI) and
1,240-1,260 GHz (L2). The L1 code is modulated by a C/A-code (chip
rate=0.511 MHz) and by a P-code (chip rate=5.11 MHz). The L2 code
is presently modulated only by the P-code. The GLONASS satellites
also transmit navigational data at rate of 50 Baud. Because the
channel frequencies are distinguishable from each other, the P-code
is the same, and the C/A-code is the same, for each satellite. The
methods for receiving and analyzing the GLONASS signals are similar
to the methods used for the GPS signals.
[0104] Reference to a Satellite Positioning System or SA TPS herein
refers to a Global Positioning System, to a Global Orbiting
Navigation System, and to any other compatible satellite-based
system that provides information by which an observer's position
and the time of observation can be determined, all of which meet
the requirements of the present invention.
[0105] A Satellite Positioning System (SA TPS), such as the Global
Positioning System (GPS) or the Global Orbiting Navigation
Satellite System (GLONASS), uses transmission of coded radio
signals, with the structure described above, from a plurality of
Earth-orbiting satellites. A single passive receiver of such
signals is capable of determining receiver absolute position in an
Earth-centered, Earth-fixed coordinate reference system utilized by
the SATPS.
[0106] A configuration of two or more receivers can be used to
accurately determine the relative positions between the receivers
or stations. This method, known as differential positioning, is far
more accurate than absolute positioning, provided that the
distances between these stations are substantially less than the
distances from these stations to the satellites, which is the usual
case. Differential positioning can be used for surveyor
construction work in the field, providing location coordinates and
distances that are accurate to within a few centimeters.
[0107] In differential position determination, many of the errors
in the SA TPS that compromise the accuracy of absolute position
determination are similar in magnitude for stations that are
physically close. The effect of these errors on the accuracy of
differential position determination is therefore substantially
reduced by a process of partial error cancellation.
[0108] An SATPS antenna receives SATPS signals from a plurality
(preferably four or more) of SATPS satellites and passes these
signals to an SATPS signal receiver/processor, which (1) identifies
the SATPS satellite source for each SATPS signal, (2) determines
the time at which each identified SATPS signal arrives at the
antenna, and (3) determines the present location of the SATPS
antenna from this information and from information on the
ephemerides for each identified SATPS satellite. The SATPS signal
antenna and signal receiver/processor are part of the user segment
of a particular SATPS, the Global Positioning System, as discussed
by Tom Logsdon in The NAVSTAR Global Positioning System. Van
Nostrand Reinhold, 1992, pp. 17-90. The information in this
material is incorporated by reference herein.
* * * * *