The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
With reference now to the figures,
In operation, antenna 104 receives signals from a plurality of GPS satellites (not shown), which are detected and processed by receiver 102 to form suitable measurement signals (e.g., pseudorange measurements). At this point, it is useful to consider the following standard GPS position update equations:
where {right arrow over (ρ)}m is the vector of range measurements to the satellites (from GPS receiver 102), {circumflex over (ρ)}i=∥{right arrow over (SV)}i−{right arrow over (x)}k+1∥ is the predicted range measurement to a satellite i based on the current estimated position ({right arrow over (x)}) and the satellite's position
is the vector of the predicted range measurement {circumflex over (ρ)}i, H is a matrix composed of the line-of-sight vectors from the current estimated position, ({right arrow over (x)}), to the satellite and augmented with a “1” in the right-most element, {right arrow over (Δx)} is an adjustment to the current estimated position, ({right arrow over (x)}), corresponding to the range measurements, and η is the observed measurement noise.
Next, the least squares solution can be computed as
{right arrow over (Δx)}=(HTH)−1HT{right arrow over (Δρ)}=K{right arrow over (Δρ)} (2)
and the current position of GPS receiver 102 can be updated as
{right arrow over (x)}
k+1
={right arrow over (x)}
k
+{right arrow over (Δx )} (3)
Next, a Post Update Measurement Residual (PUMR) is defined. When more than four satellite measurements are available (e.g., the 4-dimensional problem is over-determined), a PUMR represents the residual errors in the least-squared error solution for the available measurements (e.g., four). The least squares nature of this solution indicates that it does not match any one of the measurements exactly, but such a solution minimizes the error from each measurement. For example, the minimization of the error from each satellite measurement can be visualized (e.g., in two dimensions) by referring to
As illustrated by the graphical representations depicted in
Δρi=ρm
where {circumflex over (ρ)}i is the expected pseudorange measurement to a satellite i given the post-update position/clock error solution. Next, the new position estimate can be updated (e.g., by processing unit 108) based on the current measurement {right arrow over (x)}k+1. Thus, the predicted pseudorange based on the post-update position/clock solution becomes:
{circumflex over (ρ)}i=∥{right arrow over (SV)}i−{right arrow over (x)}k+1∥ (5)
and the computed PUMR (e.g., residual of the post-update pseudorange measurement associated with the post-update position/clock solution) can be represented as
Next, a chi-squared variable can be formed (e.g., by processing unit 108). For this example embodiment, a chi-squared variable is defined as the sum of N independent (e.g., orthogonal) unit-variance random variables. As such, a set of PUMRs can be manipulated and summed to form a chi-squared variable, by normalizing the individual residuals involved. Note that the number of independent variables is equal to a number of residuals greater than the number of dimensions involved with this solution. For example, five measurements provide one independent residual (i.e., one degree of freedom), because (generally) four elements are solved for in the least squares solution (three position components and one clock error component). This is important to note, because in accordance with the principles of the clock-assisted RAIM of the present invention, only three (position) quantities are solved for directly, and the previously calibrated clock information (calibration performed while the conventional RAIM is available) is also used. Thus, the present invention provides an approach to solve for three unknowns (rather than four), which provides one degree of redundancy (providing a failure detection capability) when only four satellites are available. Also, normalization is required so that the variables become unit-variance variables. Thus, given N degrees of freedom, the chi-squared variables have a known probability distribution function. This information is used to compute a threshold above which the chi-squared variable is declared to indicate a failure in one of its components. This threshold is selected to provide a predetermined false alarm rate. The chi-squared variable will only be larger than the threshold value under normal statistical conditions a certain percentage of the time. For that percentage of the time, a failure in one of the measurements can be falsely indicated (e.g., by processing unit 108), while the threshold is being exceeded without actually experiencing a failure.
As noted earlier, it is preferable to normalize the variance of the set of PUMRs, in order to use the PUMRs to compute a true chi-squared variable. When computing a 4-dimensional GPS solution (e.g., three position errors plus one clock error) using five or more measurement values (standard RAIM availability requirement), processing unit 108 can accomplish this normalization by dividing each residual by its expected measurement noise. The expected measurement noise can be assumed to be the same for each satellite, or it can be computed (e.g., by processing unit 108) based on observed signal-to-noise and/or elevation angle information. As such, the normalization expression needed to form the chi-squared variable is represented as
χ2={right arrow over (Δρ)}Rρ−1{right arrow over (Δρ)}T (7)
where Rρ represents the expected variance of the pseudorange measurements. Whereas Rρ can take a general form, for the case where five or more measurements are being used to determine the four unknowns (e.g., three position unknowns and one clock unknown) for the GPS problem, Rρ can be represented in the following diagonal form
In Equation (8), σi is the measurement variance (1-sigma) for the pseudorange measurement from satellite i. Thus, the above-described equation for χ2 (Equation (7)) can be rewritten as
χ2=(Δρ12/σ12+Δρ22/σ22+ . . . +Δρn2/σn2) (9)
χ2=(Δρ12+Δρ22+Δρ32+ . . . +Δρn2)/σ2 (10)
F=(Fr/3600)/fs (11)
where fs is the sampling rate of the measurements in Hz. Thus, the probability of a false detection, T, can be determined (e.g., by lookup) from a chi-squared probability table based on the value selected for F. Assume that the value of each Δρi=0, except for one value at a time, then Equation (10) can be expressed as
χ2=(0+0+ . . . +Δρi2/σi2+0+ . . . +0)=T2 (12)
Δ{tilde over (ρ)}i=T*σi (13)
Therefore, for any given satellite geometry condition, K, a protection limit can be determined, which is equal to the largest position error ({right arrow over (Δx)}) introduced by an undetected failure in a single satellite, over the set of satellites being used. For this example embodiment, this protection limit is defined to be the “RAIM protection limit”.
As discussed earlier, the conventional RAIM approach used for checking the integrity of GPS navigation solutions is currently used for those situations where five or more satellite measurements are available. However, in accordance with the present invention, RAIM coverage for GPS navigation can be extended to those situations where only four satellites are available, if the GPS receiver (e.g., receiver 102) includes a frequency oscillator/clock (e.g., atomic clock 106), which is stable enough so that its drift error can be accurately modeled. For this example embodiment, a very high precision frequency source/clock (e.g., atomic clock 106) is incorporated into GPS receiver 102 and used instead of a conventional (fairly inaccurate) frequency source/internal clock. In this regard, a method for enhancing the performance of a satellite navigation receiver (e.g., augmented with RAIM) using a very high precision internal clock is shown in
However, if (at step 402) only four satellite measurements are available, processing unit 108 computes only three unknowns (e.g., position errors) instead of the standard four unknowns (step 406). In this case, method 400 still provides RAIM-like integrity, because three unknowns (e.g., three position errors) are being computed and four satellite measurements are being used. However, in this case, instead of processing unit 108 computing a fourth unknown (clock error) during each measurement epoch, processing unit 108 uses the above-described clock error model to estimate the current clock phase offset values (step 408). In this regard, for 3-dimensional positioning, the following expression can be used:
where {right arrow over (ρ)}m the vector of the range measurements from GPS receiver 102 to the satellites involved, and
is the predicted range measurement to a satellite, which is based on the current estimated position ({right arrow over (x)}) and the satellite position ({right arrow over (SV)}) adjusted for the estimated clock error using the modeled clock error parameters ĉ and
Next, in order to perform RAIM computations using less than five (e.g., four) measurements and modeled clock errors, method 400 normalizes the PUMR (e.g., least-squares solution) for this situation (step 410). For this case, the normalization matrix can now be expressed as:
χ2={right arrow over (Δρ)}Rρ−1{right arrow over (Δρ)}T (17)
which is similar to Equation (12) above, except the element R in Equation (17) now takes on the form
In Equation (18), σi again represents the measurement variance (e.g. 1-sigma) for the pseudorange measurement from satellite i. However, since the modeled clock adds an uncertainty to the value of each element
a clock uncertainty element νc2 is provided in Equation (18). Note, for this example embodiment, that processing unit 108 executes a full matrix inversion computation for Equation (18), because in this case the normalization matrix for the PUMR is not a simple diagonal matrix. Also note, for this example embodiment, that although the value of σc will increase during the clock error intervals involved, this element is only intended to be modeled and not observed.
In summary, during the time intervals when five or more satellite measurements are available, processing unit 108 observes the clock error values and develops an estimate (model) of the clock phase errors and clock phase rate errors (e.g., can also develop an estimate of the clock phase acceleration errors, if this information is desired). Processing unit 108 uses these modeled parameters to compute predicted range measurements, which are used if the satellite measurement availability is reduced (e.g., only four satellite measurements available for processing instead of five) and RAIM-like (e.g., integrity checking) protection is to be used. Notably, in this case, the modeled clock error values are known to increase over time. Nevertheless, in accordance with the present invention, this growth in the clock error can be suitably modeled by using the specified stability of the high precision frequency source (oscillator) being used. Thus, for this example embodiment, the high precision frequency source used is an atomic clock, which has a typical stated accuracy of 10e−11. Therefore, for this example embodiment (at step 412), the clock uncertainty can be modeled (e.g., by processing unit 108) with the expression
σc=Sc*Δt (19)
where the parameter, Sc, represents the specified clock stability, and the parameter, Δt, represents the time elapsed since the last actual clock value was observed. The computed position error data and the modeled clock error data are thus used by processing unit 108 for RAIM-like integrity checking of the navigation solutions obtained (step 414).
It is important to note that while the present invention has been described in the context of a fully functioning system for enhancing the performance of satellite navigation receivers, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and a variety of forms and that the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media, such as a floppy disk, a hard disk drive, a RAM, CD-ROMs, DVD-ROMs, and transmission-type media, such as digital and analog communications links, wired or wireless communications links using transmission forms, such as, for example, radio frequency and light wave transmissions. The computer readable media may take the form of coded formats that are decoded for actual use in a particular system for enhancing the performance of satellite navigation receivers.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. These embodiments were chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.