The invention relates generally to GPS systems and more particularly to estimation of double difference carrier phase integer ambiguity.
The Boot-Strap Method and the least-squares ambiguity decorrelation adjustment (LAMBDA) method are two different methods for estimating double difference carrier phase integer ambiguity using a carrier phase from two GPS receivers. The boot-strap method provides integers for the double difference carrier phase and also provides an analytical solution for a probability that the integers found are incorrect (i.e., not all integers are correct), for example, a probability that the boot-strap method has failed Pboot-fail. However, since the boot-strap method does not use residual errors, it has no capability for rejecting anomalous data.
The lambda method provides integers for the double difference carrier phase which may be different from those found by the boot-strap method. In addition, the lambda method allows rejection of anomalous data through a built-in analysis of residual errors, and by a comparison of best and second-best residual ratio (“the ratio test”). However, there is no known practical, analytical solution for a probability of failure for the lambda method, Pλ-fail.
The invention in one implementation encompasses a method for estimating a probability of failure of a least-squares ambiguity decorrelation adjustment (LAMBDA) method. The LAMBDA method is used for estimation of double difference carrier phase integer ambiguity. A plurality of condition sets are selected. Each condition set comprises a probability of failure (Pboot-fail) for a boot-strap method of estimation of the double difference carrier phase integer ambiguity, a number of space vehicles (Nsv), and a ratio test tolerance for the LAMBDA method. A plurality of Monte Carlo simulations are run on the plurality of condition sets to obtain a plurality of result sets. Each result set comprises a probability of lambda fail (Pλ-fail) and a probability of lambda reject (Pλ-reject) for one condition set of the plurality of condition sets. A lookup table is created with the plurality of result sets. A value of Pλ-fail for given values of Pλ-reject, Pboot-fail, and Nsv is estimated through employment of the lookup table.
Another implementation of the invention encompasses an apparatus. The apparatus comprises a processor component configured to access a lookup table that comprises a plurality of result sets from a plurality of Monte Carlo simulations on a plurality of condition sets. Each condition set of the plurality of condition sets comprises: a probability of failure (Pboot-fail) for a boot-strap method for estimation of double difference carrier phase integer ambiguity, a ratio test tolerance for a least-squares ambiguity decorrelation adjustment (LAMBDA) method for estimation of double difference carrier phase integer ambiguity, and a number of space vehicles (Nsv). Each result set of the plurality of result sets comprises a probability of lambda fail (Pλ-fail) and a probability of lambda reject (Pλ-reject) for one condition set of the plurality of condition sets. The processor component is configured to employ the lookup table to estimate a value of Pλ-fail for given values of Pλ-reject, Pboot-fail, and Nsv.
A further implementation of the invention encompasses an article. The article comprises one or more computer-readable signal-bearing media. The article comprises means in the one or more media for selecting a plurality of condition sets, wherein each condition set comprises a probability of failure (Pboot-fail) for a boot-strap method of estimation of the double difference carrier phase integer ambiguity, a ratio test tolerance for a least-squares ambiguity decorrelation adjustment (LAMBDA) method for estimation of the double difference carrier phase integer ambiguity, and a number of space vehicles (Nsv). The article comprises means in the one or more media for running a plurality of Monte Carlo simulations on the plurality of condition sets to obtain a plurality of result sets, wherein each result set comprises a probability of lambda fail (Pλ-fail) and a probability of lambda reject (Pλ-reject) for one condition set of the plurality of condition sets. The article further comprises means in the one or more media for creating a lookup table with the plurality of result sets. The article comprises means in the one or more media for estimating a value of Pλ-fail for given values of Pλ-reject, Pboot-fail, and Nsv through employment of the lookup table.
Features of example implementations of the invention will become apparent from the description, the claims, and the accompanying drawings in which:
Referring to the BACKGROUND above, the integers found with the bootstrap method and the probability Pboot-fail are functions of system covariances, a number of space vehicles Nsv (e.g., GPS satellites), and geometry of the space vehicles. The integers found with the lambda method and the probability Pλ-fail are functions of the system covariances, Nsv, the geometry of the space vehicles, and a ratio test tolerance for the lambda method. The geometry of the space vehicles refers to the line of sight angles between a GPS receiver and the space vehicles it currently receives signals from, as will be appreciated by those skilled in the art.
If a lambda ratio (sqnorm2/sqnorm1) for the lambda method is greater than the ratio test tolerance, the lambda results will be accepted, and if the integers are incorrect, will thus result in a bad system update. If the lambda ratio is less than or equal to the ratio test tolerance, the lambda results will be rejected, thus resulting in no system update regardless of whether the integers were correct or not. Thus Pλ-fail is the probability of the lambda method returning bad integers and passing the lambda ratio test (i.e., the lambda ratio is greater than the ratio test tolerance). Pλ-reject is the probability that the lambda ratio test fails (i.e., the lambda ratio is less than or equal to the ratio test tolerance).
The probability of incorrect integers for the double difference carrier phase is desirable to determine a corresponding protection level for GPS calculations. The probability that the integers found by the lambda method are incorrect (Pλ-fail) is less than or equal to Pboot-fail. Accordingly, one conservative approach is to find the integers using both the lambda method and the bootstrap method and to use the integers found by the lambda method with the probability of failure of the boot-strap method.
For a given condition set (e.g., noise statistics, system covariances, Nsv, geometry of the space vehicles), a value of Pboot-fail can be calculated. In one example, equations for the boot-strap method are implemented in their full form, using the “Z” transformation borrowed from the LAMBDA equations, and using sequential sorted updating per space vehicle. The true value of Pλ-fail will in general be smaller than Pboot-fail, but will depend upon Nsv, the geometry, and the ratio test tolerance chosen. The variation in Pλ-fail with respect to the geometry is volatile since a slight change of a fraction of a degree in the line of sight to a space vehicle will change the integer solution and this variation does not fit a known analytical function. However, through analysis with Monte Carlo simulations, it has been found that with an assumption of “bad” geometry, Pλ-fail with a ratio test tolerance of 1.0 (no rejects) is equal to Pboot-fail. This result is independent of the actual value of the probability of failure and independent of the number of space vehicles Nsv. Bad geometry is that geometry, over a large number of random geometries, produces a largest value of Pboot-fail.
Turning to
The receiver 112 and the reference station 114 in one example receive GPS signals 120 from one or more of the plurality of space vehicles 103. The receiver 112 in one example is configured to determine its location by analyzing the GPS signals 120 that it receives, for example, by a triangulation method. The reference station 114 in one example determines carrier phase data based on the GPS signals 120 and transmits the carrier phase data to the receiver 112 through a communication link 122 (e.g., a wireless communication link).
The receiver 112 in one example is configured to estimate a double difference carrier phase integer ambiguity using the carrier phase from two GPS receivers. For example, the receiver 112 employs its own carrier phase data and the carrier phase data received from the reference station 114. The receiver 112 in one example employs a lookup table and both the lambda method and the boot-strap method to determine the double difference carrier phase integer ambiguity, as described herein.
Turning to
The condition sets of the plurality of condition sets (CSi, where i is an integer) comprise a probability of failure Pboot-fail for the boot-strap method, a number of space vehicles Nsv that the receiver 112 is currently receiving GPS data 120 from, and a ratio test tolerance for the lambda method. The processor 116 in one example selects (STEP 204) the plurality of condition sets. For example, the processor 116 selects a plurality of values for each of Pboot-fail, Nsv, and the ratio test tolerance and then selects each condition set CSi as a unique combination of one value of the plurality of values for Pboot-fail, one value of the plurality of values for Nsv and one value of the plurality of values for the ratio test tolerance.
The processor 116 in one example runs (STEP 206) a plurality of Monte Carlo simulations (MCi-j, where j is an integer) on each condition set CSi while assuming “bad” or “worst case” geometry for the GPS satellites 103, which produces a plurality of result sets RSi (e.g., one result set per condition set). The worst case geometry in one example is geometry selected from a large number of random geometries which provides a largest value for Pboot-fail. Since only “bad” or “worst case” geometry is evaluated, rather than “every” geometry, only a finite and reasonably small number j of Monte Carlo simulations are run. The value of j is sufficiently large for an acceptable confidence level of results or as large as processing resources allow, as will be appreciated by those skilled in the art. The result sets RSi comprise a probability of lambda failure Pλ-fail and a probability of lambda reject Pλ-reject. The processor 116 in one example stores (STEP 208) the values of Pλ-fail and Pλ-reject as the lookup table in the recordable data storage medium 118. In another example, the processor 116 runs the Monte Carlo simulations on a subset of the plurality of conditions. For example, the processor 116 runs the Monte Carlo simulations on Nav and Pboot-fail but omits the condition of ratio test tolerance, since the ratio test tolerance is already within the results from the condition sets, as will be appreciated by those skilled in the art. In the example presented herein, 30 million Monte Carlo simulations were run on each of 30 condition sets for Pboot-fail and Nsv.
Turning to
For example, a first condition set comprises a value for Pboot-fail of 0.001, a value for Nsv of 3, and a value for ratio test tolerance of 1.02. Another condition set comprises a value for Pboot-fail of 0.0001, a value for Nsv of 10, and a value for ratio test tolerance of 1.72. In this example, there are 3×10×10 unique combinations for a total of 300 condition sets CSi and result sets RSi (i=1 to 300). In alternative implementations, the number of values for each condition may be increased or reduced. For example, additional values of Pboot-fail, Nsv, and the ratio test tolerance may be added to increase the number of condition sets. As one additional example, the values of Pboot-fail further comprise 0.01 and 0.000001, which allows for 5×10×10 unique combinations and 500 condition sets CSi and result sets RSi (i=1 to 500).
Referring to
The point is placed along the x-axis according to the value of the ratio test tolerance. The values of Pboot-fail and Nsv are parameters for this curve. The position of the point on the y-axis represents the value of Pλ-fail that was obtained from the large number of Monte Carlo simulations for this condition. For example, for the first point on the top curve, the conditions are:
Pboot-fail=0.001, Nsv=3, ratio test tolerance=1.02,
which correspond to a result of Pλ-fail=0.001(10−3). For the last point on the top curve, the conditions are:
Pboot-fail=0.001, Nsv=3, ratio test tolerance=1.92,
which correspond to a result of Pλ-fail≈8E−6.
Considering the first ten curves as a family which share a value of Pboot-fail, the parameter Nsv varies from three to twelve. The next ten curves may be considered as a family with the parameter Pboot-fail=0.0001 and Nsv varying from three to twelve. Considering the next ten curves as a family, they use the parameter Pboot-fail=0.00001 and Nsv varying from three to twelve. For example, the 300th point, which is the 10th point on the 30th curve, represents the condition:
Pboot-fail=0.00001, Nsv=3, ratio test tolerance=1.92,
which corresponds to a value of Pλ-fail≈6E−10.
Referring to
Pboot-fail=0.001, Nsv=3, ratio test tolerance=1.92,
correspond to Pλ-reject≈0.55. As in plot 302, the curves can be grouped into families of ten curves based on the parameter Pboot-fail.
Turning to
Referring to
Turning to
For simplicity, both Pλ-fail and Pλ-reject are shown together. The processor 116 in one example selects first and second subsets of the plurality of result sets which are functions of the ratio test tolerance. The first subset corresponds to the data points and curves of plots 302 and 402 with the current value of Nsv and a value of Pboot-fail that is greater than and closest to the current value of Pboot-fail (i.e., Pboot-fail=0.0001). The second subset corresponds to the data points and curves of plots 302 and 402 with the current value of Nsv and a value of Pboot-fail that is less than and closest to the current value of Pboot-fail (i.e., 0.00001). Referring to
Pλ-fail≈2E−5 and Pλ-reject≈2.5E−4
Turning to
Referring to
The apparatus 100 in one example comprises a plurality of components such as one or more of electronic components, hardware components, and computer software components. A number of such components can be combined or divided in the apparatus 100. An example component of the apparatus 100 employs and/or comprises a set and/or series of computer instructions written in or implemented with any of a number of programming languages, as will be appreciated by those skilled in the art.
The apparatus 100 in one example employs one or more computer-readable signal-bearing media. The computer-readable signal-bearing media store software, firmware and/or assembly language for performing one or more portions of one or more implementations of the invention. Examples of a computer-readable signal-bearing medium for the apparatus 100 comprise the recordable data storage medium 118 of the receiver 112. The computer-readable signal-bearing media for the apparatus 100 in one example comprise one or more of a magnetic, electrical, optical, biological, and atomic data storage medium. For example, the computer-readable signal-bearing medium comprise floppy disks, magnetic tapes, CD-ROMs, DVD-ROMs, hard disk drives, and electronic memory.
The steps or operations described herein are just for example. There may be many variations to these steps or operations without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted, or modified.
Although example implementations of the invention have been depicted and described in detail herein, it will be apparent to those skilled in the relevant art that various modifications, additions, substitutions, and the like can be made without departing from the spirit of the invention and these are therefore considered to be within the scope of the invention as defined in the following claims.
Number | Name | Date | Kind |
---|---|---|---|
7961143 | Dai et al. | Jun 2011 | B2 |
Number | Date | Country | |
---|---|---|---|
20090276196 A1 | Nov 2009 | US |