EP1949126A2 - Method and apparatus for reconstructing time of transit from assisted or weak signal gps observations - Google Patents

Method and apparatus for reconstructing time of transit from assisted or weak signal gps observations

Info

Publication number
EP1949126A2
EP1949126A2 EP06788960A EP06788960A EP1949126A2 EP 1949126 A2 EP1949126 A2 EP 1949126A2 EP 06788960 A EP06788960 A EP 06788960A EP 06788960 A EP06788960 A EP 06788960A EP 1949126 A2 EP1949126 A2 EP 1949126A2
Authority
EP
European Patent Office
Prior art keywords
tot
solution
gps device
satellite
error
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.)
Withdrawn
Application number
EP06788960A
Other languages
German (de)
French (fr)
Other versions
EP1949126A4 (en
Inventor
Eamonn Glennon
Roderick Bryant
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.)
SigNav Pty Ltd
Original Assignee
SigNav Pty Ltd
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 SigNav Pty Ltd filed Critical SigNav Pty Ltd
Priority claimed from US11/460,784 external-priority patent/US20070024500A1/en
Publication of EP1949126A2 publication Critical patent/EP1949126A2/en
Publication of EP1949126A4 publication Critical patent/EP1949126A4/en
Withdrawn legal-status Critical Current

Links

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/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/256Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS relating to timing, e.g. time of week, code phase, timing offset

Definitions

  • This invention relates to Global Positioning Satellite systems where the time of transmit of satellite signals is not available from the navigation message data. In particular it concerns the reconstruction of time-of-transmit from the course acquisition code of weak signals or where assisted-GPS is employed.
  • Assisted GPS (AGPS) navigation solutions differ from normal GPS navigation solutions due to the use of ambiguous code-phases rather than full time-of-transmits for each GPS satellite observation. As such, it is necessary to reconstruct the full time-of- transmit using a-priori knowledge such as a position estimate within 150 km of the true position and an estimate of the time-of-receipt. Errors arise if the initial time-of-receipt used to construct the time-of-transmit observations is in error.
  • Enhanced-E911 requirement for mobile cellular communications and the subsequent use of GPS in order to fulfill this requirement has necessitated the development of new methods to perform GPS navigation solutions.
  • weak-signal or AGPS is not able to extract all the information from the GPS signal due to extremely weak signal to noise ratios.
  • a weak-signal or AGPS satellite observation generally consists of a 1-ms ambiguous code phase and a measured Doppler frequency compared to a standard GPS observation which consists of a full time-of-transmit (TOT) and a measured Doppler frequency.
  • AGPS is still able to perform a navigation solution through the use of prior information, including a rough estimate of the position of the receiver and a time tag for the time-of-receipt (TOR).
  • the rough estimate of position of the receiver is generally based on the location of the cell-site, although it could be based on the use of previous estimates or calculated using a Doppler based solution.
  • These parameters can then be used to estimate ranges to each satellite which together with the initial TOR estimate can be used to estimate a full TOT for each satellite.
  • the initial TOR typically contains errors, the reconstructed TOTs will all be subject to a common timing error thereby resulting in navigation position errors in the solution process.
  • the invention is embodied in a GPS device having a processor that runs an algorithm for determining TOT, the time of transmit of a satellite signal. Inaccuracies in the receiver clock are the source of errors in the TOT. After adjusting the TOT by the phase shift between a locally generated C/A code and the satellite gold code, a calculation in a single stage is performed in which both the receiver clock error ⁇ t and the TOT error ⁇ T. A measurement matrix is used whose row elements are the partial derivatives of the pseudorange with respect to the unknowns, in this case including an addition timing error term. The solution is obtained by applying the pseudoinverse of the measurement matrix to the difference between the predicted and measured pseudorange vector.
  • the Dilution of Precision is calculated based on the measurement matrix.
  • the DOP provides a prediction of the accuracy of the solution.
  • Other embodiments take use the accurate time determination when time signals are required.
  • Figure 1 depicts the timing for a satellite signal.
  • Figure 2 depicts a satellite configuration for an example used to demonstrate the invention.
  • GPS observations used in AGPS Mobile Station Assisted (MS-Assisted) or MS- Based navigation solutions generally consist of a set of C/A code phases measured at a given time-instant as well as Doppler frequency measurements. Since the C/A code has a repetition frequency of 1 kHz, this means that the C/A code phases indicate the TOT modulo 1 ms and for a navigation solution to be performed, it is necessary to reconstruct the full TOT for each satellite.
  • This process generally starts with an estimate of the TOR 1 the time instant at which the observation was made, which is generally obtained using assistance from the cell phone or real time clock (RTC). Subtracting an estimate for the satellite signal's time-of-flight (TOF) from the TOR then provides an estimate for each satellite TOT.
  • TTC real time clock
  • the time of flight is essentially the phase shift in the C/A signal modulo the length of a C/A code epoch of 1 ms.
  • Each TOT can then have it's sub- millisecond portion replaced by the measured code phase and the resulting TOTs can then be corrected by a integer number of millisecond epochs such that the times are consistent with the specified coarse receiver location.
  • Boundary truncation or round-off problems can be avoided by adjusting the initial TOR such that after application of the measured code phases, at least one satellite has a millisecond adjustment that is exactly zero. This procedure produces a set of reconstructed TOTs that is consistent with the true location at which the measurement was made and that can be then used to perform a navigation solution.
  • a satellite 1 in an orbit 3 transmits a signal to a receiver 5 located on or near the surface of the earth.
  • a portion of the signal typically the start of an epoch, commences its transmission at a time TOT as measured by an accurate satellite clock, and commences its reception at a time TOR as measured by a less accurate receiver clock.
  • the signal arrives at the receiver it is detected by its correlation with a locally generated C/A code.
  • the phase difference between the locally generated code and the received code translates into a time difference modulo the length of a code epoch.
  • the epoch difference is constrained by knowledge of the approximate location 7 of the receiver to an accuracy of about 150 km, since the speed of light is approximately 300km/ms and the epoch length is 1 ms.
  • a problem with the above procedure is that any error in the initial TOR will result in biased TOTs. Where this causes a problem is that each TOT is used to estimate the position of the corresponding satellite in its orbit 3 which means that if the TOT is incorrect then the satellite position will be incorrect as well. Since each satellite range rate lies in the range of ⁇ 1000 m/s, a timing error in the TOT of as little as 0.01 seconds can result in pseudorange predictions that are in error by 10 m, while errors of 1 second can result in 1000 m pseudorange errors. These errors then result in biases in the calculated positions.
  • the problem can be solved if there is redundancy in the number of satellite observations used to perform the navigation solution.
  • four observations are used to solve for four different state variables, namely (x, y, z, cAt), where x, y and z are the WGS84 coordinates of the receiver, c is the speed of light and ⁇ t is the clock error in the TOR.
  • this clock error Ai in the TOR is different to the timing error ⁇ T that is present in the estimated TOTs when AGPS is carried out.
  • the dimension of the state vector is increased by addition of the timing error ⁇ Tand an additional observation used to solve for this additional unknown.
  • the present invention is best understood by comparison with the following two stage algorithm.
  • the pseudorange error for each satellite / is modeled as:
  • PR is the pseudorange for satellite /
  • R - is the range for satellite /
  • R 1 is the range-rate for satellite / '
  • ⁇ t is the TOR clock error
  • ⁇ T is the timing error.
  • R is calculated using the satellite position at the current TOT x ; or (x lt y,, Z 1 ) and the receiver position x or (x, y, z).
  • One method is to substitute the calculated ⁇ t value from the position solution thereby providing a set of five or more equations each with a single unknown, namely the ⁇ T quantity. Using these equations, five or more estimates ⁇ T, are obtained by re- writing (1) as:
  • the range-rate quantity can lie anyway in the range of -1000 m/s to 1000 m/s, including zero.
  • weighted means The effect of these weighted means is to give low weighting to estimates derived from range-rates close to zero and larger weights to values derived from higher range- rates. Estimates derived from values very near to zero were excluded from the solution completely.
  • An alternate method of performing the solution for AT is to recalculate both At and ⁇ T at each position solution step. This can be done by constructing a vector of Pf?;, R, and Jj 1 . as PR, R and R respectively and rewriting (1) as
  • PR -R [l R] C ⁇ 1 (6) where 1 denotes a vector of 1's. This can then be used to solve for c ⁇ t and AT using a standard pseudo-inverse. This method did not seem to be as susceptible to the problem of zero R 1 values as the previous technique, probably because of the presence of the c ⁇ t variable constraining the solution in some way.
  • DOP Dilution of Precision
  • DOP is a term that describes the geometric strength of a satellite configuration. When visible satellites are close together in the sky, the geometry is said to be weak and the DOP value is high; when far apart, the geometry is strong and the DOP value is low. Factors that affect the DOP are, besides the satellite orbits, the presence of obstructions which make it impossible to use satellites in certain sectors of the local sky.
  • This reversal of signs requires that the solution process adjust the signs of the input quantities to compensate accordingly. It also makes sense to express the range-rate terms with units of km/s rather than m/s thereby ensuring that the magnitude of all matrix elements are similar. This results in the solved TOR error having units of milliseconds rather than seconds.
  • n is the number of satellites and the sign of ⁇ y has been adjusted to match the DOP friendly H matrix.
  • the correction is applied and the predicted range vector y updated before repeating the process.
  • the process is terminated when the magnitude of the calculated correction ⁇ x becomes sufficiently small. This typically takes less than 10 iterations and is significantly faster than the two-stage algorithm.
  • the algorithm just described may be improved in a number of ways. Firstly, it is often the case that two-dimensional fixes need to be performed during periods of reduced satellite availability, so support for this requirement may be included. One way in which this can be done is to add a 'fake' satellite in the center of the earth and then specify a required pseudorange for that satellite. The corresponding row of the H matrix is then constructed as the partial derivatives of the WGS84 reference ellipsoid evaluated at the estimated position, where the ellipsoid is described as
  • R * is the weighting matrix.
  • R is generally a diagonal matrix in which the noise- variance of each observation is the corresponding diagonal element in R, so observations with a low noise variance end up as large values in the inverted matrix R '1 .
  • Another feature of a preferred embodiment is to permit the use of differenced pseudoranges for solution of the (x, y, z, ⁇ T). This is implemented by modifying the H and R matrices once all the measured satellite observations have been inserted (but before adding the fake 2D observation). The modification involves selecting a reference satellite (usually the highest one) and then subtracting the reference satellite row from each of the other rows. Performing a differenced observation in this way eliminates the clock error c ⁇ t as a solution state. It is also possible to disable the solution of the timing error for situations in which exact TOTs or accurate time-aiding is available omitting the final range-rate column of H thereby resorting to the standard formulation. This is also useful for permitting calculation of the receiver velocity solution since the H matrix required for a velocity solution is the same as a standard position solution. Only the input and output vectors change for this situation, which in this case are pseudorange- rates and receiver velocity respectively.
  • Table 2 shows the resulting satellite positions and range-rates for the constellation at this time, while Figure 1 shows provides a graphical representation of the satellite visibility.
  • the GDOP can then be calculated as the square root of the trace of this matrix, giving a GDOP value of 7.17, which although higher than normal is not excessive. However, if the DOP is calculated using the H matrix as actually used in the solution process, a result with significantly larger magnitude is obtained.
  • the numerical values for the extended DOP are generally similar to the values obtained using the conventional approach. However, in cases where the extended DOP is high, it means that the timing error and navigation solution cannot be reliably calculated.
  • the technology is also applicable to the newly developing field of GPS weak signal timing receivers.
  • this involves the use of GPS for time-transfer, except that the receiver only has access to weak signals and obtains ephemeris, coarse location and coarse time from other sources such as the Internet or wireless links.
  • the main reason for requiring such receivers is either convenience, with many environments not being GPS antenna friendly or the requirement to provide timing in areas of heavy vegetation where GPS signals are obscured.
  • the first option is to formulate the solution in terms of an extended Kalman filter (P. Axelrad and R. G. Brown, "GPS Navigation Algorithms," in Global Positioning Systems: Theory and Applications Volume 1, B. W. Parkinson, J. J. Spilker, P. Axelrad, and P. Enge, Eds.: American Institute of Astronautics and Aeronautics, Inc, 1996.), rather than the single shot solution algorithm just described.
  • the procedure for doing this is straightforward and requires the inclusion of the TOR timing error /17 as an additional element in the Kalman filter state vector.
  • the state covariance must also increase to account for the additional dimension and the new H matrix used instead of the normal H matrix.
  • the Kalman filter can then be operated over a number of GPS measurements until the state- covariance associated with /47 has fallen significantly below one millisecond. Provided the Kalman filter state covariance represents a realistic estimate of the error it is then possible to correct the receiver TOR using the calculated estimate after which this TOR can be locked-in and a switch to a conventional solution process performed.
  • bit sync could be obtained by performing noncoherent correlations over many rounds (typically 50 to several hundred) of 20ms coherent correlations using 20 offsets at 1ms spacing and choosing the alignment that yields the highest correlation.
  • the 1ms ambiguity of the codephase is replaced by a 20ms ambiguity for the bits.
  • the invention can be used to determine time to better than 10ms, by utilizing the TOR-resolving position-Time Kalman filter. By combining this better time resolution with the 20 ms bit ambiguity one can completely resolve the ambiguity leading to precise time resolution using the codephase measurements with no ambiguity.
  • the validity of the time resolution can be tested by performing long coherent correlations across many bit periods after stripping data known in advance. This will yield a very high correlation if the bit ambiguity has been properly resolved. If not, this will yield a very low correlation and one could re-resolve the ambiguity.
  • the accurate time could be further utilized by outputting synchronization pulses at any desired repetition rate with sub-microsecond precision and stamping these with time via a communications port of some sort.
  • one could discipline the receiver's reference oscillator by estimating the frequency bias of the oscillator using the Doppler measurements and the estimated time and position and steering the local oscillator to the correct frequency.

Abstract

The invention provides a GPS device that resolves timing errors as applicable to an AGPS navigation solution. A single state algorithm provides rapid convergence, typical with standard Newton-Raphson performance. Problems due to ill-conditioning of the input matrix are identified by an augmented DOP calculation procedure, which may be used to identify unreliable results or to estimate the errors for those results.

Description

Method and Apparatus for Reconstructing Time of Transmit from Assisted or Weak Signal GPS Observations
This invention claims the priority of US provisional patent application 60/703,637 filed July 29, 2005 entitled "Solution of Timing Errors for AGPS".
Field of the Invention
This invention relates to Global Positioning Satellite systems where the time of transmit of satellite signals is not available from the navigation message data. In particular it concerns the reconstruction of time-of-transmit from the course acquisition code of weak signals or where assisted-GPS is employed.
Background of the Invention
Assisted GPS (AGPS) navigation solutions differ from normal GPS navigation solutions due to the use of ambiguous code-phases rather than full time-of-transmits for each GPS satellite observation. As such, it is necessary to reconstruct the full time-of- transmit using a-priori knowledge such as a position estimate within 150 km of the true position and an estimate of the time-of-receipt. Errors arise if the initial time-of-receipt used to construct the time-of-transmit observations is in error.
The Enhanced-E911 requirement for mobile cellular communications and the subsequent use of GPS in order to fulfill this requirement has necessitated the development of new methods to perform GPS navigation solutions. Unlike standard GPS, weak-signal or AGPS is not able to extract all the information from the GPS signal due to extremely weak signal to noise ratios. As a result, a weak-signal or AGPS satellite observation generally consists of a 1-ms ambiguous code phase and a measured Doppler frequency compared to a standard GPS observation which consists of a full time-of-transmit (TOT) and a measured Doppler frequency. Nonetheless, AGPS is still able to perform a navigation solution through the use of prior information, including a rough estimate of the position of the receiver and a time tag for the time-of-receipt (TOR). The rough estimate of position of the receiver is generally based on the location of the cell-site, although it could be based on the use of previous estimates or calculated using a Doppler based solution. These parameters can then be used to estimate ranges to each satellite which together with the initial TOR estimate can be used to estimate a full TOT for each satellite. However, since the initial TOR typically contains errors, the reconstructed TOTs will all be subject to a common timing error thereby resulting in navigation position errors in the solution process.
The problem of time-recovery for AGPS is discussed in J. Syrjarinne,
"Possibilities for GPS Time Recovery with GSM Network Assistance," presented at ION GPS 2000, Salt-Lake City, UT, 2000 and M. M. Chanarkar, "Resolving time ambiguity in GPS using over-determined navigation solution." United States of America: Sirf Technology, Inc, 2003. These references outline general algorithms for solution of the timing error through addition of an additional variable and its solution using least squares techniques. However those algorithms suffer from a poor rate of convergence requiring a large number of iterations in order to reach an acceptable solution. In some cases, up to 500 iterations were required; this being a significant problem when being implemented on a small embedded processor as employed in a typical mobile phone. In some scenarios the algorithm simply failed to converge and hence no solution was obtained. Furthermore, a weighting process employed to avoid poor timing error corrections for near zero range-rates, did not fully solve the problem.
Furthermore, those systems lack any predictive mechanism for determining when their algorithms are unreliable and thus leave the user uncertain whether or not to rely on their resolution of the time-of-transmit and accordingly on their position solution. Brief Description of the Invention
The invention is embodied in a GPS device having a processor that runs an algorithm for determining TOT, the time of transmit of a satellite signal. Inaccuracies in the receiver clock are the source of errors in the TOT. After adjusting the TOT by the phase shift between a locally generated C/A code and the satellite gold code, a calculation in a single stage is performed in which both the receiver clock error Δt and the TOT error ΔT. A measurement matrix is used whose row elements are the partial derivatives of the pseudorange with respect to the unknowns, in this case including an addition timing error term. The solution is obtained by applying the pseudoinverse of the measurement matrix to the difference between the predicted and measured pseudorange vector.
At the same time, the Dilution of Precision is calculated based on the measurement matrix. The DOP provides a prediction of the accuracy of the solution. Other embodiments take use the accurate time determination when time signals are required.
Brief Description of the Drawings
Figure 1 depicts the timing for a satellite signal. In the present invention. Figure 2 depicts a satellite configuration for an example used to demonstrate the invention.
Detailed Description of Preferred Embodiments
GPS observations used in AGPS Mobile Station Assisted (MS-Assisted) or MS- Based navigation solutions generally consist of a set of C/A code phases measured at a given time-instant as well as Doppler frequency measurements. Since the C/A code has a repetition frequency of 1 kHz, this means that the C/A code phases indicate the TOT modulo 1 ms and for a navigation solution to be performed, it is necessary to reconstruct the full TOT for each satellite. This process generally starts with an estimate of the TOR1 the time instant at which the observation was made, which is generally obtained using assistance from the cell phone or real time clock (RTC). Subtracting an estimate for the satellite signal's time-of-flight (TOF) from the TOR then provides an estimate for each satellite TOT. The time of flight is essentially the phase shift in the C/A signal modulo the length of a C/A code epoch of 1 ms. Each TOT can then have it's sub- millisecond portion replaced by the measured code phase and the resulting TOTs can then be corrected by a integer number of millisecond epochs such that the times are consistent with the specified coarse receiver location. Boundary truncation or round-off problems can be avoided by adjusting the initial TOR such that after application of the measured code phases, at least one satellite has a millisecond adjustment that is exactly zero. This procedure produces a set of reconstructed TOTs that is consistent with the true location at which the measurement was made and that can be then used to perform a navigation solution.
As shown in Figure 1, a satellite 1 in an orbit 3 transmits a signal to a receiver 5 located on or near the surface of the earth. A portion of the signal, typically the start of an epoch, commences its transmission at a time TOT as measured by an accurate satellite clock, and commences its reception at a time TOR as measured by a less accurate receiver clock. When the signal arrives at the receiver it is detected by its correlation with a locally generated C/A code. The phase difference between the locally generated code and the received code translates into a time difference modulo the length of a code epoch. The epoch difference is constrained by knowledge of the approximate location 7 of the receiver to an accuracy of about 150 km, since the speed of light is approximately 300km/ms and the epoch length is 1 ms. A problem with the above procedure is that any error in the initial TOR will result in biased TOTs. Where this causes a problem is that each TOT is used to estimate the position of the corresponding satellite in its orbit 3 which means that if the TOT is incorrect then the satellite position will be incorrect as well. Since each satellite range rate lies in the range of ±1000 m/s, a timing error in the TOT of as little as 0.01 seconds can result in pseudorange predictions that are in error by 10 m, while errors of 1 second can result in 1000 m pseudorange errors. These errors then result in biases in the calculated positions.
The problem can be solved if there is redundancy in the number of satellite observations used to perform the navigation solution. In a standard GPS solution, four observations are used to solve for four different state variables, namely (x, y, z, cAt), where x, y and z are the WGS84 coordinates of the receiver, c is the speed of light and Δt is the clock error in the TOR. It should be emphasized that this clock error Ai in the TOR is different to the timing error ΔT that is present in the estimated TOTs when AGPS is carried out. In an AGPS solution, the dimension of the state vector is increased by addition of the timing error ΔTand an additional observation used to solve for this additional unknown.
The present invention is best understood by comparison with the following two stage algorithm. In the two stage algorithm, the pseudorange error for each satellite / is modeled as:
Λ, = IR1 I = ^Ri - R, (2)
-Vfo-tf+CK-tf +fo-'J1
= {χ, - χjχ, -χ)+ (y, -yjy, - ϊ)+ (z, ~ Φr - *)
where PR, is the pseudorange for satellite /, R,- is the range for satellite /, R1 is the range-rate for satellite /', Δt is the TOR clock error and ΔT is the timing error. R, is calculated using the satellite position at the current TOT x; or (xlt y,, Z1) and the receiver position x or (x, y, z).
Given this model, the two stage algorithm used solved for (x, y, z, cΔt) using a standard GPS solution process after which equation (1 ) was used to create a set of equations permitting a value for /lTto be obtained. The calculated ΔT value would then be used to correct all of the TOTs1 the satellite positions (xit y,, Z1) were then recalculated and the process repeated. There are a number of ways in which (1 ) can be used to solve for the value of ΔT.
One method is to substitute the calculated Δt value from the position solution thereby providing a set of five or more equations each with a single unknown, namely the ΔT quantity. Using these equations, five or more estimates ΔT, are obtained by re- writing (1) as:
PR1 -R1 -CAt (3)
R,
These values can then be averaged in order to obtain the final ΔT value. The problem with this approach is that the range-rate quantity can lie anyway in the range of -1000 m/s to 1000 m/s, including zero. When the range rate R1 is close to zero, the
resulting ΔT, estimate can be poor and this can contaminate the final estimate AT . In order to fix this problem, an additional weighting process was introduced whereby rather than giving each AT1 estimate equal weighting, as is the case for an average, the weighting depends on the value of R1. Two different weightings were tested as given in (4) and (5).
Δf = y Δ^_ (5)
The effect of these weighted means is to give low weighting to estimates derived from range-rates close to zero and larger weights to values derived from higher range- rates. Estimates derived from values very near to zero were excluded from the solution completely.
An alternate method of performing the solution for AT is to recalculate both At and ΔT at each position solution step. This can be done by constructing a vector of Pf?;, R, and Jj1. as PR, R and R respectively and rewriting (1) as
PR -R = [l R] 1 (6) where 1 denotes a vector of 1's. This can then be used to solve for cΔt and AT using a standard pseudo-inverse. This method did not seem to be as susceptible to the problem of zero R1 values as the previous technique, probably because of the presence of the cΔt variable constraining the solution in some way.
The iteration process between solving for a new ΔT value and recalculating the solution process using the calculated ΔT value continued until the magnitude of the applied corrections became reasonably small. Both of these techniques generally resulted in reasonable position solutions being obtained for a range of initial timing errors, although the methods were observed to suffer from a number of problems. One problem that was observed early in the process was a poor rate of convergence requiring a large number of iterations in order to reach an acceptable solution. In some cases, up to 500 iterations were required; this being a significant problem when being implemented on an small embedded processor as employed in a typical mobile phone. Furthermore, although the weighting process did improve the performance with near zero range-rates, it appeared as though this solution did not fully solve the problem. Finally, it was observed that occasional scenarios would be encountered in which the algorithm failed to converge and hence no solution was obtained. The combination of all these problems led to the development of the preferred embodiment of the present invention.
The single stage algorithm just described was developed as a minimum change addition to an existing process. This was achieved by simply nesting the new step within the existing process and iterating until convergence took place. Unfortunately good convergence did not always take place and it was conjectured that part of the reason for this was due to the fact that the solution process was being performed in two separated steps rather than a single step.
To overcome these defects, the entire solution process was modified so that all of the unknowns were updated at in a single operation. This required modification of the measurement matrix H so that rather than solving for (x,y,z,cAt) the process solved for (x, y, z, cΔt AT) instead. As is the case for a standard GPS solution, the rows of H are given as the partial derivatives of the PR1 with respect to the unknowns, except in this case an additional timing error term ΔT is present. Row / of the H matrix is Ht given by
H1 * l -A (7) where the- — '-, — '- and — '- contributions have been ignored since their magnitudes are dx dy dz small.
The signs of the partial derivatives have also been reversed to make the H matrix similar to the matrix typically used to calculate Dilution of Precision (DOP)1 thereby permitting DOP to be calculated using the same matrix. (DOP is a term that describes the geometric strength of a satellite configuration. When visible satellites are close together in the sky, the geometry is said to be weak and the DOP value is high; when far apart, the geometry is strong and the DOP value is low. Factors that affect the DOP are, besides the satellite orbits, the presence of obstructions which make it impossible to use satellites in certain sectors of the local sky.) This reversal of signs requires that the solution process adjust the signs of the input quantities to compensate accordingly. It also makes sense to express the range-rate terms with units of km/s rather than m/s thereby ensuring that the magnitude of all matrix elements are similar. This results in the solved TOR error having units of milliseconds rather than seconds.
Defining y as the measured pseudorange vector, yas the predicted pseudorange vector given a particular estimate of the state vector x, an update to state Δx can be given by
where n is the number of satellites and the sign of Δy has been adjusted to match the DOP friendly H matrix. Following the calculation of each state correction Δx, the correction is applied and the predicted range vector y updated before repeating the process. The process is terminated when the magnitude of the calculated correction Δx becomes sufficiently small. This typically takes less than 10 iterations and is significantly faster than the two-stage algorithm.
The algorithm just described may be improved in a number of ways. Firstly, it is often the case that two-dimensional fixes need to be performed during periods of reduced satellite availability, so support for this requirement may be included. One way in which this can be done is to add a 'fake' satellite in the center of the earth and then specify a required pseudorange for that satellite. The corresponding row of the H matrix is then constructed as the partial derivatives of the WGS84 reference ellipsoid evaluated at the estimated position, where the ellipsoid is described as
R0 = R(x,y,z) = τjx2 +y2 +(jz (9)
a 2 z
Hn+1 » , ' " 0 0
\ R[x,y,z) R{x,y,z) b2 R{x,y,z)
(a/bf defines the WGS84 ellipsoid and Ro defines the altitude constraint. One problem with 2D solutions is that when the solution is over-determined, there is no hard constraint that forces the solution to the altitude specified by the user. To deal with this and also improve the solution process in general, a weighted least squares solution process is performed. Each observation is given a corresponding weighting related to the estimated RMS error that is reported with each observation. This also solves the 2D problem since the 2D observable can be given a significantly larger weighting than the other observables thereby establishing an effective altitude constraint. When weighting is added to the solution process, equation (8) is changed to
Λx = (H7R-1Hy HTR~lAy (10) where R"* is the weighting matrix. R is generally a diagonal matrix in which the noise- variance of each observation is the corresponding diagonal element in R, so observations with a low noise variance end up as large values in the inverted matrix R'1.
Another feature of a preferred embodiment is to permit the use of differenced pseudoranges for solution of the (x, y, z, ΔT). This is implemented by modifying the H and R matrices once all the measured satellite observations have been inserted (but before adding the fake 2D observation). The modification involves selecting a reference satellite (usually the highest one) and then subtracting the reference satellite row from each of the other rows. Performing a differenced observation in this way eliminates the clock error cΔt as a solution state. It is also possible to disable the solution of the timing error for situations in which exact TOTs or accurate time-aiding is available omitting the final range-rate column of H thereby resorting to the standard formulation. This is also useful for permitting calculation of the receiver velocity solution since the H matrix required for a velocity solution is the same as a standard position solution. Only the input and output vectors change for this situation, which in this case are pseudorange- rates and receiver velocity respectively.
Although the single stage algorithm resulted in significantly better performance than its two-stage predecessor, it nonetheless was observed to occasionally suffer large position errors. These position errors occurred despite the use of observations obtained from observations with high signal to noise ratios and were more likely when the minimum number of observations were being used (i.e. five). To investigate the reasons for this, the measurements from such a failure were captured and the execution of the algorithm examined within a MATLAB environment. The cause of the failure was subsequently identified as being caused by the H matrix being severely ill-conditioned, i.e. small changes in matrix elements having drastic effects on the results of calculations. The unusual aspect of this situation was that although H was ill-conditioned, the DOP resulting from the matrix, although large in magnitude was not sufficiently large to explain the error. A complete end-to-end Matlab simulation including the generation of simulated measurements and solution using those measurements subsequently confirmed these captured measurement results.
The case study prompting this solution occurred with the following dataset given in Table 1 , although the effect is readily observable in other datasets. Table 2 shows the resulting satellite positions and range-rates for the constellation at this time, while Figure 1 shows provides a graphical representation of the satellite visibility.
Latitude S 35° 19' 50.84"
Longitude E 149° 11' 13.57"
Altitude (m) 600
X -4474390
Y 2668637
Z -3668214
Week/ Time-of-Week 1284/46663
Date / Time (UTC) 15 August 200412:57:43
Almanac Week/ Toa 260/319488
TABLE 2: CASE STUDY TIME AND LOCATION
TABLE 2: CASE STUDY SATELLITE POSITIONS / RANGE-RATES The problem occurs if the subset of the above constellation given by satellites 1 ,
11 , 16, 20 and 23 is used to perform the solution, with satellites 14 and 25 omitted from the solution process. The H matrix (in WGS84 XYZ coordinates) corresponding to the use of these observables is given by
If the standard GPS DOP is calculated by defining H as H with the last column
deleted and calculating (/Ftfj the result is
The GDOP can then be calculated as the square root of the trace of this matrix, giving a GDOP value of 7.17, which although higher than normal is not excessive. However, if the DOP is calculated using the H matrix as actually used in the solution process, a result with significantly larger magnitude is obtained.
This gives a GDOP of 492536, which is much larger than the standard method of 7.23, where the new augmented DOP calculation is the natural extension of the standard method. Hence the use of these observables clearly has a geometry making the solution with this set completely infeasible. These results were obtained from the simulation using almanac to define the satellite locations and velocities, although when the ephemeris from the captured log were used the resulting GDOP had a lower value of approximately 400. This difference is due to slight differences in the satellite positions between using the YUMA almanac and captured ephemeris. An examination of Figure 2 provides an intuitive reason for this failure, namely that saellitel and 20 are almost co- located which means that the geometry is effectively a 4 satellite solution even though 5 satellites are being used.
It should be noted that when reasonably good geometries are present, the numerical values for the extended DOP are generally similar to the values obtained using the conventional approach. However, in cases where the extended DOP is high, it means that the timing error and navigation solution cannot be reliably calculated.
Application to Weak Signal Timing
In addition to the application of the technique to E911 navigation solutions, the technology is also applicable to the newly developing field of GPS weak signal timing receivers. As the name suggests, this involves the use of GPS for time-transfer, except that the receiver only has access to weak signals and obtains ephemeris, coarse location and coarse time from other sources such as the Internet or wireless links. The main reason for requiring such receivers is either convenience, with many environments not being GPS antenna friendly or the requirement to provide timing in areas of heavy vegetation where GPS signals are obscured.
A number of different options are available to achieve this goal. The first option is to formulate the solution in terms of an extended Kalman filter (P. Axelrad and R. G. Brown, "GPS Navigation Algorithms," in Global Positioning Systems: Theory and Applications Volume 1, B. W. Parkinson, J. J. Spilker, P. Axelrad, and P. Enge, Eds.: American Institute of Astronautics and Aeronautics, Inc, 1996.), rather than the single shot solution algorithm just described. The procedure for doing this is straightforward and requires the inclusion of the TOR timing error /17 as an additional element in the Kalman filter state vector. The state covariance must also increase to account for the additional dimension and the new H matrix used instead of the normal H matrix. The Kalman filter can then be operated over a number of GPS measurements until the state- covariance associated with /47 has fallen significantly below one millisecond. Provided the Kalman filter state covariance represents a realistic estimate of the error it is then possible to correct the receiver TOR using the calculated estimate after which this TOR can be locked-in and a switch to a conventional solution process performed.
In addition to the use of the above process, it is also possible to take advantage of the fact that in practice a spread of satellite signal levels will generally be present. Even if the signal to noise ratio is too low to reliably extract data; those same signal levels may still permit bit-synchronization to be achieved (i.e. determine the locations of the bit boundaries). Provided that this can be done, then the ambiguity associated with each GPS observation improves from 1 ms to 20 ms. This is of benefit for a weak signal timing application where the two pieces of information may be combined to determine the TOR with no ambiguity using the following procedure.
Using the standard code phase ambiguity resolution, generate reconstructed measurements for the TOR algorithm. At this point, the bit-synchronization information for the satellite is not used.
Run the algorithm and obtain an estimate for the TOR error.
Apply the TOR error to all of the satellite observations and the incorrect TOR. If the TOR had no error then the C/A epoch calculated from the observation with bit- synchronization should match the measured epoch. If it does not match then apply an additional correction to .dTto ensure that a match occurs.
Additional Embodiments
As an alternative embodiment bit sync could be obtained by performing noncoherent correlations over many rounds (typically 50 to several hundred) of 20ms coherent correlations using 20 offsets at 1ms spacing and choosing the alignment that yields the highest correlation. In that case, the 1ms ambiguity of the codephase is replaced by a 20ms ambiguity for the bits. In addition the invention can be used to determine time to better than 10ms, by utilizing the TOR-resolving position-Time Kalman filter. By combining this better time resolution with the 20 ms bit ambiguity one can completely resolve the ambiguity leading to precise time resolution using the codephase measurements with no ambiguity.
The validity of the time resolution can be tested by performing long coherent correlations across many bit periods after stripping data known in advance. This will yield a very high correlation if the bit ambiguity has been properly resolved. If not, this will yield a very low correlation and one could re-resolve the ambiguity.
In another embodiment one may track time continuously by monitoring codephases, counting code epochs and taking account of measured Doppler offsets. The accurate time could be further utilized by outputting synchronization pulses at any desired repetition rate with sub-microsecond precision and stamping these with time via a communications port of some sort. Similarly one could discipline the receiver's reference oscillator by estimating the frequency bias of the oscillator using the Doppler measurements and the estimated time and position and steering the local oscillator to the correct frequency.
Although the invention has been discussed in terms of specific embodiments, persons of skill in this art will see its full utility. Accordingly the invention is intended to cover what is described in the following claims.

Claims

What is claimed is:
1. A GPS device having a processor that runs an algorithm for determining, the time of transmit of a satellite signal (TOT) comprising
adjusting the TOT by the phase shift between a locally generated C/A code and the satellite gold code,
calculating position solution in a single stage in which both the receiver clock error Δt and the TOT error ΔTare determined employing a measurement matrix whose row elements are the partial derivatives of a pseudorange with respect to the unknowns
extracting the solution by applying the pseudoinverse of the measurement matrix to the difference between the predicted and measured pseudorange vector.
2. The GPS device of claim 1 further including
calculating a Dilution of Precision (DOP) based on the measurement matrix,
predicting from the DOP a prediction of the accuracy of the solution.
3. The GPS device of claim 1 , wherein a pseudosatellite is hypothecated at the center of the earth and the measurement matrix elements are calculated at the partial derivatives of a reference ellipsoid evaluated at an estimated position of the device.
4. The GPS device of claim 1 wherein weighting for noise is added to the calculating process.
5. A GPS device having a processor that runs an algorithm for determining, the time of transmit of a satellite signal (TOT) comprising
adjusting the TOT by the phase shift between a locally generated C/A code and the satellite gold code, calculating position solution in a single stage in which both the receiver clock error Δt and the TOT error ΔTare determined employing a Kalman filter that includes a TOR timing error as an element in the Kalman filter state vector.
6. The GPS device of claim 1 , wherein the solution is used to provide a timing signal for steering a local oscillator to a correct frequency.
7. A method for application in a GPS device for determining, the time of transmit of a satellite signal (TOT) comprising
adjusting the TOT by the phase shift between a locally generated C/A code and the satellite gold code,
calculating position solution in a single stage in which both the receiver clock error Δt and the TOT error ΔTare determined employing a measurement matrix whose row elements are the partial derivatives of a pseudorange with respect to the unknowns
extracting the solution by applying the pseudoinverse of the measurement matrix to the difference between the predicted and measured pseudorange vector.
8. The method for application in a GPS device of claim 7 further including
calculating a Dilution of Precision (DOP) based on the measurement matrix,
predicting from the DOP a prediction of the accuracy of the solution.
9. The method for application in a GPS device of claim 7, wherein a pseudosatellite is hypothecated at the center of the earth and the measurement matrix elements are calculated at the partial derivatives of a reference ellipsoid evaluated at an estimated position of the device.
10. The method for application in a GPS device of claim 7 wherein weighting for noise is added to the calculating process.
11. A method for application in a GPS device for determining, the time of transmit of a satellite signal (TOT) comprising
adjusting the TOT by the phase shift between a locally generated C/A code and the satellite gold code,
calculating position solution in a single stage in which both the receiver clock error Δt and the TOT error ΔTare determined employing a Kalrnan filter that includes a TOR timing error as an element in the Kalman filter state vector.
12. The method for application in a GPS device of claim 7, wherein the solution is used to provide a timing signal for steering a local oscillator to a correct frequency.
EP06788960A 2005-07-29 2006-07-28 Method and apparatus for reconstructing time of transit from assisted or weak signal gps observations Withdrawn EP1949126A4 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US70363705P 2005-07-29 2005-07-29
PCT/US2006/029702 WO2007016474A2 (en) 2005-07-29 2006-07-28 Method and apparatus for reconstructing time of transit from assisted or weak signal gps observations
US11/460,784 US20070024500A1 (en) 2005-07-29 2006-07-28 Method and apparatus for reconstructing time of transmit from assisted or weak signal gps observations

Publications (2)

Publication Number Publication Date
EP1949126A2 true EP1949126A2 (en) 2008-07-30
EP1949126A4 EP1949126A4 (en) 2010-09-29

Family

ID=37709274

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06788960A Withdrawn EP1949126A4 (en) 2005-07-29 2006-07-28 Method and apparatus for reconstructing time of transit from assisted or weak signal gps observations

Country Status (3)

Country Link
EP (1) EP1949126A4 (en)
CA (1) CA2617142A1 (en)
WO (1) WO2007016474A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190536B2 (en) 2008-09-10 2012-05-29 King Fahd University Of Petroleum & Minerals Method of performing parallel search optimization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6072428A (en) * 1998-06-03 2000-06-06 Trimble Navigation Limited Location determination using doppler and pseudorange measurements from fewer than four satellites
US6215442B1 (en) * 1997-02-03 2001-04-10 Snaptrack, Inc. Method and apparatus for determining time in a satellite positioning system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411899B2 (en) * 1996-10-24 2002-06-25 Trimble Navigation Ltd. Position based personal digital assistant
US6633621B1 (en) * 2000-03-20 2003-10-14 Motorola, Inc. Apparatus and method for synchronizing a clock using a phase-locked loop circuit
US6658048B1 (en) * 2000-04-07 2003-12-02 Nokia Mobile Phones, Ltd. Global positioning system code phase detector with multipath compensation and method for reducing multipath components associated with a received signal

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215442B1 (en) * 1997-02-03 2001-04-10 Snaptrack, Inc. Method and apparatus for determining time in a satellite positioning system
US6072428A (en) * 1998-06-03 2000-06-06 Trimble Navigation Limited Location determination using doppler and pseudorange measurements from fewer than four satellites

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2007016474A2 *

Also Published As

Publication number Publication date
WO2007016474A2 (en) 2007-02-08
EP1949126A4 (en) 2010-09-29
CA2617142A1 (en) 2007-02-08
WO2007016474A3 (en) 2007-06-07
WO2007016474A9 (en) 2007-04-19

Similar Documents

Publication Publication Date Title
US8593342B2 (en) Utilizing SBAS signals to improve GNSS receiver performance
US7362265B2 (en) Process for accurate location determination in GPS positioning system
CN101371159B (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
EP1864152B1 (en) Method and apparatus for combining measurements and determining clock offsets between different satellite positioning systems
US9030355B2 (en) Location fix from unknown position
KR101000984B1 (en) Method and apparatus for validating a position in a satellite positioning system using range-rate measurements
EP1922557B1 (en) Assistance to a mobile sps receiver
US7535414B2 (en) Navigational positioning without timing information
US20100198512A1 (en) Method and apparatus for providing reliable extended ephemeris quality indicators
WO2011091512A1 (en) System, method and computer program for ultra fast time to first fix for a gnss receiver
US8593347B2 (en) GNSS navigation aided by static data
US20080180318A1 (en) Method and Apparatus for Reconstructing Time of Transmit from Assisted or Weak Signal GPS Type Observations
US8542714B2 (en) Method and system for reconstructing time of transmit from assisted or weak signal GPS observations
JP2006284452A (en) Satellite positioning method
US20070024500A1 (en) Method and apparatus for reconstructing time of transmit from assisted or weak signal gps observations
WO2009130305A1 (en) Method of positioning using satellites
Jiménez-Baños et al. Innovative techniques for GPS indoor positioning using a snapshot receiver
WO2007016474A2 (en) Method and apparatus for reconstructing time of transit from assisted or weak signal gps observations
Glennon et al. Solution of timing errors for AGPS
Gao et al. Point real-time kinematic positioning
Raman et al. Performance evaluation of Global Differential GPS (GDGPS) for single frequency C/A code receivers
Angrisano et al. Algorithms for GNSS Positioning in Difficult Scenario
McBurney Fast Time to Fine Time Method to Improve First Fix Accuracy with Modernized Signals in Urban Canyons
KR100801347B1 (en) Satellite-based positioning of mobile terminals

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20080528

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

A4 Supplementary search report drawn up and despatched

Effective date: 20100826

RIC1 Information provided on ipc code assigned before grant

Ipc: G01S 19/42 20100101ALI20100820BHEP

Ipc: G01S 5/14 20060101AFI20070413BHEP

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20100803