US6473694B1 - Method, apparatus and system for estimating user position with a satellite positioning system in poor signal conditions - Google Patents

Method, apparatus and system for estimating user position with a satellite positioning system in poor signal conditions Download PDF

Info

Publication number
US6473694B1
US6473694B1 US09/828,594 US82859401A US6473694B1 US 6473694 B1 US6473694 B1 US 6473694B1 US 82859401 A US82859401 A US 82859401A US 6473694 B1 US6473694 B1 US 6473694B1
Authority
US
United States
Prior art keywords
satellite
pseudorange
receiver
ranging codes
arrival
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
Application number
US09/828,594
Inventor
David Akopian
Jari Syrjarinne
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nokia Oyj filed Critical Nokia Oyj
Priority to US09/828,594 priority Critical patent/US6473694B1/en
Assigned to NOKIA CORPORATION reassignment NOKIA CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AKOPIAN, DAVID, SYRJARINNE, JARI
Priority to EP02252485.4A priority patent/EP1248117B1/en
Priority to JP2002105854A priority patent/JP2002357651A/en
Application granted granted Critical
Publication of US6473694B1 publication Critical patent/US6473694B1/en
Assigned to NOKIA TECHNOLOGIES OY reassignment NOKIA TECHNOLOGIES OY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NOKIA CORPORATION
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/25Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS
    • G01S19/252Employing an initial estimate of location in generating assistance data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/25Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS
    • G01S19/258Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS relating to the satellite constellation, e.g. almanac, ephemeris data, lists of satellites in view

Definitions

  • the present invention relates to time-of-arrival ranging receivers, and more specifically to global positioning system (GPS) receivers.
  • GPS global positioning system
  • a global positioning system (GPS) receiver measures the time of arrival of a satellite ranging code provided by a GPS satellite. Based on the measured time of arrival of the ranging code (which includes orbit parameters and a timestamp indicating when the spacecraft transmitted the ranging code), the receiver determines the time required for the signal to propagate from the satellite to the receiver, and then multiplies this time by the speed of light to obtain a so-called pseudorange; the term pseudorange is used because there are a number of errors involved in the above measurement, the primary error being the error in the time of arrival of the signal because of an offset in the receiver clock from true GPS system time.
  • the true range is just the difference between the time of reception of a specific code phase (of the ranging code) by the GPS receiver and the time of transmission of the specific code phase by the satellite multiplied by the speed of light, i.e.
  • T u is the GPS system time at which a specific code phase is received by the GPS receiver (i.e. the user of the GPS)
  • T s is the GPS system time at which the specific code phase was transmitted
  • c is the speed of light.
  • the true range r depends on the sought-after user position ⁇ right arrow over (u) ⁇ (at the time of receipt of the specific code phase) as well as on the position ⁇ right arrow over (s) ⁇ of the satellite transmitting the specific code phase (i.e. the position of the satellite at the time of transmission of the specific code phase of the ranging code), according to simply,
  • the satellite position ⁇ right arrow over (s) ⁇ (t tx ) is known from the navigation data modulating the ranging code, since the navigation data provide the orbit parameters and a timestamp indicating the time at which the spacecraft transmitted the ranging code, and so indicating the location of the spacecraft along its orbit at the time of transmitting the (specific code phase of the) ranging code.
  • the problem of determining the offset of the receiver clock is called the time-recovery problem.
  • the prior art teaches solving for the receiver clock offset, as part of the solution for the user position, using various techniques, including linearizing a system of equations for pseudoranges from four or more satellites (using least squares estimation in case of more than four satellites) as well as other techniques such as using a Kalman filter.
  • at least four satellites are needed because there are four unknowns being solved for all three coordinates of the user position and the receiver clock offset.
  • the approach based on linearizing a system of four pseudorange equations begins with the pseudorange equation, i.e.
  • equations (7) can be written as,
  • the time when the signal is received is not precisely known. That time, when expressed according to the GPS clock, is called here simply GPS time at arrival and is indicated by the notation ⁇ . It differs from the time at which the signal is transmitted by a satellite (i.e. t tx in equation (5)) by the time of flight t ⁇ of the signal from the satellite to the GPS receiver.
  • the pseudorange given by equation (2) can be written as,
  • the time at which the ranging code was sent from the spacecraft, ⁇ t ⁇ (i.e., in the notation of equation (2), simply T s ), is determined (to within the offset of the satellite clock ⁇ t, here taken to be negligible) by decoding the received navigation message.
  • the navigation data containing the time of transmission/timestamp and the satellite orbit parameters
  • the baseband measurements i.e.
  • the prior art teaches solving for the user position based on a five-step procedure.
  • the procedure is based on the fact that the pseudorange ⁇ i to the i th spacecraft, which is a measured quantity in the case of strong signal conditions (as opposed to a calculated quantity like the user position), is the sum of two components, and accordingly can be written as,
  • ⁇ . . . ⁇ indicates the ceiling function (next greatest integer)
  • ⁇ i (2) is obtained from baseband processing the ranging code (i.e. aligning the replica with the transmitted code), giving the submillisecond part of the pseudorange.
  • the part ⁇ i (1) is here sometimes called the millisecond part, since it gives the pseudorange only to within a millisecond, i.e. to within the speed of light times a millisecond, or nearly 300 km.
  • the estimate can be based on either the local clock or a clock at the reference position.
  • the reference position uses the position of a nearby base station (called here the reference position) to calculate the millisecond part ⁇ tilde over ( ⁇ ) ⁇ i (1) of the pseudoranges for each satellite.
  • the full pseudoranges to the receiver are computed by combining the millisecond part ⁇ tilde over ( ⁇ ) ⁇ i (1) and the submillisecond part ⁇ tilde over ( ⁇ ) ⁇ i (2) , where the submillisecond part ⁇ tilde over ( ⁇ ) ⁇ i (2) is taken (determined) from the receiver baseband.
  • the iterative least squares method gives not only the position, but also an estimate of the a uncertainty in the solution.
  • the third step above is quite apparent from the description above. If the time of transmission is known, then the satellite positions are calculated from this time and from orbital parameters using formulas well known in the field of GPS.
  • step three using the spacecraft positions calculated in step three, the user position ⁇ right arrow over (u) ⁇ (t rx ) and the receiver clock offset t u are solved using
  • At least four such equations are needed, so as to have a system of at least four equations in four unknowns (user position coordinates and receiver clock offset). If we have more than four equations, we can solve the system of equations using least squares, which will give us an uncertainty (error) as part of the solution, and we can iterate on the initial guesses (of first component of the pseudoranges, the times of flight, and the user position) to make the uncertainty smaller, in what is called iterated least squares.
  • the procedure for solving for user position in case of weak signal conditions is time consuming. It would be advantageous to have a more efficient (faster) way of determining a GPS position-velocity-time (PVT) solution in weak signal conditions, conditions such that the navigation data cannot be demodulated (decoded) but the baseband measurement can still be performed.
  • PVT position-velocity-time
  • the present invention provides a method and corresponding apparatus and system for solving for the position of a satellite positioning system receiver, the receiver having a receiver clock with a receiver clock offset and responsive to ranging codes from some number of satellites, the ranging code from each satellite including a navigation component conveying information about the satellite and having a time of flight from the satellite, the method of use in signal conditions where the ranging codes can be baseband processed so that at least a repeating part of the pseudorange for each satellite can be determined, the method including the steps of: including the system time at arrival as an independent and additional variable of the pseudorange function for each of the ranging codes, an independent variable in addition to the receiver position; providing estimates of the times of flight of the ranging codes and of the repeating part of the pseudoranges for each of the ranging codes; receiving information about the satellite sufficient to determine the orbits of the satellites, although not necessarily the positions of the satellites in their orbits; and solving simultaneously for the receiver position and the system time at arrival.
  • the method also includes the receiver clock offset as an independent and additional variable.
  • the method also includes the step of performing a Taylor-series expansion of the pseudorange function about an initial guess or estimate of each of the independent variables for as many of the satellites as there are independent variables thereby providing a system of pseudorange equations.
  • the pseudorange equations are sometimes solved using a determinate single-point solution that is either an iterative least squares solution or an exact algebraic solution, depending on the number of pseudorange equations, and sometimes solved using a Kalman filter.
  • the information about each satellite includes the orbit parameters for each satellite.
  • the satellite positioning system is the global satellite positioning system (GPS) and the system time at arrival is the GPS time at arrival.
  • GPS global satellite positioning system
  • the repeating part of the pseudorange is the submillisecond part of the pseudorange.
  • the method is of use in signal conditions where the ranging codes can be baseband processed providing at least the submillisecond part of the pseudorange.
  • the present invention solves for the user position using the following steps, of which the first four are the same as in the prior art.
  • the estimate can be based on either the local clock or a clock at the reference position.
  • the reference position uses the position of a nearby base station (called here the reference position) to calculate the millisecond part ⁇ tilde over ( ⁇ ) ⁇ i (1) of the pseudoranges for each satellite.
  • the full pseudoranges to the receiver are computed by combining the millisecond part ⁇ tilde over ( ⁇ ) ⁇ i (1) and the submillisecond part ⁇ tilde over ( ⁇ ) ⁇ i (2) where the submillisecond part ⁇ tilde over ( ⁇ ) ⁇ i (2) is taken (determined) from the receiver baseband.
  • the satellite positions are fixed while iterations refine the estimate of the user position.
  • the satellite positions and the user position are refined at the same time.
  • the satellite positions are refined by iterating on the GPS time at arrival ⁇ , which amounts to adjusting the positions of the satellites in their orbits, with the orbits themselves known via cellular network assistance or some other source.
  • the invention collapses the last steps of the solution of the prior art into one step by introducing the GPS time at arrival ⁇ (the time at which the user receives the ranging code) as a fifth unknown in the pseudorange equation,
  • the invention provides five unknowns ( ⁇ , u x , u y , u z , t u ) which are solvable by at least five pseudorange equations (i.e. equation (16) for five satellites).
  • the invention provides either a determinate solution or a Kalman filter solution.
  • the invention provides a solution using either the method of least squares or a Kalman filter.
  • the method provided by the invention is faster than methods known in the art (from five to ten times faster), and it produces clock times (receiver offsets) that are as accurate as at least some of the prior art methods (in particular, the so-called SSE method).
  • a filter such as a Kalman filter
  • the time error can be determined more precisely and the extra computation load is minimized when the time error solution is integrated into the Kalman filter.
  • FIG. 1 is an illustration of the coordinate system used in the method of the invention
  • FIG. 2 is a schematic of a GPS receiver executing a program for solving for the position of the GPS receiver (the user) according to the invention.
  • FIG. 3 is a flowchart of the method of the invention.
  • GPS global positioning system
  • the GPS term pseudorange used here would be changed to the corresponding term (which might also be pseudorange) used in the context of the other satellite positioning system.
  • GPS time at arrival should be understood to be used in the GPS context, and in the more general context of any other analogous satellite positioning system, the term system time at arrival would be used.
  • the term submillisecond part of the ranging code tends to be GPS specific, and that term when used here should be understood to correspond more generally to a repeating part (the less significant part) of the ranging code.
  • the present invention extends the methods of the prior art for determining the position of a global positioning system (GPS) receiver when the ranging code cannot be demodulated (decoded) because of poor signal conditions by Taylor-series expanding the pseudorange function ⁇ ( ⁇ right arrow over (u) ⁇ , u , ⁇ ), given by the equation
  • the GPS time at arrival ⁇ i.e. the (single) time, according to the GPS clock, at which the user (GPS receiver) receives the ranging codes from the different spacecraft.
  • a precise determination of the receiver clock offset t u should include the same information as a precise determination of what is here called the GPS time at arrival ⁇ (in the sense that if you know t u precisely, you should know ⁇ )
  • the GPS time at arrival as used in the invention likely does not convey the same information as the receiver clock offset.
  • the GPS time at arrival is treated in the invention as independent of the receiver clock offset.
  • the invention approximately accounts for the uncertainties (errors) in the times of flight estimates ⁇ tilde over (t) ⁇ i ( ⁇ ) for the different spacecraft at positions ⁇ right arrow over (s) ⁇ i ( ⁇ tilde over (t) ⁇ i ( ⁇ ) .
  • a GPS receiver 10 includes a nonvolatile memory 10 a for storing a program 10 c that, when running on a processor 10 b also included in the GPS receiver, determines the position of the GPS receiver (user) by solving a system of pseudorange equations treating the GPS time at arrival ⁇ as a fifth variable, in addition to the user position (three variables, one for each coordinate) and the GPS receiver clock offset from GPS system time (i.e. time according to the GPS clock).
  • the program 10 b solves the system of pseudorange equations by linearizing the pseudorange equations as in the prior art, but instead of Taylor-series expanding only about some initial guess or estimate of the user position and about some initial guess or estimate of the receiver offset, as in equations (6) above, the invention also Taylor-series expands the pseudorange equations about the GPS time at arrival. It should be understood that although in the preferred embodiment of the invention there is a Taylor series expansion about some initial guess or estimate of the five variables of the pseudorange equation (16′), the invention is the use of the GPS time at arrival as at least one variable in solving for the position (or other aspect of the state of motion of) a user (GPS receiver), regardless of whether in the course of the solution a Taylor series expansion is performed.
  • is the GPS time at arrival
  • t ⁇ (i) is the time of flight of the ranging code
  • ⁇ right arrow over (u) ⁇ (t rx ) is the position of the GPS receiver (user) at the time t rx of reception of the specific code phase of the ranging code
  • t u is the offset from GPS system time of the receiver clock
  • c is the speed of light.
  • ⁇ i f i ⁇ ( u ⁇ ⁇ , ⁇ ⁇ , t ⁇ u ) + ⁇ u ⁇ f i ⁇ ( u ⁇ ⁇ , ⁇ ⁇ , t ⁇ u ) ⁇ ⁇ ⁇ ⁇ u ⁇ + ⁇ f i ⁇ ( u ⁇ ⁇ , ⁇ ⁇ , t ⁇ u ) ⁇ ⁇ ⁇ ⁇ + ⁇ f i ⁇ ( u ⁇ ⁇ , ⁇ ⁇ , t ⁇ u ) ⁇ t u ⁇ ⁇ ⁇ ⁇ t u ( 18 )
  • the estimated receiver offset ⁇ circumflex over (t) ⁇ u is related to the sought-after receiver offset t u according to t u 32 ⁇ circumflex over (t) ⁇ u + ⁇ t u , and, finally, where the notations ⁇ u ⁇ i ( ⁇ right arrow over ( ⁇ circumflex over (u) ⁇ ) ⁇ , ⁇ circumflex over ( ⁇ ) ⁇ , ⁇ circumflex over (t) ⁇
  • equations (19) can be written as,
  • ⁇ i ⁇ right arrow over (a) ⁇ i ⁇ ( ⁇ ⁇ right arrow over (u) ⁇ + ⁇ right arrow over ( ⁇ ) ⁇ i ⁇ )+ c ⁇ t u , (20)
  • FIG. 3 is a flowchart of the invention, showing that in the preferred embodiment the invention uses five independent variables, as explained above, namely the user position, the receiver clock offset, and the GPS time at arrival, and with outside assistance determines a system of pseudorange equations which according to the invention are then solved simultaneously by any of a number of methods, two of which are as follows.
  • equation (22) For five satellites, provided that H is non-singular, equation (22) has the solution,
  • the least squares solution at each iteration stage uses some guess for the receiver position ⁇ right arrow over (u) ⁇ , and then iterates to solve for the time of flight from each of the N satellites, using,
  • a Kalman filter provides an estimate of a user's position based not only on current measurements, but also based on past estimates (more specifically, based on predictions of the current measurements). In essence, a Kalman filter provides a solution that filters out the effect of noise in current measurements.
  • the discrete extended Kalman filter (EKF) is generally used with a stand-alone GPS receiver (as opposed to a network-assisted GPS receiver). Nevertheless, in cases where the tracking is often interrupted because of poor satellite signal quality, poor enough that the navigation component of the ranging code cannot be demodulated, cellular assistance in the form of orbit parameters and the location of a nearby cellular base station allows a Kalman filter to still provide the position of a user (GPS receiver), albeit an approximate position.
  • the Kalman filter formulation assumes a process model by which the state vector for the system including both the user and the GPS system (the space component, i.e. the satellites) is propagated from an earlier time to a later time.
  • the state vector used here is taken to be,
  • Equation (28) t u is the offset in the user (GPS receiver) clock, ⁇ clock is the rate of progression of the user clock, ⁇ is the GPS time at arrival according to the satellite clock (presumed to be correct), ⁇ dot over ( ⁇ ) ⁇ is the drift in the satellite clock with respect to the internal time variable t.
  • t u is the offset in the user (GPS receiver) clock
  • ⁇ clock is the rate of progression of the user clock
  • is the GPS time at arrival according to the satellite clock (presumed to be correct)
  • ⁇ dot over ( ⁇ ) ⁇ is the drift in the satellite clock with respect to the internal time variable t.
  • a Kalman filter operates by processing all available measurements at each epoch, in what is called a measurement update step, and then propagating the state vector estimate and process noise covariance ahead to the next epoch, in what is called a time update step. Estimates of the state vector and process noise covariance after the measurement update are here indicated by a superscript “+”, while estimates and covariances propagated ahead to the next epoch are indicated here by a superscript “ ⁇ ”.
  • the process model described here is the so-called low-dynamics model, i.e. the dynamical model usually used for GPS receivers in cars or boats, but not airplanes, for which the so-called high-dynamics model would be used.
  • the process model i.e. the state vector update equation, is here (in the case of the low-dynamics model) written as,
  • x L (k) is the state vector at the discrete time instance k (the subscript L being used to indicate that the low-dynamics model is being used)
  • w L (k ⁇ 1) is the process noise at instance k ⁇ 1
  • ⁇ t is the discretization interval (i.e. the time difference between instance k and instance k ⁇ 1)
  • ⁇ L ( ⁇ t) is the one-step state transition matrix.
  • the measurement model is here written as,
  • y L (k) is a vector of measured (observed) quantities
  • G L (k) is the so-called connection matrix, connecting the state variables (components of x L (k)) to the measured quantities (components of y L (k))
  • ⁇ L (k) is the measurement noise vector (the noise being assumed to be white, distributed normally as N(0,R L (k)), i.e. with some predetermined measurement noise covariance matrix R L (k)).
  • the initial condition used is
  • the process noise covariance matrix Q L ( ⁇ t) can be modified to include a nonzero covariance submatrix (as the leftmost and bottommost element) for the satellite time process noise, either for the purpose of including corrections to the satellite clock or for tuning the Kalman filter.
  • the Kalman filter also uses an error covariance matrix, here designated as P(k), defined as,
  • a Kalman filter solution according to the invention proceeds, in the preferred embodiment, is performed according to the following steps.
  • ⁇ circumflex over ( ⁇ ) ⁇ i,k ⁇ right arrow over (s) ⁇ i ( ⁇ circumflex over ( ⁇ ) ⁇ k ⁇ ⁇ tilde over (t) ⁇ ⁇ (i) ) ⁇ right arrow over ( ⁇ circumflex over (u) ⁇ ) ⁇ k ⁇ ⁇ +c ⁇ circumflex over (t) ⁇ u,k ⁇ , (39)
  • G k ⁇ ⁇ ( x ⁇ k - ) ( ⁇ f 1 ⁇ x ⁇ ⁇ ⁇ f 1 ⁇ y ⁇ ⁇ ⁇ f 1 ⁇ z ⁇ ⁇ ⁇ f 1 ⁇ t sat 1 ... ⁇ f N ⁇ x ⁇ ⁇ ⁇ f N ⁇ y ⁇ ⁇ ⁇ f N ⁇ z ⁇ ⁇ ⁇ f N ⁇ t sat 1 ) ⁇ x ⁇ k _ . ( 40 )
  • ⁇ i is the pseudorange function of equation (17), i.e.
  • the measured pseudorange can be determined from the submillisecond fractions measured by the receiver and the estimated millisecond fractions obtained from previous estimates, or from the location of a nearby cellular base station, or by some other method.
  • the Kalman filter procedure as defined allows changing what are used as the components of the state vector; it allows removing those state vector components, during the course of the Kalman filter solution, that become available through some external source.
  • a state vector component When a state vector component is removed, all the matrices used in the Kalman filter operation must be modified to correspond to the new state vector. For example, if at some stage the satellite time becomes available from baseband tracking, then the satellite time state vector components can be removed from Kalman filter, and the other vectors and the matrices used in the state update equations and the measurement update equations must be changed to correspond.

Abstract

A method and corresponding apparatus and system for solving for the position of a satellite positioning system receiver having a receiver clock with a receiver clock offset and responsive to ranging codes from some number of satellites, the ranging code from each satellite including a navigation component conveying information about the satellite and having a time of flight from the satellite, the method of use in signal conditions where the ranging codes can be baseband processed so that at least a repeating part of the pseudorange for each satellite can be determined. The method includes the system time at arrival, i.e. for example the time or arrival according to GPS time, as an independent variable of the pseudorange function for each of the ranging codes, an independent variable in addition to the receiver position, and solves simultaneously for the receiver position and the system time at arrival.

Description

FIELD OF THE INVENTION
The present invention relates to time-of-arrival ranging receivers, and more specifically to global positioning system (GPS) receivers.
BACKGROUND OF THE INVENTION
A global positioning system (GPS) receiver measures the time of arrival of a satellite ranging code provided by a GPS satellite. Based on the measured time of arrival of the ranging code (which includes orbit parameters and a timestamp indicating when the spacecraft transmitted the ranging code), the receiver determines the time required for the signal to propagate from the satellite to the receiver, and then multiplies this time by the speed of light to obtain a so-called pseudorange; the term pseudorange is used because there are a number of errors involved in the above measurement, the primary error being the error in the time of arrival of the signal because of an offset in the receiver clock from true GPS system time. The true range is just the difference between the time of reception of a specific code phase (of the ranging code) by the GPS receiver and the time of transmission of the specific code phase by the satellite multiplied by the speed of light, i.e.
r=(T u −T s)c,  (1)
where r is the (true) range, Tu is the GPS system time at which a specific code phase is received by the GPS receiver (i.e. the user of the GPS), Ts is the GPS system time at which the specific code phase was transmitted, and c is the speed of light. Because of an offset tu of the receiver clock from GPS system time, what is measured is not the true range r but a pseudorange ρ, related to the true range according to,
ρ=c[(T u +t u)−Ts ]=r+ct u.  (2)
The true range r depends on the sought-after user position {right arrow over (u)} (at the time of receipt of the specific code phase) as well as on the position {right arrow over (s)} of the satellite transmitting the specific code phase (i.e. the position of the satellite at the time of transmission of the specific code phase of the ranging code), according to simply,
r=∥{right arrow over (s)}(t tx)−{right arrow over (u)}(t rx)∥,  (3)
where the time of transmission ttx and the time of reception trx are both according to the same clock, the GPS system clock. (FIG. 1 illustrates the notation of equation (3).) Therefore, from equations (2) and (3), the (measured) pseudorange depends on the sought-after user position and receiver clock offset according to,
ρ=∥{right arrow over (s)}(t tx)−{right arrow over (u)}(t rx)∥+ct u,  (4)
in which the satellite position {right arrow over (s)}(ttx) is known from the navigation data modulating the ranging code, since the navigation data provide the orbit parameters and a timestamp indicating the time at which the spacecraft transmitted the ranging code, and so indicating the location of the spacecraft along its orbit at the time of transmitting the (specific code phase of the) ranging code.
The problem of determining the offset of the receiver clock is called the time-recovery problem. The prior art teaches solving for the receiver clock offset, as part of the solution for the user position, using various techniques, including linearizing a system of equations for pseudoranges from four or more satellites (using least squares estimation in case of more than four satellites) as well as other techniques such as using a Kalman filter. In a typical solution, at least four satellites are needed because there are four unknowns being solved for all three coordinates of the user position and the receiver clock offset. The approach based on linearizing a system of four pseudorange equations begins with the pseudorange equation, i.e. equation (4), for each of four satellites, ρ i = s i ( t tx ) - u ( t rx ) + ct u = ( x i - x u ) 2 + ( y i - y u ) 2 + ( z i - z u ) 2 + ct u = f i ( x u , y u , z u , t u ) , for i = 1 , 2 , 4. ( 5 )
Figure US06473694-20021029-M00001
The method the Taylor-series expands each of the equations (5) about an estimated position {right arrow over ({circumflex over (u)})} (related to the sought-after user position {right arrow over (u)} according to {right arrow over (u)}={right arrow over ({circumflex over (u)})}+Δ{right arrow over (u)}) and an estimated offset {circumflex over (t)}u related to the sought-after receiver offset tu according to tu={circumflex over (t)}u+Δtu), and neglects second-order and higher terms in the expansion, leaving, ρ i = f i ( u ^ , t ^ u ) + u f i ( u ^ , t ^ u ) · Δ u + f i ( u ^ , t ^ u ) t u Δ t u , for i = 1 , 2 , 4 ( 6 )
Figure US06473694-20021029-M00002
where the notations ∇uƒi({right arrow over ({circumflex over (u)})},{circumflex over (t)}u) and ∂ƒi({right arrow over ({circumflex over (u)})},{circumflex over (t)}u)/∂tu indicate that the function ƒ is to be treated as a function of {right arrow over (u)} and tu for the indicated differentiation, and the result evaluated at {right arrow over ({circumflex over (u)})} and {circumflex over (t)}u. Using equations (5), the equations (6) become, ρ i = ρ ^ i - s i - u ^ r ^ i Δ u + c Δ t u , for i = 1 , 2 , 4 , ( 7 )
Figure US06473694-20021029-M00003
with {circumflex over (ƒ)}i being used in place of ƒi({right arrow over ({circumflex over (u)})},{circumflex over (t)}u) in eq. (6). Using a i = s ^ i - u ^ r ^ i
Figure US06473694-20021029-M00004
and Δƒi={circumflex over (ƒ)}i−ƒi, equations (7) can be written as,
Δƒi ={right arrow over (a)} i ·Δ{right arrow over (u)}+cΔt u, for i=1, 2 . . . , 4,  (8)
and by constructing the vectors and matrix, Δ ρ ( Δ ρ 1 Δ ρ 2 Δ ρ 3 Δ ρ 4 ) H = ( a x1 a y1 a z1 1 a x2 a y2 a z2 1 a x3 a y3 a z3 1 a x4 a y4 a z4 1 ) and Δ x = ( Δ x u Δ y u Δ z u - c t u ) , ( 9 )
Figure US06473694-20021029-M00005
equations (8) can be written as,
Δ{right arrow over (ρ)}=HΔ{right arrow over (x)}  (10)
which has the solution,
Δ{right arrow over (x)}=H −1Δ{right arrow over (ρ)}.  (11)
When navigating by GPS in weak signal conditions such that the navigation component of the navigation signal cannot be decoded, the time when the signal is received is not precisely known. That time, when expressed according to the GPS clock, is called here simply GPS time at arrival and is indicated by the notation τ. It differs from the time at which the signal is transmitted by a satellite (i.e. ttx in equation (5)) by the time of flight tƒ of the signal from the satellite to the GPS receiver. In terms of the GPS time at arrival τ and the time of flight tƒ, the pseudorange given by equation (2) can be written as,
ρ=c└(T u +t u)−(τ−t ƒ)┘=c(T u +t u)−c(τ−t ƒ)=c(t u +t ƒ),  (2′)
since, by definition, Tu=τ.
In normal circumstances (i.e. strong signal conditions), the time at which the ranging code was sent from the spacecraft, τ−tƒ (i.e., in the notation of equation (2), simply Ts), is determined (to within the offset of the satellite clock δt, here taken to be negligible) by decoding the received navigation message. However, when the navigation data (containing the time of transmission/timestamp and the satellite orbit parameters) included in the ranging code sent by the satellite cannot be demodulated (decoded), but the baseband measurements (i.e. aligning the replica code with the transmitted code) can still be made, it is necessary to determine not only the receiver offset tu, but also the time ttx at which the signal was sent by the satellite, which is the GPS time at arrival τ (the time according to the GPS clock at which the signal was received) minus the unknown time of flight, tƒ.
In the case of signal conditions that are so poor that the navigation component of the ranging code cannot be demodulated, the prior art teaches solving for the user position based on a five-step procedure. The procedure is based on the fact that the pseudorange ρi to the ith spacecraft, which is a measured quantity in the case of strong signal conditions (as opposed to a calculated quantity like the user position), is the sum of two components, and accordingly can be written as,
ρii (1)i (2)  (12)
where ρi (1) is obtained from the navigation data included with the ranging code, and is given by ρ i ( 1 ) = c t f 1 m s ( 13 )
Figure US06473694-20021029-M00006
where ┌ . . . ┐ indicates the ceiling function (next greatest integer), and ρi (2) is obtained from baseband processing the ranging code (i.e. aligning the replica with the transmitted code), giving the submillisecond part of the pseudorange. The part ρi (1) is here sometimes called the millisecond part, since it gives the pseudorange only to within a millisecond, i.e. to within the speed of light times a millisecond, or nearly 300 km. When the first component ρi (1) cannot be determined (measured) because the navigation data cannot be demodulated, only the second component ρi (2) can be determined (measured). However, with cellular network assistance or some other means of assistance giving us the spacecraft orbit parameters (but not their precise position in the orbits) and the location of a nearby base station, (determined by methods known in the art) the prior art teaches solving for the user position in six steps as follows.
1. Make an estimate of the GPS time at arrival. The estimate can be based on either the local clock or a clock at the reference position.
2. Make estimates of the times of flight for each satellite, using e.g. satellite positions at the estimated GPS time at arrival. If no estimates are otherwise available, use an average of around 70 ms.
3. From the estimates of the GPS time at arrival and times of flight, compute the times of transmission for each satellite and then the satellite positions at those times using orbital parameters for each of the satellites acquired via cellular network assistance.
4. With the satellite positions approximately so determined, use the position of a nearby base station (called here the reference position) to calculate the millisecond part {tilde over (ρ)}i (1) of the pseudoranges for each satellite. The full pseudoranges to the receiver (not to base station) are computed by combining the millisecond part {tilde over (ρ)}i (1) and the submillisecond part {tilde over (ρ)}i (2), where the submillisecond part {tilde over (ρ)}i (2) is taken (determined) from the receiver baseband.
5. With the pseudoranges and satellite positions approximately so determined, use the iterative least squares method to determine an estimate of the receiver position. The iterative least squares method gives not only the position, but also an estimate of the a uncertainty in the solution.
6. Repeat steps 1-5 using different estimates of the GPS time at arrival selected from a grid of values around the value provided for example by the cellular network assistance. Use as the user position the value for which the uncertainty is the smallest.
The third step above is quite apparent from the description above. If the time of transmission is known, then the satellite positions are calculated from this time and from orbital parameters using formulas well known in the field of GPS.
In the fifth step, using the spacecraft positions calculated in step three, the user position {right arrow over (u)}(trx) and the receiver clock offset tu are solved using
{tilde over (ρ)}i (1)i (2) =∥{right arrow over (s)} i(τ−{tilde over (t)} i (ƒ))−{right arrow over (u)}(t rx)∥+ct u  (15)
At least four such equations are needed, so as to have a system of at least four equations in four unknowns (user position coordinates and receiver clock offset). If we have more than four equations, we can solve the system of equations using least squares, which will give us an uncertainty (error) as part of the solution, and we can iterate on the initial guesses (of first component of the pseudoranges, the times of flight, and the user position) to make the uncertainty smaller, in what is called iterated least squares.
As is evident from the above description, the procedure for solving for user position in case of weak signal conditions is time consuming. It would be advantageous to have a more efficient (faster) way of determining a GPS position-velocity-time (PVT) solution in weak signal conditions, conditions such that the navigation data cannot be demodulated (decoded) but the baseband measurement can still be performed.
SUMMARY OF THE INVENTION
Accordingly, the present invention provides a method and corresponding apparatus and system for solving for the position of a satellite positioning system receiver, the receiver having a receiver clock with a receiver clock offset and responsive to ranging codes from some number of satellites, the ranging code from each satellite including a navigation component conveying information about the satellite and having a time of flight from the satellite, the method of use in signal conditions where the ranging codes can be baseband processed so that at least a repeating part of the pseudorange for each satellite can be determined, the method including the steps of: including the system time at arrival as an independent and additional variable of the pseudorange function for each of the ranging codes, an independent variable in addition to the receiver position; providing estimates of the times of flight of the ranging codes and of the repeating part of the pseudoranges for each of the ranging codes; receiving information about the satellite sufficient to determine the orbits of the satellites, although not necessarily the positions of the satellites in their orbits; and solving simultaneously for the receiver position and the system time at arrival.
In a further aspect of the invention, the method also includes the receiver clock offset as an independent and additional variable. In some such applications, the method also includes the step of performing a Taylor-series expansion of the pseudorange function about an initial guess or estimate of each of the independent variables for as many of the satellites as there are independent variables thereby providing a system of pseudorange equations. The pseudorange equations are sometimes solved using a determinate single-point solution that is either an iterative least squares solution or an exact algebraic solution, depending on the number of pseudorange equations, and sometimes solved using a Kalman filter.
In another further aspect of the invention, the information about each satellite includes the orbit parameters for each satellite.
In yet another further aspect of the invention, the satellite positioning system is the global satellite positioning system (GPS) and the system time at arrival is the GPS time at arrival.
In yet still another further aspect of the invention, the repeating part of the pseudorange is the submillisecond part of the pseudorange.
In yet still even another further aspect of the invention, the method is of use in signal conditions where the ranging codes can be baseband processed providing at least the submillisecond part of the pseudorange.
Compared to the prior art procedure explained above, the present invention solves for the user position using the following steps, of which the first four are the same as in the prior art.
1. Make an estimate of the GPS time at arrival. The estimate can be based on either the local clock or a clock at the reference position.
2. Make estimates of the times of flight for each satellite, using e.g. satellite positions at the estimated GPS time at arrival. If no estimates are otherwise available, use an average of around 70 ms.
3. From the estimates of the GPS time at arrival and the times of flight, compute the times of transmission for each satellite and then the satellite positions at those times using orbital parameters for each of the satellites acquired via cellular network assistance.
4. With the satellite positions approximately so determined, use the position of a nearby base station (called here the reference position) to calculate the millisecond part {tilde over (ρ)}i (1) of the pseudoranges for each satellite. The full pseudoranges to the receiver (not to base station) are computed by combining the millisecond part {tilde over (ρ)}i (1) and the submillisecond part {tilde over (ρ)}i (2) where the submillisecond part {tilde over (ρ)}i (2) is taken (determined) from the receiver baseband.
5. With the pseudoranges and satellite positions known, instead of using the iterative least squares method as in the prior art, include in the pseudorange equations the unknown GPS time at arrival τ as an additional, independent variable. Then use the iterative least squares technique for the modified equations, the iteration here being different than in the prior art. In the conventional solution of the prior art, the satellite positions are fixed while iterations refine the estimate of the user position. Here the satellite positions and the user position are refined at the same time. The satellite positions are refined by iterating on the GPS time at arrival τ, which amounts to adjusting the positions of the satellites in their orbits, with the orbits themselves known via cellular network assistance or some other source. (New estimates of the GPS time at arrival and previous estimates of the times of flight are used to compute new times of transmission. The new times of transmission are used to compute new satellite positions. Then the times of flight and pseudoranges are updated.) Each iteration gives a new estimate of the user position, the GPS time at arrival, and the receiver clock offset. The iterations here converge, i.e. the solutions stop changing, and so the iteration here is fundamentally different than that of the prior art.
In essence, the invention collapses the last steps of the solution of the prior art into one step by introducing the GPS time at arrival τ (the time at which the user receives the ranging code) as a fifth unknown in the pseudorange equation,
 {tilde over (ρ)}i =∥{right arrow over (s)} i(τ−{tilde over (t)} i (ƒ))−{right arrow over (u)}(t rx)∥+ct u  (16)
where the pseudoranges {tilde over (ρ)}i and the times of flight {tilde over (t)}i (ƒ) are (approximately) known by some means. Thus, the invention provides five unknowns (τ, ux, uy, uz, tu) which are solvable by at least five pseudorange equations (i.e. equation (16) for five satellites). In case of five such pseudorange equations, the invention provides either a determinate solution or a Kalman filter solution. In case of more than five pseudorange equations, the invention provides a solution using either the method of least squares or a Kalman filter.
The method provided by the invention is faster than methods known in the art (from five to ten times faster), and it produces clock times (receiver offsets) that are as accurate as at least some of the prior art methods (in particular, the so-called SSE method). In the method using a filter such as a Kalman filter, the time error can be determined more precisely and the extra computation load is minimized when the time error solution is integrated into the Kalman filter.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects, features and advantages of the invention will become apparent from a consideration of the subsequent detailed description presented in connection with accompanying drawings, in which:
FIG. 1 is an illustration of the coordinate system used in the method of the invention;
FIG. 2 is a schematic of a GPS receiver executing a program for solving for the position of the GPS receiver (the user) according to the invention; and
FIG. 3 is a flowchart of the method of the invention.
BEST MODE FOR CARRYING OUT THE INVENTION
The present invention will now be described in the particular context of the so-called global positioning system (GPS). There are, however, other satellite positioning systems in use today, and it is possible that there will be new satellite positioning systems developed in the future. It is to be understood that although the description here is made specific to the GPS context, the same description could be made in the specific context of any other analogous satellite positioning system by changing the terms of art used here to the corresponding terms in the other satellite positioning system. For example, the GPS term pseudorange used here would be changed to the corresponding term (which might also be pseudorange) used in the context of the other satellite positioning system. As another example, the term GPS time at arrival should be understood to be used in the GPS context, and in the more general context of any other analogous satellite positioning system, the term system time at arrival would be used. As yet another example, the term submillisecond part of the ranging code tends to be GPS specific, and that term when used here should be understood to correspond more generally to a repeating part (the less significant part) of the ranging code.
The present invention extends the methods of the prior art for determining the position of a global positioning system (GPS) receiver when the ranging code cannot be demodulated (decoded) because of poor signal conditions by Taylor-series expanding the pseudorange function ƒ({right arrow over (u)},u,τ), given by the equation
 {tilde over (ρ)}i =∥{right arrow over (s)} i(τ−{tilde over (t)} i (ƒ))−{right arrow over (u)}(t rx)∥+ct u=ƒ({right arrow over (u)},t u,τ),  (16)
not only about some user position {right arrow over (u)}(trx) and some receiver offset tu, as in equations (6) of the prior art, but also about the GPS time at arrival τ, i.e. the (single) time, according to the GPS clock, at which the user (GPS receiver) receives the ranging codes from the different spacecraft. Although a precise determination of the receiver clock offset tu should include the same information as a precise determination of what is here called the GPS time at arrival τ (in the sense that if you know tu precisely, you should know τ), the GPS time at arrival as used in the invention likely does not convey the same information as the receiver clock offset. The GPS time at arrival is treated in the invention as independent of the receiver clock offset. By introducing the GPS time at arrival τ as one additional degree of freedom for the solution of the system of pseudorange equations (16), the invention approximately accounts for the uncertainties (errors) in the times of flight estimates {tilde over (t)}i (ƒ) for the different spacecraft at positions {right arrow over (s)}i(τ−{tilde over (t)}i (ƒ).
Referring now to FIG. 2, in the preferred embodiment of the invention, a GPS receiver 10 includes a nonvolatile memory 10 a for storing a program 10 c that, when running on a processor 10 b also included in the GPS receiver, determines the position of the GPS receiver (user) by solving a system of pseudorange equations treating the GPS time at arrival τ as a fifth variable, in addition to the user position (three variables, one for each coordinate) and the GPS receiver clock offset from GPS system time (i.e. time according to the GPS clock). The program 10 b solves the system of pseudorange equations by linearizing the pseudorange equations as in the prior art, but instead of Taylor-series expanding only about some initial guess or estimate of the user position and about some initial guess or estimate of the receiver offset, as in equations (6) above, the invention also Taylor-series expands the pseudorange equations about the GPS time at arrival. It should be understood that although in the preferred embodiment of the invention there is a Taylor series expansion about some initial guess or estimate of the five variables of the pseudorange equation (16′), the invention is the use of the GPS time at arrival as at least one variable in solving for the position (or other aspect of the state of motion of) a user (GPS receiver), regardless of whether in the course of the solution a Taylor series expansion is performed.
In linearizing the pseudorange equation (16′) including the GPS time at arrival τ, the pseudorange equations for each of the various (at least five) satellites are written as, ρ i = s i ( t tx ) - u ( t rx ) + ct u = ( x i ( τ - t f ( i ) ) - x u ) 2 + ( y i ( τ - t f ( i ) ) - y u ) 2 + ( z i ( τ - t f ( i ) ) - z u ) 2 + ct u = f i ( x u , y u , z u , τ , t u ) , for i = 1 , 2 , , N . ( 17 )
Figure US06473694-20021029-M00007
where {right arrow over (s)}i(ttx), with components (xi,yi,zi), is the position of the ith satellite (out of N satellites, where N could be larger than four) at the time ttx=τ−tƒ (i) at which the satellite transmits the specific code phase of the ranging code, τ is the GPS time at arrival, tƒ (i) is the time of flight of the ranging code, {right arrow over (u)}(trx) is the position of the GPS receiver (user) at the time trx of reception of the specific code phase of the ranging code, tu is the offset from GPS system time of the receiver clock, and c is the speed of light.
Now instead of Taylor-series expanding the pseudorange function ƒ about only some estimated receiver position {right arrow over ({circumflex over (u)})} and some estimated receiver offset {circumflex over (t)}u, i.e. about ({right arrow over ({circumflex over (u)})},{circumflex over (t)}u), the function ƒ is Taylor-series expanded about the five-dimensional quasi-point ({right arrow over ({circumflex over (u)})},{circumflex over (τ)},{circumflex over (t)}u), i.e. ρ i = f i ( u ^ , τ ^ , t ^ u ) + u f i ( u ^ , τ ^ , t ^ u ) · Δ u + f i ( u ^ , τ ^ , t ^ u ) τ Δ τ + f i ( u ^ , τ ^ , t ^ u ) t u Δ t u ( 18 )
Figure US06473694-20021029-M00008
for i=1, . . . , N satellites, where the estimated user (GPS receiver) position {right arrow over ({circumflex over (u)})} is related to the sought-after user position {right arrow over (u)} according to {right arrow over (u)}={right arrow over ({circumflex over (u)})}+Δ{right arrow over (u)}, {circumflex over (τ)} is related to the sought-after GPS time at arrival τ according to τ={circumflex over (τ)}+Δτ, and the estimated receiver offset {circumflex over (t)}u is related to the sought-after receiver offset tu according to tu 32 {circumflex over (t)}u+Δtu, and, finally, where the notations ∇uƒi({right arrow over ({circumflex over (u)})},{circumflex over (τ)},{circumflex over (t)}u), ∂ƒi({right arrow over ({circumflex over (u)})}, {circumflex over (τ)},{circumflex over (t)}u)/∂τ and ∂ƒi({right arrow over ({circumflex over (u)})},{circumflex over (τ)},{circumflex over (t)}u)/∂tu indicate that the function ƒ is to be treated as a function of {right arrow over (u)}, τ and tu for the indicated differentiation, and the result evaluated at {right arrow over ({circumflex over (u)})}, {circumflex over (τ)} and {circumflex over (t)}u. Using equations (17), the equations (18) become, ρ i = ρ ^ i - s i - u ^ r ^ i · Δ u + s i - u ^ r ^ i · v i + c Δ t u , for i = 1 , 2 , , N , ( 19 )
Figure US06473694-20021029-M00009
where {right arrow over (s)}i is the satellite position at the estimated GPS time at arrival {circumflex over (τ)}, i.e. {right arrow over (s)}i({circumflex over (τ)}), {circumflex over (ρ)}i=∥{right arrow over (s)}i({circumflex over (τ)})−{right arrow over (u)}∥+c{circumflex over (t)}u={circumflex over (r)}i+c{circumflex over (t)}u, and {right arrow over (ν)}i=∂{right arrow over ({circumflex over (s)})}i({circumflex over (τ)})/∂τ is the velocity of the ith satellite evaluated at the approximate GPS time at arrival {circumflex over (τ)}.
Using a i = s i - u ^ r ^ i
Figure US06473694-20021029-M00010
(with {right arrow over (s)}i evaluated at {circumflex over (τ)}) and Δρi={circumflex over (ρ)}i−ρi, equations (19) can be written as,
Δρi={right arrow over (a)}i·(Δ{right arrow over (u)}+{right arrow over (ν)} iΔτ)+cΔt u,  (20)
for i=1,2, . . . , N satellites, and by constructing the vectors and matrix (using for clarity of illustration only five satellites), Δ ρ ( Δ ρ 1 Δ ρ 2 Δ ρ 3 Δ ρ 4 Δ ρ 5 ) H = ( a x1 a y1 a z1 a 1 · v 1 1 a x2 a y2 a z2 a 2 · v 2 1 a x3 a y3 a z3 a 3 · v 3 1 a x4 a y4 a z4 a 4 · v 4 1 a x5 a y5 a z5 a 5 · v 5 1 ) and Δ x = ( Δ x u Δ y u Δ z u Δ τ - ct u ) , ( 21 )
Figure US06473694-20021029-M00011
equations (19) can be written as,
Δ{right arrow over (ρ)}=HΔ{right arrow over (x)}.  (22)
The use of the invention will be illustrated by application first to algorithmic solutions to the user position problem (i.e. either exact algebraic solutions or least squares solutions, both of which can be categorized as single-point solutions because of relying on only a single quasi-point as an initial guess to the user position problem), and then to Kalman filter solutions (which provide a smoothed navigation solution in which the effect of noise is reduced by taking into account two or more previous measurements as well as noise statistics).
FIG. 3 is a flowchart of the invention, showing that in the preferred embodiment the invention uses five independent variables, as explained above, namely the user position, the receiver clock offset, and the GPS time at arrival, and with outside assistance determines a system of pseudorange equations which according to the invention are then solved simultaneously by any of a number of methods, two of which are as follows.
Algorithmic (or Single-point) Solution
For five satellites, provided that H is non-singular, equation (22) has the solution,
Δ{right arrow over (x)}=H −1Δ{right arrow over (ρ)}.  (23)
For more than five satellites, it has the least squares solution,
Δ{right arrow over (x)}=(H T H)−1 H TΔ{right arrow over (ρ)},  (24)
i.e. the value of Δ{right arrow over (x)} given by equation (24) minimizes the square of the residual vector {right arrow over (R)} defined as,
{right arrow over (R)}(Δ{right arrow over (x)})=HΔ{right arrow over (x)}−Δ{right arrow over (ρ)}.  (25)
The least squares solution at each iteration stage uses some guess for the receiver position {right arrow over (u)}, and then iterates to solve for the time of flight from each of the N satellites, using,
t ƒ,i =∥{right arrow over (s)} i−t ƒ,i)−{right arrow over (u)}(τ)∥/c  (26)
where i=1, . . . , N. If the solution results in a position/GPS time at arrival/offset estimation that is too far from the initial guess, i.e. if Δ{right arrow over (x)} is large, then another initial guess can be made and a new Δ{right arrow over (x)} can be calculated.
(Extended) Kalman Filter Solution
Background Information
A Kalman filter provides an estimate of a user's position based not only on current measurements, but also based on past estimates (more specifically, based on predictions of the current measurements). In essence, a Kalman filter provides a solution that filters out the effect of noise in current measurements. The discrete extended Kalman filter (EKF) is generally used with a stand-alone GPS receiver (as opposed to a network-assisted GPS receiver). Nevertheless, in cases where the tracking is often interrupted because of poor satellite signal quality, poor enough that the navigation component of the ranging code cannot be demodulated, cellular assistance in the form of orbit parameters and the location of a nearby cellular base station allows a Kalman filter to still provide the position of a user (GPS receiver), albeit an approximate position.
The Kalman filter formulation assumes a process model by which the state vector for the system including both the user and the GPS system (the space component, i.e. the satellites) is propagated from an earlier time to a later time. The state vector used here is taken to be,
x L =[xyz|{dot over (x)}{dot over (y)}{dot over (z)}|t uƒclock|τ{dot over (τ)}],  (27)
where {right arrow over (u)}=(x,y,z) is the user (GPS receiver) position at the time of reception of the specific code phase, {right arrow over ({dot over (u)})}=({dot over (x)},{dot over (y)},{dot over (z)})=d{right arrow over (u)}/dt is the user velocity with respect to an internal time variable t (with the same rate of progression as the GPS time at arrival but with an unknown and irrelevant offset) and designated below by the discrete internal variable k (in e.g. equation (28)), tu is the offset in the user (GPS receiver) clock, ƒclock is the rate of progression of the user clock, τ is the GPS time at arrival according to the satellite clock (presumed to be correct), {dot over (τ)} is the drift in the satellite clock with respect to the internal time variable t. (Although the state vector of equation (27) is what is typically used in a Kalman filter solution, sometimes a state vector is defined to include fewer variables.)
A Kalman filter operates by processing all available measurements at each epoch, in what is called a measurement update step, and then propagating the state vector estimate and process noise covariance ahead to the next epoch, in what is called a time update step. Estimates of the state vector and process noise covariance after the measurement update are here indicated by a superscript “+”, while estimates and covariances propagated ahead to the next epoch are indicated here by a superscript “−”.
The process model described here (as one example) is the so-called low-dynamics model, i.e. the dynamical model usually used for GPS receivers in cars or boats, but not airplanes, for which the so-called high-dynamics model would be used. The process model, i.e. the state vector update equation, is here (in the case of the low-dynamics model) written as,
x L(k)=ΦLt)x L(k−1)+w L(k−1)  (28)
where xL(k) is the state vector at the discrete time instance k (the subscript L being used to indicate that the low-dynamics model is being used), wL(k−1) is the process noise at instance k−1, Δt is the discretization interval (i.e. the time difference between instance k and instance k−1) , and ΦL(Δt) is the one-step state transition matrix. (The Kalman filter described here is just an example. Once we obtain the modified pseudorange equation including the GPS time at arrival as one of the unknowns, we can use other dynamic models, besides the low-dynamics model, and other types of Kalman filters.)
The measurement model is here written as,
y L(k)=G L(k)x L(k)+εL(k),  (29)
where yL(k) is a vector of measured (observed) quantities, GL(k) is the so-called connection matrix, connecting the state variables (components of xL(k)) to the measured quantities (components of yL(k)), and εL(k) is the measurement noise vector (the noise being assumed to be white, distributed normally as N(0,RL(k)), i.e. with some predetermined measurement noise covariance matrix RL(k)).
The state transistion matrix is here defined as φ L ( Δ t ) = [ I Δ tI 0 0 0 I 0 0 0 0 φ clock ( Δ t ) 0 0 0 0 φ sat ( Δ t ) ] , ( 30 )
Figure US06473694-20021029-M00012
where each element is a 2×2 matrix, where I is the 2×2 identity matrix, where Δt is the discretization interval as above, where Φclock(Δt) is the transition matrix of a receiver clock process model, such as one of the widely used two-state models, φ clock ( Δ t ) = [ 1 Δ t 0 1 ] , ( 31 )
Figure US06473694-20021029-M00013
and where Φsat(Δt) is the process model of satellite time, defined as, φ sat ( Δ t ) = [ 1 Δ t 0 1 ] . ( 32 )
Figure US06473694-20021029-M00014
The initial condition used is
{dot over (τ)}=1.  (33)
With the initial condition {dot over (τ)}=1, the satellite time τ will be a linear function of time offset Δt, according to, [ τ ( k ) τ . ( k ) ] = [ 1 Δ t 0 1 ] [ τ ( k - 1 ) τ . ( k - 1 ) ] . ( 34 )
Figure US06473694-20021029-M00015
In the absence of process noise, the equation (34) provides that,
τ(k)=Δt+τ(k−1).  (35)
Assuming the GPS time at arrival is accurate, the process noise covariance matrix is, Q L ( Δ t ) = [ Q p Q pv 0 0 Q pv Q v 0 0 0 0 Q clock ( Δ t ) 0 0 0 0 0 ] , ( 36 )
Figure US06473694-20021029-M00016
where the submatrices Qp,Qpv,Qv are components of the covariance matrix due to the position (p), velocity (v) or both (pv). The process noise covariance matrix QL(Δt) can be modified to include a nonzero covariance submatrix (as the leftmost and bottommost element) for the satellite time process noise, either for the purpose of including corrections to the satellite clock or for tuning the Kalman filter. Using Qsat(Δt) as the appropriate submatrix, the process noise covariance matrix becomes, Q L ( Δ t ) = [ Q p Q pv 0 0 Q pv Q v 0 0 0 0 Q clock ( Δ t ) 0 0 0 0 Q sat ( Δ t ) ] . ( 37 )
Figure US06473694-20021029-M00017
The Kalman filter also uses an error covariance matrix, here designated as P(k), defined as,
P(k)=E└(x L(k)−{circumflex over (x)} L(k))(x L(k)−{circumflex over (x)} L(k))T┘,  (38)
where xL(k) is the true value of the sought-after state vector, and {circumflex over (x)}L(k) is its estimate, and E[ ] denotes the mathematical (statistical) expectation of the bracketed quantity.
In using a Kalman filter, values must be provided for the measurement noise covariance matrix R associated with the measurement noise vector ε (see equation (29) above and its discussion following), the initial estimate P0 of the error covariance matrix, and an initial estimate {circumflex over (x)}0 of the state vector.
The Invention Applied to the Extended Kalman Filter
A Kalman filter solution according to the invention proceeds, in the preferred embodiment, is performed according to the following steps. First, compute the expected (predicted) pseudorange {right arrow over ({circumflex over (ρ)})}k=[{circumflex over (ρ)}1,k,{circumflex over (ρ)}2,k, . . . ,{circumflex over (ρ)}N,k]t (for k=0 indicating the initial instant) based on the GPS satellite position and an a priori state estimate {circumflex over (x)}k of the state vector:
{circumflex over (ρ)}i,k =∥{right arrow over (s)} i({circumflex over (τ)}k −{tilde over (t)} ƒ (i))−{right arrow over ({circumflex over (u)})} k ∥+cΔ{circumflex over (t)} u,k ,  (39)
for i=1,2, . . . , N satellites.
Next, construct the measurement connection matrix, G k ( x ^ k - ) = ( f 1 x f 1 y f 1 z f 1 t sat 1 f N x f N y f N z f N t sat 1 ) x ^ k _ . ( 40 )
Figure US06473694-20021029-M00018
in which ƒi is the pseudorange function of equation (17), i.e.
ƒi(x u ,y u ,z u ,τ,t u)=∥{right arrow over (s)} i({circumflex over (t)} tx ={circumflex over (τ)}−{tilde over (t)} ƒ (i))−{right arrow over (u)}(t rx)∥+ct u.
Then compute the gain matrix Kk, using,
K k =P k G k t(G k P k G k t +R k)−1,  (41)
and update the state vector and the covariance matrix according to,
{circumflex over (x)} k + ={circumflex over (x)} k +K k({right arrow over (ρ)}k−{right arrow over ({circumflex over (ρ)})}k)={circumflex over (x)} k −K kΔ{right arrow over (ρ)}k
P k +=(I−K k G k)P k (I−K k G k)t +K k R k K k t  (42)
(The measured pseudorange can be determined from the submillisecond fractions measured by the receiver and the estimated millisecond fractions obtained from previous estimates, or from the location of a nearby cellular base station, or by some other method.)
Then propagate the covariance matrix to the next measurement epoch, using,
P k+1 =ΦP k +Φt +Q k.  (43)
Finally, propagate the state estimate to the next measurement epoch using the assumed process dynamics, i.e. according to,
{circumflex over (x)} k+1 =Φ{circumflex over (x)} k +.  (44)
The Kalman filter procedure as defined allows changing what are used as the components of the state vector; it allows removing those state vector components, during the course of the Kalman filter solution, that become available through some external source. When a state vector component is removed, all the matrices used in the Kalman filter operation must be modified to correspond to the new state vector. For example, if at some stage the satellite time becomes available from baseband tracking, then the satellite time state vector components can be removed from Kalman filter, and the other vectors and the matrices used in the state update equations and the measurement update equations must be changed to correspond.
Scope of the Invention
It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present invention. In particular, instead of orbit parameters (of a satellite) being used in the receiver position estimation, information in some other form about the orbit of the satellite may instead be used, and in general information about the satellite may be used, information such as ephemeris or almanac information, provided such information includes or implies information about the satellite orbit. Numerous other modifications and alternative arrangements may be devised by those skilled in the art without departing from the spirit and scope of the present invention, and the appended claims are intended to cover such modifications and arrangements.

Claims (31)

What is claimed is:
1. A method for solving for the position of a satellite positioning system receiver, the receiver having a receiver clock with a receiver clock offset and responsive to ranging codes from at least one satellite, the ranging code from the at least one satellite including a navigation component conveying information about the satellite and having a time of flight from the satellite, the method of use in signal conditions where the ranging codes can be baseband processed so that at least a repeating part of the pseudorange for the at least one satellite can be determined, the method comprising the steps of:
a) including the system time at arrival as an independent and additional variable of the pseudorange function for each of the ranging codes, a variable in addition to the receiver position;
b) providing estimates of the times of flight of the ranging codes and of the repeating part of the pseudoranges for each of the ranging codes;
c) receiving information about the at least one satellite sufficient to determine the orbit of the at least one satellite, although not necessarily the position of the at least one satellite; and
d) solving simultaneously for the receiver position and the system time at arrival.
2. The method of claim 1, further comprising the step of including the receiver clock offset as an independent and additional variable.
3. The method of claim 2, further comprising the step of performing a Taylor-series expansion of the pseudorange function about an initial guess or estimate of each of the independent variables for as many of the satellites as there are independent variables thereby providing a system of pseudorange equations.
4. The method of claim 3, further comprising the step of solving the system of pseudorange equations using a determinate single-point solution that is either an iterative least squares solution or an exact algebraic solution, depending on the number of pseudorange equations.
5. The method of claim 3, further comprising the step of solving the system of pseudorange equations using a Kalman filter.
6. The method of claim 1, wherein the information about the at least one satellite includes the orbit parameters for the at least one satellite.
7. The method of claim 1, wherein the satellite positioning system is the global satellite positioning system (GPS) and the system time at arrival is the GPS time at arrival.
8. The method of claim 1, wherein the repeating part of the pseudorange is the submillisecond part of the pseudorange.
9. The method of claim 1, wherein the method is of use in signal conditions where the ranging codes can be baseband processed providing at least the submillisecond part of the pseudorange.
10. A receiver for a satellite positioning system, the satellite positioning system including at least one satellite providing satellite ranging codes, the receiver having a receiver clock with an unknown receiver clock offset, the receiver able to solve for its position in signal conditions such that even if some of the navigation component of satellite ranging codes accessible to the receiver cannot be demodulated, the ranging codes can be baseband processed so that at least a repeating part of the pseudorange for the at least one satellite can be determined, the receiver comprising:
i) a non-volatile memory, for storing a program for solving for the receiver position;
ii) a processor for executing the stored program;
iii) an antenna responsive to the satellite ranging codes;
iv) an antenna responsive to information about the at least one satellite and about the location of a nearby reference point;
wherein the program solves for position according to the procedure including the steps of:
a) including the system time at arrival as an independent and additional variable of the pseudorange function for each of the ranging codes, a variable in addition to the receiver position;
b) providing estimates of the times of flight of the ranging codes and of the repeating part of the pseudoranges for the ranging codes for each of the at least one satellite;
c) receiving information about the at least one satellite sufficient to determine the orbit of the at least one satellite, although not necessarily the position of the at least one satellite; and
d) solving simultaneously for the receiver position and the system time at arrival.
11. The apparatus of claim 10, wherein the program further comprises the step of including the receiver clock offset as an independent and additional variable.
12. The apparatus of claim 11, wherein the program further comprises the step of performing a Taylor-series expansion of the pseudorange function about an initial guess or estimate of each of the independent variables for as many of the satellites as there are independent variables thereby providing a system of pseudorange equations.
13. The apparatus of claim 12, wherein the program further comprises the step of solving the system of pseudorange equations using a determinate single-point solution that is either an iterative least squares solution or an exact algebraic solution, depending on the number of pseudorange equations.
14. The apparatus of claim 12, wherein the program further comprises the step of solving the system of pseudorange equations using a Kalman filter.
15. The apparatus of claim 10, wherein the information about the at least one satellite includes the orbit parameters for the at least one satellite.
16. The apparatus of claim 15, wherein the program further comprises the step of including the receiver clock offset as an independent and additional variable.
17. The apparatus of claim 10, wherein the satellite positioning system is the global satellite positioning system (GPS) and the system time at arrival is the GPS time at arrival.
18. The apparatus of claim 10, wherein the repeating part of the pseudorange is the submillisecond part of the pseudorange.
19. The apparatus of claim 10, wherein the apparatus is of use in signal conditions where the ranging codes can be baseband processed providing at least the submillisecond part of the pseudorange.
20. A system for providing navigation solutions, comprising:
A) a receiver for a satellite positioning system, the satellite positioning system including at least one satellite providing satellite ranging codes, the receiver having a receiver clock with an unknown receiver clock offset, the receiver able to solve for its position in signal conditions such that even if some of the navigation component of satellite ranging codes accessible to the receiver cannot be demodulated, the ranging codes can be baseband processed so that at least a repeating part of the pseudorange for each satellite can be determined, the receiver comprising:
i) a non-volatile memory, for storing a program for solving for position;
ii) a processor for executing the stored program;
iii) an antenna responsive to the satellite ranging codes;
iv) an antenna responsive to information about the at least one satellite and about the location of a nearby reference point;
wherein the program solves for position according to the procedure including the steps of:
a) including the system time at arrival as an independent and additional variable of the pseudorange function for each of the ranging codes, a variable in addition to the receiver position;
b) providing estimates of the times of flight of the ranging codes and of the repeating part of the pseudoranges for each of the ranging codes;
c) receiving information about the at least one satellite sufficient to determine the orbit of the at least one satellite, although not necessarily the position of the at least one satellite; and
d) solving simultaneously for the receiver position and the system time at arrival; and
B) a means of providing the information about the at least one satellite.
21. The system of claim 20, wherein the program further comprises the step of including the receiver clock offset as an independent and additional variable.
22. The system of claim 21, wherein the program further comprises the step of performing a Taylor-series expansion of the pseudorange function about an initial guess or estimate of each of the independent variables for as many of the satellites as there are independent variables thereby providing a system of pseudorange equations.
23. The system of claim 22, wherein the program further comprises the step of solving the system of pseudorange equations using a determinate single-point solution that is either an iterative least squares solution or an exact algebraic solution, depending on the number of pseudorange equations.
24. The system of claim 22, wherein the program further comprises the step of solving the system of pseudorange equations using a Kalman filter.
25. The system of claim 20, wherein the information about the at least one satellite includes the orbit parameters for the at least one satellite.
26. The system of claim 25, wherein the program further comprises the step of including the receiver clock offset as an independent and additional vehicle.
27. The system of claim 20, wherein the satellite positioning system is the global satellite positioning system (GPS) and the system time at arrival is the GPS time at arrival.
28. The system of claim 20, wherein the repeating part of the pseudorange is the submillisecond part of the pseudorange.
29. The system of claim 20, wherein the system is of use in signal conditions where the ranging codes can be baseband processed providing at least the submillisecond part of the pseudorange.
30. The system of claim 20, wherein the means of providing the information about the at least one satellite is a cellular base station.
31. The system of claim 20, wherein the means of providing the information about the at least one satellite is the navigation satellite itself.
US09/828,594 2001-04-06 2001-04-06 Method, apparatus and system for estimating user position with a satellite positioning system in poor signal conditions Expired - Lifetime US6473694B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US09/828,594 US6473694B1 (en) 2001-04-06 2001-04-06 Method, apparatus and system for estimating user position with a satellite positioning system in poor signal conditions
EP02252485.4A EP1248117B1 (en) 2001-04-06 2002-04-05 Method, apparatus and system for estimating user position with a satellite positioning system in poor signal conditions
JP2002105854A JP2002357651A (en) 2001-04-06 2002-04-08 Method, device and system for estimating user position by satellite positioning system with weak signal state

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/828,594 US6473694B1 (en) 2001-04-06 2001-04-06 Method, apparatus and system for estimating user position with a satellite positioning system in poor signal conditions

Publications (1)

Publication Number Publication Date
US6473694B1 true US6473694B1 (en) 2002-10-29

Family

ID=25252237

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/828,594 Expired - Lifetime US6473694B1 (en) 2001-04-06 2001-04-06 Method, apparatus and system for estimating user position with a satellite positioning system in poor signal conditions

Country Status (3)

Country Link
US (1) US6473694B1 (en)
EP (1) EP1248117B1 (en)
JP (1) JP2002357651A (en)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030048801A1 (en) * 2001-08-21 2003-03-13 Dolors Sala System, method, and computer program product for ethernet passive optical networks
US6573799B1 (en) * 2001-12-12 2003-06-03 Nokia Corporation Clock system and corresponding method for providing a clock time accounting for systematic error
US6618671B2 (en) * 2000-09-20 2003-09-09 Koninklijke Philips Electronics N.V. Method of determining the position of a mobile unit
US6683564B1 (en) * 2002-11-19 2004-01-27 Eride, Inc. High-sensitivity satellite positioning system receivers and reception methods
US6775615B2 (en) * 2001-12-19 2004-08-10 Koninklijke Philips Electronics N.V. Method of obtaining a position fix in a GPS receiver and a GPS receiver for the same
US20040257277A1 (en) * 2003-06-17 2004-12-23 Global Locate Inc. Method and apparatus for locating position of a satellite signal receiver
US20050047275A1 (en) * 2003-09-01 2005-03-03 Geo-X Systems, Ltd. Synchronization and positioning of seismic data acquisition systems
WO2005081010A1 (en) * 2004-02-18 2005-09-01 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangements relating to satellite-based positioning
US20070024500A1 (en) * 2005-07-29 2007-02-01 Glennon Eamonn P Method and apparatus for reconstructing time of transmit from assisted or weak signal gps observations
US20080088505A1 (en) * 2005-07-29 2008-04-17 Roderick Bryant Method and System for Reconstructing Time of Transmit from Assisted or Weak Signal GPS Observations
WO2008084967A1 (en) * 2007-01-08 2008-07-17 Electronics And Telecommunications Research Institute Method for location determinating
US20080180318A1 (en) * 2005-07-29 2008-07-31 Glennon Eamonn P Method and Apparatus for Reconstructing Time of Transmit from Assisted or Weak Signal GPS Type Observations
US20090109088A1 (en) * 2002-10-04 2009-04-30 Bryant Roderick C Satellite-based positioning system improvement
US7667647B2 (en) 1999-03-05 2010-02-23 Era Systems Corporation Extension of aircraft tracking and positive identification from movement areas into non-movement areas
US7739167B2 (en) 1999-03-05 2010-06-15 Era Systems Corporation Automated management of airport revenues
US20100182195A1 (en) * 2009-01-16 2010-07-22 Qualcomm Incorporated Resolving Transmit Time Uncertainty in Carrier Phase Relative Positioning
US7777675B2 (en) 1999-03-05 2010-08-17 Era Systems Corporation Deployable passive broadband aircraft tracking
US20100207810A1 (en) * 2009-02-18 2010-08-19 Seiko Epson Corporation Position calculating method and position calculating device
US7782256B2 (en) 1999-03-05 2010-08-24 Era Systems Corporation Enhanced passive coherent location techniques to track and identify UAVs, UCAVs, MAVs, and other objects
CN101900821A (en) * 2009-05-27 2010-12-01 优伯劳克斯有限公司 A kind of method that is used for determining the mobile device position
US7889133B2 (en) 1999-03-05 2011-02-15 Itt Manufacturing Enterprises, Inc. Multilateration enhancements for noise and operations management
US7908077B2 (en) 2003-06-10 2011-03-15 Itt Manufacturing Enterprises, Inc. Land use compatibility planning software
US7929928B2 (en) * 2000-05-18 2011-04-19 Sirf Technology Inc. Frequency phase correction system
US7965227B2 (en) 2006-05-08 2011-06-21 Era Systems, Inc. Aircraft tracking using low cost tagging as a discriminator
US8072382B2 (en) 1999-03-05 2011-12-06 Sra International, Inc. Method and apparatus for ADS-B validation, active and passive multilateration, and elliptical surveillance
US20120046863A1 (en) * 2010-08-12 2012-02-23 The Government Of The Us, As Represented By The Secretary Of The Navy Orbit covariance, estimation and analysis tool
US8203486B1 (en) 1999-03-05 2012-06-19 Omnipol A.S. Transmitter independent techniques to extend the performance of passive coherent location
US8432942B1 (en) * 2003-05-16 2013-04-30 Apple Inc. Providing a timing source for multiple nodes coupled to a circuit-switched network
US8446321B2 (en) 1999-03-05 2013-05-21 Omnipol A.S. Deployable intelligence and tracking system for homeland security and search and rescue
US20140152500A1 (en) * 2012-12-05 2014-06-05 Institute For Information Industry Satellite positioning method, satellite pesudorange calculation apparatus and satellite pesudorange calculation method
KR101841741B1 (en) 2010-09-20 2018-03-23 한국전자통신연구원 Method and server for estimating position of mobile node
US20230128046A1 (en) * 2019-02-27 2023-04-27 Fujitsu Limited Detection method and computer-readable recording medium storing detection program

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937187B2 (en) 2000-11-17 2005-08-30 Global Locate, Inc. Method and apparatus for forming a dynamic model to locate position of a satellite receiver
WO2003083501A1 (en) 2002-03-28 2003-10-09 Nokia Corporation Determination of the transmission time of a signal part in a positioning system
DK1654561T3 (en) * 2003-08-14 2012-10-22 Saab Sensis Corp Target location using a distributed TDOA antenna
US20050159170A1 (en) * 2004-01-16 2005-07-21 Gagan Puranik Method and system for transmitting assistance location data for fleet and asset management
EP1560037A3 (en) * 2004-01-28 2005-11-23 Alcatel Method of factorisation of pseudorange dating in an assisted GNSS system.
US7095368B1 (en) * 2005-03-18 2006-08-22 Global Locate, Inc. Method and apparatus for combining measurements and determining clock offsets between different satellite positioning systems
FR2892827B1 (en) * 2005-11-02 2007-11-30 Alcatel Sa METHOD FOR DETERMINING THE POSITION OF SATELLITES IN A NAVIGATION SYSTEM
FR2903192B1 (en) * 2006-06-29 2008-10-31 Alcatel Sa METHOD AND DEVICE FOR LOCALIZATION
US7961141B2 (en) 2008-12-09 2011-06-14 Navcom Technology, Inc. Methods and systems to increase accuracy in the navigation of single frequency receivers
CN101793968B (en) * 2010-03-10 2012-08-22 北京航空航天大学 Double threshold detection method for weak satellite signal acquisition

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390124A (en) * 1992-12-01 1995-02-14 Caterpillar Inc. Method and apparatus for improving the accuracy of position estimates in a satellite based navigation system
WO1999053338A2 (en) 1998-04-16 1999-10-21 Snaptrack, Inc. Method and apparatus for determining time in a satellite positioning system
US6014101A (en) * 1996-02-26 2000-01-11 Trimble Navigation Limited Post-processing of inverse DGPS corrections
US6047192A (en) * 1996-05-13 2000-04-04 Ksi Inc. Robust, efficient, localization system
US6268824B1 (en) * 1998-09-18 2001-07-31 Topcon Positioning Systems, Inc. Methods and apparatuses of positioning a mobile user in a system of satellite differential navigation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5726893A (en) * 1992-12-17 1998-03-10 Stanford Telecommunications, Inc. Cellular telephone with voice-in-data modem
US5877724A (en) * 1997-03-25 1999-03-02 Trimble Navigation Limited Combined position locating and cellular telephone system with a single shared microprocessor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390124A (en) * 1992-12-01 1995-02-14 Caterpillar Inc. Method and apparatus for improving the accuracy of position estimates in a satellite based navigation system
US6014101A (en) * 1996-02-26 2000-01-11 Trimble Navigation Limited Post-processing of inverse DGPS corrections
US6047192A (en) * 1996-05-13 2000-04-04 Ksi Inc. Robust, efficient, localization system
WO1999053338A2 (en) 1998-04-16 1999-10-21 Snaptrack, Inc. Method and apparatus for determining time in a satellite positioning system
US6268824B1 (en) * 1998-09-18 2001-07-31 Topcon Positioning Systems, Inc. Methods and apparatuses of positioning a mobile user in a system of satellite differential navigation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Possibilities for GPS Time recovery with GSM network assistance" in Proc., ION GPS 2000, Salt Lake City, Utah, USA, Sep. 19-22, 2000.
"Time Recovery through fusion of inaccurate network timing assistance with GPS measurement" Proc. 3rd Int. Conference on information Fusion, Paris, France, Jul. 10, 2000, vol. II, pp. WeD5-3-WeD5-10.

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7667647B2 (en) 1999-03-05 2010-02-23 Era Systems Corporation Extension of aircraft tracking and positive identification from movement areas into non-movement areas
US8446321B2 (en) 1999-03-05 2013-05-21 Omnipol A.S. Deployable intelligence and tracking system for homeland security and search and rescue
US8203486B1 (en) 1999-03-05 2012-06-19 Omnipol A.S. Transmitter independent techniques to extend the performance of passive coherent location
US8072382B2 (en) 1999-03-05 2011-12-06 Sra International, Inc. Method and apparatus for ADS-B validation, active and passive multilateration, and elliptical surveillance
US7889133B2 (en) 1999-03-05 2011-02-15 Itt Manufacturing Enterprises, Inc. Multilateration enhancements for noise and operations management
US7782256B2 (en) 1999-03-05 2010-08-24 Era Systems Corporation Enhanced passive coherent location techniques to track and identify UAVs, UCAVs, MAVs, and other objects
US7777675B2 (en) 1999-03-05 2010-08-17 Era Systems Corporation Deployable passive broadband aircraft tracking
US7739167B2 (en) 1999-03-05 2010-06-15 Era Systems Corporation Automated management of airport revenues
US7929928B2 (en) * 2000-05-18 2011-04-19 Sirf Technology Inc. Frequency phase correction system
US6618671B2 (en) * 2000-09-20 2003-09-09 Koninklijke Philips Electronics N.V. Method of determining the position of a mobile unit
US7089112B2 (en) 2000-09-20 2006-08-08 Koninklijke Phillips Electronics N.V. Method of determining the position of a mobile unit
US20080019697A1 (en) * 2001-08-21 2008-01-24 Broadcom Corporation System, method, and computer program product for fiber access
US8121153B2 (en) 2001-08-21 2012-02-21 Broadcom Corporation Devices and system for fiber access
US20030048801A1 (en) * 2001-08-21 2003-03-13 Dolors Sala System, method, and computer program product for ethernet passive optical networks
US7260119B2 (en) * 2001-08-21 2007-08-21 Broadcom Corporation System, method, and computer program product for ethernet-passive optical networks
US7817676B2 (en) 2001-08-21 2010-10-19 Broadcom Corporation System, method, and computer program product for fiber access
US6573799B1 (en) * 2001-12-12 2003-06-03 Nokia Corporation Clock system and corresponding method for providing a clock time accounting for systematic error
US6775615B2 (en) * 2001-12-19 2004-08-10 Koninklijke Philips Electronics N.V. Method of obtaining a position fix in a GPS receiver and a GPS receiver for the same
US20090109088A1 (en) * 2002-10-04 2009-04-30 Bryant Roderick C Satellite-based positioning system improvement
US20080189044A1 (en) * 2002-10-04 2008-08-07 Geo-X Systems, Ltd. Synchronization and positioning of seismic data acquisition systems
US8816905B2 (en) 2002-10-04 2014-08-26 U-Blox Ag Satellite-based positioning system improvement
US6683564B1 (en) * 2002-11-19 2004-01-27 Eride, Inc. High-sensitivity satellite positioning system receivers and reception methods
US8432942B1 (en) * 2003-05-16 2013-04-30 Apple Inc. Providing a timing source for multiple nodes coupled to a circuit-switched network
US7908077B2 (en) 2003-06-10 2011-03-15 Itt Manufacturing Enterprises, Inc. Land use compatibility planning software
US20040257277A1 (en) * 2003-06-17 2004-12-23 Global Locate Inc. Method and apparatus for locating position of a satellite signal receiver
US6975266B2 (en) 2003-06-17 2005-12-13 Global Locate, Inc. Method and apparatus for locating position of a satellite signal receiver
US20050047275A1 (en) * 2003-09-01 2005-03-03 Geo-X Systems, Ltd. Synchronization and positioning of seismic data acquisition systems
WO2005081010A1 (en) * 2004-02-18 2005-09-01 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangements relating to satellite-based positioning
US7450063B2 (en) 2004-02-18 2008-11-11 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangements relating to satellite-based positioning
US20070139264A1 (en) * 2004-02-18 2007-06-21 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangements relating to satellite-based positioning
CN1918482B (en) * 2004-02-18 2010-04-28 艾利森电话股份有限公司 Method and arrangements relating to satellite-based positioning
US20080088505A1 (en) * 2005-07-29 2008-04-17 Roderick Bryant Method and System for Reconstructing Time of Transmit from Assisted or Weak Signal GPS Observations
US20070024500A1 (en) * 2005-07-29 2007-02-01 Glennon Eamonn P Method and apparatus for reconstructing time of transmit from assisted or weak signal gps observations
US20080180318A1 (en) * 2005-07-29 2008-07-31 Glennon Eamonn P Method and Apparatus for Reconstructing Time of Transmit from Assisted or Weak Signal GPS Type Observations
US8542714B2 (en) 2005-07-29 2013-09-24 U-Blox Ag Method and system for reconstructing time of transmit from assisted or weak signal GPS observations
US7965227B2 (en) 2006-05-08 2011-06-21 Era Systems, Inc. Aircraft tracking using low cost tagging as a discriminator
US20090325605A1 (en) * 2007-01-08 2009-12-31 Electronics And Telecommunications Research Institute Method for location determinating
WO2008084967A1 (en) * 2007-01-08 2008-07-17 Electronics And Telecommunications Research Institute Method for location determinating
US8346283B2 (en) 2007-01-08 2013-01-01 Electronics And Telecommunications Research Institute Method for location determinating
US20100182195A1 (en) * 2009-01-16 2010-07-22 Qualcomm Incorporated Resolving Transmit Time Uncertainty in Carrier Phase Relative Positioning
US9244177B2 (en) * 2009-02-18 2016-01-26 Seiko Epson Position calculating method and position calculating device
US20100207810A1 (en) * 2009-02-18 2010-08-19 Seiko Epson Corporation Position calculating method and position calculating device
CN101900821B (en) * 2009-05-27 2014-03-26 瑞士优北罗股份有限公司 A method of determining the position of a mobile device
US8106816B2 (en) 2009-05-27 2012-01-31 U-Blox Ag Method of determining the position of a mobile device
US20100302096A1 (en) * 2009-05-27 2010-12-02 U-Blox Ag Method of determining the position of a mobile device
EP2256512A1 (en) * 2009-05-27 2010-12-01 u-blox AG A method of determining the position of a mobile device
CN101900821A (en) * 2009-05-27 2010-12-01 优伯劳克斯有限公司 A kind of method that is used for determining the mobile device position
US20120046863A1 (en) * 2010-08-12 2012-02-23 The Government Of The Us, As Represented By The Secretary Of The Navy Orbit covariance, estimation and analysis tool
KR101841741B1 (en) 2010-09-20 2018-03-23 한국전자통신연구원 Method and server for estimating position of mobile node
US20140152500A1 (en) * 2012-12-05 2014-06-05 Institute For Information Industry Satellite positioning method, satellite pesudorange calculation apparatus and satellite pesudorange calculation method
US9541650B2 (en) * 2012-12-05 2017-01-10 Institute For Information Industry Satellite positioning method, satellite pseudorange calculation apparatus and satellite pseudorange calculation method
US20230128046A1 (en) * 2019-02-27 2023-04-27 Fujitsu Limited Detection method and computer-readable recording medium storing detection program

Also Published As

Publication number Publication date
EP1248117A2 (en) 2002-10-09
JP2002357651A (en) 2002-12-13
EP1248117A3 (en) 2005-01-19
EP1248117B1 (en) 2014-08-13

Similar Documents

Publication Publication Date Title
US6473694B1 (en) Method, apparatus and system for estimating user position with a satellite positioning system in poor signal conditions
US9121940B2 (en) Vehicle navigation using non-GPS LEO signals and on-board sensors
US8255160B2 (en) Integrated mobile terminal navigation
US10670734B2 (en) Advanced navigation satellite system positioning method and system using delayed precise information
US7869948B2 (en) Method and apparatus in positioning without broadcast ephemeris
US7564406B2 (en) Method and apparatus in standalone positioning without broadcast ephemeris
EP1982208B1 (en) A method for combined use of a local positioning system, a local rtk system, and a regional, wide- area, or global carrier-phase positioning system
US7133772B2 (en) Method and apparatus for navigation using instantaneous Doppler measurements from satellites
US7683832B2 (en) Method for fusing multiple GPS measurement types into a weighted least squares solution
US20040257277A1 (en) Method and apparatus for locating position of a satellite signal receiver
US20060161329A1 (en) System and method for advanced tight coupling of GPS and inertial navigation sensors
US7535414B2 (en) Navigational positioning without timing information
US20050248485A1 (en) GPS navigation using successive differences of carrier-phase measurements
US6865478B2 (en) Determining the position of a receiver and/or the system time of a positioning system
EP2101186A1 (en) Method and system for generating temporary ephemeris
EP1777538A1 (en) Spacecraft position monitoring and control
US7239273B2 (en) Apparatus and method for calculating satellite acquisition information to recognize position of mobile station
US20030157886A1 (en) Computing network path delays so accurate absolute time can be forwarded from a server to a client
JP2009079975A (en) Positioning system
Akopian et al. A network aided iterated LS method for GPS positioning and time recovery without navigation message decoding
EP4198574A1 (en) Calculating a position of one device relative to another
GB2295063A (en) Monitoring GPS ephemeris data

Legal Events

Date Code Title Description
AS Assignment

Owner name: NOKIA CORPORATION, FINLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:AKOPIAN, DAVID;SYRJARINNE, JARI;REEL/FRAME:012431/0325

Effective date: 20010724

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: NOKIA TECHNOLOGIES OY, FINLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOKIA CORPORATION;REEL/FRAME:035551/0539

Effective date: 20150116