Navigation processing for a satellite positioning system receiver

Information

  • Patent Grant
  • 7751974
  • Patent Number
    7,751,974
  • Date Filed
    Thursday, March 17, 2005
    19 years ago
  • Date Issued
    Tuesday, July 6, 2010
    13 years ago
Abstract
A method for navigation processing in a satellite positioning system receiver is disclosed. A method in accordance with the present invention comprises separating the three SATPS satellites into a first pair and a second pair, constructing a primary solution and an alternate solution, wherein the primary solution and the alternate solution satisfy the measurement constraints, computing a Doppler difference estimate for the primary solution and a Doppler difference estimate for the alternate solution, computing Doppler difference residuals for the first pair and the second pair of SATPS satellites, and comparing the Doppler difference residuals for said primary and alternate solutions to determine a valid solution. Typically, the computing of a Doppler difference residuals comprises differencing a measured Doppler difference from an estimated Doppler difference for the first pair and the second pair of SATPS satellites. Typical determination of a valid solution comprises comparing the difference between the Doppler difference residuals to a predetermined number. Usually when the Doppler difference residuals exceed the predetermined number, the alternate solution is selected as the valid solution.
Description
BACKGROUND OF THE INVENTION

1. Field of the Invention


The present invention relates in general to receiver operation in satellite positioning systems (SATPS) such as the Global Positioning System (GPS), GLONASS, and the proposed Galileo system, and in particular to navigation processing for a SATPS receiver.


2. Description of the Related Art


Navigation processing for SATPS receivers usually comprises processing pseudoranges and Doppler frequency shift measurements to determine position and velocity of the receiver. However, this approach is sometimes unable to distinguish between alternate (valid and invalid) three-satellite solutions. Examples of such processing techniques are found in U.S. Pat. No. 5,416,712 by Geier, U.S. Pat. No. 5,883,595 by Colley, and U.S. Pat. No. 5,590,043 by McBurney, all of which are incorporated by reference herein.


SUMMARY OF THE INVENTION

To minimize the limitations in the prior art, and to minimize other limitations that will become apparent upon reading and understanding the present specification, the present invention discloses a method and apparatus for navigation processing in a satellite positioning system receiver, including methods and apparatus for generating a least-squares fix, checking the validity of measurements, and processing measurements in a low-power mode which involves repeated on/off cycles of the reference oscillator used to make the measurements.


A method in accordance with the present invention comprises separating the three SATPS satellites into a first pair and a second pair, constructing a primary solution and an alternate solution, wherein the primary solution and the alternate solution satisfy the measurement constraints, computing a Doppler difference estimate for the primary solution and a Doppler difference estimate for the alternate solution, computing Doppler difference residuals for the first pair and the second pair of SATPS satellites, and comparing the Doppler difference residuals for said primary and alternate solutions to determine a valid solution. Typically, the computing of a Doppler difference residuals comprises differencing a measured Doppler difference from an estimated Doppler difference for the first pair and the second pair of SATPS satellites. Typical determination of a valid solution comprises comparing the difference between the Doppler difference residuals to a predetermined number. Usually when the Doppler difference residuals exceed the predetermined number, the alternate solution is selected as the valid solution.





BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers represent corresponding parts throughout:



FIG. 1 illustrates the geometry of alternate solutions for a three satellite fix;



FIG. 2 illustrates the geometry of the projection vector used to compute the initial point for the least-squares iteration for the alternate fix solution;



FIG. 3 is the flow chart for the least-squares fix decisions on posting computed fixes and testing for alternate solutions;



FIGS. 4A and 4B are the flow chart for initial measurement validity checking with an adaptive form of a signal power level test.



FIG. 5 is the flow chart for the decision to use, or not use DGPS corrections to GPS measurements.



FIGS. 6A, B, and C are the degraded mode logic for SATPS receiver



FIG. 7 is the Receiver Manager to Navigation Library Interface



FIG. 8A through 8G is the flowchart for the main one-hertz navigation processing loop.



FIG. 9 Shows the navigation mode decision with an overview of the processing in each mode.



FIG. 10 is a flowchart of the mode decision logic for the main navigation loop.





DETAILED DESCRIPTION OF THE DRAWINGS

In the following description of the preferred embodiment, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration a specific embodiment in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.


Least-Squares Navigation Fix


A least-squares iterative solution for position and clock bias with four or more satellites is well known. A description of the basic least-squares algorithm for GPS pseudoranges can be found in Understanding GPS: Principles and Applications by E. Kaplan (ed.), Artech House, 1996, pp. 43-47 which is herein incorporated by reference. A three-satellite solution can also be computed by using altitude as a fourth measurement. If the altitude is known it may be used, if not, a default altitude may be assumed for receivers designed for terrestrial use. Altitude may be known from user input or from a saved altitude from a prior period of navigation with more than three satellites. There are usually two solutions to the three-satellite problem. A diagram of the situation is shown in FIG. 1. The sphere is a representation of a constant altitude surface over, or under, the Earth's surface. In other words, every point on the sphere satisfies the altitude constraint. The Earth's surface is not spherical of course, but close enough so that the diagram illustrates one instance of alternate three satellite solutions. The two points identified on the sphere satisfy the pseudorange constraints with different values for user clock bias, or we could say, equivalently, that the difference in the ranges to the satellites is the same for the two alternative fixes.


In order to safely report and use a three satellite least-squares solution, we must be able to determine if the solution we have computed is the correct one from the two possibilities. We have additional data to assist in checking the validity of the solution. The difference in doppler frequencies of the satellites in track observed, versus that predicted from the known satellite orbits and the computed solution is a test on the validity of a computed root. The doppler difference residuals are used to remove the error in the receiver's clock frequency from the test, so the test has finer resolution and is generally applicable under a wider range of circumstances than a test on absolute doppler.


The doppler difference residual is computed by differencing the observed doppler frequencies between two satellites in track. This difference is independent of the frequency error in the SATPS receiver's oscillator by which the received signal's doppler is measure. An estimate of this same doppler difference is made by assuming the SATPS receiver is at the location of a proposed fix, and computing the doppler for the known satellite orbits by computing the dot-product of their earth-fixed frame velocity vectors with the line-of-sight vectors from the fix location to the satellite positions. The doppler difference residual is then the measured difference between doppler frequencies for two satellites minus the estimated difference between dopler frequencies for two satellites. The sum of the absolute value of the doppler differences is then checked against thresholds for reporting and testing alternate roots. The sum of the squared residuals could be used equally well with appropriate changes in the threshold values used to make the reporting and testing decisions.


Unfortunately, the differenced doppler residuals between two alternate roots are not always large enough to guarantee proper root selection. Any velocity of the receiver, in addition, is another unknown in the doppler difference residuals which will limit the ability to decide between roots. In order to safely use one of the roots, the second root should be computed and checked. If initial user velocity is known, or sensor data such as a wheel speed sensor and a compass or heading estimate maintained by a gyro is available, the speed data can be included in the relative velocity computation used for generating the estimates.


A fast method to compute the second root has been found using a projection of the first root through the plane of the satellites. This method results in an approximate location for the second root, which is used to initialize the least-squares iterator so that it will close on the alternate root. The position of the three satellites used in the solution is used to form a plane. A line is drawn normal to this plane and intersecting the first root found on the surface of the constant altitude sphere. This geometric construction is shown in FIG. 2. There are cases where the plane of the satellites does not intersect the sphere, nevertheless there may be two points on the normal to the plane that intersect the sphere. The projection point is computed from the initial root, the position of the satellites, and the radius of the constant altitude sphere using the following method.


S1, S2, S3: Satellite position vectors


R1: First root computed from least-squares iterator


Satellite position vector differences D1=S1−S2
D2=S2−S3

Compute a projection vector, normal to the plane defined by the three satellites.

P=D1×D2

Compute the unit-normal projection vector.







P
^

=

P


P








The form of the second, projected root is assumed to be

R2=R1+α{circumflex over (P)}

where α is an unknown constant to be solved for. Since the second root is also required to lie on the constant altitude sphere:

|R2|=|R1|=|R1+α·{circumflex over (P)}|

This results in a quadratic for α with one non-trivial root:

α=−2R1·{circumflex over (P)}

The projected root is then

R2=R1−2(R1·{circumflex over (P)}){circumflex over (P)}

R2 is then used as the initial position estimate for the least-squares estimator, which will normally close on the alternate root. Occasionally this method may fail to find an alternate root to check. In this case, the three satellite fix is rejected, rather than reporting a fix which may be substantially in error. In some cases, the doppler difference residuals observed at the first root and the alternate root may not differ by a substantial amount. In this case, again lacking clear information to choose, the fix is rejected rather than reporting a fix which may be substantially in error.


Measurement Validity Testing


There are many potential sources of error in SATPS system measurements. These include noise, tropospheric and ionospheric delays, multipath, errors in syncing to the CDMA code used to modulate the satellite transmissions, auto-correlations with the wrong portion of the code, cross-correlations with a different code from another satellite, interfering signals from the local environment or other satellite systems, frequency alias in the tracking loops, and others. Errors such as receiver measurement noise, atmospheric correction errors, errors in the predicted satellite positions are well understood and modeled in the navigation processing. The other errors, such as code-sync errors, multipath, and auto- and cross-correlations are not well modeled, can be very large, and would severely affect navigation processing if measurements affected by these errors are not identified and removed from the set of measurements to be processed. Accordingly, a strong set of validity tests has been developed to insure the integrity of the measurements prior to processing. Those tests can largely be divided into those that depend on reasonable knowledge of the current navigation state, and those that are independent of the state estimate and that can therefore be applied in all conditions, whether prior navigation data exists or not.


One of the novel test concepts utilized was the creation of an adaptive power mask. The basic power mask test is a check on the carrier to noise density, or C/N0 that the signal was tracked at to insure a reasonable prospect that the measurement is valid. This basic test has been modified to make it adaptive in two ways, as shown in FIG. 4. First, the threshold power level is adapted to the current navigation mode. If the SATPS receiver is navigating, there are a number of subsequent measurement validity checks that will be performed, so it is reasonable to lower the power threshold in the validity test to attempt to maintain the largest possible number of available good measurements. If, however, the receiver is not navigating, the power threshold is kept higher to prevent measurements with errors from getting into the initial solution. The second adaptation mechanism is to vary the form of the test between an average and minimum power test. The average power test is less restrictive, will allow more measurements, and has increased reliance on subsequent testing to find measurement errors. The minimum power test is more restrictive, requiring that all of the 100 millisecond bins used to generate the measurement have power levels above the threshold. Since the 100 millisecond estimate of C/N0 is noisy, this test will result in the occasional rejection of measurements from signals near the threshold from C/Nn estimate noise alone, but this is a reasonable trade-off to make against the risk of a measurement with large errors being used in the initial navigation fix.


Following the loop defined in FIG. 4 the set of valid pseudoranges above the power threshold has been identified. The set of valid delta-pseudoranges are identified as those coming from the same measurement channels as the valid pseudoranges with the additional criteria that the coherent integration time for the carrier signal be non-zero.


A test is performed on the absolute value of the differences in the delta-pseudoranges. This test is independent of the current navigation mode and can be applied without any knowledge of the SATPS receiver's position, the time, or the oscillator frequency error. In this test, the difference between to delta-pseudorange measurements is compared to the absolute physically possible limit for a terrestrial user given the constellation of satellites in use by the SATPS. In the current GPS orbits, for example, the maximum doppler to a stationary terrestrial user is about 800 m/s, so that the maximum doppler difference, observed between two satellites tracked simultaneously, must be less than approximately 1600 m/s. User velocity, taken to be a small number relative to these satellite dopplers, does not change the limit substantially because a significant user velocity towards one satellite would be substantially away from another satellite which was far enough away (in azimuth to the receiver) to be close to the limit. Thus all available differences of valid delta-pseudoranges are computed and compared to the 1600 m/s threshold. For any pair that violates the threshold, a counter for each of the participants in the offending difference is advanced. At the end of the check, a single bad measurement may have caused large differences in multiple pairs, but the counters will identify the culprit assuming sufficient satellites are available. If any measurement is involved in more than one bad difference, it is rejected, and if no bad measurement, for example, with two valid delta-pseudoranges with a bad difference, they are both rejected. The fault has been identified but not isolated.


A completely analogous check is made on the pseudorange measurements. For GPS, the physical range from a satellite to a SATPS which can receive the signal is limited to a range from about 20 million meters for a satellite overhead to about 26 million meters on the horizon. Without reference to the navigation state, the time of day, or any other state estimate, an absolute check on pseudorange measurements can be performed. No two GPS pseudoranges recorded at the same time for a terrestrial STAPS receiver can differ by more than 6 million meters. Counters for bad differences are kept as in the delta-pseudorange difference check to identify faulty measurements from in a set of difference checks.


Low-Power Measurement Processing


In low-power processing the reference oscillator is turned-off between measurement updates to save power. As a result, substantial oscillator dynamics, due to heating, are present in each set of measurements. These reference oscillator dynamics adversely affect normal processing of the delta-pseudorange measurement in a Kalman filter because of their unmodeled character. The filter must assign these unmodeled accelerations to either the clock drift term or velocity terms in it's state update, and errors are inevitable. In order to work around this problem, differenced delta-pseudorange measurements are processed instead of the whole delta-pseudorange. This limits the observability of clock drift in the filter and results in substantially better velocity estimates than would be otherwise obtainable.


Conclusion


A novel method for navigation processing in a satellite positioning system receiver has been disclosed.


A method in accordance with the present invention comprises separating the three SATPS satellites into a first pair and a second pair, constructing a primary solution and an alternate solution, wherein the primary solution and the alternate solution satisfy the measurement constraints, computing a Doppler difference estimate for the primary solution and a Doppler difference estimate for the alternate solution, computing Doppler difference residuals for the first pair and the second pair of SATPS satellites, and comparing the Doppler difference residuals for said primary and alternate solutions to determine a valid solution. Typically, the computing of a Doppler difference residuals comprises differencing a measured Doppler difference from an estimated Doppler difference for the first pair and the second pair of SATPS satellites. Typical determination of a valid solution comprises comparing the difference between the Doppler difference residuals to a predetermined number. Usually when the Doppler difference residuals exceed the predetermined number, the alternate solution is selected as the valid solution.


The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention not be limited by this detailed description, but by the claims appended hereto.

Claims
  • 1. A method of verifying the validity of a Satellite Positioning Systems (SATPS) three-satellite solution for determining a receiver's location, comprising: obtaining a primary solution and an alternate solution using signals from the three SATPS satellites, wherein the primary solution and the alternate solution comprise least-square solutions that satisfy predefined pseudorange measurement constraints;separating the three SATPS satellites into a first pair of SATPS satellites and a second pair of SATPS satellites;measuring Doppler difference for the first pair of SATPS satellites, thereby obtaining a first measured value of Doppler difference;measuring Doppler difference for the second pair of SATPS satellites, thereby obtaining a second measured value of Doppler difference;computing a first estimated value of Doppler difference for the first pair of SATPS satellites, and a second estimated value of Doppler difference for the second pair of SATPS satellites;computing a first Doppler difference residual for the first pair of SATPS satellites by subtracting the first estimated value of Doppler difference from the first measured value of Doppler difference;computing a second Doppler difference residual for the second pair of SATPS satellites by subtracting the second estimated value of Doppler difference from the second measured value of Doppler difference; andcomparing the computed first and second Doppler difference residuals to determine a valid solution from the primary and alternate solutions.
  • 2. The method of claim 1, wherein the determination of a valid solution comprises comparing the first and the second Doppler difference residuals to a predetermined number.
  • 3. The method of claim 2, wherein when the Doppler difference residuals exceed the predetermined number, the alternate solution is selected as the valid solution.
  • 4. The method of claim 1, wherein the method further comprises: utilizing an adaptive power mask in determining a valid solution.
  • 5. The method of claim 4, adjusting a threshold power level for the adaptive power mask to compare a carrier to noise density (C/N0) in the received signals from the three SATPS satellites, according to a current navigation mode of the receiver.
  • 6. The method of claim 5, wherein if the current navigation mode corresponds to active navigation, then the threshold power level is lowered compared to the threshold power level for a non-navigation mode.
  • 7. The method of claim 1, wherein the method further comprises: selecting either an average power configuration or a minimum power configuration in determining a valid solution.
  • 8. The method of claim 1, wherein obtaining the primary and alternate solutions further includes: identifying a plurality of points on a sphere, each point satisfying an altitude constraint of pseudorange measurement.
  • 9. The method of claim 1, wherein obtaining the primary and alternate solutions further includes: utilizing a projection of a position vector corresponding to the primary solution in determining the alternate solution.
  • 10. The method of claim 1, wherein measuring the Doppler differences further includes: calculating a velocity of the receiver.
  • 11. The method of claim 1, wherein computing the estimated values of Doppler differences further include: computing a respective estimated values of Doppler difference for each of the primary and alternate solutions.
  • 12. A method of verifying the validity of a Satellite Positioning Systems (SATPS) three-satellite solution for determining a receiver location, comprising: obtaining a primary solution and an alternate solution using received signals from the three SATPS satellites, wherein the primary solution and the alternate solution comprise least-square solutions that satisfy predefined pseudorange measurement constraints;adjusting a threshold power level for an adaptive power mask to compare a carrier to noise density (C/N0) in the received signals from the three SATPS satellites, according to a current navigation mode of the receiver;separating the three SATPS satellites into a first pair of SATPS satellites and a second pair of SATPS satellites;measuring Doppler difference for the first pair of SATPS satellites, thereby obtaining a first measured value of Doppler difference;measuring Doppler difference for the second pair of SATPS satellites, thereby obtaining a second measured value of Doppler difference;computing a first estimated value of Doppler difference for the first pair of SATPS satellites;computing a second estimated value of Doppler difference for the second pair of SATPS satellites;computing a first Doppler difference residual for the first pair of SATPS satellites by subtracting the first estimated value of Doppler difference from the first measured value of Doppler difference;computing a second Doppler difference residual for the second pair of SATPS satellites by subtracting the second estimated value of Doppler difference from the second measured value of Doppler difference; andcomparing the computed first and second Doppler difference residuals to determine a valid solution from the primary and alternate solutions.
  • 13. The method of claim 12, wherein the determination of a valid solution comprises comparing the first and the second Doppler difference residuals to a predetermined number.
  • 14. The method of claim 13, wherein when the Doppler difference residuals exceed the predetermined number, the alternate solution is selected as the valid solution.
  • 15. The method of claim 12, wherein if the current navigation mode corresponds to active navigation, then the threshold power level is lowered compared to the threshold power level for a non-navigation mode.
  • 16. The method of claim 12, wherein the method further comprises: selecting either an average power configuration or a minimum power configuration in determining a valid solution.
  • 17. The method of claim 12, wherein obtaining the primary and alternate solutions further includes: identifying a plurality of points on a sphere, each point satisfying an altitude constraint of pseudorange measurement.
  • 18. The method of claim 12, wherein obtaining the primary and alternate solutions further includes: utilizing a projection of a position vector corresponding to the primary solution in determining the alternate solution.
  • 19. The method of claim 12, wherein measuring the Doppler differences further includes: calculating a velocity of the receiver.
  • 20. The method of claim 12, wherein computing the estimated values of Doppler differences further include: computing a respective estimated values of Doppler difference for each of the primary and alternate solutions.
CROSS-REFERENCE TO RELATED APPLICATIONS

This continuation patent application claims priority of patent application Ser. No. 10/690,978, filed on Nov. 21, 2003 now U.S. Pat. No. 6,885,940, titled “NAVIGATION PROCESSING FOR A SATELLITE POSITIONING SYSTEM”, by Keith J. Brodie et al., which was a continuation application of Ser. No. 09/943,071, filed on Aug. 29, 2001, titled “NAVIGATION PROCESSING FOR A SATELLITE POSITIONING SYSTEM”, by Keith J. Brodie et al., which claimed priority under 35 U.S.C. 119(e) of U.S. Provisional Patent Application No. 60/228,965, filed Aug. 29, 2000, titled “NAVIGATION PROCESSING FOR A SATELLITE POSITIONING SYSTEM RECIEVER,” by Keith 3. Brodie et al., all of which are incorporated by reference herein.

US Referenced Citations (77)
Number Name Date Kind
4797677 MacDoran et al. Jan 1989 A
4870422 Counselman, III Sep 1989 A
5436632 Sheynblat Jul 1995 A
5552794 Colley et al. Sep 1996 A
5590043 McBurney Dec 1996 A
5646630 Sheynblat et al. Jul 1997 A
5663734 Krasner Sep 1997 A
5663735 Eshenbach Sep 1997 A
5781156 Krasner Jul 1998 A
5808581 Braisted et al. Sep 1998 A
5812087 Krasner Sep 1998 A
5825327 Krasner Oct 1998 A
5831574 Krasner Nov 1998 A
5831576 Sheynblat Nov 1998 A
5841396 Krasner Nov 1998 A
5874914 Krasner Feb 1999 A
5884214 Krasner Mar 1999 A
5889821 Arnstein et al. Mar 1999 A
5899957 Loomis May 1999 A
5940429 Lam et al. Aug 1999 A
5945944 Krasner Aug 1999 A
5999124 Sheynblat Dec 1999 A
6002363 Krasner Dec 1999 A
6016119 Krasner Jan 2000 A
6035000 Bingham Mar 2000 A
6052081 Krasner Apr 2000 A
6061018 Sheynblat May 2000 A
6064336 Krasner May 2000 A
6104338 Krasner Aug 2000 A
6104340 Krasner Aug 2000 A
6107960 Krasner Aug 2000 A
6111540 Krasner Aug 2000 A
6131067 Girerd Oct 2000 A
6133871 Krasner Oct 2000 A
6133873 Krasner Oct 2000 A
6133874 Krasner Oct 2000 A
6150980 Krasner Nov 2000 A
6166683 Hwang Dec 2000 A
6185427 Krasner Feb 2001 B1
6208290 Krasner Mar 2001 B1
6208291 Krasner Mar 2001 B1
6215441 Moeglein Apr 2001 B1
6215442 Sheynblat Apr 2001 B1
6236354 Krasner May 2001 B1
6239742 Krasner May 2001 B1
6259399 Krasner Jul 2001 B1
6272430 Krasner Aug 2001 B1
6289041 Krasner Sep 2001 B1
6307504 Sheynblat Oct 2001 B1
6313786 Sheynblat Nov 2001 B1
6314308 Sheynblat Nov 2001 B1
6330452 Fattouche et al. Dec 2001 B1
6337357 Fukunishi et al. Jan 2002 B1
6337657 Zhodzishsky et al. Jan 2002 B1
6377209 Krasner Apr 2002 B1
6408196 Sheynblat Jun 2002 B2
6411254 Moeglein Jun 2002 B1
6411892 Van Diggelen Jun 2002 B1
6417801 Van Diggelen Jul 2002 B1
6421002 Krasner Jul 2002 B2
6429814 Van Diggelen et al. Aug 2002 B1
6433731 Sheynblat Aug 2002 B1
6442479 Barton Aug 2002 B1
6453237 Fuchs et al. Sep 2002 B1
6484097 Fuchs et al. Nov 2002 B2
6487499 Fuchs et al. Nov 2002 B1
6510387 Fuchs et al. Jan 2003 B2
6542821 Krasner Apr 2003 B2
6583757 Krasner Jun 2003 B2
6597311 Sheynblat Jul 2003 B2
6639541 Quintana et al. Oct 2003 B1
6650597 Weedon et al. Nov 2003 B2
6853916 Fuchs et al. Feb 2005 B2
20020034947 Soliman Mar 2002 A1
20020050944 Sheynblat et al. May 2002 A1
20030132878 Devereux et al. Jul 2003 A1
20080214192 Soliman Sep 2008 A1
Related Publications (1)
Number Date Country
20050267682 A1 Dec 2005 US
Provisional Applications (1)
Number Date Country
60228965 Aug 2000 US
Continuations (2)
Number Date Country
Parent 10690978 Nov 2003 US
Child 11083077 US
Parent 09943071 Aug 2001 US
Child 10690978 US