Reducedpower GPSbased system for tracking multiple objects from a central location
Download PDFInfo
 Publication number
 USRE40642E1 USRE40642E1 US09570835 US57083500A USRE40642E1 US RE40642 E1 USRE40642 E1 US RE40642E1 US 09570835 US09570835 US 09570835 US 57083500 A US57083500 A US 57083500A US RE40642 E1 USRE40642 E1 US RE40642E1
 Authority
 US
 Grant status
 Grant
 Patent type
 Prior art keywords
 time
 satellite
 receiver
 data
 object
 Prior art date
 Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
 Expired  Lifetime
Links
Images
Classifications

 G—PHYSICS
 G08—SIGNALLING
 G08G—TRAFFIC CONTROL SYSTEMS
 G08G1/00—Traffic control systems for road vehicles
 G08G1/20—Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles

 B—PERFORMING OPERATIONS; TRANSPORTING
 B61—RAILWAYS
 B61L—GUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
 B61L25/00—Recording or indicating positions or identities of vehicles or vehicle trains or setting of track apparatus
 B61L25/02—Indicating or recording positions or identities of vehicles or vehicle trains
 B61L25/025—Absolute localisation, e.g. providing geodetic coordinates

 G—PHYSICS
 G01—MEASURING; TESTING
 G01S—RADIO DIRECTIONFINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCEDETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
 G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
 G01S19/01—Satellite radio beacon positioning systems transmitting timestamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
 G01S19/03—Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers
 G01S19/09—Cooperating elements; Interaction or communication between different cooperating elements or between cooperating elements and receivers providing processing capability normally carried out by the receiver

 G—PHYSICS
 G01—MEASURING; TESTING
 G01S—RADIO DIRECTIONFINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCEDETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
 G01S5/00—Positionfixing by coordinating two or more direction or position line determinations; Positionfixing by coordinating two or more distance determinations
 G01S5/0009—Transmission of position information to remote stations
 G01S5/0018—Transmission from mobile station to base station
 G01S5/0027—Transmission from mobile station to base station of actual mobile position, i.e. position determined on mobile

 G—PHYSICS
 G01—MEASURING; TESTING
 G01S—RADIO DIRECTIONFINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCEDETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
 G01S5/00—Positionfixing by coordinating two or more direction or position line determinations; Positionfixing by coordinating two or more distance determinations
 G01S5/0009—Transmission of position information to remote stations
 G01S5/0018—Transmission from mobile station to base station
 G01S5/0036—Transmission from mobile station to base station of measured values, i.e. measurement on mobile and position calculation on base station

 G—PHYSICS
 G01—MEASURING; TESTING
 G01S—RADIO DIRECTIONFINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCEDETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
 G01S5/00—Positionfixing by coordinating two or more direction or position line determinations; Positionfixing by coordinating two or more distance determinations
 G01S5/02—Positionfixing by coordinating two or more direction or position line determinations; Positionfixing by coordinating two or more distance determinations using radio waves
 G01S5/10—Position of receiver fixed by coordinating a plurality of position lines defined by pathdifference measurements, e.g. omega or decca systems

 G—PHYSICS
 G01—MEASURING; TESTING
 G01S—RADIO DIRECTIONFINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCEDETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
 G01S5/00—Positionfixing by coordinating two or more direction or position line determinations; Positionfixing by coordinating two or more distance determinations
 G01S5/02—Positionfixing by coordinating two or more direction or position line determinations; Positionfixing by coordinating two or more distance determinations using radio waves
 G01S5/14—Determining absolute distances from a plurality of spaced points of known location

 B—PERFORMING OPERATIONS; TRANSPORTING
 B61—RAILWAYS
 B61L—GUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
 B61L2205/00—Communication or navigation systems for railway traffic
 B61L2205/04—Satellite based navigation systems, e.g. GPS

 G—PHYSICS
 G01—MEASURING; TESTING
 G01S—RADIO DIRECTIONFINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCEDETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
 G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
 G01S19/01—Satellite radio beacon positioning systems transmitting timestamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
 G01S19/13—Receivers
 G01S19/34—Power consumption
Abstract
Description
This application is a continuation of application Ser. No. 08/465,229 filed May 31, 1995 now abandoned.
This invention relates to object tracking systems used to locate and track multiple terrestrial (including waterbased) objects and, more particularly, to power efficient object tracking systems based upon information obtained from satellites.
The tracking and location of assets such as railcars, shipping or cargo containers, trucks, truck trailers, automobiles, etc. can be highly advantageous in commerce. Precise tracking of such vehicles and objects can facilitate their being allocated and positioned in an efficient manner, and can provide for immediate, accurate localization of lost, delayed or damaged assets. The spacebased global positioning system (GPS) implemented by the United States Department of Defense constitutes a convenient instrumentality for determining geographical position in real time.
The GPS is a multiple satellitebased radio positioning system in which each satellite transmits data that allows precise measurement of the distance from selected ones of the GPS satellites to the antenna of a user's receiver so as to enable the user to compute position, velocity and time parameters through known triangulation techniques. The signals provided by the GPS can be received both globally and continuously.
The GPS comprises three major segments known as the space, control and user segments. The space segment consists of 21 operational satellites and three spare satellites. The satellites are positioned in a constellation such that typically seven satellites, but a minimum of four, are observable by a user anywhere on or near the earth's surface. Each satellite transmits signals on two frequencies known as L1 (1575.42 MHz) and L2 (1227.6 MHz), using spread spectrum techniques that employ two types of spreading functions.
C/A (or coarse/acquisition code) and P (or precise) pseudo random noise (PRN) codes are transmitted on frequency L1, and P code only is transmitted on frequency L2. The C/A is available to any user, military or civilian, but the P code is only available to authorized military and civilian users. Both P and C/A codes contain data that enable a receiver to determine the range between a satellite and the user.
Superimposed on both the P and C/A codes is a navigation (NAV) message. A NAV message contains the GPS signal transmission time; a handover word used in connection with the transition from C/A to P code tracking; ephemeris data for the particular satellites being tracked; and almanac data for all of the satellites in the constellation, including information regarding satellite health, coefficients for the ionospheric delay model for C/A code users, and coefficients used to calculate universal coordinated time (UCT).
The control segment comprises a master control station (MCS) and a number of monitor stations. The monitor stations passively track all GPS satellites in view, collecting ranging data and satellite clock data from each satellite. This information is passed on to the MCS where the satellite's future ephemeris and clock drift are predicted. Updated ephemeris and clock data are uploaded to each satellite for retransmission in each satellite's navigation message. The purpose of the control segment is to ensure that the information transmitted from the satellite is as accurate as possible.
The GPS is intended to be used in a wide variety of applications, including space, air, sea and land vehicle navigation, precise positioning, time transfer, altitude referencing and surveying. A typical GPS receiver comprises a number of subsystems, including an antenna assembly, an RF (radio frequency) assembly, and a GPS processor assembly. The antenna assembly receives the Lband GPS signal and amplifies it prior to insertion into the RF assembly. A significant factor affecting accuracy of the computed position, velocity or time parameters is the positional geometry of the satellite selected from measurement of ranges. Generally, a best position solution is obtained using satellites having wide angles of separation. Considerable emphasis has therefore been placed on designing antenna systems to receive, with uniform gain, signals from any point on the hemisphere.
The RF assembly mixes the Lband GPS signal down to a convenient IF (intermediate frequency) signal. Using various known techniques, the PRN code modulating the Lband signal is tracked through codecorrelation at the receiver. This provides the processing gain needed to achieve a signaltonoise (SNR) sufficient for demodulating the navigation data and signal transmission time. The Doppler shift of the received Lband signal is also measured through a carrier tracking loop. The code correlation and carrier tracking function can be performed using either analog or digital signal processing.
By differencing the signal transmission time with the time of reception, as determined by the clock of the receiver, the pseudo range between the receiver and the satellite being tracked may be determined. The pseudo range includes both the range to the satellite and the offset of the clock from the GPS master time reference. The pseudo range and Doppler measurements (and the navigation data) from four satellites are used to compute a three dimensional position and velocity fix, which calibrates the receiver's clock offset and provides an indication of GPS time.
In some known receivers, the receiver processor controller (RPC) functions are performed using a computer separate from that on which the navigation functions are performed. In other known receivers, both types of functions are performed by a single computer. The RPC processing and memory functions performed by a typical GPS receiver include monitoring channel status and control, signal acquisition and reacquisition, code and carrier tracking loops, computing pseudo range (PR) and delta range (DR) measurements, determining data edge timing, acquisition and storage of almanac and ephemeris data broadcast by the satellites, processor control and timing, address and command decoding, timed interrupt generation, interrupt acknowledgment control and GPS timing.
U.S. Pat. No. 5,225,842 describes an apparatus and method for computing the position and velocity of multiple low cost vehiclemounted sensors, monitored and tracked by a central control station. The receiver processor functions are physically separated from the navigation functions and the low rate data interfaces provided between the computers that perform these functions, thus achieving cost saving in the GPS sensor that is employed on board each vehicle.
One type of known GPS receiver is described in U.S. Pat. No. 4,114,155, wherein the position of a receiver responsive to C/A signals derived from multiple, orbiting spacecrafts is determined to an accuracy better than 300 meters. Each of the C/A signals has the same carrier frequency and a different, predetermined Gold code sequence that normally prevents position determination from being more accurate than to within 300 meters. C/A signals transmitted to the receiver are separately detected by crosscorrelating received Gold code sequences with plural locally derived Gold code sequences. Four of the detected C/A signals are combined to compute receiver position to an accuracy of 300 meters. To determine receiver position to an accuracy better than 300 meters, the relative phase of internallyderived Gold code sequences is varied over the interval of one chip (i.e., pulse) of each sequence, to derive second crosscorrelation values indicative of received and locallyderived Gold code sequences.
The basic approach followed most recently is to receive and process the signals from several of the GPS satellites in order to determine range to each satellite (and relative velocity). With perfect knowledge of range to only three of the GPS satellites, exact receiver position can be determined from the intersection of the three “spheres” induced by the known satellite positions and the derived receiver ranges. With receiver noise and imperfect knowledge of satellite positions, the receiversatellite ranges can only be estimated. Typically, errors from receiver noise are reduced by (effectively) averaging many range calculations.
In the above most recent approach, the range from a particular satellite is estimated by reading a time stamp from the satellite's data stream (the transmission instant), subtracting this from the reception time, and multiplying the time difference by the speed of light. Any error in satellite and receiver clock synchronization leads to proportional range errors. Because the same clock is used in receiving from all satellites, there is only one unknown receiver clock “bias”. By using a fourth (or more) satellite, the clock bias and ranges can be jointly estimated.
At the receiver, the reception time is determined by performing a crosscorrelation of the received data with a local replica of the known satellite Gold code, and noting the time of a chosen correlation peak, and its position relative to the time stamp. The satellite signal structures use Code Division Multiple Access (CDMA) so that the above cross correlation is part of the standard GPS receiver processing.
The abovedescribed system that follows the most recent basic approach assumes that each receiver must determine its own position. In the system of the invention, there is a central facility or station that needs the receiver positions and can communicate with the receivers. Each tracked object (e.g., a railcar) carries a GPSbased receiver that processes data from several of the visible GPS satellites. However, the full position determination is not made at the railcar. Instead, only partial processing is done at the railcar and intermediate results are transmitted to the central station. The forms of both the partial processing and intermediate results are chosen to minimize the complexity and energy requirements at the railcars.
The standard GPS system requires that the transmittime stamps, satellite ephemeris and other correction data be decoded from each satellite's data stream at the tracked object. The receiver is thus required to process data from each satellite long enough (between six and 150 seconds) to synchronize with, and decode, these data. This consumes significant power.
Briefly, in accordance with a preferred embodiment of the invention, a method for identifying location of an asset or object to be tracked comprises measuring data related to propagation time differences between signals transmitted from a plurality of satellites and received at the object to be tracked, transmitting the data to a central station, and calculating, at the central station, the location of the object to be tracked based upon the transmitted data. The data received at the object to be tracked may include data identifying a respective associated satellite by, for example, a satellite identification number, such that the step of calculating the location of the object to be tracked is thereupon based further upon the satellite identification numbers.
In another preferred embodiment, a reducedpower GPSbased system for tracking location of an asset or object from a central location comprises a central station at the central location, and an object to be tracked which includes means for receiving signals from at least four GPS satellites, first processor means for processing data from the receiver means propagation time differences for the signals, and transmission means for transmitting the processed data to the central station. Second processor means situated at the central station determine location of the object based upon the data received from the transmission means.
In still another preferred embodiment, a reducedpower GPSbased system for tracking multiple objects from a central location comprises a central station at the central location, and a plurality of objects to be tracked. Each of the objects includes receiver means containing an antenna for receiving signals including data related to the propagation time differences of the signals from at least four GPS satellites, first processor means for calculating a receiver code word phase for each of the satellites based upon the signals received by the receiver means, and transmission means for transmitting the code word phase to the central station. Second processor means are provided at the central station for determining the signal propagation times between the plurality of satellites and each of the tracked objects based on the receiver code word phase transmitted by the respective object and for determining from the signal propagation times the location of each respective one of the objects.
In another preferred embodiment, a reducedpower GPSbased system for tracking location of multiple objects from a central location comprises a central station at the central location, and an object to be tracked which includes means for receiving signals including data related to propagation time differences of said signals from at least four GPS satellites, first processor means for calculating a receiver codetime offset for each of the satellite signals and for determining the receiver code period for each signal, and for determining identification numbers of the at least four GPS satellites, and transmission means for transmitting the receiver codetime offsets, code periods, and identification numbers to the central station. Second processor means at the central station determine the signal propagation times between the plurality of satellites and the tracked object and determine location of the object based upon the receiver codetime offsets, code period, and satellite identification numbers transmitted by the transmission means.
In still a further preferred embodiment, a reducedpower GPSbased system for tracking location of an object from a central location comprises a central station at the central location, and an object to be tracked which includes means for receiving transmission signals from at least four GPS satellites, first processor means for calculating a receiver bit phase for each of the satellite signals based upon the signals received by the receiver means, means for keeping track of time at the object, and transmission means for transmitting the bit phase signals and time signals to the central station. Second processor means are provided at the central station for determining the signal propagation times between the plurality of satellites and the object and for determining location of the object based upon the bit phase and time signals transmitted by the transmission means.
Utilizing the present invention, power consumption and calculation complexity at the tracked object are reduced relative to that for a standard GPS receiver. Arrival time differences between satellite signals are measured at the tracked object and this information is relayed to the central station via the separate communications link. Satellite data streams need not be decoded at the tracked object.
The central station thereby necessarily determines the location of the object to be tracked. Because the receiver front end and data processor use significant power only when processing, the receiver power can be dramatically reduced by being “active” only long enough to get accurate timedifference measurements. This can be less than one second and requires no GPS dataframe synchronization because of the nature of the signals. For example, assuming that the tracked object is a railcar, new railcar locations typically are needed only as frequently as 15 minutes. Thus the receiver energy used is reduced in direct proportion to the reduction of “active” receiver time. Moreover, receiver complexity and cost can be reduced by replacing the advanced microprocessor employed in current GPS receivers with a simpler one that is matched to the arrivaltime differencing tasks.
In accordance with the invention, one object is is to provide a GPSbased asset tracking system in which processing is performed at a location remote from the tracked assets and based upon specific recognizable variables.
Another object is to provide a GPSbased asset tracking system which requires minimal energy at the tracked assets.
The features of the invention believed to be novel are set forth in the appended claims. The invention, however, together with further objects and advantages thereof, may best be understood by reference to the following description taken in conjunction with the accompanying drawing(s) in which:
The present invention is directed to a system and method for reducing the power and complexity requirements of a local GPS receiver, which can be carried by a railcar, by effectively requiring only measurement of arrivaltime differences between a plurality of GPS satellite signals. Data related to these time differences are transmitted to a central station where the majority of calculations required to determine the receiver (railcar) location are performed. In the preferred embodiments, a standard CDMA receiver is employed with radio frequency/intermediate frequency (RF/IF) front end and Goldcode cross correlators.
In
Each satellite 12 includes its own set of clock correction parameters within its data stream. These allow a receiver to ascertain the absolute transmission timing for each satellite with respect to a common GPS standard time. A particular satellite's clock may drift relative to those of other satellites. The GPS system control monitors these offsets and periodically includes them in the satellite's data stream. The clock time offsets are not needed at the individual receivers and can be determined at central station 16 by utilizing a standard GPS receiver there or at a remotely controlled site.
As shown in
As shown in
In the long time scale data frame shown in
A Goldcode correlator output waveform r_{i}(τ) for satellite i is illustrated in
With respect to a particular time t_{R }at a railcar receiver, the receiver codetime offset for satellite i is γ_{i}. The receiver codetime offset is the time elapsed to a time t_{R }from the beginning of the code word (cycle) in which t_{R }falls. Similarly, the receiver bittime offset β_{i }is the time elapsed to time t_{R }from the beginning of the bit in which t_{R }falls. The satelliterailcar radial velocity component varies for different satellites and this results in a relative waveform expansion or compression (Doppler) at the railcar. Thus the observed code and bit periods are satellite dependent. The code and bit periods observed at the railcar for satellite i are designated as T_{i} ^{C }and T_{i} ^{B}, respectively.
Frequently, the railcar receiver will use satellite signals that are not visible from (i.e., cannot be received by) the central station. This presents no problem because the satellite clocks drift slowly (less than five nanoseconds error per hour). If, at the railcar receiver, time differences are calculated using a satellite that is not visible at the central station, then, at the central station, the last calculated clock offset for that satellite can be used (or extrapolated, based on past drift rate) until that satellite is again visible. As an alternative, central station 16 (
A key feature of the present invention is the provision of a method for determining location of the object (here, a railcar) to be tracked. In a first method (“method 1”), the object's location is accurately determined from propagation time differences between at least five satellite' signals received at the tracked object. This method requires no measurement of time at the tracked object. The propagation time difference between signals from satellites i and j is defined as Δ_{ij}=τ_{j}−τ_{i}, where τ_{i }is the signal propagation time from satellite i to the railcar. These propagation times are not directly measured at the receiver but are calculated from received code word or bit phases, as described below (see equations 8 and 9). The satelliterailcar ranges and propagation time differences are related by the equation
R_{i}(t, t−τ_{i})−R_{1}(t, t−τ_{1})=CΔ_{1i}(t), (1)
or:
R_{2}(t, t−τ_{2})−R_{1}(t, t−τ_{1})=CΔ_{12}(t)
R_{3}(t, t−τ_{3})−R_{1}(t, t−τ_{1})=CΔ_{13}(t)
R_{4}(t, t−τ_{4})−R_{1}(t, t−τ_{1})=CΔ_{14}(t)
R_{5}(t, t−τ_{5})−R_{1}(t, t−τ_{1})=CΔ_{15}(t)
where R_{i}( ) is a function of the parameters in its argument and is discussed below. In equation (1), t is the common time at which the signals are measured at the receiver, C is the speed of light, and
R _{1}(t,t−τ _{1})=[(x(t)−x _{i}(t−96 _{i}))^{2}+(y(t)−y _{i}(t−τ _{i}))^{2}+(z(t)−z _{i}(t−τ _{i}))^{2}]^{1/2 } (2)
is the range from the i'th satellite to the railcar receiver. Also, x_{i}, y_{i }and z_{i }are timedependent coordinates for satellite i and are specified by the satellite's ephemeris equations. For satellite i, the signal received at time t=t_{R }was transmitted at time t_{R}−τ_{i}, which is now defined as t_{i} ^{T}. Time t_{R }is identical for all of the satellites. Furthermore, the propagation times are related by
τ_{i}=τ_{1}+Δ_{11}. (3)
For any particular measurement time t=t_{R}, equation (1) can be rewritten as
R _{2}(x,y,z,t _{1} ^{T}−Δ_{12})−R _{1}(x,y,z,t _{1} ^{T})=CΔ _{12 } (4)
R _{3}(x,y,z,t _{1} ^{T}−Δ_{13})−R _{1}(x,y,z,t _{1} ^{T})=CΔ _{13 }
R _{4}(x,y,z,t _{1} ^{T}−Δ_{14})−R _{1}(x,y,z,t _{1} ^{T})=CΔ _{14 }
R _{5}(x,y,z,t _{1} ^{T}−Δ_{15})−R _{1}(x,y,z,t _{1} ^{T})=CΔ _{15 }
The corresponding satellite transmission times are needed to properly determine the satellite locations needed in equation (2). From equations (2), (3) and (4), the object coordinates x, y, z and the transmission time t_{1} ^{T }form the only unknowns. Yet the time delay differences in equation (1) do not have to be calculated with reference to satellite (1); i.e., any satellite pairing will be satisfactory as long as the four equations in (1) utilize unique pairings.
Using these simultaneous equations at central station 16 (FIG. 1), four time delay differences determine a point at the intersection of four hyperbolic sheets in three dimensional space as well as the unknown transmit time, t_{1} ^{T}. The other satellite transmission times t_{2} ^{T}, t_{3} ^{T}, t_{4} ^{T}, and t_{5} ^{T }are then found from the equation:
t _{1} ^{T} =t _{1} ^{T} −Δ1i. (5)
The resultant values are utilized to determine the satellite locations needed in equation (2). The nonlinear equations (4) are readily solved with standard techniques using iteration. It is not necessary that time t_{R }be measured at the railcar receiver. This value can be found, if desired, at the central station from the equation:
t _{R} =t _{1} ^{T} +R _{1} /C. (6)
In the present invention, the propagation time differences Δ_{ij }are not directly measured at the railcar receiver. Instead, only the code or bit phases associated with reception time t_{R }are measured, and these data, or their differences including the satellite identifications, are transmitted to the central station. This permits the railcar receiver to focus only on cross correlation and to operate long enough to get a sufficient SNR (SignaltoNoise Ratio) through averaging. In general, the averaging times are so brief that any Doppler shifts can be considered as constants. Thus the bit and code periods are constant during these periods. Railcar locations can be determined at the central station by calculating the true differential delays from the measured phases, as described below, and using them in equations (1) through (5).
In determining the propagation time difference between two satellite signals, it is assumed that the Doppler shift is constant locally, i.e., that the satelliterailcar propagation delay changes linearly with time. Using this assumption, a particular relative position in a received code word or databit cycle corresponds to the same relative position in the associated transmitted code word or databit cycle. From the previous definitions, and as shown in
t _{R}=t_{1} ^{s} t+T ^{C}(m _{i} +μ _{i})+τ_{i}. (7)
Pursuant to equation (7), t_{i} ^{s }is the time when the start of a currently received frame was transmitted, m_{i }is the integer number of code periods between time t_{R }and the beginning of the received data frame, and μ_{i }is the receiver code word phase at time t_{R }and is defined as
μ_{i}=γ_{i} /T _{i} ^{C } (8)
where γ_{i }is the receiver codetime offset at the receiver, and T_{i} ^{C }is the code period (at time t_{R}) in the received data frame. T^{C }is the common code period at all transmitters. Because the Doppler shift is constant, it is true that
ε_{i} /T ^{C}=γ_{i} /T _{i} ^{C } (9)
so the relative code word phase in the transmitted waveform at time t_{R}−τ_{i }is equal to μ_{i }that was measured at the receiver at time t_{R}. From equation (7), the propagation time difference between signals from satellites i and j is
Δ_{ij}=τ_{j}−τ_{i} =a _{j} −a _{i} +T ^{C}(m ^{i} −m _{j})+T ^{C}(μ_{i}−μ_{j}) (10)
which utilizes the equation t_{i} ^{S}=t_{GPS}+a_{i }for each i. At the central station, a_{i}, a_{j }and T_{C }are known, t_{GPS }is the chosen reference time, and μ_{i }and μ_{j }are received from the tracked object as measurements. The integers m_{i }and m_{j }are unknown and yield ambiguity as discussed below. At the receiver, time t_{R }can be chosen to align with the first satellite's received code word boundary. Then μ_{1}=0 by convention and the other four phases can be sent to the central station. In this way, the central station can know the individual phase values as well as their differences. Knowledge of each phase value at the central station constrains each unknown associated transmission time to be on a lattice of time points that have that phase value.
While the above discussion illustrates how the several satellite propagation time differences can be deduced from receiver code word phase measurements, as an alternative, receiver bit phases can be measured. In this instance, μ_{i }of equation (8) becomes the bit phase when γ_{i }is replaced by β_{i}, and T_{i} ^{C }is replaced by T_{i} ^{B }such that μ_{i}=β_{i}/T_{i} ^{B}. A relationship similar to equation (9) also holds for bit phases. Finally, in equation (10), m_{1 }and m_{i }become the unknown integer number of bit periods. In either instance, the unknowns m_{i }and m_{j }cause a periodic ambiguity in propagation time difference Δ that must be resolved. This ambiguity has a period of approximately one millisecond for code periods and 20 milliseconds for bit periods.
Because each possible propagation time difference value induces a threedimensional hyperbolic sheet for the railcar location solution, the ambiguity in Δ induces multiple sheets for each value of Δ. On an assumed flat earth, the sheets from just one phase difference form a set of hyperbolas with the positions of satellites i and j as the foci. Phase differences from other satellite pairs induce difference hyperbola sets. The only feasible railcar location solutions are those where there is a congruence of one hyperbolic sheet from each participating satellite pair. With ambiguous time differences from four satellites, only a small set of possible joint ambiguity images yield intersecting hyperbolas near the earth's surface, and the set is further reduced as more satellites are used.
Timedelay difference and satellite location accuracies are such that the location solution regions from each satellite pair are very narrow relative to the ambiguity spacing, as shown in FIG. 5. Thus the several ambiguous time delay differences yield a small set of possible railcar locations.
The use of bittime differences provides advantages over codetime differences because the former yield a smaller number of possible location solutions. The 20 millisecond period for bittime differences always yields a location ambiguity spatial period of at least 1500 miles at the earth surface, while for codetime differences the ambiguity spatial period is only 75 miles. This shortest ambiguity period assumption is derived by assuming the two satellites involved are on the horizon in opposite directions. For railcar tracking applications, car locations will be known apriori to within 1500 miles, so a 1500 mile ambiguity is not a problem. Receiver bit phases, however, are slightly complicated to derive because the satellite's binary data stream is NRZ coded.
Using an NRZ code sequence, a sequence of identical bits has not transitions and bit locations are not visible. However, with GPS data, such sequences are very short, so that bit edges are readily observed. Once a single bit transition has been observed, the receiver bit phase for the chosen time t_{R }is readily deduced because the code period is observed and there are always 20 code cycles per bit period. Furthermore, each bit boundary coincides with a code word boundary.
In order to solve equation (4) for the railcar receiver location, the propagation time delay differences are first found, as from equation (10). In equation (10), (m_{i}−m_{j}) is the unknown integer part of the code or bit period offset between the signals received from satellites i and j. For a given measurement of μ_{i }and μ_{j}, equations (10) and (4) yield a different location solution for each value of (m_{i}−m_{j}). Conceptually, each integer value of (m_{i}−m_{j}) must be tried, and the resulting position solution must be checked against known bounds for validity. In earthbound (e.g., railcar) applications, altitude is a simple bound against which each position solution can be checked. Also, railcar velocities are constrained, so that new locations cannot be extremely different from previous locations.
Most of the ambiguous solutions are at invalid altitudes, far from the earth's surface. To avoid wasteful calculation, it is desirable to directly limit the values of (m_{i}−m_{j}) that are used in equation (10). The GPS satelliteearth geometry constrains each time t_{i }to be between 58.5 and 79.9 milliseconds (ms). This is true because GPS satellites orbit at approximately 25×10^{3 }km above the earth's center so that the delay from directly overhead is 58.5 ms while the delay from a satellite on the horizon (nearly 4000 miles farther away) is 79.9 ms. The delay difference between two satellites is therefore constrained to the interval [−21.4, 21.4] milliseconds. At the central station, equation (10) is readily used to deduce values of (m_{i}−m_{j}) that satisfy this interval constraint. If code phases are measured, there are approximately 43 feasible values of (m_{i}−m_{j}) for each measured (μ_{i}−μ_{j}). Thus there are 43 values for each Δ_{ij }in equation (4). If bit phases are measured, there are only 2 or 3 feasible values for each propagation time difference Δ_{ij }and the resulting list of possible railcar locations will be much shorter.
To summarize the foregoing objecttracking method (“method 1”), five satellite signals must be received. Five receiver code word or bit phases are measured, as are the associated satellite identification numbers, and these are sent to the central station. From these measurements a list of feasible railcar locations is determined at the central station. The basic steps are:
1. Phases μ_{1 }through μ_{5 }are measured along with their corresponding satellite numbers and these data are sent to the central station. The measured phases can be code word phases in the simplest receiver, or databit phases in a slightly more complex receiver. Bit phase could be specified as code word phase plus an integer number of code words offset from the bit transition.
2. A standard GPS receiver at the central station determines satellite transmission offsets a_{1 }through a_{5 }that are valid around the time the receiver measurements are received at the center. Validity of each satellite ephemeris equation is determined for the same time period.
3. At the central station, reasonable values for the integer offsets (m_{1}−m_{j}) for j from 2 through 5 are selected, and equation (10) is used to calculate Δ_{1j }for j from 2 through 5.
4. At the central station, an initial value for t_{1} ^{T }is chosen and equation (5) is used to find corresponding values for t_{i} ^{T }for i from 2 through 5. The value of t_{1} ^{T }is constrained such that the transmitted bit or codeword phase at t_{1} ^{T }has the measured phase, μ_{1}. The integer m_{1 }is indirectly specified when choosing a t_{1} ^{T }that satisfies the above constraint. At the central station, the initial value for transmit time t_{1} ^{T }may be set to an approximation of the receiver message time t_{R}, if known. In a railcartracking application, time t_{R }could be known to within several minutes at the central station (without any communication of time values).
5. Standard iterative methods are used with equations (1) and (2) in order to solve for the railcar receiver (x, y, z) position and transmission time t_{1} ^{T}. In equation (2), the ephemeris equation for each satellite is included in the iteration. The last reported location can be used as the initial values for x, y, and z in the iteration.
6. Steps 3 through 5 are then repeated for each feasible combination of integer offsets (m_{1}−m_{j}) from 2 through 5. This yields a list of potential railcar receiver location solutions.
An advantage of the tracking method described above is that requirements for receiver clock accuracy are minimal. Railcar time is not part of the measurement set.
The present invention may alternatively employ a second method (“method 2”) for determining location of an object being tracked. The second method is similar to the first method, except that only four satellites are used and the railcar receiver message time t_{R }must be made known to the central station, (e.g., measured and transmitted to the central station). By using four satellites, only three independent propagation time differences can be obtained from the receiver code word or bitphase measurements. To determine the railcar location, the time at which these propagation time differences are valid must be known. More specifically, as shown in
R _{2}(x,y,z,t _{1} ^{T}−Δ_{12})−R _{1}(x,y,z,t _{1} ^{T})=CΔ _{12 } (11)
R _{3}(x,y,z,t _{1} ^{T}−Δ_{13})−R _{1}(x,y,z,t _{1} ^{T})=CΔ _{13 }
R _{4}(x,y,z,t _{1} ^{T}−Δ_{14})−R _{1}(x,y,z,t _{1} ^{T})=CΔ _{14}.
In equation 11, the Δ_{1j }terms are derived from the measured code word or bit phases with ambiguities as in the first tracking method. Also as in the first method, (t_{1} ^{T}−Δ_{1i}) is the transmission time from the i'th satellite corresponding to reception time t_{R}. This transmission time determines the satellite location from the ephemeris equations, and the satellite locations are needed to determine the ranges in equations (11). The Δ_{1i }values are known at the central station from the received measurements and equation (10). Furthermore, time t_{1} ^{T }is related to time t_{R }by
t _{1} ^{T} =t _{R}−τ_{1}(x,y,z,x _{1}(t _{1} ^{T}),y _{1}(t _{1} ^{T}),z _{1}(t _{1} ^{T})). (12)
Here τ_{1 }is the GPS signal propagation delay from satellite 1 and depends, as shown, on location of the object being tracked, and satellite location. The satellite location (x_{1}, y_{1}, z_{1}) depends, in turn, on time t_{1} ^{T}. Therefore, if time t_{R }and the satellite ephemeris equations are known, then time t_{1} ^{T }depends only on the location of the object being tracked. For a given location of the object being tracked, equation (12) can be solved iteratively for t_{1} ^{T}. After convergence, the value of t_{1} ^{T }can be modified to the nearest point of the time grid induced by equations (8) and (9) and the known (measured) value of μ_{1 }so as to obey the previously mentioned lattice constraint. To speed convergence, this constraint can be applied after each iteration. Equations (11) and (12) together form a system of nonlinear equations with object location (x, y, z) as the only unknowns, and these equations can be solved using standard iterative techniques.
In many railcar tracking applications (e.g., when the railcar is traveling), extreme accuracy is not required. In such cases, t_{i} ^{T }can be approximated by t_{R}−(79.9−58.5)/2. As stated earlier in the description of the first tracking method, the GPSsignal transmission times (t_{i} ^{T}) must lie between t_{R}−79.9 ms and t_{R}−58.5 ms. This yields at t_{1} ^{T }uncertainty of 21.4 ms if t_{R }is known. The satellites travel at approximately 3.49 km per second so that a t_{i} ^{T }uncertainty of 21.4 ms yields a satellite location (x, y or z) uncertainty of, at most, 74.8 meters, which translates directly to a similar uncertainty in railcar receiver location. This may provide sufficient accuracy for most railcartracking applications. If greater accuracy is desired, equation (12) can be included in the iterative solution of equation (11) to determine location of the object being tracked. The initial value for t_{1} ^{T }can be set equal to t_{R }and equation (11) iterated to solution for (x, y, z). This result and the initial value for t_{1} ^{T }can then be used to initialize an iteration for solving equation (12). This yields an improved value for t_{1} ^{T }which can be used with the previous (x, y, z) solution to initialize another iterative solution of equation (11). This cascade of iterations will rapidly converge to the correct railcar location, subject to the (m_{i}−m_{j}) induced ambiguities.
Small errors in t_{R }can be tolerated because t_{1} ^{T }must obey the previouslymentioned lattice constraint. Thus if the received codework or bit phases μ_{i }are measured at time t_{R}, but the measured time is actually reported as t_{R }plus some error ε, the railcar location will be accurately calculated for time t_{R }if the value of ε is less than onehalf of the code word (databit) period. If desired, the correct value for t_{R }can be determined following completion of the iteration using the following equation:
t _{R} =t _{1} ^{T} +T _{1} /C. (13)
In performing this method of tracking an object, it is assumed that the reception time t_{R }for the railcar receiver can be accurately measured and used to find the relevant satellite transmission times. This is easily done if the object being tracked includes an accurate clock and its time reading at t=t_{R }is sent to the central station. Alternatively, time t_{R }can be determined at the central station by determining the time of data arrival at the central station and using this as a reference. As shown in
t _{R} =τ _{3}−(τ_{3}−τ_{2})−(τ_{2}−τ_{1}). (14)
As indicated in
If a more accurate railcar location is required, the uncertainty in geostationary satellite delay (due to uncertain railcar location) can be eliminated with an iteration scheme such as that discussed earlier (for the GPS signal delays). Initially, the railcar location is calculated at the central station by assuming a particular feasible value for the communication delay (τ_{3}−τ_{2}). With the new railcar location and the known satellite 19 and central station 16 positions, the communication delay is recalculated. This corrected delay is then used in equation (14) to correct the value t_{R}. The new value of t_{R }is used, as described earlier, to find a railcar location. This iteration can continue until little change in railcar location is observable.
For accurate results from this approach, the data storage delay (τ_{2}−τ_{1}) must be short enough such that the railcar receiver clock yields an accurate storage delay measurement. In a preferred embodiment, the railcar will collect timedifference data approximately every 15 minutes and report these data to the central station hourly. Thus the storage delay (τ_{2}−τ_{1}) for the first measurement set could be up to 60 minutes, or 3600 seconds. An inexpensive receiver clock may keep time to one part in one million, so that a 3.6 ms error may accrue in 3600 seconds. This error is directly reflected in the measured value of t_{R}. If the residual error in t_{R}, due to receiver clock drift, is kept to less than onehalf of the code word or databit period, the iteration method described above will reduce the residual railcar location error to zero.
To summarize this second objecttracking method (“method 2”), four satellite signals must be received. Four receiver code word or bit phases are measured, as are the associated satellite identification numbers and the single measurement time, and these are sent to the central station. The basic steps are:
1. Code word or bit phases μ_{1 }through μ_{4 }and their associated satellite numbers are measured at reception time t_{R}. These data, including the measurement time t_{R}, are sent to the central station. The bit phase can be specified as code word phase plus an integer number of code words offset from a bit transition. If an accurate clock is not available at the railcar receiver, the datastorage time (τ_{2}−τ_{1}) at the railcar receiver is sent instead of the actual measurement time.
2. If storage time is measured at the object being tracked and sent to the central station, then the time of data reception (τ_{3}) at the central station is determined and used with storage delay (τ_{2}−τ_{1}), and with the known bounds on transmission delay between the object being tracked and central station (τ_{3}−τ_{2}), to estimate the measured common reception time t_{R }from equation (14).
3. A standard GPS receiver is used at the central station to determine satellite transmission offsets a_{1 }through a_{4 }and the satellite ephemeris equations that are valid near the measured reception time t_{R}. Because these parameters change relatively slowly, and because the delay between a GPS satellite and the object being tracked is short, these parameters will be valid at the several satellite transmission times.
4. At the central station, reasonable values for the integer offsets, (m_{1}−m_{j}) for j from 2 through 4 are selected, in view of limitations on these offsets that are induced by satelliteearth geometry, prior object location, object velocity limits, etc. Equation (10) is used to calculate propagation time difference Δ_{1j }for j from 2 through 4.
5. At the central station, an initial value for time t_{1} ^{T }is chosen based on μ_{1}, and on limitations on the communication delay (τ_{3}−τ_{2}) and bounds on the GPS signal travel delays (τ_{i}). An effective simple initial value is t_{1} ^{T}=t_{R}.
6. Equation (5) is then used to calculate corresponding values for t_{i} ^{T }for i from 2 through 4.
7. Standard iterative methods are then used to solve equation (11) for railcar receiver location (x,y,z). Because the values t_{i} ^{T }are fixed, the ephemeris equations are evaluated only once during this iteration.
8. For higher accuracy, the new (x, y, z) result is used with equation (12) to iteratively solve for an improved value of t_{1} ^{T}. This can be done either after step 7 has converged, or after each iteration of step 7.
9. Steps 6 through 8 are repeated, terminating after step 7 if the new position (x, y, z) is substantially unchanged.
10. Steps 4 through 9 are repeated for each feasible combination of integer offsets, (m_{1}−m_{j}) for j from 2 through 4. This yields a list of potential railcar location solutions.
An advantage of this second method of object tracking is that only four satellite signals must be received. Furthermore, the iteration for finding railcar location is less timeconsuming because the search for the correct GPS transmission times is substantially eliminated.
For some communication methods, the communication delay time cannot be determined with sufficient accuracy. In such cases, other methods for determining receiver and transmission times must be used. One approach is to utilize a unique mark (unique over a sufficient period) in any one GPS satellite's data stream as a time reference at the tracked object, and to measure reception or receiver time t_{R }relative to this received mark. Because the mark is unique, it can be found in the GPS signal received at the central station and its transmission time can be determined accordingly. Hence the transmission time associated with reception time t_{R }can be found by adding the measured offset to the mark time. All other satellite transmission times t_{i} ^{T }can then be found from the known offsets a_{i }at the central station. Utilizing equations (11) and (13), the railcar receiver locations and associated receiver times are calculated.
The GPS telemetryword preamble (TWP) is a specific eightbit sequence (10001011) that is transmitted at the beginning of every sixsecond subframe from each satellite and is a standard synchronization mark. This sequence cannot be falsely replicated by any prefix or postfix of up to six bits in length. If a short periodic receiver window is synchronized with a signal event such as the TWP from one of the satellites whose data is to be processed, and this window is used to occasionally “awaken” or activate the railcar receiver for TWPsynchronized GPS signal processing, little or no extra power will be required at the railcar receiver to support learning the transmission times at the central station. This TWP windowing scheme is useful if the uncertainty in satellite transmission times is less than six seconds. Initial window synchronization may require up to a full six seconds of GPS data processing to ensure TWP acquisition but, once acquired, the window can easily be tracked by noting the position of each TWP in its surrounding window and altering the window timing to keep the TWP centered. With inexpensive clocks at the railcar receiver, the window can drift on the order of only 3.6 ms per hour. If the signal TWP region is also used for the timedifference processing, then the window can drift only on the order of 3.6/4 ms over the 15 minute intermeasurement interval. Since the TWP sequence is unique within ±6 bit periods (120 ms), use of a 100 ms window ensures that the TWP will not be missed or falsely recognized.
If the transmission delay to the central station has uncertainty greater than six seconds, the TWP windowing scheme can be augmented with GPS timestamp decoding at the receiver. The GPS time stamp is encoded in the data stream at a fixed short delay from the TWP word. The TWP window can be used to enable timestamp decoding, and the time stamp can be sent to the central station as an estimate of the receiver time t_{R}. As an alternative, time t_{R }can be chosen at the railcar receiver to coincide with the TWP word boundary on satellite channel number 1, and the following time stamp can be decoded and sent to the central station. The correct value for time t_{1} ^{T }is then easily found at the central station as the value of the time stamp prior to that from the receiver.
The above railcar receiver windowing scheme need be implemented only on one of the satellite signals in order to determine receiver time t_{R}. However, if a separate TWP receiver window is formed, respectively, for each satellite signal, then all timedelay ambiguities associated with code or bit periods are readily resolved by noting the TWPrelative time at the end of the correlation process for each signal. This simplifies processing at the central station at the expense of extra window processing and receiver “on” time at the railcar receiver.
A further method for determining time is to broadcast time signals via a separate channel accessible to the railcar receivers. For example, time signals may be transmitted over a separate geostationary satellite link on a onesecond grid or smaller, thereby easing railcar receiver clock accuracy requirements. This method results in a railcarlocation dependent delay from the central station to the railcar receiver. The delay can be accounted for by using iterations in a manner similar to that described above.
While only certain preferred features of the invention have been illustrated and described, many modifications and changes will occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.
Attached hereto, as Appendix A, is a source code listing which may be utilized by the central station to calculate the location of the object being tracked, pursuant to method 1 herein.
APPENDIX A  
Source Code Listing  
% ROGPS  Solves for user position and time based on ephemeris equations  
% and on timedifference measurements for 5 GPS satellites.  
% U (3×1) the users position  
% time (1×1) seconds  
% Ub (3×1) an initial guess at the users position  
% dU (3×1) is the adjustment made on the initial guess  
% sat (3×5) is the location of each satellite  
% H (4×4) matrix differentiating r_diff wrt (U,t)  
% sat0 is the (3×5) matrix of 5 sat positions at beginning of  
% interpolation interval.  
% sat2 is the (3×5) matrix of 5 sat positions at end of interpolation interval.  
% V is a (3×5) matrix of velocities for all 5 satellites.  
dU = 0;  
% step 1: Guess an initial Ubar, and time.  
U_true = [1300748.12;−4500694.5;4313770.5]; % Actual user location  
Ub = [1200748.12;−4400694.5;4319770.5]; % User location guess  
time_true = 483738.75;  
time = 483638.75;  
interval = 300; % Linear interpolation (half) interval for sats.  
% select five satellites  
% Files that contain ephemeris constants. These happen to be  
% visible at the data collection time.  
sv1 = sv7_eph;  
sv2 = sv2_eph;  
sv3 = sv9_eph;  
sv4 = sv4_eph;  
sv5 = sv12_eph;  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
%  
% Synthesize measurement vector  
%  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
% For now, ignore that satellites move during signal propagation  
% time. Thus, set ephemeris time to measurement time, time_true,  
sv1(1) = time_true;  
sv2(1) = time_true;  
sv3(1) = time_true;  
sv4(1) = time_true;  
sv5(1) = time_true;  
% Get satellite positions  
sat(:,1) = satellite_ephemeris(sv1);  
sat(:,2) = satellite_ephemeris(sv2);  
sat(:,3) = satellite_ephemeris(sv3);  
sat(:,4) = satellite_ephemeris(sv4);  
sat(:,5) = satellite_ephemeris(sv5);  
% Calculate perfect measured range differences.  
for i = 1:4  
r_diff_t(i) = norm(sat(:,1) − U_true) − norm(sat(:,i+1) − U_true);  
end  
% Add noise to the measurements  
light_speed = 3e8;  % Meters/sec  
dt_sigma = 1e7;  % One tenth of a chip.  
% r_diff_m = r_diff_i + (light_speed * dt_sigma * randn(1,4));  
r_diff_m = r_diff_t + [0 0 0 10];  
r_diff_m = r_diff_m′;  
dr_var = dt_sigma * 3e8 * dt_sigma * 3e8;  
r_diff_covar = [  dr_var  0  0  0; . . . 
0  dr_var  0  0; . . .  
0  0  dr_var  0; . . .  
0  0  0  dr_var]  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
%  
% Find satellite average velocities  
%  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
% Set time to beginning of interpolation interval  
% First element of svi is always time.  
sv1(1) = time − interval;  
sv2(1) = time − interval;  
sv3(1) = time − interval;  
sv4(1) = time − interval;  
sv5(1) = time − interval;  
% Get satellite positions  
satA(:,1) = satellite_ephemeris(sv1);  
satA(:,2) = satellite_ephemeris(sv2);  
satA(:,3) = satellite_ephemeris(sv3);  
satA(:,4) = satellite_ephemeris(sv4);  
satA(:,5) = satellite_ephemeris(sv5);  
% Set time to end of interpolation interval.  
sv1(1) = time + interval;  
sv2(1) = time + interval;  
sv3(1) = time + interval;  
sv4(1) = time + interval;  
sv5(1) = time + interval;  
% Get satellite positions.  
satB(:,1) = satellite_ephemeris(sv1);  
satB(:,2) = satellite_ephemeris(sv2);  
satB(:,3) = satellite_ephemeris(sv3);  
satB(:,4) = satellite_ephemeris(sv4);  
satB(:,5) = satellite_ephemeris(sv5);  
% calculate x,y,z velocities (in m/s)  
V = (satB−satA)/interval;  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
%  
% Form initial H matrix of partials  
%  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  
% Partials taken at guessed time and user position.  
% Need partials of sat coordinates w.r.t. time. Over the “interval”  
% specified above we assume sat velocity is constant. Set partials  
% to sat velocities. Compute vector and range from object to each  
% satellite.  
% Get satellite positions at guessed time.  
sv1(1) = time;  
sv2(1) = time;  
sv3(1) = time;  
sv4(1) = time;  
sv5(1) = time;  
sat(:,1) = satellite_ephemeris(sv1);  
sat(:,2) = satellite_ephemeris(sv2);  
sat(:,3) = satellite_ephemeris(sv3);  
sat(:,4) = satellite_ephemeris(sv4);  
sat(:,5) = satellite_ephemeris(sv5);  
% Compute estimated sat user vectors and ranges.  
for i = 1:5,  
sat_U(:,1) = sat(:,i) − Ub;  
range(i) = norm(sat_U(:,i));  
DV(:,i) = sat_U(:,i)/range(i);  
end  
% Form H matrix of partials at estimated user location and time;  
% i'th row of H is H = (pD1i/px, pD1i/py, pD1i/pz, pD1i/pt)  
% First three elements is just the difference between the normalized  
% direction vectors to the first and to the i'th satellites.  
% Last element is difference between 1st and i'th inner products  
% of direction vectors with satellite velocity vectors.  
for i = 1:4,  
H(i,1:3) = DV(:,i+1)′ − DV(:,1)′;  
H(i,4) = DV(:,1)′ * V(:,1) − DV(:,i+1)′ * V(:,i+1);  
end  
% now compute the first estimate of G  
% G = inv(H);  
loop = 0; epsilon = 1; %meter  
while (loop < 20)  
loop = loop + 1;  
% step 3  
% Substitute t into ephemeris data and get positions at guessed time.  
% Here we use actual ephemeris equations to find sat positions,  
% but note that the time derivatives of sat position are taken from  
% the linear interpolation.  
sv1(1) = time;  
sv2(1) = time;  
sv3(1) = time;  
sv4(1) = time;  
sv5(1) = time;  
sat(:,1) = satellite_ephemeris(sv1);  
sat(:,2) = satellite_ephemeris(sv2);  
sat(:,3) = satellite_ephemeris(sv3);  
sat(:,4) = satellite_ephemeris(sv4);  
sat(:,5) = satellite_ephemeris(sv5);  
sat1(:,loop) = sat(:,1);  
sat2(:,loop) = sat(:,2);  
sat3(:,loop) = sat(:,3);  
sat4(:,loop) = sat(:,4);  
sat5(:,loop) = sat(:,5);  
% Compute vector and range from object to each satellite.  
% Needed for new H matrix.  
for i = 1:5,  
sat_U(:,i) = (:,i)  Ub;  
range(i) = norm(sat_U(:,i));  
DV(:,i) = sat_U(:,i)/range(i);  
end  
% compute r_diff using Ubar and t  
r_diff(1) = range(1) − range(2);  
r_diff(2) = range(1) − range(3);  
r_diff(3) = range(1) − range(4);  
r_diff(4) = range(1) − range(5);  
% step 4  
% compute rangedifference error.  
r_diff_error(:,loop) = r_diff_m − r_diff′;  
% step 5  
% Form H matrix of partials;  
% i'th row of H is H = (pD1i/px, pD1i/py, pD1i/pz, pD1i/pt)  
% First three elements is just the difference between the normalized  
% direction vectors to the first and to the i'th satellites.  
% Last element is difference between 1st and i'th inner products  
% of direction vectors with satellite velocity vectors.  
for i = 1:4,  
H(i,1:3) = DV(:,i+1)′ − DV(:,1)′;  
H(i,4) = DV(:,1)′ * V(:,1) − DV(:,i+1)′ * V(:,i+1);  
end  
H4(:,loop) = H(:,4);  
% step 6  
% compute G via 1 iteration  
% G = G*(2*eye(4)−H*G);  
G = inv(H);  
G4(loop,:) = G(4,:);  
% step 7  
% compute dU as G * r_diff_error(:,loop)  
dU4 = G * r_diff_error(:,loop);  
dU = dU4(1:3);  
dt = dU4(4);  
% step 8  
% update position and time estimate Ub = Ub + dU, time = time + dt  
ans_vec(:,loop) = [Ub*,time]′;  
Ub = Ub + dU;  
time = time + dt;  
loop;  
end % while  
U_covar = G * r_diff_covar * G′;  
U_sigma(1) = sqrt(U_covar(1,1));  
U_sigma(2) = sqrt(U_covar(2,2));  
U_sigma(3) = sqrt(U_covar(3,3));  
U_sigma(4) = sqrt(U_covar(4,4));  
% Plot x,y,z or t convergence vs loop iteration number.  
% 1 −> x, 2 −> y, 3 −> z, 4 −> time.  
%    
%    
%  v  
plot(ans_vec(1,:));  
end  
function [vec_satellite_ecf] = satellite_ephemeris(input_vector)  
% The following code for calculating satellite positions from ephemeris  
% data is taken from ICDGPS2000, table 20IV.  
t  = input_vector(1,1);  
m_0  = input_vector(2,1);  
delta_n  = input_vector(3,1);  
c  = input_vector(4,1);  
sqrt_a  = input_vector(5,1);  
OMEGA_0  = input_vector(6,1);  
i_0  = input_vector(7,1);  
omega  = input_vector(8,1);  
OMEGA_dot  = input_vector(9,1);  
i_dot  = input_vector(10,1);  
c_uc  = input_vector(11,1);  
c_us  = input_vector(12,1);  
c_rc  = input_vector(13,1);  
c_rs  = input_vector(14,1);  
c_ic  = input_vector(15,1);  
c_is  = input_vector(16,1);  
t_oe  = input_vector(17,1);  
iode  = input_vector(18,1);  
% Earth mass times universal gravity constant (see Ref 1, pp 34).  
mu  = 3.986005e14;  
% Earth rotation rate.  
OMEGA_e_dot  = 7.2921151467e−5;  
% Orbit ellipse semimajor axis length  
a  = (sqrt_a){circumflex over ( )}2;  
% Mean angular motion (Average angular rate of orbit).  
n_0  = (mu/(a{circumflex over ( )}3)){circumflex over ( )}0.5;  
% Time elapsed since ephemeris reference epoch.  
t_k  = t − t_oe;  
if t_k > 302400  
t_k = t_k−604800; % correct time for EOW crossovers  
elseif t_k <− 302400  
t_k = t_k+604800; % correct time for EOW crossovers  
end  
% Corrected mean angular motion.  
n  = n_0 + delta_n;  
% Mean anomaly (false sat orbit angle in orbit plane, using mean motion).  
m_k  = m_0 + n*t_k;  
% Eccentric anomaly (true sat orbit angle in orbit plane, from ellipse center).  
e_k  = kepler(e,m_k,0.01,10000);  
% Terms for finding true anomaly.  
cosf_k  = (cos(e_k) − e)/(1 − e*cos(e_k));  
sinf_k  = ((1 − e{circumflex over ( )}2){circumflex over ( )}0.5)*sin(e_k)/(1 − e*cos(e_k));  
% True anomaly (true sat orbit angle in orbit plane, from earth center).  
f_k  = atan2(sinf_k,cosf_k);  
% Argument of latitude (sat orbit angle from ascending node point on equator)  
phi_k  = f_k + omega;  
sin2phik  = sin(2*phi_k);  
cos2phik  = cos(2*phi_k);  
% Argument of latitude correction.  
delta_u_k  = c_us*sin2phik + c_uc*cos2phik;  
% Radius correction.  
delta_r_k  = c_rc*cos2phik + c_rs*sin2phik;  
% Correction to inclination.  
delta_i_k  = c_ic*cos2phik + c_is*sin2phik;  
% Corrected argument of latitude.  
u_k  = phi_k + delta_u_k;  
% Corrected radius.  
r_k  = a*(1 − e*cos(e_k)) + delta_r_k;  
% Corrected inclination.  
i_k  = i_0 + delta_i_k + i_dot*t_k;  
% Final xy position in orbital plane.  
x_k_prime  = r_k*cos(u_k);  
y_k_prime  = r_k*sin(u_k);  
% Longitude of ascending node.  
omega_k = OMEGA_0 + (OMEGA_dot−OMEGA_e_dot)*t_k − OMEGA_e_dot*t_oe;  
% Final sat position in earthfixed coordinates.  
x_k  = x_k_prime*cos(omega_k) − y_k_prime*cos(i_k)*sin(omega_k);  
y_k  = x_k_prime*sin(omega_k) + y_k_prime*cos(i_k)*cos(omega_k);  
z_k  = y_k_prime*sin(i_k);  
vec_satellite_ecf = [x_k;y_k;z_k];  
end  
function x = kepler(a,b,epsilon,N)  
% KEPLER KEPLER(a,b,epsilon,N) returns the iterated solution to  
%  x=a*sin(x)+b. Iterates until the new value is within epsilon  
%  of the old value or until the number of iterations  
%  reaches N.  
old_x = 0;  
new_x = b;  
iterations=0;  
while ((abs(new_x−old_x)>epsilon) & (iterations<N))  
old_x = new_x;  
%disp(new_x);  
new_x = a*sin(old_x)+b;  
iterations = iterations+1;  
end  
if iterations<N  
x=new_x;  
%disp(‘Iterations:’);  
%disp(iterations);  
%disp(a);  
%disp(b);  
%disp(x);  
elseif iterations= =N  
disp(‘Fixed Point Iteration Failed’);  
end  
function [param_vec] = sv7_eph( )  
EphemerisSV07length = 167;%bytes  
SV_PRN  = 7;  
t  = 483634.754;  
t_ephem  = 483042;  
weeknum  = 763;  
codeL2  = 1;  
L2Pdata  = 0;  
SVacc_raw  = 7;  
SV_health  = 0;  
IODC  = 120;  
T_GD  = 1.39698e−09;  
t_oc  = 485504;  
a_f2  = 0;  
a_f1  = 1.13687e−13;  
a_f0  = 0.000697501;  
SVacc  = 32;  
IODE  = 120;  
fit_intv1  = 0;  
C_rs  = −17.2812;  
delta_n  = 4.39733e−09;  
M_0  = −1.6207;  
C_uc  = −9.27597e−07;  
ecc  = 0.00659284;  
C_us  = 9.46783e−06;  
sqrt_A  = 5153.78;  
t_oe  = 485504;  
C_ic  = 1.47149e−07;  
OMEGA_0  = 0.793991;  
C_is  = −9.31323e−09;  
i_0  = 0.962958;  
C_rc  = 197.938;  
omega  = −2.69189;  
OMEGADOT  = −7.93212e−09;  
IDOT  = 7.82175e−11;  
Axis  = 2.65614e+07;  
n  = 0.00014585;  
r1me2  = 0.999978;  
OMEGA_n  = −34.6095;  
ODOT_n  = −7.29291e−05;  
param_vec = [t;  
M_0;  
delta_n;  
ecc;  
sqrt_A;  
OMEGA_0;  
i_0;  
omega;  
OMEGADOT;  
IDOT;  
C_uc;  
C_us;  
C_rc;  
C_rs;  
C_ic;  
C_is;  
t_oe;  
IODE];  
function [param_vec] = sv2_eph( )  
EphemerisSV02length = 167;%bytes  
SV_PRN  = 2;  
t  = 483634.754;  
t_ephem  = 483042;  
weeknum  = 763;  
codeL2  = 1;  
L2Pdata  = 0;  
SVacc_raw  = 7;  
SV_health  = 0;  
IODC  = 165;  
T_GD  = 9.31323e−10;  
t_oc  = 489600;  
a_f2  = 0;  
a_f1  = −2.16005e−12;  
a_f0  = −0.000109646;  
SVacc  = 32;  
IODE  = 165;  
fit_intv1  = 0;  
C_rs  = −30.6562;  
delta_n  = 4.92235e−09;  
M_0  = 0.0785892;  
C_uc  = −1.52551e−06;  
ecc  = 0.0134761;  
C_us  = 4.63426e−06;  
sqrt_A  = 5153.66;  
t_oe  = 489600;  
C_ic  = 1.09896e−07;  
OMEGA_0  = −0.26998;  
C_is  = 1.63913e−07;  
i_0  = 0.953377;  
C_rc  = 285.688;  
omega  = −2.63668;  
OMEGADOT  = −8.54964e−09;  
IDOT  = −2.16795e−10;  
Axis  = 2.65602e+07;  
n  = 0.00014586;  
r1me2  = 0.999909;  
OMEGA_n  = −35.9722;  
ODOT_n  = −7.29297e−05;  
param_vec = [t,  
M_0;  
delta_n;  
ecc;  
sqrt_A;  
OMEGA_0;  
i_0;  
omega;  
OMEGADOT;  
IDOT;  
C_uc;  
C_us;  
C_rc;  
C_rs;  
C_ic;  
C_is;  
t_oe;  
IODE];  
function [param_vec] = sv9_eph( )  
EphemerisSV09length = 167;%bytes  
SV_PRN  = 9;  
t  = 483634.754;  
t_ephem  = 483042;  
weeknum  = 763;  
codeL2  = 1;  
L2Pdata  = 0;  
SVacc_raw  = 7;  
SV_health  = 0;  
IODC  = 592;  
T_GD  = 1.39698e−09;  
t_oc  = 489600;  
a_f2  = 0;  
a_f1  = −1.13687e−12;  
a_f0  = −5.16325e−06;  
SVacc  = 32;  
IODE  = 80;  
fit_intv1  = 0;  
C_rs  = 80.1875;  
delta_n  = 4.85127e−09;  
M_0  = −2.65977;  
C_uc  = 4.25801e−06;  
ecc  = 0.00292443;  
C_us  = 5.34952e−06;  
sqrt_A  = 5153.73;  
t_oe  = 489600;  
C_ic  = 5.58794e−09;  
OMEGA_0  = −1.28659;  
C_is  = 2.23517e−08;  
i_0  = 0.950485;  
C_rc  = 270.656;  
omega  = −0.581175;  
OMEGADOT  = −8.33535e−09;  
IDOT  = 2.4501e−10;  
Axis  = 2.6561e+07;  
n  = 0.000145854;  
r1me2  = 0.999996;  
OMEGA_n  = −36.9888;  
ODOT_n  = −7.29295e−05;  
param_vec = [t;  
M_0;  
delta_n;  
ecc;  
sqrt_A;  
OMEGA_0;  
i_0;  
omega;  
OMEGADOT;  
IDOT;  
C_uc;  
C_us;  
C_rc;  
C_rs;  
C_ic;  
C_is;  
t_oe;  
IODE];  
function [param_vec] = sv4_eph( )  
EphemerisSV04length = 167;%bytes  
SV_PRN  = 4;  
t  = 483634.754;  
t_ephem  = 483048;  
weeknum  = 763;  
codeL2  = 1;  
L2Pdata  = 0;  
SVacc_raw  = 7;  
SV_health  = 0;  
IODC  = 711;  
T_GD  = 1.39698e−09;  
t_oc  = 489600;  
a_f2  = 0;  
a_f1  = 1.59162e−12;  
a_f0  = 4.03658e−05;  
SVacc  = 32;  
IODE  = 199;  
fit_intv1  = 0;  
C_rs  = 15.4375;  
delta_n  = 4.67448e−09;  
M_0  = 2.57307;  
C_uc  = 9.76026e−07;  
ecc  = 0.00303051;  
C_us  = 6.10203e−06;  
sqrt_A  = 5153.62;  
t_oe  = 489600;  
C_ic  = 4.09782e−08;  
OMEGA_0  = 1.86007;  
C_is  = 1.11759e−08;  
i_0  = 0.963886;  
C_rc  = 261.562;  
omega  = −1.24408;  
OMEGADOT  = −8.10534e−09;  
IDOT  = 2.62511e−10;  
Axis  = 2.65598e+07;  
n  = 0.000145863;  
r1me2  = 0.999995;  
OMEGA_n  = −33.8421;  
ODOT_n  = −7.29293e−05;  
param_vec = [t;  
M_0;  
delta_n;  
ecc;  
sqrt_A;  
OMEGA_0;  
i_0;  
omega;  
OMEGADOT;  
IDOT;  
C_uc;  
C_us;  
C_rc;  
C_rs;  
C_ic;  
C_is;  
t_oe;  
IODE];  
function [param_vec] = sv12_eph( )  
% This ephemeris data was extracted from test0826.asc  
% by Glen Brooksby.  
EphemerisSV12length = 167;%bytes  
SV_PRN  = 12;  
t  = 483634.754;  
t_ephem  = 482748;  
weeknum  = 763;  
codeL2  = 1;  
L2Pdata  = 0;  
SVacc_raw  = 2;  
SV_health  = 0;  
IODC  = 323;  
T_GD  = 2.79397e−09;  
t_oc  = 489600;  
a_f2  = 0;  
a_f1  = −1.21645e−11;  
a_f0  = −2.44565e−05;  
SVacc  = 4;  
IODE  = 67;  
fit_intv1  = 0;  
C_rs  = 42.75;  
delta_n  = 1.96937e−09;  
m_0  = 3.01393;  
C_uc  = 2.28174e−06;  
ecc  = 0.0147704;  
C_us  = 5.3402e−06;  
sqrt_a  = 5153.5;  
t_oe  = 489600;  
C_ic  = −1.65775e−07;  
omega_0  = −0.925903;  
C_is  = 3.91155e−08;  
i_0  = 1.08737;  
C_rc  = 338.719;  
omega  = −0.167314;  
OMEGADOT  = −6.63885e−09;  
IDOT  = 1.2572e−10;  
Axis  = 2.65585e+07;  
n  = 0.000145871;  
r1me2  = 0.999891;  
OMEGA_n  = −36.6281;  
ODOT_n  = −7.29278e−05;  
param_vec = [t;  
M_0;  
delta_n;  
ecc;  
sqrt_a;  
OMEGA_0;  
i_0;  
omega;  
OMEGADOT;  
IDOT;  
C_uc;  
C_us;  
C_rc;  
C_rs;  
C_ic;  
C_is;  
t_oe;  
IODE];  
Claims (20)
Priority Applications (3)
Application Number  Priority Date  Filing Date  Title 

US45622995 true  19950531  19950531  
US08924478 US5752218A (en)  19950531  19970825  Reducedpower GPSbased system for tracking multiple objects from a central location 
US09570835 USRE40642E1 (en)  19950531  20000512  Reducedpower GPSbased system for tracking multiple objects from a central location 
Applications Claiming Priority (1)
Application Number  Priority Date  Filing Date  Title 

US09570835 USRE40642E1 (en)  19950531  20000512  Reducedpower GPSbased system for tracking multiple objects from a central location 
Related Parent Applications (1)
Application Number  Title  Priority Date  Filing Date  

US08924478 Reissue US5752218A (en)  19950531  19970825  Reducedpower GPSbased system for tracking multiple objects from a central location 
Publications (1)
Publication Number  Publication Date 

USRE40642E1 true USRE40642E1 (en)  20090217 
Family
ID=23811975
Family Applications (2)
Application Number  Title  Priority Date  Filing Date 

US08924478 Expired  Lifetime US5752218A (en)  19950531  19970825  Reducedpower GPSbased system for tracking multiple objects from a central location 
US09570835 Expired  Lifetime USRE40642E1 (en)  19950531  20000512  Reducedpower GPSbased system for tracking multiple objects from a central location 
Family Applications Before (1)
Application Number  Title  Priority Date  Filing Date 

US08924478 Expired  Lifetime US5752218A (en)  19950531  19970825  Reducedpower GPSbased system for tracking multiple objects from a central location 
Country Status (4)
Country  Link 

US (2)  US5752218A (en) 
JP (2)  JP3978509B2 (en) 
DE (1)  DE19621225B4 (en) 
GB (1)  GB2301725B (en) 
Cited By (12)
Publication number  Priority date  Publication date  Assignee  Title 

US20090059797A1 (en) *  20070831  20090305  Northcutt J Duane  Ensuring physical locality of entities sharing data 
US20100141445A1 (en) *  20081208  20100610  Savi Networks Inc.  MultiMode Commissioning/Decommissioning of Tags for Managing Assets 
US20110010022A1 (en) *  20090710  20110113  The Boeing Company  Systems and methods for remotely collaborative vehicles 
US20110012731A1 (en) *  20090714  20110120  Timothy Dirk Stevens  Wireless Tracking and Monitoring Electronic Seal 
US20110050424A1 (en) *  20090828  20110303  Savi Networks Llc  Asset tracking using alternative sources of position fix data 
US20110050397A1 (en) *  20090828  20110303  Cova Nicholas D  System for generating supply chain management statistics from asset tracking data 
US20110133932A1 (en) *  20090714  20110609  Chin Tong Tan  Security seal 
US20110133888A1 (en) *  20090817  20110609  Timothy Dirk Stevens  Contextually aware monitoring of assets 
US8334773B2 (en)  20090828  20121218  Deal Magic, Inc.  Asset monitoring and tracking system 
US8432274B2 (en)  20090731  20130430  Deal Magic, Inc.  Contextual based determination of accuracy of position fixes 
RU2518174C2 (en) *  20120702  20140610  Федеральное государственное бюджетное учреждение науки Институт прикладной астрономии Российской академии наук  Querybased method of measuring radial velocity and position of glonass global navigation system satellite and system for realising said method 
US9786146B2 (en)  20150522  20171010  3Si Security Systems, Inc.  Asset tracking device configured to selectively retain information during loss of communication 
Families Citing this family (80)
Publication number  Priority date  Publication date  Assignee  Title 

GB9519087D0 (en)  19950919  19951122  Cursor Positioning Sys Ltd  Navigation and tracking system 
US5945944A (en) *  19960308  19990831  Snaptrack, Inc.  Method and apparatus for determining time for GPS receivers 
US6226622B1 (en) *  19951127  20010501  Alan James Dabbiere  Methods and devices utilizing a GPS tracking system 
DE19646954B4 (en) *  19961113  20060921  TMobile Deutschland Gmbh  Method and apparatus for controlling a fleet of land and / or water vehicles 
GB2321812B (en) *  19970201  20010221  Ico Services Ltd  User terminal positioning system and method employing external signals 
US5812087A (en) *  19970203  19980922  Snaptrack, Inc.  Method and apparatus for satellite positioning system based time measurement 
US6215442B1 (en)  19970203  20010410  Snaptrack, Inc.  Method and apparatus for determining time in a satellite positioning system 
US6377209B1 (en) *  19970203  20020423  Snaptrack, Inc.  Method and apparatus for satellite positioning system (SPS) time measurement 
US6043777A (en) *  19970610  20000328  Raytheon Aircraft Company  Method and apparatus for global positioning system based cooperative location system 
EP0899703B1 (en)  19970825  20021030  Texas Instruments Deutschland Gmbh  A navigational system 
JP2001515288A (en) *  19970902  20010918  シッツ−スカイ トラック インターナショナル テクノロジー アンド サーヴィスィズ ナムローゼ フェンノートシャップ  Global data communication service system for remote control and status reporting 
WO1999018412A1 (en) *  19971003  19990415  Marine Data Systems (Proprietary) Limited  The indication of the position of objects 
DE69829421T2 (en) *  19971022  20050811  Cambridge Positioning Systems Ltd.  Positioning system for a digital telephone network 
GB9722324D0 (en)  19971022  19971217  Cambridge Positioning Sys Ltd  Positioning system for digital telephone networks 
JPH11133135A (en) *  19971028  19990521  Sony Corp  Gps receiver, gps administration office, and position information system 
US5955986A (en) *  19971120  19990921  Eagle Eye Technologies, Inc.  Lowpower satellitebased geopositioning system 
US5977909A (en) *  19980313  19991102  General Electric Company  Method and apparatus for locating an object using reduced number of GPS satellite signals or with improved accuracy 
US6104978A (en) *  19980406  20000815  General Electric Company  GPSbased centralized tracking system with reduced energy consumption 
DE19816435C1 (en) *  19980415  19990617  Deutsche Bahn Ag  Satellite locating apparatus 
US6336076B1 (en) *  19980824  20020101  Rockwell Collins, Inc.  Long range GNSS ephemeris data transfer method and apparatus using the same 
US6665332B1 (en)  19980909  20031216  Allen Telecom, Inc.  CDMA geolocation system 
US6222483B1 (en)  19980929  20010424  Nokia Mobile Phones Limited  GPS location for mobile phones using the internet 
US6298229B1 (en)  19981204  20011002  General Electric Company  GPS receiver for emergency location reporting during intermittent shadowing 
US6275771B1 (en)  19990128  20010814  International Business Machines Corporation  Time multiplexed global positioning system cell location beacon system 
US6529823B1 (en)  19990128  20030304  International Business Machines Corporation  Maintaining desired distribution of machines using time multiplexed global positioning system 
US6185504B1 (en)  19990128  20010206  International Business Machines Corporation  Vehicle scheduling and collision avoidance system using time multiplexed global positioning system 
US6236936B1 (en)  19990128  20010522  International Business Machines Corporation  Maintaining a desired separation or distribution in a moving cluster of machines using a time multiplexed global positioning system 
KR100829617B1 (en) *  19990322  20080516  콸콤 인코포레이티드  Method and apparatus for satellite positioning systemsps time measurement 
US6430415B1 (en) *  19990329  20020806  Qualcomm Incorporated  Method and apparatus for locating GPS equipped wireless devices operating in analog mode 
FR2791849B1 (en) *  19990331  20010629  Cit Alcatel  Node station and embarquee allowing to establish at any time a call to a passenger of a vehicle 
GB9912724D0 (en)  19990601  19990804  Cambridge Positioning Sys Ltd  Radio positioning system 
GB9917296D0 (en) *  19990722  19990922  Ico Services Ltd  Satellite communication system and method 
US6324213B1 (en)  19990901  20011127  General Electric Company  Asset tracking system employing reduced order GPS with compressed GPS satellite identification data 
CA2395062A1 (en)  19991230  20010712  Ge Harris Railway Electronics, Llc  Methods and apparatus for locomotive position determination 
US6456937B1 (en) *  19991230  20020924  General Electric Company  Methods and apparatus for locomotive tracking 
DE20004174U1 (en) *  20000306  20010719  Braun Hartmut  Gaming device, means for detecting the game machine, and parts of this device 
CN101950022B (en) *  20000320  20121017  高通股份有限公司  Methods and apparatuses for using assistance data relating to satellite position systems 
US6346911B1 (en) *  20000330  20020212  Motorola, Inc.  Method and apparatus for determining time in a GPS receiver 
US6323804B1 (en) *  20000606  20011127  Motorola, Inc.  Method and apparatus for GPS time determination 
US6292748B1 (en)  20000714  20010918  General Electric Company  Reduction of time error in GPS localization without a highly accurate clock 
JP2004517298A (en) *  20000719  20040610  クゥアルコム・インコーポレイテッドＱｕａｌｃｏｍｍ Ｉｎｃｏｒｐｏｒａｔｅｄ  Method and apparatus for reducing the search space of code phase 
KR100814251B1 (en) *  20000920  20080317  엔엑스피 비 브이  A method of determining the position of a mobile unit 
US6813487B1 (en)  20001018  20041102  David Alan Trommelen  Method and apparatus for securing data stored in a remote electronic device 
US7369599B2 (en) *  20001218  20080506  Qualcomm Incorporated  Method and apparatus for reducing code phase search space 
US6637703B2 (en)  20001228  20031028  Ge Harris Railway Electronics Llc  Yard tracking system 
JP4313044B2 (en) *  20010315  20090812  クゥアルコム・インコーポレイテッドＱｕａｌｃｏｍｍ Ｉｎｃｏｒｐｏｒａｔｅｄ  Time acquisition in a wireless positioning system 
US6414629B1 (en)  20010419  20020702  Tektrack, Llc  Tracking device 
US6522296B2 (en)  20010625  20030218  Harris Corporation  Method and system for calibrating wireless location systems 
US6882309B2 (en) *  20010718  20050419  Fast Location. Net, Llc  Method and system for processing positioning signals based on predetermined message data segment 
US9052374B2 (en)  20010718  20150609  Fast Location.Net, Llc  Method and system for processing positioning signals based on predetermined message data segment 
CA2355426A1 (en) *  20010817  20030217  Luther Haave  A system and method for asset tracking 
US6812887B2 (en) *  20011212  20041102  Nokia Corporation  Method and apparatus for saving power in a global positioning system receiver 
US7218227B2 (en) *  20020507  20070515  ArgoTech Corporation  Tracking system and associated method 
DE10316290B4 (en) *  20030409  20050714  Siemens Ag  A method for iteratively determining the distance between a receiving station and a transmitting station, and calculation unit 
US6943729B2 (en) *  20031001  20050913  S5 Wireless, Inc.  Method and system for time difference of arrival (TDOA) location services 
US7327310B2 (en) *  20031107  20080205  Global Locate, Inc.  Method and apparatus for managing time in a satellite positioning system 
US7409188B2 (en) *  20031126  20080805  Nokia Corporation  Method and apparatus for lowering power use by a ranging receiver 
JP4493104B2 (en) *  20040107  20100630  フアウェイ テクノロジーズ カンパニー リミテッドＨｕａｗｅｉ Ｔｅｃｈｎｏｌｏｇｉｅｓ Ｃｏ．，Ｌｔｄ．  How to reduce the home subscriber server of the interface load 
US7492810B2 (en)  20050404  20090217  General Electric Company  Method and apparatus for segmented code correlation 
JP4778277B2 (en) *  20050729  20110921  Ｎｅｃ東芝スペースシステム株式会社  Positioning signal receiver and positioning signal receiving method 
US7667642B1 (en)  20050815  20100223  Technaumics  Acquisition, collection and processing system for continuous precision tracking of objects 
US7667640B2 (en) *  20070413  20100223  Glowlink Communications Technology, Inc.  Determining a geolocation solution of an emitter on earth using satellite signals 
US20090146871A1 (en) *  20071207  20090611  Charles Abraham  Method and apparatus for managing time in a satellite positioning system 
CN101483009B (en)  20080111  20110824  上海邮电设计咨询研究院有限公司  Public transport prebroadcasting system based on AGPS and 3G networks 
US7965230B2 (en) *  20080229  20110621  Qualcomm Incorporated  Satellite time determination for SPS receiver 
US20110054979A1 (en) *  20090831  20110303  Savi Networks Llc  Physical Event Management During Asset Tracking 
JP2011103600A (en) *  20091111  20110526  Mitsubishi Electric Corp  Interstation carrier frequency synchronizing method and radio station 
US8259012B2 (en)  20100414  20120904  The Boeing Company  Software GNSS receiver for highaltitude spacecraft applications 
US20110298657A1 (en) *  20100601  20111208  Electronics And Telecommunications Research Institute  Transmitting apparatus and receiving apparatus for tracking position using gps and the method thereof 
US8830124B1 (en) *  20100917  20140909  Skybitz, Inc.  System and method for asset tracking configuration of a mobile terminal 
JP5901177B2 (en) *  20110822  20160406  株式会社メガチップス  Positioning device, the observation apparatus and positioning method 
CN103675839A (en) *  20120831  20140326  迈实电子(上海)有限公司  Navigation message synchronization method, receiver and device 
CN103675853A (en) *  20120831  20140326  迈实电子(上海)有限公司  Navigation message synchronization method, receiver and device 
CN103675837A (en) *  20120831  20140326  迈实电子(上海)有限公司  Navigation message synchronization method, receiver and device 
CN103675838A (en) *  20120831  20140326  迈实电子(上海)有限公司  Navigation message synchronization method, receiver and device 
RU2543521C1 (en) *  20130802  20150310  Закрытое акционерное общество "Конструкторское бюро навигационных систем" (ЗАО "КБ НАВИС")  Method and system for multifrequency positioning in shielded space 
RU2542326C1 (en) *  20131004  20150220  Олег Иванович Завалишин  Method of improving integrity of used navigation satellite signals using local monitoring and correction station (lmcs) based on anomalous ionospheric effect 
RU2550146C1 (en) *  20140116  20150510  Военная академия Ракетных войск стратегического назначения имени Петра Великого МО РФ  Apparatus for monitoring integrity of navigation spacecraft system 
US9476990B2 (en) *  20141218  20161025  Mitsubishi Electric Research Laboratories, Inc.  Tracking of occluded navigation satellite signals 
RU2613929C2 (en) *  20150601  20170322  Федеральное государственное бюджетное учреждение науки Институт горного дела Уральского отделения Российской академии наук (ИГД УрО РАН)  Method for determining distance between points on earth surface 
Citations (20)
Publication number  Priority date  Publication date  Assignee  Title 

US4689626A (en) *  19841227  19870825  Sony Corporation  Digital circuit for correcting phase shift of digital signal 
WO1987006410A1 (en) *  19860415  19871022  Magnavox Government And Industrial Electronics Com  Method and apparatus for precision surveying using broadcast satellite signals 
US4785463A (en) *  19850903  19881115  Motorola, Inc.  Digital global positioning system receiver 
US4897661A (en) *  19870410  19900130  Sony Corporation  Method and apparatus for determining the position of a vehicle 
JPH02213785A (en)  19890214  19900824  Mitsubishi Electric Corp  Position measuring method using artificial satellite 
US4975707A (en)  19890713  19901204  Energetics Satellite Corporation  Multiple satellite locating system 
US5008679A (en) *  19900131  19910416  Interferometrics Incorporated  Method and system for locating an unknown transmitter 
US5101510A (en)  19880618  19920331  Robert Bosch Gmbh  Energy conserving standby function in radio traffic report receiver 
US5119102A (en) *  19900228  19920602  U.S. Philips Corporation  Vehicle location system 
US5150310A (en) *  19890830  19920922  Consolve, Inc.  Method and apparatus for position detection 
US5160935A (en) *  19901128  19921103  Mitsubishi Denki Kabushiki Kaisha  Positioning method utilizing artificial satellites in geosynchronous altitude orbits 
WO1992021181A1 (en) *  19910520  19921126  Qualcomm Incorporated  Dual satellite navigation system and method 
JPH05150031A (en)  19911129  19930618  Sony Corp  Gps receiver 
US5225842A (en) *  19910509  19930706  Navsys Corporation  Vehicle tracking system employing global positioning system (gps) satellites 
US5345245A (en) *  19920701  19940906  Kokusai Denshin Denwa Company, Limited  Differential data signal transmission technique 
US5379224A (en) *  19911129  19950103  Navsys Corporation  GPS tracking system 
JPH07140223A (en)  19931116  19950602  Matsushita Electric Ind Co Ltd  Global positioning system 
US5430657A (en) *  19921020  19950704  Caterpillar Inc.  Method and apparatus for predicting the position of a satellite in a satellite based navigation system 
US5434787A (en)  19910412  19950718  Sharp Kabushiki Kaisha  System for measuring position by using global positioning system and receiver for global position system 
US5448773A (en)  19920205  19950905  Trimble Navigation Limited  Long life portable global position system receiver 
Family Cites Families (1)
Publication number  Priority date  Publication date  Assignee  Title 

US5490073A (en) *  19930405  19960206  Caterpillar Inc.  Differential system and method for a satellite based navigation 
Patent Citations (20)
Publication number  Priority date  Publication date  Assignee  Title 

US4689626A (en) *  19841227  19870825  Sony Corporation  Digital circuit for correcting phase shift of digital signal 
US4785463A (en) *  19850903  19881115  Motorola, Inc.  Digital global positioning system receiver 
WO1987006410A1 (en) *  19860415  19871022  Magnavox Government And Industrial Electronics Com  Method and apparatus for precision surveying using broadcast satellite signals 
US4897661A (en) *  19870410  19900130  Sony Corporation  Method and apparatus for determining the position of a vehicle 
US5101510A (en)  19880618  19920331  Robert Bosch Gmbh  Energy conserving standby function in radio traffic report receiver 
JPH02213785A (en)  19890214  19900824  Mitsubishi Electric Corp  Position measuring method using artificial satellite 
US4975707A (en)  19890713  19901204  Energetics Satellite Corporation  Multiple satellite locating system 
US5150310A (en) *  19890830  19920922  Consolve, Inc.  Method and apparatus for position detection 
US5008679A (en) *  19900131  19910416  Interferometrics Incorporated  Method and system for locating an unknown transmitter 
US5119102A (en) *  19900228  19920602  U.S. Philips Corporation  Vehicle location system 
US5160935A (en) *  19901128  19921103  Mitsubishi Denki Kabushiki Kaisha  Positioning method utilizing artificial satellites in geosynchronous altitude orbits 
US5434787A (en)  19910412  19950718  Sharp Kabushiki Kaisha  System for measuring position by using global positioning system and receiver for global position system 
US5225842A (en) *  19910509  19930706  Navsys Corporation  Vehicle tracking system employing global positioning system (gps) satellites 
WO1992021181A1 (en) *  19910520  19921126  Qualcomm Incorporated  Dual satellite navigation system and method 
US5379224A (en) *  19911129  19950103  Navsys Corporation  GPS tracking system 
JPH05150031A (en)  19911129  19930618  Sony Corp  Gps receiver 
US5448773A (en)  19920205  19950905  Trimble Navigation Limited  Long life portable global position system receiver 
US5345245A (en) *  19920701  19940906  Kokusai Denshin Denwa Company, Limited  Differential data signal transmission technique 
US5430657A (en) *  19921020  19950704  Caterpillar Inc.  Method and apparatus for predicting the position of a satellite in a satellite based navigation system 
JPH07140223A (en)  19931116  19950602  Matsushita Electric Ind Co Ltd  Global positioning system 
NonPatent Citations (2)
Title 

F. Schrodter et al., "GPSSatellitenNavigation," ISBN 3772366821, 1994 FranzisVeriag GmbH, 85586 Poing, pp. 59126. 
Jul. 15, 2004, Office Action of Deutsches Patent and Markenamt. 
Cited By (20)
Publication number  Priority date  Publication date  Assignee  Title 

US8233432B2 (en) *  20070831  20120731  Silicon Image, Inc.  Ensuring physical locality of entities sharing data 
US20090059797A1 (en) *  20070831  20090305  Northcutt J Duane  Ensuring physical locality of entities sharing data 
US20100141445A1 (en) *  20081208  20100610  Savi Networks Inc.  MultiMode Commissioning/Decommissioning of Tags for Managing Assets 
US8380362B2 (en) *  20090710  20130219  The Boeing Company  Systems and methods for remotely collaborative vehicles 
US20110010022A1 (en) *  20090710  20110113  The Boeing Company  Systems and methods for remotely collaborative vehicles 
US8456302B2 (en)  20090714  20130604  Savi Technology, Inc.  Wireless tracking and monitoring electronic seal 
US20110133932A1 (en) *  20090714  20110609  Chin Tong Tan  Security seal 
US9142107B2 (en)  20090714  20150922  Deal Magic Inc.  Wireless tracking and monitoring electronic seal 
US20110012731A1 (en) *  20090714  20110120  Timothy Dirk Stevens  Wireless Tracking and Monitoring Electronic Seal 
US8593280B2 (en)  20090714  20131126  Savi Technology, Inc.  Security seal 
US8432274B2 (en)  20090731  20130430  Deal Magic, Inc.  Contextual based determination of accuracy of position fixes 
US20110133888A1 (en) *  20090817  20110609  Timothy Dirk Stevens  Contextually aware monitoring of assets 
US9177282B2 (en) *  20090817  20151103  Deal Magic Inc.  Contextually aware monitoring of assets 
US8334773B2 (en)  20090828  20121218  Deal Magic, Inc.  Asset monitoring and tracking system 
US8514082B2 (en)  20090828  20130820  Deal Magic, Inc.  Asset monitoring and tracking system 
US8314704B2 (en)  20090828  20121120  Deal Magic, Inc.  Asset tracking using alternative sources of position fix data 
US20110050397A1 (en) *  20090828  20110303  Cova Nicholas D  System for generating supply chain management statistics from asset tracking data 
US20110050424A1 (en) *  20090828  20110303  Savi Networks Llc  Asset tracking using alternative sources of position fix data 
RU2518174C2 (en) *  20120702  20140610  Федеральное государственное бюджетное учреждение науки Институт прикладной астрономии Российской академии наук  Querybased method of measuring radial velocity and position of glonass global navigation system satellite and system for realising said method 
US9786146B2 (en)  20150522  20171010  3Si Security Systems, Inc.  Asset tracking device configured to selectively retain information during loss of communication 
Also Published As
Publication number  Publication date  Type 

JP4041835B2 (en)  20080206  grant 
JPH09119973A (en)  19970506  application 
DE19621225A1 (en)  19961205  application 
JP2007078706A (en)  20070329  application 
DE19621225B4 (en)  20111229  grant 
GB9610549D0 (en)  19960731  grant 
JP3978509B2 (en)  20070919  grant 
US5752218A (en)  19980512  grant 
GB2301725A (en)  19961211  application 
GB2301725B (en)  20000202  grant 
Similar Documents
Publication  Publication Date  Title 

US3242494A (en)  Position determination system  
Kaplan et al.  Understanding GPS: principles and applications  
ElRabbany  Introduction to GPS: the global positioning system  
US6542820B2 (en)  Method and apparatus for generating and distributing satellite tracking information  
US5764184A (en)  Method and system for postprocessing differential global positioning system satellite positional data  
US6300899B1 (en)  Fixed site dataaided GPS signal acquisition method and system  
US5510797A (en)  Provision of SPS timing signals  
Remondi  Performing Centimeter‐Level Surveys in Seconds with GPS Carrier Phase: Initial Results  
US4797677A (en)  Method and apparatus for deriving pseudo range from earthorbiting satellites  
US6693592B2 (en)  Geographical navigation using multipath wireless navigation signals  
Enge  The global positioning system: Signals, measurements, and performance  
US5828336A (en)  Robust realtime widearea differential GPS navigation  
US5343209A (en)  Navigation receiver with coupled signaltracking channels  
US7388539B2 (en)  Carrier track loop for GNSS derived attitude  
US20090171583A1 (en)  Global position system (gps) user receiver and geometric surface processing for allinview coherent gps signal prn codes acquisition and navigation solution  
US6813560B2 (en)  Method and apparatus for locating mobile receivers using a wide area reference network for propagating ephemeris  
US6975266B2 (en)  Method and apparatus for locating position of a satellite signal receiver  
US6944540B2 (en)  Time determination in satellite positioning system receivers and methods therefor  
US5451964A (en)  Method and system for resolving double difference GPS carrier phase integer ambiguity utilizing decentralized Kalman filters  
US4970523A (en)  Differential doppler velocity GPS receiver  
US4918609A (en)  Satellitebased positiondetermining system  
US6750814B1 (en)  Efficient algorithm for processing GPS signals  
US6121923A (en)  Fixed site and satellite dataaided GPS signal acquisition method and system  
US6597311B2 (en)  Method and apparatus for determining time in a satellite positioning system  
US4652884A (en)  Satellite navigational system and method 
Legal Events
Date  Code  Title  Description 

AS  Assignment 
Owner name: GENERAL ELECTRIC COMPANY, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HARRISON, DANIEL DAVID;PRADEEP, ANANTHA KRISHNAN;BROOKSBY, GLEN WILLIAM;AND OTHERS;REEL/FRAME:023427/0506;SIGNING DATES FROM 19950530 TO 19950531 

FPAY  Fee payment 
Year of fee payment: 12 

AS  Assignment 
Owner name: ASSET INTELLIGENCE, LLC, NEW JERSEY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:GENERAL ELECTRIC COMPANY;REEL/FRAME:034832/0836 Effective date: 20100106 